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ă

miniatura blogului

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:

ecranul Anubis

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]localhost

Atât este tot.


Mulțumesc că ai citit! 📚 Ne vedem data viitoare!