Anubis: Protecție împotriva LLM-urilor și a scraperelor
- 1 minute de citit
- 2 exemple de cod
- 2 imagini
Disponibil și în English
Pe această pagină
![]()
Salut tuturor! 👋
În această postare explorăm opțiunea de a self-hosta Anubis.
Anubis este un software care apără și protejează serviciile tale de scraperele AI și de LLM-uri. De când AI-ul a devenit popular, au apărut tot mai multe scrapere. Acestea îți iau datele ca să le folosească la antrenarea AI-urilor lor, ignorând orice reguli, precum robots.txt, licențele și legile proprietății intelectuale. Meta a torrentat 82TB de cărți ca să-și antreneze AI-ul.
Poate ai văzut, când ai vizitat unele site-uri, un ecran pop-up ca acesta:

Acesta este Anubis. Funcționează prezentând browserului tău o provocare de tip proof of work, care necesită resurse CPU ca să fie rezolvată. Provocarea face ca scrapingul unui site să fie mai costisitor pentru scrapere: în loc să trimită doar o cerere, acestea trebuie acum să aibă un browser cu fereastră și să cheltuie resurse CPU rezolvând provocarea ca să treacă de Anubis.
Site-uri populare precum Gnome Gitlab și Arch Wiki folosesc deja Anubis ca să-și protejeze datele, și tu o poți folosi și tu!
Playbook Ansible
Îmi protejez instanța Forgejo cu Anubis, iar ca să fie mai ușor de instalat Anubis am creat un playbook Ansible.
Ca să rulezi playbook-ul ai nevoie de make și ansible. Poți descărca playbook-ul de la: https://gitlab.nuculabs.dev/dnutiu/ansible-playbooks/
Apoi trebuie să modifici inventory.ini și variables.yaml și să rulezi make install && make run.
Anubis are nevoie de un URL țintă al serviciului pe care îl protejează. Deoarece eu rulez Forgejo într-un container Podman, URL-ul țintă pentru mine este: http://host.docker.internal:3000.
Îl poți schimba în variables.yaml.
Practic, variables.yaml conține deja câteva setări implicite. Poate vrei să schimbi numele instanței Anubis, portul HTTP, ținta (URL-ul) și opțiunea de firewall a setup-ului, dacă expui Anubis direct.
# variables.yamlsetup_firewall: false # exposes the anubis firewall portsetup_firewall_for_metrics: false # exposes the firewall port for metricsanubis: instance_name: "forgejo" base_directory: "anubis" container_image: "ghcr.io/techarohq/anubis:v1.16.0" difficulty: 5 http_port: 4000 metrics_port: 4001 serve_robots_txt: "true" target: "http://host.docker.internal:3000" og_passthrough: "true" og_expiry_time: "24h" og_cache_consider_host: "false" webmaster_email: "" policy_file_name: ""Fișierul inventory.ini ar trebui să conțină doar adresa IP a serverului pe care vrei să instalezi Anubis. Conexiunea se face prin SSH, iar cheia ta trebuie să fie încărcată în agentul SSH.
# inventory.ini[nuculabs]hosts.example.com ansible_user=ansible[local]localhostAtât este tot.
Mulțumesc că ai citit! 📚 Ne vedem data viitoare!