Compare commits
3 commits
21737592da
...
032a5f4b04
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
032a5f4b04 | ||
|
|
694a4e7605 | ||
|
|
d12274102a |
11 changed files with 29 additions and 15 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
flake.lock
|
||||||
|
|
@ -10,6 +10,7 @@ let
|
||||||
privateKey = mkOption { type = types.str; default = ""; };
|
privateKey = mkOption { type = types.str; default = ""; };
|
||||||
shortId = mkOption { type = types.str; default = ""; };
|
shortId = mkOption { type = types.str; default = ""; };
|
||||||
spiderX = mkOption { type = types.str; default = "/"; };
|
spiderX = mkOption { type = types.str; default = "/"; };
|
||||||
|
sni = mkOption { type = types.str; default = "/"; };
|
||||||
};
|
};
|
||||||
affine-config = with lib; {
|
affine-config = with lib; {
|
||||||
env = {
|
env = {
|
||||||
|
|
@ -25,6 +26,7 @@ in {
|
||||||
secret = {
|
secret = {
|
||||||
artemisia = {
|
artemisia = {
|
||||||
marzban = marzban-config;
|
marzban = marzban-config;
|
||||||
|
yggdrasil.PrivateKey = mkOption { type = str; default = ""; };
|
||||||
};
|
};
|
||||||
mio = {
|
mio = {
|
||||||
marzban = marzban-config;
|
marzban = marzban-config;
|
||||||
|
|
@ -38,8 +40,10 @@ in {
|
||||||
common = {
|
common = {
|
||||||
yggdrasil = {
|
yggdrasil = {
|
||||||
reine = mkOption { type = str; default = ""; };
|
reine = mkOption { type = str; default = ""; };
|
||||||
|
artemisia = mkOption { type = str; default = ""; };
|
||||||
|
password = mkOption { type = str; default = ""; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -9,7 +9,9 @@
|
||||||
networking.hostName = "artemisia";
|
networking.hostName = "artemisia";
|
||||||
system.stateVersion = "25.05";
|
system.stateVersion = "25.05";
|
||||||
|
|
||||||
services.yggdrasil.persistentKeys = true;
|
services.yggdrasil.settings.PrivateKey = secret.yggdrasil.PrivateKey;
|
||||||
|
services.yggdrasil.persistentKeys = false;
|
||||||
|
|
||||||
marzban = {
|
marzban = {
|
||||||
env = {
|
env = {
|
||||||
UVICORN_HOST = "artemisia.project-a.space";
|
UVICORN_HOST = "artemisia.project-a.space";
|
||||||
|
|
@ -27,6 +29,7 @@
|
||||||
privateKey = secret.marzban.privateKey;
|
privateKey = secret.marzban.privateKey;
|
||||||
shortId = secret.marzban.shortId;
|
shortId = secret.marzban.shortId;
|
||||||
spiderX = secret.marzban.spiderX;
|
spiderX = secret.marzban.spiderX;
|
||||||
|
sni = secret.marzban.sni;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,9 +39,9 @@
|
||||||
listen [::0]:443;
|
listen [::0]:443;
|
||||||
proxy_pass $name;
|
proxy_pass $name;
|
||||||
ssl_preread on;
|
ssl_preread on;
|
||||||
proxy_connect_timeout 1s;
|
proxy_connect_timeout 30s;
|
||||||
proxy_timeout 1h;
|
proxy_timeout 1h;
|
||||||
proxy_buffer_size 16k;
|
proxy_buffer_size 64k;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ server-domain, port, dest, privateKey, shortId, spiderX }:
|
{ server-domain, port, dest, privateKey, shortId, spiderX, sni }:
|
||||||
|
|
||||||
{
|
{
|
||||||
log.loglevel = "warning";
|
log.loglevel = "warning";
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
dest = dest;
|
dest = dest;
|
||||||
xver = 0;
|
xver = 0;
|
||||||
serverNames = [
|
serverNames = [
|
||||||
server-domain
|
sni
|
||||||
];
|
];
|
||||||
privateKey = privateKey;
|
privateKey = privateKey;
|
||||||
SpiderX = spiderX;
|
SpiderX = spiderX;
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
Peers = [
|
Peers = [
|
||||||
"tls://kuber.project-a.space:666"
|
"tls://artemisia.project-a.space:666"
|
||||||
"tls://arti.project-a.space:666"
|
|
||||||
"tls://reine.project-a.space:666"
|
"tls://reine.project-a.space:666"
|
||||||
];
|
];
|
||||||
Listen = [
|
Listen = [
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@
|
||||||
privateKey = secret.marzban.privateKey;
|
privateKey = secret.marzban.privateKey;
|
||||||
shortId = secret.marzban.shortId;
|
shortId = secret.marzban.shortId;
|
||||||
spiderX = secret.marzban.spiderX;
|
spiderX = secret.marzban.spiderX;
|
||||||
|
sni = secret.marzban.sni;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,9 @@
|
||||||
listen [::0]:443;
|
listen [::0]:443;
|
||||||
proxy_pass $name;
|
proxy_pass $name;
|
||||||
ssl_preread on;
|
ssl_preread on;
|
||||||
proxy_connect_timeout 1s;
|
proxy_connect_timeout 30s;
|
||||||
proxy_timeout 1h;
|
proxy_timeout 1h;
|
||||||
proxy_buffer_size 16k;
|
proxy_buffer_size 64k;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,14 @@
|
||||||
services.yggdrasil.settings.PrivateKey = secret.yggdrasil.PrivateKey;
|
services.yggdrasil.settings.PrivateKey = secret.yggdrasil.PrivateKey;
|
||||||
services.yggdrasil.persistentKeys = false;
|
services.yggdrasil.persistentKeys = false;
|
||||||
hardware.amdgpu.opencl.enable = true;
|
hardware.amdgpu.opencl.enable = true;
|
||||||
|
hardware.graphics.extraPackages = with pkgs; [ rocmPackages.clr.icd ];
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
||||||
|
];
|
||||||
|
hardware.graphics.enable = true;
|
||||||
|
hardware.graphics.enable32Bit = true;
|
||||||
|
hardware.amdgpu.overdrive.enable = true;
|
||||||
|
hardware.amdgpu.overdrive.ppfeaturemask = "0xffffffff";
|
||||||
|
environment.systemPackages = with pkgs; [ clinfo mesa.opencl ];
|
||||||
system.stateVersion = "25.05";
|
system.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
privateKey = secret.marzban.privateKey;
|
privateKey = secret.marzban.privateKey;
|
||||||
shortId = secret.marzban.shortId;
|
shortId = secret.marzban.shortId;
|
||||||
spiderX = secret.marzban.spiderX;
|
spiderX = secret.marzban.spiderX;
|
||||||
|
sni = secret.marzban.sni;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,10 +15,6 @@
|
||||||
default marzban;
|
default marzban;
|
||||||
}
|
}
|
||||||
|
|
||||||
upstream git {
|
|
||||||
server 127.0.0.1:444;
|
|
||||||
}
|
|
||||||
|
|
||||||
upstream marzban {
|
upstream marzban {
|
||||||
server 127.0.0.1:1080;
|
server 127.0.0.1:1080;
|
||||||
}
|
}
|
||||||
|
|
@ -28,7 +24,7 @@
|
||||||
listen [::0]:443;
|
listen [::0]:443;
|
||||||
proxy_pass $name;
|
proxy_pass $name;
|
||||||
ssl_preread on;
|
ssl_preread on;
|
||||||
proxy_connect_timeout 1s;
|
proxy_connect_timeout 30s;
|
||||||
proxy_timeout 1h;
|
proxy_timeout 1h;
|
||||||
proxy_buffer_size 16k;
|
proxy_buffer_size 16k;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue