diff --git a/files/cow.txt b/files/cow.txt new file mode 100644 index 0000000..41aa536 --- /dev/null +++ b/files/cow.txt @@ -0,0 +1,58 @@ + + + + + + + .......................... + ....*o|||||||8#@@@@@@@@@@@@@@@@@@@@@@@###&|o:_.. + ..*:o|||&8##@###8888888######@#@###########################|*... + .:o|||8#####8888|:::**. *&########################@@################&o_ + .*o&8###@#8&o*_. :###@##############@########################@@##&o_ + .*o8########& :##@#@##############@############################@###|_ + .*o|8##########8o .#######################################################&o_ + *&##|_ ..*&##8&o*|88888|_ _#######################################@##################|. + *#####& *&######&o_..*o|o:_ .&##o _###########################################################&_ + _##8*##8 .|88|:::|#######8###8|*:_ .&#@@8 _##@@@########################################################&_ + _#@8_##8_ *8#8|*_ _:|#####&&####8 .&##############################################################| + _#@8.|##8_ _::o###8&##8 .|##@############################8###########################@@#|_ + *###o.|88o ..*&####|..##& _|##########################8|_ .|#############################8 + *|###|_ ._&####8|*_ _*_ _::&8888888888888888|::*_ .|##@####@@@##################| + *&###|_ _:_ .&88###8|*_ ..... .|#####@@@##################8 + .##@#& _##& .|##o _#@@#@#| .|#######&:_ _|###@####################8 + .:8##8o _o:*&##| *##8_.&@@##@#| _::o8#8|::|#####|_ _|#################88###8 + .&##&*_ *###o_###| .|##8*&##|*###o _###8####8|_ _:|###|_ .*o|||o:_ _:::&8888888888|_ _##8 + .###|_. _###o *###|*&#######8 *##8 .##8_ _:|###|_ _|###|_ .&########o _##& + _|####8|&##8:_ _|#########88o .##8 *##& _|###o .|###o .#########| .o##o + o#8|*:#@@###o _:::*__*_ _##8_ _##8_ _&##|_ *##8_ *8#####8|_ .*oo:_ o##| + *###o.&#####& _oo* .8##& .8##8_ .|##& o##& _::::_.*o|8######|_ .##8. + _###&o&##8_:*_ .###& .###|_&#####| _##8 :###o *ooo&#########@#@#& ....:##& + .|8||###&. _**_ .###88##|*&###|*._&##& *|##8_ *o&####@@####@@######& .*o||||||&#######8_ + *&###o _|88##8_ _:8######|*:###|_ _##################88|_ *&#################& + *#####o *&8o *##& _:::*_.&##|_ _#@##############8_ :##################8* + .###&##8_.|88o *&8o _@@& .###| .&####@#########|_ .####@###@@########8* + _##&.|###|_.... .|88o _##8* *&###|_ *###o _:&88######8|_ .*o|||##################o + _##8_ _|########|_ .*o8####&#@@#@##o *#@8 _*:*. .&###@###################| + .|##& _:::::&##& .*&##############@#8_ .###o _#@####################|_ + .&##|_ .&##8_ *o&####################8_ *##& .&#####@@############8* + .|##8_.&###&####8_ _########################8**##& _##################|_ + .&###&##888888##8_ .|88######@###########|*######o _|8###############|_ + .&#####o *###|_ _::::::*o##8**o##8 .|###8o .&##@#############&* + .|####o _|###|_ _##8.*&##& _*_ .#################| + _*_ _|###|_.. .|#####8|_ *&#@#########8###& + *#######&|o:_... ..*:::*. ......._:o&8####888&o:#####8_ + _###|&888#####@#####&|||o:_........................._:o||||8##@@@@####8|:*_ _:::*_ + .|#@###o _:::o#@#888######@@@@@@@@@@@@@@@@@@@@@@@@#####888|::::::**_ + _::*_ :##& *&8|_:::::::::::::::::::::::::**_ + .###8||&##8o + _|888888|_ + + + + + + + + + + diff --git a/flake.lock b/flake.lock index 5995d9d..f4910e2 100644 --- a/flake.lock +++ b/flake.lock @@ -1816,11 +1816,11 @@ ] }, "locked": { - "lastModified": 1777430638, - "narHash": "sha256-z/0aXIxEsBjVtom9sJidK7JdDeF4V2nWe4sheJaBA74=", + "lastModified": 1777575121, + "narHash": "sha256-W5D1e2SGFOsoKiJLyKinK3QqPM3o1zPtuzYRlg+3MM8=", "ref": "refs/heads/main", - "rev": "c4e9feb845bc6eae3ea66d47e8ffed35759446fe", - "revCount": 5, + "rev": "92fc52ae16b78b6a25d5fb98657a1df6899317b1", + "revCount": 6, "type": "git", "url": "ssh://git@git.cow.computer/cow/website" }, diff --git a/hosts/reverse-proxy/default.nix b/hosts/reverse-proxy/default.nix index 0430ed4..75ef0fd 100644 --- a/hosts/reverse-proxy/default.nix +++ b/hosts/reverse-proxy/default.nix @@ -116,81 +116,92 @@ }; - services.caddy = { - enable = true; - extraConfig = builtins.readFile ./Caddyfile; - globalConfig = '' - layer4 { - :6697 { - route { - tls - proxy { - proxy_protocol v2 - upstream localhost:6666 - } - } - } - } - ''; - virtualHosts."writeups.cow.computer" = { - extraConfig = '' - root * ${inputs.cow-writeups.packages.aarch64-linux.default}/public - php_fastcgi / unix/${config.services.phpfpm.pools.writeups.socket} - file_server + services.caddy = + let + cowTxt = '' + handle_path /cow.txt { + root * ${../../files/cow.txt} + file_server + } + ''; - }; + in + { + enable = true; + extraConfig = builtins.readFile ./Caddyfile; + globalConfig = '' + layer4 { + :6697 { + route { + tls + proxy { + proxy_protocol v2 + upstream localhost:6666 + } + } + } + } + ''; + virtualHosts."writeups.cow.computer" = { + extraConfig = '' + root * ${inputs.cow-writeups.packages.aarch64-linux.default}/public + php_fastcgi / unix/${config.services.phpfpm.pools.writeups.socket} + file_server + ''; + }; - virtualHosts."cow.computer" = { - extraConfig = '' - reverse_proxy /_matrix/* 192.168.36.4:6167 - header /.well-known/* Access-Control-Allow-Origin "*" - respond /.well-known/matrix/client `{"m.homeserver":{"base_url":"https://cow.computer"},"org.matrix.msc4143.rtc_foci":[{"type":"livekit","livekit_service_url":"https://jwt.matrixrtc.cow.computer"}]` + virtualHosts."cow.computer" = { + extraConfig = '' + reverse_proxy /_matrix/* 192.168.36.4:6167 + header /.well-known/* Access-Control-Allow-Origin "*" + respond /.well-known/matrix/client `{"m.homeserver":{"base_url":"https://cow.computer"},"org.matrix.msc4143.rtc_foci":[{"type":"livekit","livekit_service_url":"https://jwt.matrixrtc.cow.computer"}]` - root * ${inputs.website.packages.aarch64-linux.default} - file_server - ''; - }; + ${cowTxt} + root * ${inputs.website.packages.aarch64-linux.default} + file_server + ''; + }; - virtualHosts."hollistermala.com" = { - extraConfig = '' - root /pub/* /var/www/pub - root * ${inputs.personal-website.packages.aarch64-linux.default} - file_server - ''; - }; + virtualHosts."hollistermala.com" = { + extraConfig = '' + root /pub/* /var/www/pub + root * ${inputs.personal-website.packages.aarch64-linux.default} + file_server + ''; + }; - virtualHosts."ftp-home.cow.computer" = { - extraConfig = '' - root * /var/www/ftp-home/ - file_server - ''; - }; + virtualHosts."ftp-home.cow.computer" = { + extraConfig = '' + root * /var/www/ftp-home/ + file_server + ''; + }; - virtualHosts."cowingtonpost.com" = { - extraConfig = '' - root /pub/* /var/www/pub - root * ${inputs.cowingtonpost-website.packages.aarch64-linux.default}/public_xhtml/ - import iocaine + virtualHosts."cowingtonpost.com" = { + extraConfig = '' + root /pub/* /var/www/pub + root * ${inputs.cowingtonpost-website.packages.aarch64-linux.default}/public_xhtml/ + import iocaine - file_server { - index index.xhtml - } - ''; - }; + file_server { + index index.xhtml + } + ''; + }; - virtualHosts."mootube.xyz" = { - extraConfig = '' - respond "Comooooing soon!" - ''; - }; + virtualHosts."mootube.xyz" = { + extraConfig = '' + respond "Comooooing soon!" + ''; + }; - package = pkgs.caddy.withPlugins { - plugins = [ - "github.com/mholt/caddy-l4@v0.1.0" - ]; - hash = "sha256-/AxtpMmEvYvbxTSOvANv5wRx/6shTYi/l29L7kRTgE4="; + package = pkgs.caddy.withPlugins { + plugins = [ + "github.com/mholt/caddy-l4@v0.1.0" + ]; + hash = "sha256-/AxtpMmEvYvbxTSOvANv5wRx/6shTYi/l29L7kRTgE4="; + }; }; - }; services.postgresql = { enable = true;