add aria2
This commit is contained in:
parent
b11bf4a173
commit
f0b88e8778
@ -7,6 +7,7 @@
|
||||
|
||||
customProfiles.a2ln-server
|
||||
customProfiles.act
|
||||
customProfiles.aria2
|
||||
# customProfiles.attic
|
||||
customProfiles.bluetooth
|
||||
customProfiles.cassowary
|
||||
|
@ -1,14 +1,96 @@
|
||||
{ config, ... }: {
|
||||
{ config, pkgs, ... }: {
|
||||
# TODO: enable websocket (--rpc-certificate)
|
||||
home-manager.users.${config.mainuser} = { config, ...}: {
|
||||
home-manager.users.${config.mainuser} = { config, ...}:
|
||||
let
|
||||
homeDir = config.home.homeDirectory;
|
||||
in {
|
||||
# home.packages = [ pkgs.ariang ];
|
||||
programs.aria2 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
dir = "${config.home.homeDirectory}/Downloads/aria2";
|
||||
listen-port = "6881-6999";
|
||||
# rpc-listen-port = 6800;
|
||||
### Basic ###
|
||||
dir = "${homeDir}/Downloads";
|
||||
input-file = "${homeDir}/.config/aria2/aria2.session";
|
||||
save-session = "${homeDir}/.config/aria2/aria2.session";
|
||||
save-session-interval = 60;
|
||||
max-concurrent-downloads = 5;
|
||||
continue = true;
|
||||
max-overall-download-limit = 0;
|
||||
max-download-limit = 0;
|
||||
quiet = true;
|
||||
|
||||
### Advanced ###
|
||||
allow-overwrite = true;
|
||||
allow-piece-length-change = true;
|
||||
always-resume = true;
|
||||
async-dns = false;
|
||||
auto-file-renaming = true;
|
||||
content-disposition-default-utf8 = true;
|
||||
disk-cache = "64M";
|
||||
file-allocation = "falloc";
|
||||
no-file-allocation-limit = "8M";
|
||||
# Set log level to output to console. LEVEL is either debug, info, notice, warn or error. Default: notice
|
||||
console-log-level = "notice";
|
||||
# Set log level to output. LEVEL is either debug, info, notice, warn or error. Default: debug
|
||||
log-level = "warn";
|
||||
log = "${homeDir}/.config/aria2/aria2.log";
|
||||
|
||||
### RPC ###
|
||||
enable-rpc = true;
|
||||
pause = false;
|
||||
rpc-save-upload-metadata = true;
|
||||
rpc-allow-origin-all = true;
|
||||
rpc-listen-all = false;
|
||||
rpc-listen-port = 49100;
|
||||
# rpc-secret=
|
||||
# The certificate must be either in PKCS12 (.p12, .pfx) or in PEM format. When using PEM, you have to specify the private key via --rpc-private-key as well.
|
||||
# rpc-certificate=
|
||||
# rpc-private-key=
|
||||
rpc-secure = false;
|
||||
|
||||
### HTTP/FTP/SFTP ###
|
||||
max-connection-per-server = 16;
|
||||
min-split-size = "8M";
|
||||
split = 32;
|
||||
# user-agent = "Transmission/4.0.2";
|
||||
|
||||
### BitTorrent ###
|
||||
# bt-save-metadata=false
|
||||
listen-port = "49101-49109";
|
||||
# max-overall-upload-limit=256K
|
||||
# max-upload-limit=0
|
||||
seed-ratio = 0.1;
|
||||
seed-time = 0;
|
||||
# bt-enable-lpd = false;
|
||||
enable-dht = true;
|
||||
enable-dht6 = true;
|
||||
dht-listen-port = "49101-49109";
|
||||
dht-entry-point = "dht.transmissionbt.com:6881";
|
||||
dht-entry-point6 = "dht.transmissionbt.com:6881";
|
||||
dht-file-path = "${homeDir}/.config/aria2/dht.dat";
|
||||
dht-file-path6 = "${homeDir}/.config/aria2/dht6.dat";
|
||||
enable-peer-exchange = true;
|
||||
# peer-id-prefix = "-TR2770-";
|
||||
peer-agent = "Transmission/4.0.2";
|
||||
# bt-tracker = "";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.aria2 = {
|
||||
Unit.Description = "aria2 is a download utility operated in command-line";
|
||||
Service = {
|
||||
Restart = "on-failure";
|
||||
ExecStart = "${pkgs.aria2}/bin/aria2c";
|
||||
};
|
||||
Install.WantedBy = [ "default.target" ];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"f /home/${config.mainuser}/.config/aria2/aria2.session 0644 ${config.mainuser} users -"
|
||||
"f /home/${config.mainuser}/.config/aria2/dht.dat 0644 ${config.mainuser} users -"
|
||||
"f /home/${config.mainuser}/.config/aria2/dht6.dat 0644 ${config.mainuser} users -"
|
||||
];
|
||||
|
||||
persist.state.homeDirectories = [ ".config/aria2" ];
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user