github TecharoHQ/anubis v1.27.0
v1.27.0: Moenbryda Wilfsunnwyn

3 hours ago

Anubis v1.27.0 adds Windows Server support, automatically renames cookies based on settings to avoid infinite challenge loops, adds two new localizations, and more.

Breaking change: cookie names are dynamically created based on cookie settings

Anubis tries to avoid breaking changes as much as possible, but sometimes we have to make them for the sake of the users. This is technically a breaking change in something that is not part of the public API of Anubis; but some administrators rely heavily on cookie names in advanced configurations.

It seems that browsers store cookies disambiguated with their options. This means you can have multiple cookies named the same but with different options. Browsers will send these cookies to the server without the list of options. This means that changing any cookie settings requires you to change COOKIE_PREFIX, creating a new "cookie epoch" that will set things properly.

In order to be more robust, Anubis will automatically change cookie names based on the cookie settings. For example, the default configuration creates cookies named techaro.lol-anubis-auth-347ddb4a.

Without this change, changing any cookie setting without every client clearing their cookies causes challenges to become an infinite loop of thrashing, making it appear that Anubis "blocked" them.

If this becomes onerous in practice for administrators of HAProxy and other advanced setups that rely on cookie names, we will add an escape hatch in the policy file.

Windows Server support (beta)

Anubis now publishes .msi packages, allowing administrators to install and run Anubis on Windows Server. Please read the Windows Server page for more information.

This support is beta-grade as the Anubis team does not have a lot of experience with developing software for Windows Server. Feedback is more than welcome.

Please let us know how it works for you!

Pre-release docker images no longer populate the latest tag

Due to a misconfiguration of the GitHub Action docker/metadata-action, pre-release Docker images previously populated the :latest tag. This means that administrators that expected the :latest tag to result in a stable release of Anubis got a prerelease version suddenly when they ran automatic updates.

If administrators want to opt-in to the prerelease build track of Anubis for more frequent access to new features, they can use the :pre tag:

image: ghcr.io/techarohq/anubis:pre

Features

Crawlers

  • Allow Arquivo.pt, the Portuguese web archive, by default via its crawling network.
  • Add (data)/bots/lyrenth.yaml snippet that denies Lyrenth's AIWebIndex crawler and AIWebIndex-Agent on-demand fetcher by user agent and by their published IP ranges. This is imported by (data)/bots/_deny-pathological.yaml.
  • Updates Alibaba cloud IP list (#1813)
  • Updates Googlebot IP list (#1812)
  • Updates IP list for DuckDuckBot (#1810)
  • Update Huawei Cloud IP list (#1814)

Fixes

  • Fix bot policy imports to not require pedantically correct YAML formatting when using wildcard matching.
  • JavaScript served by the fast challenge is loaded using defer instead of async (#1782).
  • Amend default Lightpanda rule to match current behaviour, add smoke test to ensure it keeps working (#1822).
  • Fix a panic when a request asks for the undetermined language tag, such as Accept-Language: und (#1776).
  • Allow user agents that start with capital-G Git in (data)/clients/git.yaml.
  • Enabled the Partitioned flag on cookies by default (#1701).
  • Fix Windows MSI builds on prerelease tags such as v1.27.0-pre1.
  • Bump AI-robots.txt to version 1.47.

i18n

  • Add Basque (eu) localization.
  • Update Bulgarian locale (#1708)
  • Add Croatian (hr) localization.

Don't miss a new anubis release

NewReleases is sending notifications on new releases.