<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://cc.practices.tools/wiki/index.php?action=history&amp;feed=atom&amp;title=Ccmeetsskynetfellowshipdefeatingsauron</id>
	<title>Ccmeetsskynetfellowshipdefeatingsauron - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://cc.practices.tools/wiki/index.php?action=history&amp;feed=atom&amp;title=Ccmeetsskynetfellowshipdefeatingsauron"/>
	<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ccmeetsskynetfellowshipdefeatingsauron&amp;action=history"/>
	<updated>2026-11-01T08:04:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Ccmeetsskynetfellowshipdefeatingsauron&amp;diff=5656&amp;oldid=prev</id>
		<title>Manetta at 11:29, 30 October 2026</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ccmeetsskynetfellowshipdefeatingsauron&amp;diff=5656&amp;oldid=prev"/>
		<updated>2026-10-30T11:29:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:29, 30 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://cc.practices.tools/pad/p/laura-palmers-revenge&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://cc.practices.tools/pad/p/laura-palmers-revenge&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==First &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;attemptpad &lt;/del&gt;30 Oct==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==First &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;attempt &lt;/ins&gt;30 Oct==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(pad copy/paste below)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(pad copy/paste below)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikicc:diff:1.41:old-5655:rev-5656:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Ccmeetsskynetfellowshipdefeatingsauron&amp;diff=5655&amp;oldid=prev</id>
		<title>Manetta: Created page with &quot;https://cc.practices.tools/pad/p/laura-palmers-revenge  ==First attemptpad 30 Oct==  (pad copy/paste below)   &lt;pre&gt; sudo tail -f /var/log/nginx/access.log &gt;&gt; nginx + etherdot + wiki + pad + octomode  sudo tail -f /var/log/nginx/error.log     Anubis (the thing with the anime girl which open a first page before the actual page, plus it also uses blacklists) https://anubis.techaro.lol/docs/admin/installation known peers using it: &gt; varia     certain challenge levels: restri...&quot;</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ccmeetsskynetfellowshipdefeatingsauron&amp;diff=5655&amp;oldid=prev"/>
		<updated>2026-10-30T11:29:16Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;https://cc.practices.tools/pad/p/laura-palmers-revenge  ==First attemptpad 30 Oct==  (pad copy/paste below)   &amp;lt;pre&amp;gt; sudo tail -f /var/log/nginx/access.log &amp;gt;&amp;gt; nginx + etherdot + wiki + pad + octomode  sudo tail -f /var/log/nginx/error.log     Anubis (the thing with the anime girl which open a first page before the actual page, plus it also uses blacklists) https://anubis.techaro.lol/docs/admin/installation known peers using it: &amp;gt; varia     certain challenge levels: restri...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;https://cc.practices.tools/pad/p/laura-palmers-revenge&lt;br /&gt;
&lt;br /&gt;
==First attemptpad 30 Oct==&lt;br /&gt;
&lt;br /&gt;
(pad copy/paste below)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tail -f /var/log/nginx/access.log&lt;br /&gt;
&amp;gt;&amp;gt; nginx + etherdot + wiki + pad + octomode &lt;br /&gt;
sudo tail -f /var/log/nginx/error.log &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anubis&lt;br /&gt;
(the thing with the anime girl which open a first page before the actual page, plus it also uses blacklists)&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/installation&lt;br /&gt;
known peers using it:&lt;br /&gt;
&amp;gt; varia&lt;br /&gt;
    certain challenge levels: restrict/relaxed&lt;br /&gt;
    discussion on banning every IP out of netherlands (radical but radically cool)&lt;br /&gt;
    alex on Mastodon (https://post.lurk.org/deck/@catileptic@chaos.social) suggested using crowdsec to luke&lt;br /&gt;
&amp;gt; domainepublic.net&lt;br /&gt;
&lt;br /&gt;
sometimes anubis is annoying for hand-made webpages, because you can&amp;#039;t curl etc&lt;br /&gt;
curling a pad is possibly not working anymore?&lt;br /&gt;
or, opening a pad in a iframe might not work anymore?&lt;br /&gt;
&lt;br /&gt;
INSTALL ANUBIS FOR THE WIKI&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/installation&lt;br /&gt;
question: does wiki-to-print still work with anubis?&lt;br /&gt;
&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/native-install/&lt;br /&gt;
&lt;br /&gt;
putting anubis deb file in the friend home folder:&lt;br /&gt;
cd /home/friend/&lt;br /&gt;
wget https://github.com/TecharoHQ/anubis/releases/download/v1.28.2/anubis_1.28.2_amd64.deb&lt;br /&gt;
sudo apt install ./anubis_1.28.2_amd64.deb &lt;br /&gt;
&lt;br /&gt;
copy default config file&lt;br /&gt;
sudo cp /etc/anubis/default.env /etc/anubis/wiki.env&lt;br /&gt;
&lt;br /&gt;
sudo cp /usr/share/doc/anubis/botPolicies.yaml /etc/anubis/wiki.botPolicies.yaml&lt;br /&gt;
&lt;br /&gt;
cd /etc/anubis/&lt;br /&gt;
sudo nano wiki.env&lt;br /&gt;
&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/installation/#environment-variables&lt;br /&gt;
&lt;br /&gt;
- BIND: The network address that Anubis listens on. For unix, set this to a path: /run/anubis/instance.sock&lt;br /&gt;
- DIFFICULTY: The difficulty of the challenge, or the number of leading zeroes that must be in successful responses.&lt;br /&gt;
- METRIC_BIND: The legacy configuration value for the network address that Anubis serves Prometheus metrics on. Please migrate this to the policy file as soon as possible.&lt;br /&gt;
- SERVE_ROBOTS_TXT: If set true, Anubis will serve a default robots.txt file that disallows all known AI scrapers by name and then additionally disallows every scraper. This is useful if facts and circumstances make it difficult to change the underlying service to serve such a robots.txt file.&lt;br /&gt;
- TARGET: The URL of the service that Anubis should forward valid requests to. Supports Unix domain sockets, set this to a URI like so: unix:///path/to/socket.sock.&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; external URL: cc.practices.tools/wiki/&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; internal process: php-fpm socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    checking nginx...&lt;br /&gt;
&lt;br /&gt;
    sudo nano /etc/nginx/sites-available/default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    php runs on this sockets&lt;br /&gt;
&lt;br /&gt;
    unix:/run/php/php8.4-fpm.sock&lt;br /&gt;
&lt;br /&gt;
    if we use this for anubis, it will be active on all php connections&lt;br /&gt;
&lt;br /&gt;
    let&amp;#039;s try it....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    sudo nano /etc/anubis/wiki.env&lt;br /&gt;
&lt;br /&gt;
    TARGET=unix:/run/php/php8.4-fpm.sock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo systemctl enable --now anubis@wiki.service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
now test to see if it is running&lt;br /&gt;
curl http://localhost:9090/metrics&lt;br /&gt;
looks good&lt;br /&gt;
&lt;br /&gt;
then setup nginx&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/environments/nginx/&lt;br /&gt;
&lt;br /&gt;
    (1) we are adding an anubis upstream at the bottom of the default conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    upstream anubis {&lt;br /&gt;
&lt;br /&gt;
      # Make sure this matches the values you set for `BIND` and `BIND_NETWORK`.&lt;br /&gt;
&lt;br /&gt;
      # If this does not match, your services will not be protected by Anubis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      # Try anubis first over a UNIX socket&lt;br /&gt;
&lt;br /&gt;
      server unix:/run/anubis/nginx.sock;&lt;br /&gt;
&lt;br /&gt;
      #server 127.0.0.1:8923;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      # Optional: fall back to serving the websites directly. This allows your&lt;br /&gt;
&lt;br /&gt;
      # websites to be resilient against Anubis failing, at the risk of exposing&lt;br /&gt;
&lt;br /&gt;
      # them to the raw internet without protection. This is a tradeoff and can&lt;br /&gt;
&lt;br /&gt;
      # be worth it in some edge cases.&lt;br /&gt;
&lt;br /&gt;
      #server unix:/run/nginx.sock backup;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    (2) redirect /wiki/ to anubis&lt;br /&gt;
&lt;br /&gt;
    location /wiki/ {&lt;br /&gt;
&lt;br /&gt;
      proxy_set_header Host $host;&lt;br /&gt;
&lt;br /&gt;
      proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
&lt;br /&gt;
      proxy_set_header X-TLS-SNI-Name $ssl_server_name;&lt;br /&gt;
&lt;br /&gt;
      proxy_pass http://anubis;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    (3) create a &amp;quot;nginx backend block&amp;quot; that anubis will point to&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # Backend server, this is where your webapp should actually live.&lt;br /&gt;
&lt;br /&gt;
    server {&lt;br /&gt;
&lt;br /&gt;
      listen unix:/run/nginx/nginx.sock;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      # Get the visiting IP from the TLS termination server&lt;br /&gt;
&lt;br /&gt;
      set_real_ip_from unix:;&lt;br /&gt;
&lt;br /&gt;
      real_ip_header X-Real-IP;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      rewrite ^/wiki/(?&amp;lt;pagename&amp;gt;.*)$ /wiki/index.php;&lt;br /&gt;
&lt;br /&gt;
      alias /var/www/wiki/;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    (4) we add http2 on at the top of the conf&lt;br /&gt;
&lt;br /&gt;
    http2 on;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!!! we made a backup of the pre-anubis nginx config here: /etc/nginx/sites-available/default-withoutanubis&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2026/10/30 12:14:15 [emerg] 1969123#1969123: &amp;quot;server&amp;quot; directive is not allowed here in /etc/nginx/sites-enabled/default:143&lt;br /&gt;
nginx: configuration file /etc/nginx/nginx.conf test failed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hmm....&lt;br /&gt;
&lt;br /&gt;
we move the backend server block outside, at the bottom of the default conf&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
&lt;br /&gt;
2026/10/30 12:15:46 [emerg] 1969139#1969139: &amp;quot;alias&amp;quot; directive is not allowed here in /etc/nginx/sites-enabled/default:224&lt;br /&gt;
nginx: configuration file /etc/nginx/nginx.conf test failed&lt;br /&gt;
&lt;br /&gt;
changing &amp;quot;alias&amp;quot; to &amp;quot;root&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
&lt;br /&gt;
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok&lt;br /&gt;
nginx: [emerg] bind() to unix:/run/nginx/nginx.sock failed (2: No such file or directory)&lt;br /&gt;
nginx: configuration file /etc/nginx/nginx.conf test failed&lt;br /&gt;
&lt;br /&gt;
hmm, yes, our setup does not match the anubis examples...&lt;br /&gt;
&lt;br /&gt;
WHY?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- we are only applying anubis to the wiki, which comes off https://cc.practices.tools/wiki/&lt;br /&gt;
- we are not using a subdomain for the wiki &lt;br /&gt;
&lt;br /&gt;
    we do not use subdomains for the difference things we run on the server (wiki/pad/etherdot/octomode/wiki-to-print....) because we use one cc subdomain for everything. &lt;br /&gt;
&lt;br /&gt;
    the examples are based on the commonly used method to split nginx config files between services&lt;br /&gt;
&lt;br /&gt;
- the examples use anubis on one full config file (not just a part of it, like we do with the wiki)&lt;br /&gt;
&lt;br /&gt;
next steps we can take:&lt;br /&gt;
&lt;br /&gt;
- we can ask luke if he set up anubis on a subfolder (so not a subdomain)? &lt;br /&gt;
- ask the fedverse hivemind&lt;br /&gt;
&lt;br /&gt;
for now: &lt;br /&gt;
&lt;br /&gt;
- we place the non-anubis config back, as default&lt;br /&gt;
- default-with-anubis still holds the changes we made today&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
sudo systemctl reload nginx&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s it for today&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iocaine&lt;br /&gt;
https://iocaine.madhouse-project.org/&lt;br /&gt;
&lt;br /&gt;
superlowtech hacky alternatives&lt;br /&gt;
&amp;gt; titipi, did something similar with just a page that takes 3sec to go to the actual website (most bot don&amp;#039;t go that far?)&lt;br /&gt;
- look on the titipi wiki if they documented what they did&lt;br /&gt;
https://titipi.org/wiki/index.php/Anticamera&lt;br /&gt;
would be interesting to find the git repo&lt;br /&gt;
feels very intentional and i love intentional software&lt;br /&gt;
&lt;br /&gt;
Crowdsec&lt;br /&gt;
(list of IP you blacklist or whitelist)&lt;br /&gt;
https://github.com/crowdsecurity/crowdsec&lt;br /&gt;
&lt;br /&gt;
crowdsec passes malicious IPs (also from a crowd-sourced database) to a blocklist&lt;br /&gt;
&lt;br /&gt;
* https://docs.crowdsec.net/u/bouncers/nginx/&lt;br /&gt;
* https://docs.crowdsec.net/u/bouncers/firewall/&lt;br /&gt;
&lt;br /&gt;
for monitoring:&lt;br /&gt;
* https://prometheus.io/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
crawlers that are visiting CC&lt;br /&gt;
- Lightpanda/1.0 https://lightpanda.io/, headless browser&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
</feed>