Closed samtrek closed 6 months ago
I'm not sure I understood your setup...
I'll write what I think your doing and either confirm or not if I got it:
You are using vod2pod-rss to get an rss feed for a youtube channel, you are giving the feed generated by vod2pod-rss to audiobookshelf shelf that will automatically download the episodes
Correct?
If yes is vod2pod-rss hosted on the public internet?
Also if you can drop some logs here if you have them
Nothing is wrong with vod2pod, the problem is actually with audiobookshelf, I am using a dns host name (duckdns) address pointed to my local ip address, the link generated by vod2pod exposes my local ip address to audiobookshelf, which is banning the downloading of podcast that is referring to local ip addresses due to an exploit due to this GHSA-mgj7-rfx8-vhpr. I had the same issue with podysnc, which has a host name option, once I supplied it with a host address it was resolved.
Error: Call to 192.168.*.* is blocked. ERROR [PodcastManager] Podcast Episode download failed Error: Call to 192.168.*.* is blocked.
my host address through nginx is *.duckdns.org (accessible only through internal private network)
Vod2pod-rss should take the host of where you are accessing it, are you generating the url by accessing the front end of vod2pod-rss from your browser on 192.168.x.x inside your lan? Can't you access the front end from your *.duckdns.org domain? Or you want vod2pod-rss to be internal only so that it can't be accessed from the internet?
BTW you can link vod2pod-rss to audiobookshelf by creating a docker external network and adding it to both docker compose, then you could give audiobookshelf something like (just replace the 192.168.x.x. portion with vod2pod) http://vod2pod/..../... And skirt around the limitation.
The option you are asking to be added if I got it right would be one to force the generated url to have a specific host independent of where you access the front end, right?
Ohhh, wait, your duckdns.org points to 192.168.x.x in your lan not your public address and then your modem forwards it to your local address, now I understood
Yes, tried to link my public address to no avail with duckdns, my provider is not permitting it. So had to use my local lan IP with tailscale.
Vod2pod-rss should take the host of where you are accessing it, are you generating the url by accessing the front end of vod2pod-rss from your browser on 192.168.x.x inside your lan? Can't you access the front end from your *.duckdns.org domain? Or you want vod2pod-rss to be internal only so that it can't be accessed from the internet?
BTW you can link vod2pod-rss to audiobookshelf by creating a docker external network and adding it to both docker compose, then you could give audiobookshelf something like (just replace the 192.168.x.x. portion with vod2pod) http://vod2pod/..../... And skirt around the limitation.
The option you are asking to be added if I got it right would be one to force the generated url to have a specific host independent of where you access the front end, right?
Yes that is the option I am looking for, I will be glad if you can implement it. Tried the option you gave above seems it is not working, created a private network then replaced the local Lan IP with the docker IP address.
then yes, the fix is to use docker external network and generate the url as you normally would, you get https://vod2pod-rss.duckdns.org/.../... Instead of adding this to audiobookshelf you add this http://vod2pod:8080/.../... (same url path but different host, notice http instead of https too). If this works for you I might consider a setting to do the replacement automatically.
Here the doc for external networks
https://docs.docker.com/compose/compose-file/06-networks/#external
yes your suggestion seems to have worked, but their is a caveat, audiobookshelf seems to block any IP with 192.168.., some docker seems to use these for their own private network, I created something with 172.5. and it started working. So you can do the "replacement" even though I dont fully understand what you are referring to.
If it's fixed then I'll close the issue, if someone else has this kind of use case comment here or open a new issue and I'll consider adding the feature for real to force a custom domain in feed generation, but for now I'll hold of adding more complexity to the project.
app version: 1.1.0
issue description: I am using audibookshelf to automate downloading of the audios from the link and it is banning the recursion (I am sure that is the right term) of the host back to the internal local IP when I am about to download the podcast from the supplied link (using the nginx and duckdns), so can we have a host in the docker-compose.yml?, A similar app that I am using podsync has a host in the config file, I will like to switch to vod2pod because it does not download the podcast into my PC, thank you.