nixfiles/hosts/koi/services/sing-box.nix

86 lines
2.3 KiB
Nix
Raw Normal View History

2024-11-23 16:37:34 +03:00
{ config, ... }:
2024-05-11 07:16:10 +03:00
2024-11-23 16:37:34 +03:00
{
desu.secrets.arumi-singbox-pub = {};
desu.secrets.arumi-singbox-sid = {};
desu.secrets.arumi-singbox-koi-uuid = {};
desu.secrets.vless-sakura-ip = {};
desu.secrets.vless-sakura-pk = {};
desu.secrets.vless-sakura-sid = {};
desu.secrets.vless-sakura-uuid = {};
2024-05-11 07:16:10 +03:00
services.sing-box = {
enable = true;
settings = {
2024-06-17 02:41:32 +03:00
log.level = "warning";
2024-05-11 07:16:10 +03:00
inbounds = [
{
tag = "mixed-in";
type = "mixed";
listen = "0.0.0.0";
listen_port = 7890;
}
];
outbounds = [
{ tag = "direct"; type = "direct"; }
{
tag = "xtls-arumi";
2024-06-07 11:53:19 +03:00
type = "vless";
flow = "xtls-rprx-vision";
2024-11-23 16:37:34 +03:00
server = config.desu.readUnsafeSecret "arumi-ip";
2024-06-07 11:53:19 +03:00
server_port = 443;
domain_strategy = "";
packet_encoding = "";
tls = {
2024-05-11 07:16:10 +03:00
enabled = true;
2024-06-07 11:53:19 +03:00
alpn = [ "h2" ];
server_name = "updates.cdn-apple.com";
reality = {
enabled = true;
2024-11-23 16:37:34 +03:00
public_key._secret = config.desu.secrets.arumi-singbox-pub.path;
short_id._secret = config.desu.secrets.arumi-singbox-sid.path;
2024-06-07 11:53:19 +03:00
};
utls = { enabled = true; fingerprint = "edge"; };
2024-05-11 07:16:10 +03:00
};
2024-11-23 16:37:34 +03:00
uuid._secret = config.desu.secrets.arumi-singbox-koi-uuid.path;
2024-06-07 11:53:19 +03:00
}
{
2024-06-17 02:41:32 +03:00
# thanks kamillaova
tag = "xtls-sakura";
flow = "xtls-rprx-vision";
2024-11-23 16:37:34 +03:00
server._secret = config.desu.secrets.vless-sakura-ip.path;
2024-06-17 02:41:32 +03:00
server_port = 443;
tls = {
alpn = [ "h2" ];
enabled = true;
reality = {
enabled = true;
2024-11-23 16:37:34 +03:00
public_key._secret = config.desu.secrets.vless-sakura-pk.path;
short_id._secret = config.desu.secrets.vless-sakura-sid.path;
2024-06-17 02:41:32 +03:00
};
server_name = "telegram.org";
utls = { enabled = true; fingerprint = "edge"; };
};
type = "vless";
2024-11-23 16:37:34 +03:00
uuid._secret = config.desu.secrets.vless-sakura-uuid.path;
2024-06-17 02:41:32 +03:00
}
{
tag = "final";
type = "urltest";
2024-06-17 02:41:32 +03:00
outbounds = [
"xtls-arumi"
"xtls-sakura"
2024-06-17 02:41:32 +03:00
];
}
2024-05-11 07:16:10 +03:00
];
route.final = "final";
2024-05-11 07:16:10 +03:00
};
};
networking.firewall.allowedTCPPorts = [ 7890 ];
2024-05-11 07:16:10 +03:00
}