feat: Remove dae
This commit is contained in:
parent
6301d36798
commit
1cdf00cefe
9 changed files with 33 additions and 319 deletions
104
flake.lock
generated
104
flake.lock
generated
|
|
@ -115,27 +115,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dae-flake": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
"flake-parts"
|
||||
],
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781407285,
|
||||
"narHash": "sha256-xVYNYbd9cPY18yrOn2Ysh7ecZknQj4y67o58MIOXbsI=",
|
||||
"owner": "daeuniverse",
|
||||
"repo": "flake.nix",
|
||||
"rev": "e13041c9a160defbc6aac95bcb88ba5c43cf25ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "daeuniverse",
|
||||
"repo": "flake.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"deploy-rs": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
|
|
@ -340,7 +319,7 @@
|
|||
},
|
||||
"helix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
|
|
@ -381,7 +360,7 @@
|
|||
"lanzaboote": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"pre-commit": "pre-commit",
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
|
|
@ -466,7 +445,7 @@
|
|||
"flake-parts": [
|
||||
"flake-parts"
|
||||
],
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783104700,
|
||||
|
|
@ -484,7 +463,7 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782562157,
|
||||
|
|
@ -503,15 +482,15 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1776548001,
|
||||
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1775036866,
|
||||
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
|
||||
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
|
|
@ -561,22 +540,6 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1775036866,
|
||||
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1781577229,
|
||||
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
|
||||
|
|
@ -592,7 +555,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1783089885,
|
||||
"narHash": "sha256-02ary8OtZROV9b1sqlNaU2NEhzA706qmTBfX8Alvyk0=",
|
||||
|
|
@ -608,7 +571,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1767892417,
|
||||
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
||||
|
|
@ -621,7 +584,7 @@
|
|||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1782959384,
|
||||
"narHash": "sha256-xnJJk+ct+D2+wdRxj1wk36w5zV9RVESwRqcklPdt3fM=",
|
||||
|
|
@ -637,23 +600,23 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1782959384,
|
||||
"narHash": "sha256-xnJJk+ct+D2+wdRxj1wk36w5zV9RVESwRqcklPdt3fM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "65179426c83bb3f6bc14898b42ea1c6f01d374b0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1782959384,
|
||||
"narHash": "sha256-xnJJk+ct+D2+wdRxj1wk36w5zV9RVESwRqcklPdt3fM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "65179426c83bb3f6bc14898b42ea1c6f01d374b0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1782467914,
|
||||
"narHash": "sha256-inDx/w70OSJoJPqtKh0BrzAsbZZhpya7YgS43jHnhwg=",
|
||||
|
|
@ -666,7 +629,7 @@
|
|||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1770107345,
|
||||
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
||||
|
|
@ -730,7 +693,7 @@
|
|||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783174895,
|
||||
|
|
@ -796,7 +759,6 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"dae-flake": "dae-flake",
|
||||
"deploy-rs": "deploy-rs",
|
||||
"disko": "disko",
|
||||
"flake-parts": "flake-parts",
|
||||
|
|
@ -806,7 +768,7 @@
|
|||
"niri-flake": "niri-flake",
|
||||
"nix-cachyos-kernel": "nix-cachyos-kernel",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs-patch-rqbit-bump": "nixpkgs-patch-rqbit-bump",
|
||||
"nixpkgs-patcher": "nixpkgs-patcher",
|
||||
"noctalia": "noctalia",
|
||||
|
|
@ -882,7 +844,7 @@
|
|||
},
|
||||
"spicetify-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
|
|
@ -1082,7 +1044,7 @@
|
|||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_9"
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780220602,
|
||||
|
|
|
|||
|
|
@ -195,12 +195,5 @@
|
|||
owner = "Gerg-L";
|
||||
repo = "spicetify-nix";
|
||||
};
|
||||
|
||||
dae-flake = {
|
||||
type = "github";
|
||||
owner = "daeuniverse";
|
||||
repo = "flake.nix";
|
||||
inputs.flake-parts.follows = "flake-parts";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
};
|
||||
i18n.enable = true;
|
||||
programs = {
|
||||
dae.enable = true;
|
||||
openssh.enable = true;
|
||||
kanata.enable = true;
|
||||
tailscale.enable = true;
|
||||
|
|
|
|||
|
|
@ -59,7 +59,6 @@
|
|||
};
|
||||
bash.enable = true;
|
||||
guix.enable = true;
|
||||
# dae.enable = true;
|
||||
clash-verge.enable = true;
|
||||
openssh.enable = true;
|
||||
steam.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,95 +0,0 @@
|
|||
include {
|
||||
proxy.d/*.dae
|
||||
local.d/*.dae
|
||||
}
|
||||
|
||||
global {
|
||||
lan_interface: wlan0,eno2
|
||||
wan_interface: eno2
|
||||
|
||||
log_level: trace
|
||||
allow_insecure: false
|
||||
auto_config_kernel_parameter: true
|
||||
dial_mode: domain
|
||||
|
||||
# tcp_check_url: 'http://cp.cloudflare.com'
|
||||
# udp_check_dns: '114.114.114.114:53'
|
||||
check_interval: 600s
|
||||
check_tolerance: 50ms
|
||||
|
||||
tproxy_port: 12345
|
||||
}
|
||||
|
||||
dns {
|
||||
ipversion_prefer: 4
|
||||
|
||||
upstream {
|
||||
googledns: 'http3://8.8.8.8/dns-query'
|
||||
alidns: 'http3://223.6.6.6/dns-query'
|
||||
}
|
||||
routing {
|
||||
request {
|
||||
qname(geosite: category-ads) -> reject
|
||||
qname(geosite: category-ads-all) -> reject
|
||||
qname(geosite: cn) -> alidns
|
||||
fallback: googledns
|
||||
}
|
||||
response {
|
||||
upstream(googledns) && ip(geoip: private) -> alidns
|
||||
fallback: accept
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group {
|
||||
proxy {
|
||||
filter: subtag(wget)
|
||||
filter: name(local)
|
||||
policy: min_moving_avg
|
||||
}
|
||||
us {
|
||||
filter: subtag(wget) && name(keyword: "美国")
|
||||
filter: name(local)
|
||||
policy: min_moving_avg
|
||||
}
|
||||
hk {
|
||||
filter: subtag(wget) && name(keyword: "香港")
|
||||
policy: min_moving_avg
|
||||
}
|
||||
}
|
||||
|
||||
# 更多的 Routing 样例见 https://github.com/daeuniverse/dae/blob/main/docs/en/configuration/routing.md
|
||||
routing {
|
||||
pname(hickory-dns) && dport(53) -> must_direct
|
||||
pname(mihomo) -> must_direct
|
||||
pname(juicity-client) -> must_direct
|
||||
# pname(systemd-resolve) -> must_direct
|
||||
|
||||
# dip(107.174.145.140) -> must_direct
|
||||
domain(full: time.windows.com) -> must_direct
|
||||
domain(regex: ".*wgetcloud.*v2ray.*") -> must_direct
|
||||
domain(suffix: "hit.edu.cn") -> must_direct
|
||||
domain(geosite: netflix) -> hk
|
||||
domain(geosite: microsoft) -> proxy
|
||||
# domain(geosite: onedrive) -> must_direct
|
||||
domain(geosite: "category-ai-!cn") -> us
|
||||
domain(geosite: google) -> us
|
||||
domain(geosite: google-play) -> proxy
|
||||
domain(geosite: apple) -> us
|
||||
domain(geosite: spotify) -> us
|
||||
domain(geosite: tiktok) -> us
|
||||
domain(geosite: cn) -> direct
|
||||
|
||||
dip(geoip:private) -> direct
|
||||
dip(geoip:cn) -> direct
|
||||
# dport(63434) && sip(192.168.31.170) -> hk
|
||||
dip(223.5.5.5) -> direct
|
||||
|
||||
# ban qq dns over http
|
||||
# dip(43.136.0.0/13) -> block
|
||||
# dip(109.244.0.0/16) -> block
|
||||
# dip(175.27.0.0/16) -> block
|
||||
# dip('2409:8C1E:75B0:80::/64') -> block
|
||||
|
||||
fallback: proxy
|
||||
}
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
{
|
||||
config,
|
||||
rootPath,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.youthlic.programs.dae;
|
||||
in {
|
||||
options = {
|
||||
youthlic.programs.dae = {
|
||||
enable = lib.mkEnableOption "dae";
|
||||
};
|
||||
};
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf cfg.enable {
|
||||
services.dae = {
|
||||
enable = true;
|
||||
package = pkgs.dae;
|
||||
openFirewall = {
|
||||
enable = true;
|
||||
port = 12345;
|
||||
};
|
||||
disableTxChecksumIpGeneric = false;
|
||||
config = builtins.readFile ./config.dae;
|
||||
};
|
||||
sops.secrets.url = {
|
||||
mode = "0444";
|
||||
sopsFile = rootPath + "/secrets/general.yaml";
|
||||
};
|
||||
systemd.services = let
|
||||
update = ''
|
||||
head="user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
|
||||
new_proxy=/etc/dae/proxy.d.new
|
||||
num=0
|
||||
check=1
|
||||
urls="$(cat ${config.sops.secrets.url.path})"
|
||||
mkdir -p ''${new_proxy}
|
||||
for url in ''${urls}; do
|
||||
txt=''${new_proxy}/''${num}.txt
|
||||
config="''${new_proxy}/''${num}.dae"
|
||||
echo \'curl -LH \""''${head}"\" \""''${url}"\" -o \""''${txt}"\"\'
|
||||
curl -LH "''${head}" "''${url}" -o "''${txt}"
|
||||
echo End curl
|
||||
echo "" > ''${config}
|
||||
{
|
||||
echo 'subscription {'
|
||||
echo \ \ wget:\ \"file://proxy.d/''${num}.txt\"
|
||||
echo "}"
|
||||
} >> ''${config}
|
||||
if [[ ! -s ''${txt} ]]; then
|
||||
check=0
|
||||
fi
|
||||
chmod 0640 ''${txt}
|
||||
chmod 0640 ''${config}
|
||||
num=$((num+1))
|
||||
|
||||
if [[ ''${check} -eq 0 ]]; then
|
||||
echo "''${txt}" is empty
|
||||
exit 103
|
||||
fi
|
||||
done
|
||||
if [[ -d /etc/dae/proxy.d ]]; then
|
||||
rm -rf /etc/proxy.d.old
|
||||
mv /etc/dae/proxy.d /etc/dae/proxy.d.old
|
||||
fi
|
||||
mv ''${new_proxy} /etc/dae/proxy.d
|
||||
'';
|
||||
updateScript = pkgs.writeShellApplication {
|
||||
name = "update.sh";
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
curl
|
||||
];
|
||||
text = ''
|
||||
mkdir -p /etc/proxy.d
|
||||
if [ -z "$(ls -A /etc/dae/proxy.d 2>/dev/null)" ]; then
|
||||
echo "No subscription file found in /etc/dae/proxy.d. Update now..."
|
||||
${update}
|
||||
else
|
||||
echo "Found existing subscription files. Skipping immediate update."
|
||||
fi
|
||||
'';
|
||||
};
|
||||
updateForceScript = pkgs.writeShellApplication {
|
||||
name = "update-force.sh";
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
curl
|
||||
];
|
||||
text = ''
|
||||
${update}
|
||||
'';
|
||||
};
|
||||
in {
|
||||
"update-dae-subscription-immediate" = {
|
||||
after = ["network-online.target"];
|
||||
wants = ["network-online.target"];
|
||||
before = ["dae.service"];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = "root";
|
||||
ExecStart = [
|
||||
"${updateScript}/bin/update.sh"
|
||||
];
|
||||
};
|
||||
wantedBy = ["multi-user.target"];
|
||||
};
|
||||
"update-dae-subscription-force" = {
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = "root";
|
||||
ExecStartPre = [
|
||||
"-${pkgs.systemd}/bin/systemctl stop dae.service"
|
||||
];
|
||||
ExecStartPost = [
|
||||
"-${pkgs.systemd}/bin/systemctl start dae.service"
|
||||
];
|
||||
ExecStart = [
|
||||
"${updateForceScript}/bin/update-force.sh"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
(lib.mkIf (cfg.enable && config.youthlic.programs.juicity.client.enable) {
|
||||
environment.etc."dae/local.d/0.dae" = {
|
||||
text = ''
|
||||
node {
|
||||
local: 'socks5://127.0.0.1:7890/'
|
||||
}
|
||||
'';
|
||||
mode = "0440";
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
@ -9,7 +9,6 @@
|
|||
sops-nix.nixosModules.sops
|
||||
stylix.nixosModules.stylix
|
||||
disko.nixosModules.disko
|
||||
dae-flake.nixosModules.dae
|
||||
|
||||
./..
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
{inputs, ...}: _final: prev: let
|
||||
inherit (prev.stdenv.hostPlatform) system;
|
||||
in {
|
||||
dae = inputs.dae-flake.packages.${system}.dae-unstable;
|
||||
}
|
||||
|
|
@ -8,7 +8,6 @@ in
|
|||
./radicle-explorer.nix
|
||||
./wshowkeys.nix
|
||||
# ./QQ.nix
|
||||
./dae.nix
|
||||
./helix.nix
|
||||
./zulip.nix
|
||||
./nautilus.nix
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue