summaryrefslogtreecommitdiffstats
path: root/lass/2configs/paste.nix
diff options
context:
space:
mode:
authorlassulus <git@lassul.us>2023-09-07 12:26:31 +0200
committerlassulus <git@lassul.us>2023-09-07 13:50:26 +0200
commitf55307fd73af235069744dd5155fda0bc73fe613 (patch)
treef048d7750a50e48493505a08784c96d07d291f89 /lass/2configs/paste.nix
parent85ae348bf3f53125c8281669a32bf007dc0063be (diff)
lass: migrate away
Diffstat (limited to 'lass/2configs/paste.nix')
-rw-r--r--lass/2configs/paste.nix146
1 files changed, 0 insertions, 146 deletions
diff --git a/lass/2configs/paste.nix b/lass/2configs/paste.nix
deleted file mode 100644
index 86f0dba1..00000000
--- a/lass/2configs/paste.nix
+++ /dev/null
@@ -1,146 +0,0 @@
-{ config, pkgs, ... }:
-with import <stockholm/lib>;
-
-{
- services.nginx.virtualHosts.cyberlocker = {
- serverAliases = [ "c.r" ];
- locations."/".extraConfig = ''
- client_max_body_size 4G;
- proxy_set_header Host $host;
- proxy_pass http://127.0.0.1:${toString config.krebs.htgen.cyberlocker.port};
- '';
- extraConfig = ''
- add_header Access-Control-Allow-Origin * always;
- add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
- '';
- };
- services.nginx.virtualHosts.paste = {
- serverAliases = [ "p.r" ];
- locations."/".extraConfig = ''
- client_max_body_size 4G;
- proxy_set_header Host $host;
- proxy_pass http://127.0.0.1:${toString config.krebs.htgen.paste.port};
- '';
- locations."/image".extraConfig = /* nginx */ ''
- client_max_body_size 40M;
-
- proxy_set_header Host $host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
-
- proxy_pass http://127.0.0.1:${toString config.krebs.htgen.imgur.port};
- proxy_pass_header Server;
- '';
- extraConfig = ''
- add_header 'Access-Control-Allow-Origin' '*';
- add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
- '';
- };
- services.nginx.virtualHosts."c.krebsco.de" = {
- enableACME = true;
- addSSL = true;
- serverAliases = [ "c.krebsco.de" ];
- locations."/".extraConfig = ''
- if ($request_method != GET) {
- return 403;
- }
- proxy_set_header Host $host;
- proxy_pass http://127.0.0.1:${toString config.krebs.htgen.cyberlocker.port};
- '';
- extraConfig = ''
- add_header Access-Control-Allow-Origin * always;
- add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS' always;
- '';
- };
- services.nginx.virtualHosts."p.krebsco.de" = {
- enableACME = true;
- addSSL = true;
- serverAliases = [ "p.krebsco.de" ];
- locations."/".extraConfig = ''
- if ($request_method = 'OPTIONS') {
- return 204;
- }
- client_max_body_size 4G;
- proxy_set_header Host $host;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_pass http://127.0.0.1:${toString config.krebs.htgen.paste.port};
- '';
- locations."/form".extraConfig = ''
- client_max_body_size 4G;
- proxy_set_header Host $host;
- proxy_pass http://127.0.0.1:${toString config.krebs.htgen.paste-form.port};
- '';
- locations."/image".extraConfig = ''
- proxy_set_header Host $host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
-
- proxy_pass http://127.0.0.1:${toString config.krebs.htgen.imgur.port};
- proxy_pass_header Server;
- '';
- extraConfig = ''
- add_header Access-Control-Allow-Headers Authorization always;
- add_header Access-Control-Allow-Origin * always;
- add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS' always;
- '';
- };
-
- krebs.htgen.paste = {
- port = 9081;
- script = /* sh */ ''
- (. ${pkgs.htgen-paste}/bin/htgen-paste)
- '';
- };
-
- systemd.services.paste-gc = {
- startAt = "daily";
- serviceConfig = {
- ExecStart = ''
- ${pkgs.findutils}/bin/find /var/lib/htgen-paste/items -type f -mtime '+30' -exec rm {} \;
- '';
- User = "htgen-paste";
- };
- };
-
- krebs.htgen.paste-form = {
- port = 7770;
- script = /* sh */ ''
- export PATH=${makeBinPath [
- pkgs.curl
- pkgs.gnused
- ]}:$PATH
- (. ${pkgs.writeScript "paste-form" ''
- case "$Method" in
- 'POST')
- ref=$(head -c $req_content_length | sed '0,/^\r$/d;$d' | curl -fSs --data-binary @- https://p.krebsco.de | sed '1d;s/^http:/https:/')
-
- printf 'HTTP/1.1 200 OK\r\n'
- printf 'Content-Type: text/plain; charset=UTF-8\r\n'
- printf 'Server: %s\r\n' "$Server"
- printf 'Connection: close\r\n'
- printf 'Content-Length: %d\r\n' $(expr ''${#ref} + 1)
- printf '\r\n'
- printf '%s\n' "$ref"
-
- exit
- ;;
- esac
- ''})
- '';
- };
- krebs.htgen.imgur = {
- port = 7771;
- script = /* sh */ ''
- (. ${pkgs.htgen-imgur}/bin/htgen-imgur)
- '';
- };
- krebs.htgen.cyberlocker = {
- port = 7772;
- script = /* sh */ ''
- (. ${pkgs.htgen-cyberlocker}/bin/htgen-cyberlocker)
- '';
- };
- krebs.iptables.tables.filter.INPUT.rules = [
- { predicate = "-i retiolum -p tcp --dport 80"; target = "ACCEPT";}
- ];
-}