Skip to content

Commit c7fd9e7

Browse files
committed
host(koumakan): add pixivfe
1 parent ca6688f commit c7fd9e7

File tree

3 files changed

+79
-3
lines changed

3 files changed

+79
-3
lines changed

creds/sops/koumakan/default.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ pds:
5858
email:
5959
address: ENC[AES256_GCM,data:4GAp7aW4JtTlfKc7bohYRyY+6KeJjAXJW/R6lpF22qMEbOTNZA==,iv:GG9N8u6Tlse+rVTQ4Na3KhA85stsFSF874/5/TKlw38=,tag:NfW/5VqIX5raz411Jji6rQ==,type:str]
6060
url: ENC[AES256_GCM,data:wXRXEjrLeCVyrsTWfAHw0D95byOWHABU6SvIHguiOUW7r1fljAt8f0QkaSaaIg1AUN0jeSYESkoQG9yk8cxL7/vqLwK421j+Q/LZsWATbpLtkSHHdzX6YQUDw77MXqGON88YkTpk3Ur6P/ereQz2iBP9Ph8=,iv:nwED4OY1R3VWSjgNy79FbiuNQ5qKgOX3YPHhZJKTf9A=,tag:fVJtQwAr9rEtDcREXVqgwg==,type:str]
61+
pixivfe:
62+
token: ENC[AES256_GCM,data:N90DOJ0mip8FuuQD2iHA2OMDIePuM6tddLRLCjgNXpnp4PnRBFgt7UOvY/163DYphRtI/dl6Dl2odlpJ7UDtqYUKmNVtzGUGHLz38XQMCXN4rXnCXQ==,iv:3w5L2p+yQvKxusT3LBG/YXwQMrYhz+km1RuWmr4ZeO8=,tag:YHAHqrgqzq3K0x3XcNizwg==,type:str]
6163
sops:
6264
kms: []
6365
gcp_kms: []
@@ -91,8 +93,8 @@ sops:
9193
QUlVNExmVGd2QXJwVmRGa0JvMmtocEUK7Zo0Mtj3oZm5Etp61cGbLs+2XP97pjR6
9294
rtfHnuxceJj0+yBugfwgFD1TGJ+6M7z5YCwTx+GAvbPDrmSm2TGrwg==
9395
-----END AGE ENCRYPTED FILE-----
94-
lastmodified: "2025-01-20T13:09:05Z"
95-
mac: ENC[AES256_GCM,data:KLI27LDfb3WElcYo+/MJwgWsJQ+WBynBFp+dZgwIr0+QyMPQ4Qax03AhWqYrCqJZxKzlmOzyYOwBaf6XJ2yuvKZIDD0tS6ok91+/5XSpGhMCjYhbaM2FSBtPHg+sQDunYg+MchcLj1L95vdPm4EmwJ5cQrWi7szDOl30XTgR5rw=,iv:5AWmzR/DutmW/HuyPqYN6aO/+7OlcNAaSXt4jNIoYpw=,tag:K1p2FSM3qhFMeIN0bxVv1A==,type:str]
96+
lastmodified: "2025-02-04T14:53:56Z"
97+
mac: ENC[AES256_GCM,data:1RhaDTblBs6s7xavwatyQlP3sHBRqDaH99MCaFcIk2hUxb7iFE7FwqLa7KlSSXJ7wWUQpiCdovLewn2jRQKt3Jz2vtA1++6n6AedeDlZin/CRbQLWSVRzN6DF/m5qvF8pKI88/bQR50DH4B5wTGPnmrImznWh5DQk5Lo3SGfnCk=,iv:Dp7CaZmoQSxORxtUAMOPD99M33fZz5e3HVxVpCEqeto=,tag:gcLA0Vkh0r3GWBcI76Y+oQ==,type:str]
9698
pgp: []
9799
unencrypted_suffix: _unencrypted
98-
version: 3.9.2
100+
version: 3.9.4

systems/koumakan/services/arion/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{...}: {
22
imports = [
33
./breezewiki.nix
4+
./pixivfe.nix
45
];
56

67
virtualisation.arion.backend = "podman-socket";
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
{
2+
_utils,
3+
config,
4+
lib,
5+
...
6+
}: let
7+
secrets = _utils.setupSecrets config {
8+
namespace = "pixivfe";
9+
secrets = ["token"];
10+
};
11+
in {
12+
imports = [
13+
secrets.generate
14+
(secrets.mkTemplate "pixivfe.env" ''
15+
PIXIVFE_TOKEN=${secrets.placeholder "token"}
16+
'')
17+
];
18+
19+
virtualisation.arion.projects.pixivfe.settings = {
20+
services.pixivfe.service = {
21+
image = "vnpower/pixivfe:latest";
22+
ports = [
23+
"127.0.0.1:35284:8282"
24+
];
25+
capabilities = {
26+
ALL = false; # drop all capabilities
27+
};
28+
environment = {
29+
PIXIVFE_PORT = 8282;
30+
PIXIVFE_HOST = "0.0.0.0";
31+
PIXIVFE_IMAGEPROXY = "https://pximg.soopy.moe";
32+
PIXIVFE_CACHE_ENABLED = "true";
33+
};
34+
env_file = lib.singleton (secrets.getTemplate "pixivfe.env");
35+
};
36+
};
37+
38+
services.nginx = {
39+
# cash money
40+
proxyCachePath."pximg" = {
41+
enable = true;
42+
maxSize = "10g";
43+
inactive = "30d";
44+
keysZoneName = "pximg";
45+
};
46+
47+
virtualHosts."pximg.soopy.moe" = {
48+
locations."/" = {
49+
recommendedProxySettings = false;
50+
proxyPass = "https://i.pximg.net";
51+
extraConfig = ''
52+
# bypass
53+
proxy_set_header Host i.pximg.net;
54+
proxy_set_header Referer "https://www.pixiv.net/";
55+
proxy_set_header User-Agent "Mozilla/5.0 (Windows NT 10.0; rv:133.0) Gecko/20100101 Firefox/133.0";
56+
add_header x-cache-status $upstream_cache_status;
57+
58+
# cache config
59+
proxy_cache pximg;
60+
proxy_cache_lock on;
61+
proxy_cache_valid 200 30d;
62+
proxy_cache_valid 404 5m;
63+
proxy_cache_revalidate on;
64+
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
65+
'';
66+
};
67+
};
68+
69+
virtualHosts."pxv.soopy.moe" = _utils.mkSimpleProxy {
70+
port = 35284;
71+
};
72+
};
73+
}

0 commit comments

Comments
 (0)