The code and data behind xeiaso.net
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

we test in prod in this christian minecraft server

Signed-off-by: Xe Iaso <me@xeiaso.net>

+148 -2
+16
lume/src/notes/2025/anubis-testing-prod.mdx
··· 1 + --- 2 + title: "I'm testing Anubis in prod" 3 + desc: "Please let me know what URL resolvers I just broke." 4 + date: 2025-03-20 5 + --- 6 + 7 + Hey all! 8 + 9 + Anubis has really been taking off to the point that it has [its own repo now](https://github.com/TecharoHQ/anubis). I'm going to be doing more work on it, but for right now what I really need is data. In order to get this data, I need you to let me know what I just broke by turning on Anubis in prod. 10 + 11 + What I know broke: 12 + 13 + - Discord link resolving (still working on fixing this, but I wanted to get this post out first) 14 + - Twitter link resolving 15 + 16 + If I missed something, [contact me](/contact/).
+79
manifest/xesite/anubis/botPolicies.json
··· 1 + { 2 + "bots": [ 3 + { 4 + "name": "amazonbot", 5 + "user_agent_regex": "Amazonbot", 6 + "action": "DENY" 7 + }, 8 + { 9 + "name": "googlebot", 10 + "user_agent_regex": "\\+http\\:\\/\\/www\\.google\\.com/bot\\.html", 11 + "action": "ALLOW" 12 + }, 13 + { 14 + "name": "bingbot", 15 + "user_agent_regex": "\\+http\\:\\/\\/www\\.bing\\.com/bingbot\\.htm", 16 + "action": "ALLOW" 17 + }, 18 + { 19 + "name": "qwantbot", 20 + "user_agent_regex": "\\+https\\:\\/\\/help\\.qwant\\.com/bot/", 21 + "action": "ALLOW" 22 + }, 23 + { 24 + "name": "discordbot", 25 + "user_agent_regex": "Discordbot\/2\\.\\0\\; \\+https\\:\\/\\/\\discordapp\\.com", 26 + "action": "ALLOW" 27 + }, 28 + { 29 + "name": "blueskybot", 30 + "user_agent_regex": "Bluesky Cardyb", 31 + "action": "ALLOW" 32 + }, 33 + { 34 + "name": "us-artificial-intelligence-scraper", 35 + "user_agent_regex": "\\+https\\:\\/\\/github\\.com\\/US-Artificial-Intelligence\\/scraper", 36 + "action": "DENY" 37 + }, 38 + { 39 + "name": "well-known", 40 + "path_regex": "^/.well-known/.*$", 41 + "action": "ALLOW" 42 + }, 43 + { 44 + "name": "favicon", 45 + "path_regex": "^/favicon.ico$", 46 + "action": "ALLOW" 47 + }, 48 + { 49 + "name": "robots-txt", 50 + "path_regex": "^/robots.txt$", 51 + "action": "ALLOW" 52 + }, 53 + { 54 + "name": "rss-readers", 55 + "path_regex": ".*\\.(rss|xml|atom|json)$", 56 + "action": "ALLOW" 57 + }, 58 + { 59 + "name": "lightpanda", 60 + "user_agent_regex": "^Lightpanda/.*$", 61 + "action": "DENY" 62 + }, 63 + { 64 + "name": "headless-chrome", 65 + "user_agent_regex": "HeadlessChrome", 66 + "action": "DENY" 67 + }, 68 + { 69 + "name": "headless-chromium", 70 + "user_agent_regex": "HeadlessChromium", 71 + "action": "DENY" 72 + }, 73 + { 74 + "name": "generic-browser", 75 + "user_agent_regex": "Mozilla", 76 + "action": "CHALLENGE" 77 + } 78 + ] 79 + }
+41
manifest/xesite/deployment.yaml
··· 17 17 claimName: xesite-cache 18 18 - name: data 19 19 emptyDir: {} 20 + - name: anubis 21 + configMap: 22 + name: anubis-cfg 20 23 containers: 21 24 - name: web 22 25 image: ghcr.io/xe/site/bin:latest ··· 66 69 value: "Is alright, I guess" 67 70 initialDelaySeconds: 30 68 71 periodSeconds: 30 72 + - name: anubis 73 + image: ghcr.io/techarohq/anubis:pr-19 74 + imagePullPolicy: Always 75 + env: 76 + - name: "BIND" 77 + value: ":8081" 78 + - name: "DIFFICULTY" 79 + value: "4" 80 + - name: "METRICS_BIND" 81 + value: ":9090" 82 + - name: "POLICY_FNAME" 83 + value: "/xe/cfg/anubis/botPolicies.json" 84 + - name: "SERVE_ROBOTS_TXT" 85 + value: "false" 86 + - name: "TARGET" 87 + value: "http://localhost:3000" 88 + # - name: "SLOG_LEVEL" 89 + # value: "debug" 90 + volumeMounts: 91 + - name: anubis 92 + mountPath: /xe/cfg/anubis 93 + resources: 94 + limits: 95 + cpu: 500m 96 + memory: 128Mi 97 + requests: 98 + cpu: 250m 99 + memory: 128Mi 100 + securityContext: 101 + runAsUser: 1000 102 + runAsGroup: 1000 103 + runAsNonRoot: true 104 + allowPrivilegeEscalation: false 105 + capabilities: 106 + drop: 107 + - ALL 108 + seccompProfile: 109 + type: RuntimeDefault
+1 -1
manifest/xesite/ingress.yaml
··· 32 32 service: 33 33 name: xesite 34 34 port: 35 - number: 80 35 + name: anubis
+7 -1
manifest/xesite/kustomization.yaml
··· 6 6 - machineproxy.yaml 7 7 - onionservice.yaml 8 8 - pod-disruption-budget.yaml 9 - - service.yaml 9 + - service.yaml 10 + 11 + configMapGenerator: 12 + - name: anubis-cfg 13 + behavior: create 14 + files: 15 + - ./anubis/botPolicies.json
+4
manifest/xesite/service.yaml
··· 16 16 targetPort: 3001 17 17 protocol: TCP 18 18 name: internalapi 19 + - name: anubis 20 + port: 8081 21 + targetPort: 8081 22 + protocol: TCP