diff --git a/nix/home/programs/qbittorrent/default.nix b/nix/home/programs/qbittorrent/default.nix new file mode 100644 index 0000000..af87fe5 --- /dev/null +++ b/nix/home/programs/qbittorrent/default.nix @@ -0,0 +1,21 @@ +{ pkgs }: +{ + environment.systemPackages = with pkgs; [ qbittorrent-nox ]; + + systemd = { + packages = [ pkgs.qbittorrent-nox ]; + + services."qbittorrent-nox@fc" = { + enable = true; + serviceConfig = { + Type = "simple"; + User = "rtorrent"; + ExecStart = "${pkgs.qbittorrent-nox}/bin/qbittorrent-nox"; + }; + wantedBy = [ "multi-user.target" ]; + }; + }; + + networking.firewall.allowedTCPPorts = [ 8080 ]; + +} diff --git a/nix/home/programs/rtorrent/default.nix b/nix/home/programs/rtorrent/default.nix index 1322248..25b8c7b 100644 --- a/nix/home/programs/rtorrent/default.nix +++ b/nix/home/programs/rtorrent/default.nix @@ -1,6 +1,8 @@ { pkgs, finalDir, downloadDir, watchDir }: let - dhtPort = 40000; + # this needs to be configured in mullvad's settings + dhtPort = 55358; + rtorrentPort = 54945; in { @@ -10,6 +12,8 @@ in services.rtorrent = { enable = true; + port = rtorrentPort; + openFirewall = true; downloadDir = downloadDir; # flood needs to be able to access the datadir dataDir = downloadDir; @@ -24,11 +28,11 @@ in networking.firewall = { allowedTCPPorts = [ - # rtorrent default - 50000 + dhtPort ]; allowedUDPPorts = [ dhtPort + rtorrentPort ]; }; } diff --git a/nix/home/programs/rtorrent/rtorrent.rc b/nix/home/programs/rtorrent/rtorrent.rc index acb7210..70bb0f5 100644 --- a/nix/home/programs/rtorrent/rtorrent.rc +++ b/nix/home/programs/rtorrent/rtorrent.rc @@ -24,6 +24,15 @@ trackers.use_udp.set = 1 dht.mode.set = auto dht.port.set = @dhtPort@ +throttle.max_uploads.set = 100 +throttle.max_uploads.global.set = 250 + +throttle.min_peers.normal.set = 1 +throttle.max_peers.normal.set = 1024 +throttle.min_peers.seed.set = 1 +throttle.max_peers.seed.set = 1024 +trackers.numwant.set = 80 + # Adding public DHT servers for easy bootstrapping schedule2 = dht_node_1, 5, 0, "dht.add_node=router.utorrent.com:6881" schedule2 = dht_node_2, 5, 0, "dht.add_node=dht.transmissionbt.com:6881" diff --git a/nix/system/svalbard/configuration.nix b/nix/system/svalbard/configuration.nix index 6cfcc2d..f776c85 100644 --- a/nix/system/svalbard/configuration.nix +++ b/nix/system/svalbard/configuration.nix @@ -16,6 +16,7 @@ finalDir = "/storage"; watchDir = "/storage/torrents"; }) + (import ../../home/programs/qbittorrent { pkgs = pkgs; }) ]; # Bootloader.