[Support] binhex - qBittorrentVPN


Recommended Posts

15 hours ago, wgstarks said:

Just to be sure you understand, this is a proxy server that will allow other dockers to use the vpn connection (Sonarr, Radarr, etc).

yes

 

15 hours ago, wgstarks said:

That file should have been populated when you enabled privoxy with default settings. Most are commented but I know the listen port is enabled.

its not creating the file for me?

Link to comment
On 3/8/2024 at 5:29 PM, wgstarks said:

https://github.com/binhex/documentation/blob/master/docker/faq/vpn.md

scroll down to Q21

 

Yes you can route other dockers through the vpn. Search YouTube and you should find several videos for this. I believe SpaceInvaderOne made one specifically for this docker.

Sadly the only parameters I see in the docker container are: 

"--sysctl="net.ipv4.conf.all.src_valid_mark=1" - Do I just add the additional parameters there? The Q21 says this:

"Change Docker parameter from --cap-add=NET_ADMIN to --privileged=true (WireGuard requires privileged permissions)." - Nothing to change based on the current parameters the docker has. So I am slightly confused. I apologize.


Everything was resolved. I appreciate the help. :)

Other question, since not a single video I've watched online has properly instructed me in a way to pass dockers through qbittorrentvpn. 

I've already set the net parameters to use qbittorrentvpn, I've turned off network to none on the container (HexChat-IRC for reference). curl ifconfig.io outputs the same VPN IP as qbittorrent does (so I know its getting the traffic) - now I am having issues accessing the webUI. 

I've tried adding the port to qbittorrentvpn and deleting it from HexChat, and a slew of other things to no avail. I've checked a few links online (Q24-Q25 for reference if you know what I am referring to). What could I be doing wrong to access HexChat's UI interface? 

I appreciate everything, by the way. 

Edited by StabbyMeowkins
Solution to problem.
Link to comment

Hi, I had an issue where Plex or Jellyfin coul not play some files, after a lot of troubleshooting I found out it's because those files were being seeded in qBittorrent. After stopping the seeding they became available.

The issue is also being discussed here: https://github.com/jellyfin/jellyfin/issues/11107

I thought this shouldn!t be a problem when the file is hardlinked to media folder while the "original" is in downloads folder and should be accessed by qBit in read only mode. Is this some configuration issue or a bug in qBit?

 

Docker compose:

  qbittorrentvpn:
    container_name: qbittorrentvpn
    image: binhex/arch-qbittorrentvpn
    volumes:
        - '/etc/localtime:/etc/localtime:ro'
        - './config/qbittorrentvpn:/config'
        - '/mnt/data:/data'
    environment:
        - PUID=1000
        - PGID=1000
        - TZ=Europe/Prague
        - VPN_ENABLED=yes
        - VPN_PROV=pia
        - VPN_CLIENT=openvpn
        - VPN_USER=username
        - VPN_PASS=password
        - STRICT_PORT_FORWARD=yes
        - LAN_NETWORK=192.168.0.0/24
        - ENABLE_PRIVOXY=no
        - WEBUI_PORT=9010
    cap_add:
        - NET_ADMIN
    ports:
        - '9010:9010'
    restart: unless-stopped
    labels:
      - com.centurylinklabs.watchtower.enable=true

 

fstab to data folder with downloads and media:

//192.168.0.101/data /mnt/data cifs credentials=/home/core/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777,noauto,x-systemd.automount 0 0

 

Link to comment
2 hours ago, wgstarks said:

Here’s a link to a YouTube video regarding routing a docker through another’s vpn.

https://youtu.be/znSu_FuKFW0?si=_jqO_o0R8ztegPmM

Sorry, don’t know anything about HexChat. I would suggest posting in their support thread.

Got ya, I will head on over there and check that out. ^.^

I keep getting this message (using PIA Wireguard). Is this a concern, or I can just ignore it?

"2024-03-17 09:38:48,280 DEBG 'start-script' stdout output:
[info] Successfully assigned and bound incoming port '#####'" #=being the port number. 

It reports that in the log every 10-20min roughly (non-stop). It just does it all day.

 

Link to comment
19 minutes ago, StabbyMeowkins said:

Got ya, I will head on over there and check that out. ^.^

I keep getting this message (using PIA Wireguard). Is this a concern, or I can just ignore it?

"2024-03-17 09:38:48,280 DEBG 'start-script' stdout output:
[info] Successfully assigned and bound incoming port '#####'" #=being the port number. 

It reports that in the log every 10-20min roughly (non-stop). It just does it all day.

 

Perhaps @binhex has some idea regarding the log entry. The fact that it's [info] makes me think it's not a concern though.

  • Upvote 1
Link to comment
On 3/14/2024 at 3:23 PM, nickydd9 said:

Would there ever be consideration for packaging an alternative WebUI into this container? Right now I have Vuetorrent installed by grabbing the latest build from Github, extracting it into my appdata folder in Unraid and then mapping it to binhex-qbittorrentvpn, however I can't figure out any easy way to keep Vuetorrent up to date without manually updating it. 

 

If Vuetorrent was packaged in this would be a more seamless upgrade experience through Community Applications just having to update the VPN container. Hotio's qbit container has it packaged in.

@binhex, bumping my questions from last week. Do you have any comments? 

I understand this is probably number 51 on the Top 50 things to do, so mostly just curious.

Link to comment
14 hours ago, nickydd9 said:

easy way to keep Vuetorrent up to date without manually updating it. 

Yeah, this is the problem with bundling more and more stuff into the image, as soon as anything goes out of date people want the image rebuilding, so I'm loathed to include stuff that changes frequently, especially stuff that is not necessary, sorry but its a no to including it.

  • Thanks 1
Link to comment

Hi. I've been using qbittorrentvpn for several months and it works great. I've recently purchased a PIA subscription and have been trying since to get an incoming port. Anything I try seems to result in the following log entry:

[info] VPN provider 'custom' not supported for automatic port forwarding, skipping incoming port assignment.

 

I haven't opened any port on router; could this be an issue? Note I've tried over a dozen server locations, but no luck. I keep checking the logs for clues, but only get the above entry. Please help! It's almost certainly something I'm doing wrong given I'm noob at this vpn stuff. Thanks

problem_PIA_port_in supervisord.log

Link to comment

Hello everoney,

 

noob here. there is a script i need to run every time my vpn IP changes (or i could just run it every hour).
with my basic linux knowledge i went looking for cron inside the container but could not find it.
I am pretty sure there is an intended way to do this but i could not figure it out. Can someone help me out please?
 

Link to comment
On 12/13/2023 at 3:34 PM, ayostepht said:

I've been beating my head trying to troubleshoot this issue and I can't for the life of me find a solution.

I'm trying to get cross-seed to automatically run on torrent completion. I have the following in "run external programs" in qBit: curl -XPOST http://192.168.0.115:2468/api/webhook?apikey=[redacted] --data-urlencode "infoHash=[redacted]" and I have port 2468 set as VPN output port in the QBitVPN container.  I'm certain my APIkey is correct (I have it running correctly in Autobrr). 

 

 I'm seeing the following in the qbit logs:

2023-12-13T12:38:34 - Torrent download finished. Torrent: "Varsity.Blues.1999.1080p.BluRay.x264-nikt0"

2023-12-13T12:38:34 - Running external program. Torrent: "Varsity.Blues.1999.1080p.BluRay.x264-nikt0". Command: `curl -XPOST http://192.168.0.115:2468/api/webhook?apikey=[redacted] --data-urlencode "infoHash=[redacted]"` But I'm not seeing anything regarding this action in the cross-seed logs. I'm quadruple checked my API key and it is correct. The logs show autobrr's cross-seed API calls working correctly as well. Since cross-seed is running as expected for all other pieces, I suspect the issue has something to do with this container, but I'm honeslty clueless at this point. 

Did you figure it out? I'm in the same situation. It doesn't look like anybody responded to you.

 

EDIT: I got it to work. I don't know why, but instead of using the 192 IP in my curl command, I needed to use the one on the left next to cross-seed on the docker page. Mine started with 172.

Edited by CanadianBear
Link to comment

I am trying to run this in docker on a raspberry pi 5

It seems to work except for one or two things,

 

In the log i get this

/root/tools.sh: line 129: drill: command not found

 

And i have installed ldnsutils

drill(1) — ldnsutils — Debian testing — Debian Manpages

 

The second thing that does not work is that i cannot connect to qbittorrents UI, it might be due to the reason above. But i'm not sure. 

Link to comment

I've managed to get working with a second instance of docker. All I can think that I did wrong with 1st instance was I had changed qbittorrent config settings prior to changing to br0 from bridge. If I comprehend anything new (I don't necessarily understand what's going on LOL) I will post for other's benefit.

Link to comment

)-: I spoke way too early. So I have all my containers on br0 with ip address assigned manually, outside dhcp pool but within subnet. All containers are working except qbittorrentvpn. When vpn disabled, I can access webui. But when enabled, no go. All template settings are identical to what they were when I used bridge mode (and everything worked great). I entered the console of another contained and entered curl http://192.168.20.61:8080 and received this:

curl: (56) Recv failure: Connection reset by peer.

Not sure why container is refusing connections to http://192.168.20.61:8080 ?

 

Please help!

docker-execution supervisord.log

Link to comment

Another thing I've noticed. I was digging around in router and noticed that the unraid host and the qbittorrentvpn container appear as different ips with the same mac address. That wouldn't explain why it works when vpn disabled, but thought could be another clue. Thanks in advance. Desperate to get torrents working again.

 

Thanks

Link to comment
15 hours ago, uncle_BSteve said:

I'm trying to get qbittorrentvpn working on br0 rather than bridge mode.

In general, binhex's containers are designed and tested in bridge mode, I don't think any other setup is supported. You may be able to force it to work, but you will be swimming upstream.

Link to comment

Hi. That makes sense given how easy everything was in bridge mode. It's just I can't get nginx proxy manager to work on bridge. The overall object for me is to have qbittorrentvpn/*arrs etc behind NPM. It all worked easily on br0 ewxcept qbittorrentvpn. Damm!

 

I've now connected a second custom bridge to NPM, the same custom bridge I have qbittorrentvpn on. I can curl qbittorrentvpn from the NPM console and works. So my-net is custom bridge... it's subnet = 172.18.0.0/16. qbittorrent running on my-net (assigned ip of 172.18.0.6 and I can access its webui through 192.168.20.21:8080 (unraid host ip). NPM is on br0 and assigned ip of 192.168.20.51. I thought i could point a proxy host to http:172.18.0.6:8080 but no go, despite being able to curl 172.18.0.6:8080 from NPM console.

 

Has anyone got any suggestions... or tutorials etc?  I just need qbittorrent to be accessible to *arrs and be behind NPM.

Thanks in advance.

Link to comment

I tried searching for this but no dice. A few months back, a new version was released that wouldn't start properly, so I pinned the version. I'm now circling back and it appears that issue was fixed, but now I get a completely different error than I was receiving a while back.

 

2024-04-02 11:09:28,390 DEBG 'watchdog-script' stderr output:
/home/nobody/qbittorrent.sh: line 70:  1975 Broken pipe             timeout 10 yes
      1976 Segmentation fault      | nohup /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}" --profile=/config >> '/config/supervisord.log' 2>&1

 

So I shell into the container and run that script without the nohup:

 

sh-5.2# /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}" --profile=/config

*** Legal Notice ***
qBittorrent is a file sharing program. When you run a torrent, its data will be made available to others by means of upload. Any content you share is your sole responsibility.

No further notices will be issued.

Press 'y' key to accept and continue...
y
WebUI will be started shortly after internal preparations. Please wait...
"WebUI: Unable to bind to IP: 0.0.0.0/0, port: 8080. Reason: Unsupported socket operation"


qBittorrent version: v4.6.4

Caught signal: SIGSEGV
```
 0# getStacktrace[abi:cxx11]() in /usr/bin/qbittorrent-nox
 1# 0x0000556DF493900E in /usr/bin/qbittorrent-nox
 2# 0x00001486C585A770 in /usr/lib/libc.so.6
 3# 0x00001486C61B60B4 in /usr/lib/libQt6Core.so.6
 4# 0x00001486C5F7B9C7 in /usr/lib/libQt6Core.so.6
 5# QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, int, int const*, QMetaObject const*) in /usr/lib/libQt6Core.so.6
 6# QObject::connectImpl(QObject const*, void**, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) in /usr/lib/libQt6Core.so.6
 7# 0x0000556DF49307E5 in /usr/bin/qbittorrent-nox
 8# 0x00001486C5F91599 in /usr/lib/libQt6Core.so.6
 9# 0x00001486C5F91599 in /usr/lib/libQt6Core.so.6
10# QObject::~QObject() in /usr/lib/libQt6Core.so.6
11# 0x0000556DF49B78BB in /usr/bin/qbittorrent-nox
12# QObject::event(QEvent*) in /usr/lib/libQt6Core.so.6
13# QCoreApplication::notifyInternal2(QObject*, QEvent*) in /usr/lib/libQt6Core.so.6
14# QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) in /usr/lib/libQt6Core.so.6
15# 0x00001486C6175BA4 in /usr/lib/libQt6Core.so.6
16# 0x00001486C4F20199 in /usr/lib/libglib-2.0.so.0
17# 0x00001486C4F7F3BF in /usr/lib/libglib-2.0.so.0
18# g_main_context_iteration in /usr/lib/libglib-2.0.so.0
19# QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) in /usr/lib/libQt6Core.so.6
20# QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) in /usr/lib/libQt6Core.so.6
21# QCoreApplication::exec() in /usr/lib/libQt6Core.so.6
22# Application::exec() in /usr/bin/qbittorrent-nox
23# main in /usr/bin/qbittorrent-nox
24# 0x00001486C5843CD0 in /usr/lib/libc.so.6
25# __libc_start_main in /usr/lib/libc.so.6
26# _start in /usr/bin/qbittorrent-nox
```

Segmentation fault

 

So it's not liking the port, right? The port is free at the time of container start I've also tried different ports. `netstat -ano | grep 8080` when the container is running shows it's in use, -tulnp shows me it's the docker-proxy service. I stop the container, the port is no longer in use. So it seems like the port is bound and then attempts to be bound again?

 

Falling back to 4.5.5-1-04 (being the only change), it starts fine.

 

2024-04-02 11:35:17,015 DEBG 'watchdog-script' stdout output:
[info] qBittorrent process listening on port 8080

 

Edited by buee
Showed working log file
Link to comment
On 3/6/2024 at 2:21 AM, remowilliams said:

 

I had this exact problem after changing the port per the guide to 8050 to avoid a conflict.

 

I wound up manually editing /boot/config/plugins/dockerMan/templates-user/my-binhex-qbittorrentvpn.xml and changing this line from 8080 to my chosen 8050.

 

<WebUI>http://[IP]:[PORT:8050]/</WebUI>

 

This not being updated seems like a bug  ?

 

I didn't notice the quote, so I'm late replying.

The solution was really simple for me. The local IP address listed in the LAN\_NETWORK section of the configuration was wrong. By changing it to my actual local address, I was able to access the webUI even with VPN enabled!

[binhex's faq](https://github.com/binhex/documentation/blob/master/docker/faq/vpn.md) helps a lot.  


Q32. I can access the Web UI for the application when connected to my LAN, but when i connect to my LAN via a VPN connection i can no longer access the Web UI, why is this and how do i fix it?

A32. Due to strict ip table rules unless you add the network range configured for your VPN server to LAN\_NETWORK then you will be blocked from aceessing the Web UI (and proxy if enabled). To fix this you need to append the VPN network to LAN\_NETWORK using a commaa to separate values, if you are unsure how to identify the network range then see Q4.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.