I’d really like to get started with this stuff but finding the technical requirement exhausting.
Trying to install privoxyvpn- “simply add the proxy to your browser and ensure the configuration is correct” (no help as to what this means, or how to do it and following the basic instructions just renders my browser unable to connect - googling the error message gives me replies like “simply make sure you read the logs” (no description of how to get to the logs or how to read them)
hearing I need a proxy and a reverse proxy, install SWAG — “first, point the A name at your server and the CNAME at the A and then install the SSL certificate - but be sure to pick between directories and subdomains if you have fewer than 20 domains in your account.”
Like what the fuck does any of this mean?
Then I hear if I have a proxy it might interfere with the reverse proxy and both might interfere with the VPN and vice versa.
How does one even get started?
Ok. I’m going to assume you have zero networking experience, and have one computer (a desktop/laptop). I’m also going to assume you are using some flavor of screen mirroring tech (eg a Chromecast) to wirelessly connect the
Per your post the goal is to A) download items, B) store the items on local disk, C) display the items on your TV via some kind of wireless.
I’m further going to assume we are strictly working with torrents.
You will want to download two applications, 1) a torrent client (I’m not going to recommend one because Im not up to date on the differences), and VLC. You will also need whatever application your VPN requires but I think you have that configured.
When downloading via a torrent you first turn on the VPN prior to downloading/seeding/etc. Once the torrent is finished, you can send you content to your TV via VLC (there is an option to use the TV as a renderer target).
Some gotchas. Unless you configure your VPN to allow local traffic, all traffic goes via the VPN. This means that your computer is completely isolated from the rest of your Network (it’s visible, but can not interact with any of it). If you want, I can go into the hows/why’s of what’s going on. For the Pi. Use it to learn and play with Linux for the time being - focus on getting comfortable with the shell and do not attempt to run a reverse proxy/web server unless you understand what’s going on (this is to keep you safe).
very little network experience but I’m using Ubuntu to ssh into raspbian on a pi4. All of which is new to me, I can get sonarr radarr qbittorrent all working on it (i think - not willing to test without vpn), but it’s the VPN / Jellyfin stuff that’s really kicking my butt.
but if I’m turning off the VPN to watch something, doesn’t that make expose me because of all the seeding etc through qbittorrent?
Maybe you should try docker. You could follow the trash guides for a guided install and setup of everything
that’s part of the issue! If you actually look at the trash guides you’ll see most of the guides just say “There is no special set up required.” and the rest of the page is blank.
That page you linked to shows how arrange your directory structure for hard links (but not how to mount the drive to match /mnt/ or, with exception of a single screenshot, how to configure the software to hardlink)
all of which were things that took me several hours to google, experiment and understand.
This is why I talked about allowing local traffic.
I’m going to try and keep this newbie friendly (but I’m not the best at it, so let me know if something is not clear).
In an ideal world everything has an IP address that is unique. Some portion of the denotes it’s network, some portion denotes the host. In this way we can define logical (and oftentimes physical) associations. Your home is a classic example of a local area network (LAN).
So what does a vpn do? It makes a tunnel that connects your machine to a remote network, forming a logical connection and “relocating” your device. In the VPN config you should have the option to allow local access. This will set up some fun rules for how network traffic is routed - if it’s going to a LAN address it can, otherwise all traffic is routed over the VPN.
Ok.
I’m going to warn you right now. Unless you want to do some reading on how traffic is routed, how Linux handles VPN connections and (probably) containers, do not run the clients that download content on your media server.
If you want to use jellyfin to distribute media in a lan you do not need to do anything other then just start the jellyfin server on the pi and add content.
I do really appreciate your help - but unfortunately things like “just configure your VPN to allow local traffic” isn’t that helpful when my VPN is just me typing “mullvad connect” into a command line. There isn’t anything obvious to configure, and the moment you start looking into it, it’s insanely complicated.
edit: OK, so with some googling this morning I found “allow local traffic” is set with “mullvad lan set allow” (which is in the help doc, but again - zero explanation, it just lists the command amongst other commands)
edir2: apparently I need to run mullvad inside gluetun, so that’s the next thing
edit3: gluetun installed… step 1: “Required environment variables: VPN_SERVICE_PROVIDER=mullvad” that’s it - no other text. Does that go in docker .env or does it go in the compose.yml or is it set by the command line and where does it go in those files?Who knows?
Apparently gluetun is running on port 8000 - point browser to it “unable to connect” so either I fucked something in installing it or there’s no GUI browser interface - which is it? no idea.
edit4: .env has “VPN_CLIENT=‘openvpn’” - is that the same or different to “_SERVICE_PROVIDER”? should the client be gluetun and the service provider be mullvad? Or neither? Or both? or vice versa? No one knows.
edit 5: After more looking around I glimpsed that line in the last edit in a .yml file so im guessing that means “environment variable” is different to .env - still no idea what VPN_CLIENT should be.
edit 6: no, apparently thats all wrong. It should go in override.yml instead…
Generated private key, downloaded json, extracted the keys put them into the yml (why do these lines get hyphens at the start but nothing else does in the yml? hope i didn’t fuck it up!)
edit 7: did all that, took over an hour, docker restart gluetun no errors and whatsmyipaddress.com shows me where I actually am so its not working. Another complete waste of time with no idea what went wrong or how to fix it
Also, "to use Jellyfin ... Just add content" in this case means "just" configuring ombi to talk to radarr to talk to qbittorrent to download a file to be "moved" with hardlinks which you previously configured. Then I also can't "just start" jellyfin because the VPN blocks ssh connections as mentioned.
Unfortunately I can’t give you specifics - because I simply don’t use mulivad. It looks like mulivad used open VPN if on windows, or wire guard for Mac/linux. And Gluetin is a generic vpn client packaged in a docker container?
If you are downloading onto your main computer - a docker vpn client is just going to get in your way. I should ask - what is is said computer running?
it’s a raspberry pi running raspbian bookworm
what’s the difference between wireguard and mullvad. Is mullvad just another shell for wireguard?
Got it. Yea. In this instance it’s a wrapper for wire guard. If your on windows or would be a wrapper for openvpn. And your running mulivad on the pi?