-4
.git-crypt/.gitattributes
-4
.git-crypt/.gitattributes
.git-crypt/keys/default/0/7595B36DF6C2E95E10E528662932BA0FA3DDD7D6.gpg
.git-crypt/keys/default/0/7595B36DF6C2E95E10E528662932BA0FA3DDD7D6.gpg
This is a binary file and will not be displayed.
-1
.gitattributes
-1
.gitattributes
···
+29
-3
creds/sops/koumakan.yaml
+29
-3
creds/sops/koumakan.yaml
···-synapse.yaml: ENC[AES256_GCM,data:xc8HBDVconhPJHK/YKVSl62pCtnyca3LXcH/pidJkoTKBU5OCkbnYDjoY0O89SJUVTDVgdAw1ANxSWAT+fEjtKzJEZkFdO5EvuWUXAdjMVNrTDeYhoull21hPtBjXMV6jLWH+VjL5FfQiHhh7FkVXJb9B7GpUKTk0hR0vZ8JlfGizVWBnOSc22wl2nSVRXOu0zWST3wPPAqSIHFxBJQrFk/6LvCQ0xT7zw2dCQjK+sNK9OsPCg84AM/aWZrXPodYLAlFhma1TAIE79XRLJ6K+FIKEnCjI7gsw9NPttZESodOyeFCyZcLCY9Fo6/n3Cp/t+yqU6ZqmflM87FFx0HrUUUbQ4myK+BI1DOVf/4X8DprRVasFQkOkIFhL1aAkJorzmcOqMqjzB1kb62Agnrtnd28fQ83u1KXZPtlsvTBankrrPgUHyRUt7jyyBp2qWr9y36utAedcuv47oqGFrVqDZ+eux6Vd6ozfuma3zLla9Hah96ySR8O3gk/7We5/sN9ZlvXY0qysaNLxAxvlXeegSwDm8dYObWkyf+jswuBG8xReIOGkT6nt4PLobiacqwm2lKtzZtXhzLxiQGpq+hvTkLpfz3MxrcHcskPwOzjM/7CVXo3nqEPRSVyHnn5g+eJ9wnXEO50GMuIi7wNjpQPyNH5sljHU3M5SahDeW0G70yP3WBViG53i6+WrD9PuSz5GciXO3klIZhO5ljPaNcT19c/z8UcUdPDAuTpOl4UNcDqoVwl,iv:OAlQ+nweSZxW+Ybq2fKPxawikND/e3KcGgZGKMuaCKo=,tag:imghdy3fRkB+l5SpXC4/qg==,type:str]+synapse.yaml: ENC[AES256_GCM,data:eQsUW4mwbSPzsoi8HIEngfU5x/PEaqPxvx1AXXJJj7WDX9RsPtQOqQJjuTAEPtz32Hm1nob+VVYuzAXXfCO8Cd0CIHG+xlV4cWNc4JB8wj1YgtMJu9J3yC7iv3HMULT0TL8MxmwWYKqSPKIVarLVN5gQl1G1SAfxEK3ET6qtmkmCD8y6ZVM/84fTR5lxpLe82CaplbUHXEHKk51XwGYLSp5IZsPwtMMFhYuaoqCsEVr65IiSozbD4LKddYNQKUlYmkSfThQsoPpe9ixE7+HS11S+LklyP1q3usWTfOPsQS8k5NJdcGkrCH2A4ddjWkDBAzdav3qauYoQEvbMd8BpoDqD/67lKuvoyXqDoPf5sLrQcxcUl8ObTI1I8zWhabGa9uTuiaTd3wYdMhvMvs/KIfPXNDqcBuIY9sR6LQmY2Zb9+FtYiQVnrr0XmzjB59oN023y1xC/xqkgRyXysndhnj4P1Q+PYbOMQi7hwAjM5xMk/mLkpLn41Ju4u0MqDwHSxA/NXbsEBp/u3Tim2jsrMZqjRZwQHt1n/gtMjm2cMTminM99c/fV2fcvAmcNB9u1KWgEte1JjQSRftg7pkaznYlfrQLyCQYghVu3kgeAJCaSPMewHVWOF/onTauNHYFMlJ8VDUuYOnt2LNJUk1Wap5dGfKm7661mTeYB8aw0h3111YEViuGkSp+oM5A8X6CBI6YsYYOWq5Qd+A3fFJVpcf9hhhdx0JsRmR3EZOupIVx5Y4ruuA6ipj/xMDRNfTZjqukpn3Y1s5xTjUYEo3moLdgd1PYxAVIY/KjPn31pmRThGG1NZpYHZ1yjmptVydtqf/tTd32i3e0WjIjUEZD1NE7Z5AiWJ+XAEaE3S804C6QxN1jHZvqIokA9C4HO+R/es1uDyf2KDvxf1It0hMLg7CAnq1AQcbLCDqXXZaqibSRNfv09lO4jZ3vBe3owvd1wGbK513nqC6m2gh8YDYiHdw7UlXMbMP9+,iv:fvaZQ66VKU+uzvn5AwTIFgzz+F2kJ8/QR2AfmynRfGU=,tag:8c/cAMZ6c7h3J+shh7l7tw==,type:str]+matrix-signing-key: ENC[AES256_GCM,data:u6miE2oM3TUXaQ7wc776SwSMaOAxJOVlpl2kBW+AjI/aDH5vcGBp0L0uTpZbVfOtIe+RDNEv5E/mKA==,iv:abvwkrNe324QCbWLwiPY0UwqezS0wbyk2Fvi0vs3SI0=,tag:ZmpDB9LHbezQrxuwHNgpRg==,type:str]+cookie: ENC[AES256_GCM,data:5jpsa4KsOAoCMGAt9laK9ioVTJfuT9+viKva8wDWRnAimVY6jDoNr4+hxVty6yQAAfSJYA7ddTxaSCEjnJtneg==,iv:V8+MpX/IEc57zEfhNGX5f+eMyipraaXDKPDNDOy0Ieo=,tag:+xCy18Ni8F5wYkO/4NbSzw==,type:str]+secret_base: ENC[AES256_GCM,data:l34Rj4iIQIykgzTLJolqWLQQz5pcfa0o5U/ZMKeNc2CBQedxiMXYrLSNOx6OuV38aqoOolccJEOSiVjfbTawtg==,iv:/x0ydo2gOPrhIZI7at877bzfFgMpraauozfLq95aHCk=,tag:RQI4aeLiAkAcWYlwLaTj5w==,type:str]+salt: ENC[AES256_GCM,data:CP4805tG05A=,iv:aSun7ABJdbDQrFcrGQMM9H1/7d5lJqeMwO08gUYrD2A=,tag:ikhxbijsqyBFJs02j2j/vw==,type:str]+salt: ENC[AES256_GCM,data:4fKLclucoV0=,iv:ZvWKutuMTOm2X8w8a0fOTq+ldrXemayIUY2PUcurY80=,tag:qkIB1gPCI5HO0G0mLEsV+w==,type:str]+joken_default_signer: ENC[AES256_GCM,data:myCEFUkf8s1YNQAigjxygRYvbwkpsv7cqgs00fARe9nxSFl2wveWM5JcfOnoVPwVBVV2GaAjFe4oMWXkaTPtqg==,iv:Yk1f/fzzbruW64mvTTeiyTlbrOO/G47CKKfr9BLtQ5g=,tag:QLpM22ec+VWtkjx5U/mzCw==,type:str]+key: ENC[AES256_GCM,data:00TLCUneHn7NcSK1joURfIzxNFWyOBf/0/fceOn4RMcMt59dZz9LOvbs3F8B0vcH7tf/eUi3SnhYJNyRdPklyw==,iv:t0kQUCmjhFw8Z2CTmYOPUNFvyiYfsXETU8GSxhRR5KE=,tag:CPjtd7jQzgHJDrsIjHlVFQ==,type:str]+pub: ENC[AES256_GCM,data:HYMKjhVCW/7DsMfPPssEduuwWnFezH4OOq4hfAovI82RUPsfVEKhgvkI9INY8hArAb/AIfyyxZhVx+bd2QkPlnASz51L7MxPtkPfZNUKqafjlMmK0nwH,iv:154BP5EmBqnKyf9BND2laKV3caVxa34MCRzrsg6/dik=,tag:wHLYdI6oQXPUzbw8dSxgwg==,type:str]+key: ENC[AES256_GCM,data:t+da4NLEPZBMvq3MQkFEr+Fsj3XMGPMFKUWwbHDWNJAyuUZuiVcn3zX0kw==,iv:yQLu5CFl73GCojMBa2II6OhLrNNinsiVG1aPOAx+HtM=,tag:n0oelXaNFvilyee+MRSB8A==,type:str]+hostname: ENC[AES256_GCM,data:rFEnhnn/Bw85,iv:GM2SH4Gkvt8tLG8AYIKxfHTZvB1sT+hgIoqkiViH6Es=,tag:yyGY9/nS9WFcJTGXlYpz6Q==,type:str]+username: ENC[AES256_GCM,data:6skzOqv1,iv:OQ6zNmDn0uqKqNKEqOHWY6VBuT/4/CHog7b0Pf0TAPM=,tag:8HLmGykXg2V4t4RHzB8yaA==,type:str]+password: ENC[AES256_GCM,data:J3OewVKr2A3TlT7ZUTk7tQr4olFs7bKx47Lus4LGbwGAZfNEmyk9coFTeQ8L/EJ0hpLfPfD1OcGBc+p0ZWK/XQ==,iv:UFe/3H/AfTgSlJikHqE1IED3zINjDuOs5niXpGWXGYE=,tag:MvT0z3TMs1dehg4gp54MyQ==,type:str]+username: ENC[AES256_GCM,data:N7XbQkngWcUGzn/SR4AXCQ==,iv:wBXWtRYawOkjumsvTPcKfvL95CCB+RbsEyJv0YUG3WA=,tag:vGQREe+Cv0ITTxszl21J2g==,type:str]+password: ENC[AES256_GCM,data:oU/aWkVmDU8WJhmwqOcXJ/EngiF7hvfUzPwpdjwkyh7Dw50dyG5AY7b2+hh6LIv9RZrN4yU+fXPAYr1W21OG/A==,iv:ds8Bg9JSJdNHUXh0FvD5a4pquyRnIXowcsJcVV1TyB4=,tag:JoYqas2RGSv8xyvJT9wHAQ==,type:str]+relay: ENC[AES256_GCM,data:F2NnRLSTO5kmbWy4fx0=,iv:omnyn+Xa/cjqK+9l5bI573aR2p7UsUvqGX5ZQGf3CD0=,tag:t4u/jLQ1nZchyxf3WrhW6w==,type:str]···-mac: ENC[AES256_GCM,data:DDYjyGhk0Cl4V9SuiqQyTUXYJeIusHLACrEZKU8vVLcMw9R9xyTyWLECoKH/+CLUxbJiLf1q6p/GgnTHtJgf18b+FmuHq4H/GgZrqvnMFOGxV+o47lJ20OV14e1fWASF7qq+lVhrhvI3hzWe2QchHlop2TZ9kh2BnGtrAwP6txA=,iv:cA6Nz5yK3AdjNjavi/T+XJ91eO7igLOhXnc+Bm8MKUM=,tag:3Ap/2pOkF9vYnylrnR5qDg==,type:str]+mac: ENC[AES256_GCM,data:Jyx0f+w9fJ+B1lz4jVVkcKxd1xUh3FzxDhk+KaxJLVh0BG/1d8Nx0/cOnxZV1FfJkn5Z2wYiLzBPSvJKe8MjlExOSH1mIAnuXcSP6dvXp21bgX17CXM6OP91Ny6IvwSZriqs6EIpWOkZNdxsEnySwtECoQfgs09ZnA4qmbtb01U=,iv:XHnY20d0WsnaECF1/68eu2/xcGLGeGnzba+/kBxDcc0=,tag:alo+8B2fVHon0lHGsQSUyQ==,type:str]
+42
-2
docs/utils.md
+42
-2
docs/utils.md
······+# this is a directory structure, so secrets will be stored as a file in /run/secrets/service/test/secret.+sops.secrets = _utils.genSecrets "" secrets {}; # it's recommended to use a namespace, but having none is still fine.+See https://github.com/soopyc/nix-on-koumakan/blob/b7983776143c15c91df69ef34ba4264a22047ec6/systems/koumakan/services/fedivese/akkoma.nix#L8-L34 for a more extensive example
+3
-3
flake.lock
+3
-3
flake.lock
···
+1
-8
global/core.nix
+1
-8
global/core.nix
······
+1
global/programs/nix.nix
+1
global/programs/nix.nix
+4
global/system/firmware.nix
+4
global/system/firmware.nix
+38
-17
global/utils.nix
+38
-17
global/utils.nix
···
+8
-4
justfile
+8
-4
justfile
···
+1
systems/koumakan/certificates/default.nix
+1
systems/koumakan/certificates/default.nix
+11
systems/koumakan/certificates/fediverse.nix
+11
systems/koumakan/certificates/fediverse.nix
-1
systems/koumakan/configuration.nix
-1
systems/koumakan/configuration.nix
+1
-1
systems/koumakan/networking/interface.nix
+1
-1
systems/koumakan/networking/interface.nix
systems/koumakan/networking/nma.cry
systems/koumakan/networking/nma.cry
This is a binary file and will not be displayed.
+1
-1
systems/koumakan/security/pam.nix
+1
-1
systems/koumakan/security/pam.nix
systems/koumakan/security/ykid.cry
systems/koumakan/security/ykid.cry
This is a binary file and will not be displayed.
+4
-3
systems/koumakan/services/attic.nix
+4
-3
systems/koumakan/services/attic.nix
······
+6
systems/koumakan/services/databases/default.nix
+6
systems/koumakan/services/databases/default.nix
+40
systems/koumakan/services/databases/postgresql.nix
+40
systems/koumakan/services/databases/postgresql.nix
···
+5
systems/koumakan/services/databases/redis.nix
+5
systems/koumakan/services/databases/redis.nix
+2
-3
systems/koumakan/services/default.nix
+2
-3
systems/koumakan/services/default.nix
+150
systems/koumakan/services/fediverse/akkoma.nix
+150
systems/koumakan/services/fediverse/akkoma.nix
···+# also refer to https://meta.akkoma.dev/t/another-vector-for-the-injection-vulnerability-found/483+# refer to https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/servers/akkoma/emoji/blobs_gg.nix#L29
+5
systems/koumakan/services/fediverse/default.nix
+5
systems/koumakan/services/fediverse/default.nix
+12
-2
systems/koumakan/services/matrix/synapse.nix
+12
-2
systems/koumakan/services/matrix/synapse.nix
·········
-40
systems/koumakan/services/postgresql.nix
-40
systems/koumakan/services/postgresql.nix
···
-5
systems/koumakan/services/redis.nix
-5
systems/koumakan/services/redis.nix
+3
-3
systems/koumakan/services/static-sites/keine.nix
+3
-3
systems/koumakan/services/static-sites/keine.nix
···
+1
utils/justfile
+1
utils/justfile
+78
-64
utils/nitter-guest-account.py
+78
-64
utils/nitter-guest-account.py
······-tasks = send_req('post', TASKS_ENDPOINT, headers=request_headers, json=get_tasks_body(flow_token)).json()+tasks = send_req('post', TASKS_ENDPOINT, headers=request_headers, json=get_tasks_body(flow_token)).json()-open_account_task = next(filter(lambda i: i.get('subtask_id') == "OpenAccount", tasks['subtasks']))-error("This might be because of a wide variety of reasons, but it most likely is due to your IP being rate-limited.")+open_account_task = next(filter(lambda i: i.get('subtask_id') == "OpenAccount", tasks['subtasks']))+error("an unhandled error occurred. the tasks object is printed to avoid losing otherwise successful data.")-error("an unhandled error occurred. the tasks object is printed to avoid losing otherwise successful data.")+error("Unable to acquire guest account credentials with 5 attempts as it isn't present in any of the API responses.")+error("This might be because of a wide variety of reasons, but it most likely is due to your IP being rate-limited.")