Add 'website' for shitallover.me

This commit is contained in:
Charlotte 🦝 Delenk 2022-12-28 16:01:03 +01:00
parent c86886335d
commit d7d927efe0
Signed by: darkkirb
GPG key ID: AB2BD8DAF2E37122
6 changed files with 105 additions and 6 deletions

View file

@ -14,6 +14,7 @@
./server.nix
./wireguard/public-server.nix
./services/named-submissive.nix
./services/shitalloverme.nix
];
boot.initrd.availableKernelModules = ["xhci_pci" "virtio_pci" "usbhid"];

View file

@ -30,6 +30,7 @@
./services/peertube
./services/rspamd.nix
./wireguard/public-server.nix
./services/shitalloverme.nix
];
boot.initrd.availableKernelModules = ["ata_piix" "virtio_pci" "virtio_scsi" "xhci_pci" "sd_mod" "sr_mod"];

View file

@ -0,0 +1,45 @@
{
system,
pkgs,
nix-packages,
...
}: let
input = "${nix-packages.packages.${system}.lotte-art}/2022-12-27-rexyi-scatych.jxl";
sizes = [1 2 4 8 16 32 64 128 256 512 1024 2000];
formats = ["jxl" "avif" "heic" "webp" "jpeg" "png"];
mkImage = format: size: let
pkg = pkgs.stdenvNoCC.mkDerivation {
src = pkgs.emptyDirectory;
name = "${toString size}.${format}";
nativeBuildInputs = with pkgs; [imagemagick];
buildPhase = ''
mkdir $out
convert ${input} -resize ${toString size}x${toString size} $out/${toString size}.${format}
'';
installPhase = "true";
};
in "${pkg}/${toString size}.${format}";
files = builtins.concatMap (format: map (mkImage format) sizes) formats;
shitalloverme = pkgs.stdenvNoCC.mkDerivation {
src = pkgs.emptyDirectory;
name = "shitallover.me";
buildPhase = "true";
installPhase = ''
mkdir $out
ln -sv ${../../extra/shitalloverme.html} $out/index.html
for f in ${toString files}; do
ln -sv $f $out
done
'';
};
in {
services.caddy.virtualHosts."shitallover.me" = {
useACMEHost = "shitallover.me";
extraConfig = ''
import baseConfig
root = ${shitalloverme}
file_server
'';
};
}

32
extra/shitalloverme.html Normal file
View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<title>Shit all over me</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
.hide {
display: hidden;
}
</style>
<script>
function clickHandler() {
document.getElementById("hideOnClick").classList.add("hide");
document.getElementById("showOnClick").classList.remove("hide");
}
</script>
</head>
<body>
<picture class="hide" id="showOnClick">
<source type="image/jxl" srcset="1.jxl 1w, 2.jxl 2w, 4.jxl 4w, 8.jxl 8w, 16.jxl 16w, 32.jxl 32w, 64.jxl 64w, 128.jxl 128w, 256.jxl 256w, 512.jxl 512w, 1024.jxl 1024w, 2000.jxl 2000w" sizes="(max-width:1px) 1px, (max-width:2px) 2px, (max-width:4px) 4px, (max-width:8px) 8px, (max-width:16px) 16px, (max-width:32px) 32px, (max-width:64px) 64px, (max-width:128px) 128px, (max-width:256px) 256px, (max-width:512px) 512px, (max-width:1024px) 1024px, 2000px" />
<source type="image/avif" srcset="1.avif 1w, 2.avif 2w, 4.avif 4w, 8.avif 8w, 16.avif 16w, 32.avif 32w, 64.avif 64w, 128.avif 128w, 256.avif 256w, 512.avif 512w, 1024.avif 1024w, 2000.avif 2000w" sizes="(max-width:1px) 1px, (max-width:2px) 2px, (max-width:4px) 4px, (max-width:8px) 8px, (max-width:16px) 16px, (max-width:32px) 32px, (max-width:64px) 64px, (max-width:128px) 128px, (max-width:256px) 256px, (max-width:512px) 512px, (max-width:1024px) 1024px, 2000px" />
<source type="image/heic" srcset="1.heic 1w, 2.heic 2w, 4.heic 4w, 8.heic 8w, 16.heic 16w, 32.heic 32w, 64.heic 64w, 128.heic 128w, 256.heic 256w, 512.heic 512w, 1024.heic 1024w, 2000.heic 2000w" sizes="(max-width:1px) 1px, (max-width:2px) 2px, (max-width:4px) 4px, (max-width:8px) 8px, (max-width:16px) 16px, (max-width:32px) 32px, (max-width:64px) 64px, (max-width:128px) 128px, (max-width:256px) 256px, (max-width:512px) 512px, (max-width:1024px) 1024px, 2000px" />
<source type="image/webp" srcset="1.webp 1w, 2.webp 2w, 4.webp 4w, 8.webp 8w, 16.webp 16w, 32.webp 32w, 64.webp 64w, 128.webp 128w, 256.webp 256w, 512.webp 512w, 1024.webp 1024w, 2000.webp 2000w" sizes="(max-width:1px) 1px, (max-width:2px) 2px, (max-width:4px) 4px, (max-width:8px) 8px, (max-width:16px) 16px, (max-width:32px) 32px, (max-width:64px) 64px, (max-width:128px) 128px, (max-width:256px) 256px, (max-width:512px) 512px, (max-width:1024px) 1024px, 2000px" />
<source type="image/jpeg" srcset="1.jpeg 1w, 2.jpeg 2w, 4.jpeg 4w, 8.jpeg 8w, 16.jpeg 16w, 32.jpeg 32w, 64.jpeg 64w, 128.jpeg 128w, 256.jpeg 256w, 512.jpeg 512w, 1024.jpeg 1024w, 2000.jpeg 2000w" sizes="(max-width:1px) 1px, (max-width:2px) 2px, (max-width:4px) 4px, (max-width:8px) 8px, (max-width:16px) 16px, (max-width:32px) 32px, (max-width:64px) 64px, (max-width:128px) 128px, (max-width:256px) 256px, (max-width:512px) 512px, (max-width:1024px) 1024px, 2000px" />
<source type="image/png" srcset="1.png 1w, 2.png 2w, 4.png 4w, 8.png 8w, 16.png 16w, 32.png 32w, 64.png 64w, 128.png 128w, 256.png 256w, 512.png 512w, 1024.png 1024w, 2000.png 2000w" sizes="(max-width:1px) 1px, (max-width:2px) 2px, (max-width:4px) 4px, (max-width:8px) 8px, (max-width:16px) 16px, (max-width:32px) 32px, (max-width:64px) 64px, (max-width:128px) 128px, (max-width:256px) 256px, (max-width:512px) 512px, (max-width:1024px) 1024px, 2000px" />
<img src="2000.png" alt="Charlotte Raccoon on all fours shitting on the foor and racs legs. Rac is also peeing into racs only partially removed panties. Rac is surrounded by a clear, flexible pipe that has shit flowing through it. There is a second panel that points at racs face, showing rac, with the end of said tube in racs shit-stained mouth. Rac is looking very strained as the fetid mess is relentlessly forced into racs body. Art By rexyi" />
</picture>
<p id="hideOnClick">
The contents on this site are for adults only and contains scat and force-feeding. <button onclick="clickHandler()">I am over 18 years old and want to see this sites content.</button>
</p>
</body>
</html>

View file

@ -361,11 +361,11 @@
]
},
"locked": {
"lastModified": 1671566403,
"narHash": "sha256-vM62rcLHp6xRC5BOyYgoFqZw3Vdde5R3Lujmkm2ft+g=",
"lastModified": 1672239761,
"narHash": "sha256-WC+G2OZBdTIfw0+FdN98kd4471E0YwSqxQBT5+hWwbE=",
"owner": "DarkKirb",
"repo": "nix-packages",
"rev": "73bbd064dac832533ca75978b848564ccf725930",
"rev": "4580d9c0b94a44bd087b43099499867ba471e47c",
"type": "github"
},
"original": {

View file

@ -120,11 +120,31 @@ with dns.lib.combinators; let
];
};
createZone = merge zoneBase;
zone = createZone {
createFullZone = merge (createZone {
A = [
(ttl zoneTTL (a "130.162.60.127"))
(ttl zoneTTL (a "138.201.155.128"))
];
AAAA = [
(ttl zoneTTL (aaaa "2603:c020:8009:f100:f09a:894d:ef57:a278"))
(ttl zoneTTL (aaaa "2a01:4f8:1c17:d953:b4e1:8ff:e658:6f49"))
];
HTTPS = [
{
svcPriority = 1;
targetName = ".";
alpn = ["http/1.1" "h2" "h3"];
ipv4hint = ["138.201.155.128" "130.162.60.127"];
ipv6hint = ["2a01:4f8:1c17:d953:b4e1:8ff:e658:6f49" "2603:c020:8009:f100:f09a:894d:ef57:a278"];
ttl = zoneTTL;
}
];
});
zone = createFullZone {
SOA = {
nameServer = "ns1.shitallover.me.";
adminEmail = "lotte@chir.rs";
serial = 2;
serial = 3;
};
NS = [
"ns1.chir.rs."
@ -194,7 +214,7 @@ with dns.lib.combinators; let
"ns1.chir.rs."
"ns2.chir.rs."
];
www = createZone {};
www = createFullZone {};
ns1 = createZone {};
ns2 = createZone oracleBase;
};