aboutsummaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)AuthorFilesLines
2025-04-22fix: improve error handling and create the json encoder once #331 (#332)Jason Cameron1-0/+1
* fix: improve error handling for resource closing and JSON encoding in MakeChallenge * chore: update CHANGELOG with recent changes and improvements * refactor: simplify RenderIndex function and improve error handling --------- Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-22Update known-instances.md (#324)Xe Iaso1-0/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-22data: disable generic-bot-catchall by default (#322)Xe Iaso2-0/+5
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-22feat(lib): use Checker type instead of ad-hoc logic (#318)Xe Iaso1-0/+1
This makes each check into its own type that has encapsulated check logic, meaning that it's easier to add new checker implementations in the future. Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-21docs: update default difficulty to 4Xe Iaso3-3/+3
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-21docs(known-instances): add Arch wikiXe Iaso1-24/+25
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20Update CHANGELOG.md (#313)Jason Cameron1-16/+16
Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-21lib: move config to yaml (#307)Xe Iaso6-8/+119
* lib: move config to yaml Signed-off-by: Xe Iaso <me@xeiaso.net> * web: run go generate Signed-off-by: Xe Iaso <me@xeiaso.net> * Add Haiku to known instances (#304) Signed-off-by: Asmodeus <46908100+AsmodeumX@users.noreply.github.com> * Add headers bot rule (#300) * Closes #291: add headers support to bot policy rules * Fix config validator * update docs for JSON -> YAML Signed-off-by: Xe Iaso <me@xeiaso.net> * docs: document http header based actions Signed-off-by: Xe Iaso <me@xeiaso.net> * lib: add missing test Signed-off-by: Xe Iaso <me@xeiaso.net> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Signed-off-by: Asmodeus <46908100+AsmodeumX@users.noreply.github.com> Co-authored-by: Asmodeus <46908100+AsmodeumX@users.noreply.github.com> Co-authored-by: Neur0toxine <pashok9825@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-20feat(docs): added info on how to configure traefik (#255)Snoweuph3-0/+213
* feat(docs): added info on how to configure traefik * docs/admin/config/traefik: typo fixes Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-20Update known-instances.md (#309)Xe Iaso1-0/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20added an another git.lupancham.net to known instances of use (#296)Thinkseal1-0/+1
* Update CHANGELOG.md Signed-off-by: Thinkseal <132022649+Thinkseal@users.noreply.github.com> * Update known-instances.md to add git.lupancham.net Signed-off-by: Thinkseal <132022649+Thinkseal@users.noreply.github.com> --------- Signed-off-by: Thinkseal <132022649+Thinkseal@users.noreply.github.com> Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-20Add headers bot rule (#300)Neur0toxine1-0/+1
* Closes #291: add headers support to bot policy rules * Fix config validator
2025-04-20Add Haiku to known instances (#304)Asmodeus1-1/+2
Signed-off-by: Asmodeus <46908100+AsmodeumX@users.noreply.github.com>
2025-04-20docs/admin/native-install: point people to the right places to get started ↵Xe Iaso1-0/+7
easier Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20docs/admin/environments/docker-compose: fix heading levelXe Iaso1-1/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-19docs/admin: break per-environment details into their own pages (#292)Xe Iaso7-408/+490
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-19docs/admin/installation: Apache documentation (#290)Xe Iaso2-0/+143
* docs/admin/installation: Apache documentation Closes #277 This adds step by step documentation for setting up Anubis in Apache. * docs/admin/installation: add selinux troubleshooting Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-18Add more AI user agent in botPolicies.json (#249)Dryusdan1-0/+1
* Add more IA user agent in bot policies * Update data/botPolicies.json Signed-off-by: Xe Iaso <me@xeiaso.net> * Fix trailling pipe that deny all requests --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-18Add 'Opera' to 'generic-browser' bot policy rule (#220)Michael Jeanson1-0/+1
After deploying Anubis bot traffic is drastically reduced but I still see a lot of requests from User-Agents that claim to be 'Opera' like so: "Opera/9.90.(Windows NT 6.0; mt-MT) Presto/2.9.173 Version/10.00" "Opera/8.46.(X11; Linux i686; fo-FO) Presto/2.9.161 Version/11.00" Add 'Opera' to the generic-browser rule to also challenge them. Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-18Allow ranges from the Internet Archive (AS7941) (#276)Remilia Da Costa Faro1-0/+1
* Allow ranges from the Internet Archive (AS7941) * Updated changelog * Update data/botPolicies.json Signed-off-by: Xe Iaso <me@xeiaso.net> * Removed overlapping CIDR for internet-archive in botPolicies.json --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-18perf: embed challenge data in HTML (#279)Ryan Cao1-0/+1
2025-04-18Docs: add nginx with Anubis in the middle configuration example (#282)Jeroen Massar2-0/+162
* Add documentation example for a NGINX configuration that demonstrates how to insert Anubis in the middle of a normal configuration. Signed-off-by: Jeroen Massar <jeroen@massar.ch> * Add changelog entry Signed-off-by: Jeroen Massar <jeroen@massar.ch> * docs/admin/installation: rephrasing and diagrams Signed-off-by: Xe Iaso <me@xeiaso.net> * docs/admin/installation: flatten down the nginx config Signed-off-by: Xe Iaso <me@xeiaso.net> * docs/admin/installation: other fixups and note the assumptions at play Thanks @SuperSandro2000! Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Jeroen Massar <jeroen@massar.ch> Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-16README: add contributor imagesXe Iaso1-0/+16
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-15docs/blog: remove (#273)fossdd8-155/+0
still leftovers from the docusaurus template
2025-04-15Create Anubis FreeBSD rc.d script (#274)Paul Wilde1-0/+1
* Create anubis.freebsd add freebsd rc.d script so can be run as a freebsd daemon Signed-off-by: Paul Wilde <31094984+pswilde@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: Paul Wilde <31094984+pswilde@users.noreply.github.com> --------- Signed-off-by: Paul Wilde <31094984+pswilde@users.noreply.github.com>
2025-04-15Update custom.css (#271)B4uti4github1-7/+7
2025-04-13fix(fetch): improve error handling for Content-Type parsing (#253)Jason Cameron1-0/+1
* fix(fetch): improve error handling for Content-Type parsing Signed-off-by: Jason Cameron <git@jasoncameron.dev> * fix(fetch): rename OgHandledError to ErrOgHandled for statichcheck to like me Signed-off-by: Jason Cameron <git@jasoncameron.dev> --------- Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-13feat(docs): known users cleanup (#257)hyperdefined1-34/+17
2025-04-13docs/docs/user/known-instances.md: remove duplicate scioly.org mention (#259)rayer1-2/+1
Signed-off-by: rayer <70722312+rayes0@users.noreply.github.com>
2025-04-12feat(docs): expand known instances list with new entries and collapsible ↵Jason Cameron1-1/+40
sections (#254) Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-12feat: update botPolicies for DuckDuckGo web crawler (#250)Maher1-0/+1
- updates botPolicies with ips from the website - adds the updated information to the `CHANGELOG.md` file Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-12docs/user/known-instances: add page (#214)fossdd1-0/+10
I've been keeping a list in my head for a while, but I think a canonical location with most known instances could help others, e.g. for deciding wheather to use Anubis or not and to get in contact with Anubis operators.
2025-04-11dev: Improvements to build scripts (#232)Henri Vasserman1-0/+2
* dev: make sure that stuff is building properly * chore: changelog * remove npx
2025-04-10v1.16.0 (#244)v1.16.0Xe Iaso2-3/+20
* v1.16.0 Signed-off-by: Xe Iaso <me@xeiaso.net> * update packaging docs Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-08workflows: hash pin Actions (#203)Patrick Linnane1-0/+1
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-07docs: fix edit me links and configuration subcategory (#238)Xe Iaso2-1/+9
* docs: fix edit me links and configuration subcategory Signed-off-by: Xe Iaso <me@xeiaso.net> * remove this file that shouldn't exist Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-07Add variable WEBMASTER_EMAIL and if present, display it on error page (#235)eerielili2-0/+2
* Add variable WEBMASTER_EMAIL and if present, display it on error page - Adresses issue https://github.com/TecharoHQ/anubis/issues/115 * web: regenerate templates Signed-off-by: Xe Iaso <me@xeiaso.net> * update docs Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-06feat: Add Open Graph tag support (#195)Jason Cameron3-2/+60
* feat: Add Open Graph tag support (og-tags) Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Fix: Prevent nil pointer dereference in test (og-tags) Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat!: Implement Open Graph tag caching and passthrough functionality (WIP) I'm going to sleep. currently tags are passed to renderIndex. see https://github.com/TecharoHQ/anubis/issues/131 Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat: Add configuration for air tool with build and logger settings Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat: Move OG tags to base template (og-tags) Moves the Open Graph (OG) tags from the index template to the base template. This allows OG tags to be set on any page, not just the index. Also adds a BaseWithOGTags function to the web package to allow passing OG tags to the base template. Removes the ogTags parameter from the Index function and template. Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Delete CHANGELOG.md Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat: Add language attribute to HTML tag in template Signed-off-by: Jason Cameron <git@jasoncameron.dev> * fix(tests): Fix nil pointer ref Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat(og-tags): Add timeout to http client (og-tags) Signed-off-by: Jason Cameron <git@jasoncameron.dev> * style: fix line endings & indentation Signed-off-by: Jason Cameron <git@jasoncameron.dev> * style: add inspection comment for GoBoolExpressions in UnchangingCache Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat(og-tags): Implement Open Graph tag fetching and caching Signed-off-by: Jason Cameron <git@jasoncameron.dev> * fix(og-tags): Simplify Open Graph tag extraction logic Signed-off-by: Jason Cameron <git@jasoncameron.dev> * fix(og-tags): Add nil check in isOGMetaTag and enhance test cases Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat(og-tags): Add approved tags and prefixes for Open Graph extraction Signed-off-by: Jason Cameron <git@jasoncameron.dev> * test(og-tags): Update tests with approved tags and improve clarity Signed-off-by: Jason Cameron <git@jasoncameron.dev> * chore: Add changelog notes Signed-off-by: Jason Cameron <git@jasoncameron.dev> * fix: Improve stability of the target fetcher? Signed-off-by: Jason Cameron <git@jasoncameron.dev> * fix: Update template error handling and improve Open Graph tag integration Signed-off-by: Jason Cameron <git@jasoncameron.dev> * style: format files and remove deubg logs Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat: Credit CELPHASE for mascot design (og-tags) Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat: Credit CELPHASE for mascot design (og-tags) Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat: Allow twitter prefixed OG tags by default Signed-off-by: Jason Cameron <git@jasoncameron.dev> * chore: replace /tmp with /var Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Update docs/docs/CHANGELOG.md Co-authored-by: Xe Iaso <me@xeiaso.net> Signed-off-by: Jason Cameron <jasoncameron.all@gmail.com> * Update docs/docs/admin/configuration/open-graph.mdx Co-authored-by: Xe Iaso <me@xeiaso.net> Signed-off-by: Jason Cameron <jasoncameron.all@gmail.com> * chore: add fediverse to default prefixes (#og-tags) Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat(og-tags): Remove og-query-distinct flag This commit removes the `og-query-distinct` flag and associated logic. URLs with different query parameters will now always be treated as the same cache key for Open Graph tags. This simplifies the caching logic and improves performance. Additionally, the http client used for fetching OG tags is now a member of the OGTagCache struct, rather than a global variable. This improves testability and allows for more flexible configuration in the future. Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Update docs/docs/admin/configuration/open-graph.mdx Co-authored-by: Xe Iaso <me@xeiaso.net> Signed-off-by: Jason Cameron <jasoncameron.all@gmail.com> * docs: remove og tags references Signed-off-by: Jason Cameron <git@jasoncameron.dev> * refactor: rename url > u to not overlap package name Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Update internal/ogtags/cache.go Co-authored-by: Xe Iaso <me@xeiaso.net> Signed-off-by: Jason Cameron <jasoncameron.all@gmail.com> * Update internal/ogtags/cache.go Co-authored-by: Xe Iaso <me@xeiaso.net> Signed-off-by: Jason Cameron <jasoncameron.all@gmail.com> * fix(tests): Don't use network when network access is disabled Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Fix: Handle nil URL in GetOGTags (og-tags) Signed-off-by: Jason Cameron <git@jasoncameron.dev> * chore: sort installation docs alphabetically Signed-off-by: Jason Cameron <git@jasoncameron.dev> * fix(tests): validate that no duplicate requests are made Signed-off-by: Jason Cameron <git@jasoncameron.dev> * style(tests): remove unused ok var Signed-off-by: Jason Cameron <git@jasoncameron.dev> * docs: convert to table fmt Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat(og-tags): Enhance OG tag fetching and caching Adds additional approved OG tags (`keywords`, `author`), improves Signed-off-by: Jason Cameron <git@jasoncameron.dev> * chore: update generated templ's after format Signed-off-by: Jason Cameron <git@jasoncameron.dev> * fix(tests): update integration_test.go to reflect the new behavior of fetchHTMLDocument Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Revert "data/botPolicies: allow iMessage scraper by default (#178)" This reverts commit 21a9d777 Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Fix: Simplify ogTags access in cache test. Didn't know this was possible! wow! Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Fix: Handle request timeouts when fetching OG tags (#og-tags) Cache a nil result for half the TTL to avoid repeatedly requesting a timed-out URL. Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Fix: make OG tags passthrough option function. Signed-off-by: Jason Cameron <git@jasoncameron.dev> * Fix: Handle timeouts and non-200 responses when fetching OG tags (og-tags) - Cache empty results for timeouts and non-200 status codes to avoid spamming the server. - Use a non-nil empty map to represent empty results in the cache, as nil would be a cache miss. Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat(og-tags): switch to http.MaxBytesReader Signed-off-by: Jason Cameron <git@jasoncameron.dev> * chore(og-tags): add noindex, nofollow meta tag and update error line numbers Signed-off-by: Jason Cameron <git@jasoncameron.dev> --------- Signed-off-by: Jason Cameron <git@jasoncameron.dev> Signed-off-by: Jason Cameron <jasoncameron.all@gmail.com> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-06make a half-baked tarball (#221)Xe Iaso3-2/+24
* make a half-baked tarball Closes #217 Signed-off-by: Xe Iaso <me@xeiaso.net> * make two tarballs: one with just the vendor, and one with vendor and npm Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-06Makefile: fix subtle logic bug (#228)Xe Iaso1-5/+18
Closes #226 Makefile dependencies are backwards, apparently. Also add staticcheck as a `go tool` dependency.
2025-04-06web: add noindex to base HTML template (#229)Xe Iaso1-0/+1
Closes #227 Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-04implement packaging proof of concept with yeet (#194)Xe Iaso4-3/+165
* implement packaging proof of concept with yeet Signed-off-by: Xe Iaso <me@xeiaso.net> * docs/developer: add local dev docs for yeet Signed-off-by: Xe Iaso <me@xeiaso.net> * apply review feedback Signed-off-by: Xe Iaso <me@xeiaso.net> * build package artifacts in CI Signed-off-by: Xe Iaso <me@xeiaso.net> * tell CI to fetch all git metadata Signed-off-by: Xe Iaso <me@xeiaso.net> * rename package builds job Signed-off-by: Xe Iaso <me@xeiaso.net> * upload each package individually Signed-off-by: Xe Iaso <me@xeiaso.net> * split package build CI jobs Signed-off-by: Xe Iaso <me@xeiaso.net> * fix code injection? Signed-off-by: Xe Iaso <me@xeiaso.net> * fix ci? Signed-off-by: Xe Iaso <me@xeiaso.net> * fix security alert Signed-off-by: Xe Iaso <me@xeiaso.net> * docs/local-dev: point people to yeet v1.13.3 Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-03cmd/anubis: add --extract-resources flag to extract static assets to the ↵Xe Iaso1-0/+1
filesystem (#216) Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-03build(deps): bump image-size from 1.2.0 to 1.2.1 in /docs (#210)dependabot[bot]1-3/+3
Bumps [image-size](https://github.com/image-size/image-size) from 1.2.0 to 1.2.1. - [Release notes](https://github.com/image-size/image-size/releases) - [Commits](https://github.com/image-size/image-size/compare/v1.2.0...v1.2.1) --- updated-dependencies: - dependency-name: image-size dependency-version: 1.2.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03Add new Anubis mascot (#204)Xe Iaso6-1/+2
* Add new Anubis mascot Signed-off-by: Xe Iaso <me@xeiaso.net> * web: add artist credit to footer Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-03data/botPolicies: allow iMessage scraper by default (#178)Xe Iaso1-0/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-02add a Makefile (#191)Xe Iaso2-4/+8
* add a Makefile Based on advice from IRC, a makefile helps downstream packagers understand how to build the software. Signed-off-by: Xe Iaso <me@xeiaso.net> * Apply review suggestions Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-02dependabot: enable (#189)Patrick Linnane1-0/+1
* dependabot: enable Signed-off-by: Patrick Linnane <patrick@linnane.io> * dependabot: group updates Signed-off-by: Patrick Linnane <patrick@linnane.io> --------- Signed-off-by: Patrick Linnane <patrick@linnane.io> Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-01workflows: fix zizmor findings (part 1) (#190)Patrick Linnane1-0/+1
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-01ci: add `zizmor` (#188)Patrick Linnane1-0/+1
Signed-off-by: Patrick Linnane <patrick@linnane.io>