blob: 60ed6826de321a7221aad4521558ce2e2bb648b9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
{ config, ... }:
{
krebs.airdcpp = {
enable = true;
extraGroups = [ "download" ];
web.port = 5600;
web.users.makefu.password = builtins.readFile <secrets/airdcpp-makefu.pw>; # watch out for newline!
hubs."krebshub" =
{ Nick = "makefu-${config.krebs.build.host.name}";
Password = builtins.readFile <secrets/krebshub.pw>;
Server = "adcs://hub.nsupdate.info:1511";
AutoConnect = true;
};
dcpp = {
shares = {
# Incoming must be writeable!
incoming = { path = config.makefu.dl-dir + "/finished/dcpp"; incoming = true; };
audiobooks.path = config.makefu.dl-dir + "/finished/audiobooks";
};
Nick = "makefu";
DownloadSpeed = "1000";
UploadSpeed = "1000";
};
};
networking.firewall.allowedTCPPorts =
[ config.krebs.airdcpp.dcpp.InPort
config.krebs.airdcpp.dcpp.TLSPort
];
networking.firewall.allowedUDPPorts = [ config.krebs.airdcpp.dcpp.UDPPort ];
services.nginx.virtualHosts."dcpp.${config.krebs.build.host.name}.r".locations."/" =
{ proxyPass = "http://localhost:${toString config.krebs.airdcpp.web.port}/";
extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
gzip_types text/plain application/javascript;
# Proxy websockets
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
'';
};
state = map (f: "${config.krebs.airdcpp.stateDir}/${f}")
[ "Favorites.xml" "DCPlusPlus.xml" "WebServer.xml" "Recents.xml" "IgnoredUsers.xml" ];
}
|