-
Notifications
You must be signed in to change notification settings - Fork 55
rflood openvpn
Docker container for rTorrent + FloodUI with integrated OpenVPN client.
It is based on the latest CentOS docker image:
The container connects at startup during the boot process to the OpenVPN service of your choice. After the OpenVPN client connected successfully, the rTorrent and FloodUI service will startup.
Login: Torrent:Torrent Connect: 127.0.0.1:5000
In case it doesn't auto connect....
Prepare an OpenVPN configuration of your choice. Usually, VPN providers will give you .ovpn files, with configuration for a server. Edit them to add the following code before the <> tags:
auth-user-pass /config/vpn/vpn.auth
up /usr/bin/up.sh
down /usr/bin/down.sh
log-append /config/vpn/openvpn.log
script-security 2
You can put your VPN credentials in the vpn.auth file, and should be good to go!
An automated login by username/password is also possible with the "user-pass-auth" parameter in the client.conf
Should no configuration be present at the first run, an example config will be deployed at the mounted /config folder which can be edited.
The OpenVPN service will be verified every 60s. If it's not running anymore it will restart the connection.
To get the docker up and running execute fhe following command:
In the PTS UI for Community Apps select "rflood-openvpn"
If not done already, deploy or modify the OpenVPN client.conf at /opt/appdata/rflood-openvpn/vpn
docker restart rtorrent-flood-openvpn
In "/opt/appdata/rflood-openvpn/my-external-ip.txt" the current external ip address can be found. The file will be updated every 60s.
You can use Sonarr with this client as well. Configure your Sonarr with the following params:
Name: rflood-openvpn
Enable: Yes
Host: rflood-openvpn
Port: 80
Username & Password: empty
Several configuration files will be deployed to the mounted /config folder:
Folder | Description |
---|---|
flood/* | flood default db / user file |
rtorrent/* | rtorrent.rc, session data, *.torrent files, etc. |
vpn/* | vpn default config / user config |
The default login for FloodUI is
Torrent
:Torrent
Please change the username : password in the settings.
The configured socket is scgi_port = 0.0.0.0:5000
network.port_range.set = 50000-50000
network.port_random.set = no
check_hash = yes
dht = auto
dht_port = 6881
peer_exchange = yes
use_udp_trackers = yes
throttle.max_uploads.set = 100
throttle.max_uploads.global.set = 250
throttle.min_peers.normal.set = 20
throttle.max_peers.normal.set = 60
throttle.min_peers.seed.set = 30
throttle.max_peers.seed.set = 80
trackers.numwant.set = 80
protocol.encryption.set = allow_incoming,try_outgoing,enable_retry
network.http.max_open.set = 50
network.max_open_files.set = 600
network.max_open_sockets.set = 300
pieces.memory.max.set = 1800M
network.xmlrpc.size_limit.set = 12M
session.path.set = (cat, (cfg.session))
directory.default.set = (cat, (cfg.download))
log.execute = (cat, (cfg.logs), "execute.log")
log.xmlrpc = (cat, (cfg.logs), "xmlrpc.log")
execute.nothrow = sh, -c, (cat, "echo >",\
(session.path), "rtorrent.pid", " ",(system.pid))
encoding.add = utf8
system.umask.set = 0027
system.cwd.set = (directory.default)
network.http.dns_cache_timeout.set = 25
schedule2 = monitor_diskspace, 15, 60, ((close_low_diskspace, 1000M))
method.insert = system.startup_time, value|const, (system.time)
method.insert = d.data_path, simple,\
"if=(d.is_multi_file),\
(cat, (d.directory), /),\
(cat, (d.directory), /, (d.name))"
method.insert = d.session_file, simple, "cat=(session.path), (d.hash), .torrent"
## Add torrent
schedule2 = watch_load, 11, 10, ((load.verbose, (cat, (cfg.watch), "load/*.torrent")))
## Add & download straight away
schedule2 = watch_start, 10, 10, ((load.start_verbose, (cat, (cfg.watch), "start/*.torrent")))
method.set_key = event.download.finished,move_complete,"d.stop=;d.set_directory=/output/complete/;execute=mv,-f,$d.base_path=,/output/complete/;d.start="
scgi_port = 0.0.0.0:5000
method.set = group.seeding.ratio.command, "d.close="
print = (cat, "Logging to ", (cfg.logfile))
log.open_file = "log", (cfg.logfile)
log.add_output = "info", "log"
Wiki - Wiki
- Recommended Pre-Reading
- Server - Storage Planning
- Usenet or BitTorrent
- PTS Editions
- PTS Folder Structure
- PTS-Repos
- Common Issues
Data Transport
- Traefik
- Port Guard
- PTS Shield
- PTS Press
- Google Cloud - GCE
- Hetzner Cloud
- PTS Fork
- Extra PTS Commands
- PTS Vault - Data Storage
- PTSPatrol
- Plex AutoScan in Docker Container
- Plex_Dupefiner
- Traktarr
- System & Network Auditor
- PreInstaller & UnInstaller
Core Apps [Expand]
Community Apps [Expand]
- AirSonic
- Bazarr
- Bitwarden
- BookSonic
- cAdvisor
- Cloud Commander
- Deluge
- DelugeVPN
- Dozzle
- Duplicati
- Filebrowser
- FlexGet
- Gazee
- Headphones
- Heimdall
- HomeAssistant
- jd2-openvpn
- Kitana
- Logarr
- MakeMKV
- MariaDB
- McMyadmin
- MEDUSA
- Mellow
- Miniflux
- Monitorr
- Muximux
- Mylar
- NextCloud
- NowShowing
- NZBHydra2
- Organizr
- plpp
- pyLoad
- qBittorrent
- QBittorrent VPN
- radarrsyncarr
- Resilio
- rflood-openvpn
- rutorrent-openvpn
- Shoko Anime Server
- SpeedTest
- SyncLounge
- Teamspeak3
- The Lounge
- Transmission
- Trakt.or
- Ubooquity
- Varken
- vnc-xfce
- vnstat
- ZeroTier