-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.html
81 lines (78 loc) · 5.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
</head>
<body>
<style>
body {
background-color: #e1c4ee;
font-family: 'Roboto', sans-serif;
}
</style>
<h1>podtube</h1>
<p>
Podtube generates feeds with direct link to media so you can subscribe to online platforms directly from a podcatcher like AntennaPod.
Currently supported services:
</p>
<ul>
<li>YouTube</li>
<li>Invidious</li>
<li>iVoox Originals</li>
<li>Instagram Reels</li>
<li>Filesystem</li>
</ul>
<h2>Instructions</h2>
<p>
You must build a url to your channel/podcast. The url must be built like **{{host_url}}/feed?[PARAMETERS]**.
The currently supported parameters are:
</p>
<h3>service (required)</h3>
<p>
Name of the service that is going to be used. It's the name of one of the plugins on plugins folder (currently invidious, ivoox or youtube)<br/>
</p>
<h3>id (required)</h3>
<p>
Identifier of the channel/podcast that you want the feed from. For YouTube/Invidious it is the channel id. For iVoox it is the podcast url without domain or .html.
Examples:<br/><br/>
* https://www.youtube.com/channel/UC2bkHVIDjXS7sgrgjFtzOXQ -> UC2bkHVIDjXS7sgrgjFtzOXQ<br/>
* https://www.ivoox.com/podcast-cuarto-milenio-oficial_sq_f17162_1.html -> podcast-cuarto-milenio-oficial_sq_f17162_1<br/>
</p>
<h3>format</h3>
<p>Output format of the feed. Accepted values are rss and atom. The default value is rss.</p>
<h3>max_pagination</h3>
<p>Number of pages for which results are desired. The default value is 1.</p>
<h3>proxy_url</h3>
<p>
Whether the feed will contain urls that point directly to the files on the original services, or if it points to podtube so the final urls are generated on the fly.
Values can be True or False. The default value is True.
There may be some services that use temporary urls, like YouTube. Also take into account that generating the final url may be a slow process, so only disable this option if you know what you are doing.
</p>
<h3>proxy_download</h3>
<p>
In order for this option to make sense, the proxy_url option must be set to True. Values can be True or False. The default value is False.
If False, the download endpoint will redirect to the download link on the original service. If true, podtube will stream the file acting as a proxy.
This option is provided just in case the service forces that the same IP that generates the download link is the only one with permissions to download.
Note that this option may not work on PaaS like Heroku, as long requests are usually not allowed there.
</p>
<h2>Examples</h2>
<a href="{{host_url}}feed?id=UCHnyfMqiRRG1u-2MsSQLbXA&service=youtube">{{host_url}}feed?id=UCHnyfMqiRRG1u-2MsSQLbXA&service=youtube</a><br/>
<a href="{{host_url}}feed?id=UCtESv1e7ntJaLJYKIO1FoYw&service=invidious">{{host_url}}feed?id=UCtESv1e7ntJaLJYKIO1FoYw&service=invidious</a><br/>
<a href="{{host_url}}feed?id=podcast-danko_sq_f11313_1&service=ivoox">{{host_url}}feed?id=podcast-danko_sq_f11313_1&service=ivoox</a><br/>
<a href="{{host_url}}feed?id=cenandoconpablo&service=instagram">{{host_url}}feed?id=cenandoconpablo&service=instagram</a><br/>
</body>
<h2>podtube v2 migration</h2>
<ul>
<li>
proxy_url option was removed: On the initial versions of podtube, the media urls were directly generated. This meant that before downloading a YouTube video, the feed needed to be reloaded, as the URLs are only valid for a small amount of time. However on other plugins where the URL is permanent it could be a bit faster and reduce requests to podtube. After adding offline mode we are removing this option and always going through podtube backend in order to keep the code a bit simpler.
</li>
<li>
storage mode considerations: The idea behind storage mode is that plugins will be able to read and write to the filesystem in order to provide support for things that were not possible before, for example downloading videos which only have a streaming or multipart source or inserting subtitles. I've been careful to avoid security issues, but it is not worth the risk if you don't need this feature, so by default capacity to use filesystem is not enabled. Also I think it would probably not work as-is inside the docker images. In order to enable access to filesystem, env variable PODTUBE_FILESYSTEM_MODE needs to be set to true.
</li>
<li>
There is a new option to require API key to protect the backend against attacks. If the env variable API_KEY is set, then the feed urls require a new query parameter api_key with the same value. This is not required, so the default behavior is as v1.
</li>
<li>
URL upgrade: youtube-dl and invidious instances stop working from time to time, so I think it is useful to be able to switch from one plugin to the other from the backend without needing to update the feed url on your podcatcher. Because of this, the query parameter called service before will now be called plugin, and behaves as the old services query param. The service query param now requires the full domain name of the service and will pick the first plugin that announces support for it. The preferred plugin can be manually set through an env variable. This only applies to YouTube support for now. So setting PODTUBE_PLUGIN_youtube.com=invidious will use invidious plugin, while setting it to youtube will use the YouTube plugin without upgrading the URLs. version 2.0 contains an upgrade code that will upgrade your v1 urls through a permanent redirect to a URL that keeps the behavior of v1, this means not requiring any env variable, but also not allowing to override the YouTube implementation. Make sure that the URLs are updated on your client with the redirect or future podtube versions will stop working.
</li>
</ul>
</html>