add aria2
This commit is contained in:
parent
b11bf4a173
commit
f0b88e8778
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
customProfiles.a2ln-server
|
customProfiles.a2ln-server
|
||||||
customProfiles.act
|
customProfiles.act
|
||||||
|
customProfiles.aria2
|
||||||
# customProfiles.attic
|
# customProfiles.attic
|
||||||
customProfiles.bluetooth
|
customProfiles.bluetooth
|
||||||
customProfiles.cassowary
|
customProfiles.cassowary
|
||||||
|
@ -1,14 +1,96 @@
|
|||||||
{ config, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
# TODO: enable websocket (--rpc-certificate)
|
# 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 = {
|
programs.aria2 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
dir = "${config.home.homeDirectory}/Downloads/aria2";
|
### Basic ###
|
||||||
listen-port = "6881-6999";
|
dir = "${homeDir}/Downloads";
|
||||||
# rpc-listen-port = 6800;
|
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