>>> anubis: Building testing/anubis 1.21.3-r2 (using abuild 3.15.0-r2) started Sun, 10 Aug 2025 13:12:30 +0000 >>> anubis: Validating /home/buildozer/aports/testing/anubis/APKBUILD... >>> anubis: Analyzing dependencies... >>> anubis: Installing for build: build-base go (1/2) Installing go (1.24.6-r1) (2/2) Installing .makedepends-anubis (20250810.131233) busybox-1.37.0-r22.trigger: Executing script... OK: 550 MiB in 103 packages >>> anubis: Cleaning up srcdir >>> anubis: Cleaning up pkgdir >>> anubis: Cleaning up tmpdir >>> anubis: Fetching https://distfiles.alpinelinux.org/distfiles/edge/anubis-src-vendor-npm-1.21.3.tar.gz >>> anubis: Fetching https://distfiles.alpinelinux.org/distfiles/edge/anubis-src-vendor-npm-1.21.3.tar.gz >>> anubis: Checking sha512sums... anubis-src-vendor-npm-1.21.3.tar.gz: OK anubis.initd: OK anubis.confd: OK >>> anubis: Unpacking /var/cache/distfiles/edge/anubis-src-vendor-npm-1.21.3.tar.gz... ? github.com/TecharoHQ/anubis [no test files] ? github.com/TecharoHQ/anubis/cmd/anubis [no test files] ? github.com/TecharoHQ/anubis/cmd/containerbuild [no test files] === RUN TestDataFileConversion === RUN TestDataFileConversion/simple_default === RUN TestDataFileConversion/simple_json === RUN TestDataFileConversion/simple_deny_action === RUN TestDataFileConversion/simple_custom_name === RUN TestDataFileConversion/blacklist_with_crawl_delay === RUN TestDataFileConversion/wildcards === RUN TestDataFileConversion/empty_file === RUN TestDataFileConversion/complex_scenario --- PASS: TestDataFileConversion (0.01s) --- PASS: TestDataFileConversion/simple_default (0.00s) --- PASS: TestDataFileConversion/simple_json (0.00s) --- PASS: TestDataFileConversion/simple_deny_action (0.00s) --- PASS: TestDataFileConversion/simple_custom_name (0.00s) --- PASS: TestDataFileConversion/blacklist_with_crawl_delay (0.00s) --- PASS: TestDataFileConversion/wildcards (0.00s) --- PASS: TestDataFileConversion/empty_file (0.00s) --- PASS: TestDataFileConversion/complex_scenario (0.00s) === RUN TestCaseInsensitiveParsing --- PASS: TestCaseInsensitiveParsing (0.00s) === RUN TestVariousOutputFormats --- PASS: TestVariousOutputFormats (0.00s) === RUN TestDifferentActions === RUN TestDifferentActions/action_ALLOW === RUN TestDifferentActions/action_DENY === RUN TestDifferentActions/action_CHALLENGE === RUN TestDifferentActions/action_WEIGH --- PASS: TestDifferentActions (0.00s) --- PASS: TestDifferentActions/action_ALLOW (0.00s) --- PASS: TestDifferentActions/action_DENY (0.00s) --- PASS: TestDifferentActions/action_CHALLENGE (0.00s) --- PASS: TestDifferentActions/action_WEIGH (0.00s) === RUN TestPolicyNaming === RUN TestPolicyNaming/name_custom-policy === RUN TestPolicyNaming/name_my-rules === RUN TestPolicyNaming/name_site-protection --- PASS: TestPolicyNaming (0.00s) --- PASS: TestPolicyNaming/name_custom-policy (0.00s) --- PASS: TestPolicyNaming/name_my-rules (0.00s) --- PASS: TestPolicyNaming/name_site-protection (0.00s) === RUN TestCrawlDelayWeights === RUN TestCrawlDelayWeights/weight_1 === RUN TestCrawlDelayWeights/weight_5 === RUN TestCrawlDelayWeights/weight_10 === RUN TestCrawlDelayWeights/weight_25 --- PASS: TestCrawlDelayWeights (0.00s) --- PASS: TestCrawlDelayWeights/weight_1 (0.00s) --- PASS: TestCrawlDelayWeights/weight_5 (0.00s) --- PASS: TestCrawlDelayWeights/weight_10 (0.00s) --- PASS: TestCrawlDelayWeights/weight_25 (0.00s) === RUN TestBlacklistActions === RUN TestBlacklistActions/blacklist_DENY === RUN TestBlacklistActions/blacklist_CHALLENGE --- PASS: TestBlacklistActions (0.00s) --- PASS: TestBlacklistActions/blacklist_DENY (0.00s) --- PASS: TestBlacklistActions/blacklist_CHALLENGE (0.00s) PASS ok github.com/TecharoHQ/anubis/cmd/robots2policy 0.146s ? github.com/TecharoHQ/anubis/cmd/robots2policy/batch [no test files] ? github.com/TecharoHQ/anubis/data [no test files] === RUN TestImpl --- PASS: TestImpl (0.00s) === RUN TestCleanup --- PASS: TestCleanup (0.00s) PASS ok github.com/TecharoHQ/anubis/decaymap 0.086s === RUN TestHashCollisions hash_bench_test.go:176: Basic test: 22 realistic inputs, no collisions hash_bench_test.go:199: Stress test 1: 22400 similar string variations, no collisions hash_bench_test.go:224: Stress test 2: 70000 sequential patterns, no collisions hash_bench_test.go:227: TOTAL: Tested 92422 inputs across realistic scenarios - NO COLLISIONS --- PASS: TestHashCollisions (0.24s) === RUN TestXXHashFormat hash_bench_test.go:259: Input: "short" -> Hash: a4dbb3294161a9a4 hash_bench_test.go:259: Input: "" -> Hash: ef46db3751d8e999 hash_bench_test.go:259: Input: "very long string with lots of content that might be used in policy checking and other internal hashing scenarios" -> Hash: 66442c9447f2401b hash_bench_test.go:259: Input: "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" -> Hash: 853008ee50e116bf --- PASS: TestXXHashFormat (0.00s) === RUN TestErrorLogFilter --- PASS: TestErrorLogFilter (0.00s) === RUN TestXForwardedForUpdateIgnoreUnix --- PASS: TestXForwardedForUpdateIgnoreUnix (0.00s) === RUN TestXForwardedForUpdateAddToChain --- PASS: TestXForwardedForUpdateAddToChain (0.01s) === RUN TestComputeXFFHeader === RUN TestComputeXFFHeader/StripPrivate === RUN TestComputeXFFHeader/StripPrivate#01 === RUN TestComputeXFFHeader/StripLoopback === RUN TestComputeXFFHeader/StripCGNAT === RUN TestComputeXFFHeader/StripLinkLocalUnicastIPv4 === RUN TestComputeXFFHeader/StripLinkLocalUnicastIPv6 === RUN TestComputeXFFHeader/Flatten === RUN TestComputeXFFHeader/TrimSpaces === RUN TestComputeXFFHeader/invalid-ip-port === RUN TestComputeXFFHeader/invalid-remote-ip === RUN TestComputeXFFHeader/no-xff-dont-panic --- PASS: TestComputeXFFHeader (0.00s) --- PASS: TestComputeXFFHeader/StripPrivate (0.00s) --- PASS: TestComputeXFFHeader/StripPrivate#01 (0.00s) --- PASS: TestComputeXFFHeader/StripLoopback (0.00s) --- PASS: TestComputeXFFHeader/StripCGNAT (0.00s) --- PASS: TestComputeXFFHeader/StripLinkLocalUnicastIPv4 (0.00s) --- PASS: TestComputeXFFHeader/StripLinkLocalUnicastIPv6 (0.00s) --- PASS: TestComputeXFFHeader/Flatten (0.00s) --- PASS: TestComputeXFFHeader/TrimSpaces (0.00s) --- PASS: TestComputeXFFHeader/invalid-ip-port (0.00s) --- PASS: TestComputeXFFHeader/invalid-remote-ip (0.00s) --- PASS: TestComputeXFFHeader/no-xff-dont-panic (0.00s) PASS ok github.com/TecharoHQ/anubis/internal 0.641s === RUN TestReverse4 === RUN TestReverse4/1.2.3.4->4.3.2.1 --- PASS: TestReverse4 (0.01s) --- PASS: TestReverse4/1.2.3.4->4.3.2.1 (0.00s) === RUN TestReverse6 === RUN TestReverse6/1234:5678:9ABC:DEF0:1234:5678:9ABC:DEF0->0.f.e.d.c.b.a.9.8.7.6.5.4.3.2.1.0.f.e.d.c.b.a.9.8.7.6.5.4.3.2.1 --- PASS: TestReverse6 (0.00s) --- PASS: TestReverse6/1234:5678:9ABC:DEF0:1234:5678:9ABC:DEF0->0.f.e.d.c.b.a.9.8.7.6.5.4.3.2.1.0.f.e.d.c.b.a.9.8.7.6.5.4.3.2.1 (0.00s) === RUN TestLookup dnsbl_test.go:60: response: 0 --- PASS: TestLookup (0.19s) PASS ok github.com/TecharoHQ/anubis/internal/dnsbl 0.298s === RUN TestCacheReturnsDefault === RUN TestCacheReturnsDefault/og:title === RUN TestCacheReturnsDefault/og:description --- PASS: TestCacheReturnsDefault (0.00s) --- PASS: TestCacheReturnsDefault/og:title (0.00s) --- PASS: TestCacheReturnsDefault/og:description (0.00s) === RUN TestCheckCache --- PASS: TestCheckCache (0.00s) === RUN TestGetOGTags --- PASS: TestGetOGTags (0.02s) === RUN TestGetOGTagsWithHostConsideration === RUN TestGetOGTagsWithHostConsideration/Host_Not_Considered_-_Same_Host === RUN TestGetOGTagsWithHostConsideration/Host_Not_Considered_-_Different_Host === RUN TestGetOGTagsWithHostConsideration/Host_Considered_-_Same_Host === RUN TestGetOGTagsWithHostConsideration/Host_Considered_-_Different_Host --- PASS: TestGetOGTagsWithHostConsideration (0.01s) --- PASS: TestGetOGTagsWithHostConsideration/Host_Not_Considered_-_Same_Host (0.00s) --- PASS: TestGetOGTagsWithHostConsideration/Host_Not_Considered_-_Different_Host (0.00s) --- PASS: TestGetOGTagsWithHostConsideration/Host_Considered_-_Same_Host (0.00s) --- PASS: TestGetOGTagsWithHostConsideration/Host_Considered_-_Different_Host (0.00s) === RUN TestFetchHTMLDocument === RUN TestFetchHTMLDocument/Valid_HTML === RUN TestFetchHTMLDocument/Empty_HTML === RUN TestFetchHTMLDocument/Not_found_error === RUN TestFetchHTMLDocument/Unsupported_Content-Type === RUN TestFetchHTMLDocument/Too_large_content --- PASS: TestFetchHTMLDocument (0.01s) --- PASS: TestFetchHTMLDocument/Valid_HTML (0.00s) --- PASS: TestFetchHTMLDocument/Empty_HTML (0.00s) --- PASS: TestFetchHTMLDocument/Not_found_error (0.00s) --- PASS: TestFetchHTMLDocument/Unsupported_Content-Type (0.00s) --- PASS: TestFetchHTMLDocument/Too_large_content (0.00s) === RUN TestFetchHTMLDocumentInvalidURL --- PASS: TestFetchHTMLDocumentInvalidURL (0.02s) === RUN TestIntegrationGetOGTags === RUN TestIntegrationGetOGTags/Simple_page === RUN TestIntegrationGetOGTags/Complete_page === RUN TestIntegrationGetOGTags/Page_with_no_OG_tags === RUN TestIntegrationGetOGTags/Nonexistent_page --- PASS: TestIntegrationGetOGTags (0.01s) --- PASS: TestIntegrationGetOGTags/Simple_page (0.00s) --- PASS: TestIntegrationGetOGTags/Complete_page (0.00s) --- PASS: TestIntegrationGetOGTags/Page_with_no_OG_tags (0.00s) --- PASS: TestIntegrationGetOGTags/Nonexistent_page (0.00s) === RUN TestMemoryUsage mem_test.go:112: Memory allocated for 10k getTarget calls: mem_test.go:113: Total: 630.66 KB (0.62 MB) mem_test.go:114: Per operation: 64.58 bytes mem_test.go:143: Memory allocated for 1k extractOGTags calls: mem_test.go:144: Total: 333.64 KB (0.33 MB) mem_test.go:145: Per operation: 341.65 bytes --- PASS: TestMemoryUsage (0.03s) === RUN TestNewOGTagCache === RUN TestNewOGTagCache/Basic_initialization === RUN TestNewOGTagCache/Empty_target --- PASS: TestNewOGTagCache (0.00s) --- PASS: TestNewOGTagCache/Basic_initialization (0.00s) --- PASS: TestNewOGTagCache/Empty_target (0.00s) === RUN TestNewOGTagCache_UnixSocket --- PASS: TestNewOGTagCache_UnixSocket (0.00s) === RUN TestGetTarget === RUN TestGetTarget/No_path_or_query === RUN TestGetTarget/With_complex_path === RUN TestGetTarget/With_query_and_path === RUN TestGetTarget/Unix_socket_target === RUN TestGetTarget/Unix_socket_target_with_/// --- PASS: TestGetTarget (0.00s) --- PASS: TestGetTarget/No_path_or_query (0.00s) --- PASS: TestGetTarget/With_complex_path (0.00s) --- PASS: TestGetTarget/With_query_and_path (0.00s) --- PASS: TestGetTarget/Unix_socket_target (0.00s) --- PASS: TestGetTarget/Unix_socket_target_with_/// (0.00s) === RUN TestIntegrationGetOGTags_UnixSocket --- PASS: TestIntegrationGetOGTags_UnixSocket (0.10s) === RUN TestExtractOGTags === RUN TestExtractOGTags/Basic_OG_tags === RUN TestExtractOGTags/OG_tags_with_name_attribute === RUN TestExtractOGTags/No_approved_OG_tags === RUN TestExtractOGTags/Empty_content === RUN TestExtractOGTags/Explicitly_approved_tag --- PASS: TestExtractOGTags (0.00s) --- PASS: TestExtractOGTags/Basic_OG_tags (0.00s) --- PASS: TestExtractOGTags/OG_tags_with_name_attribute (0.00s) --- PASS: TestExtractOGTags/No_approved_OG_tags (0.00s) --- PASS: TestExtractOGTags/Empty_content (0.00s) --- PASS: TestExtractOGTags/Explicitly_approved_tag (0.00s) === RUN TestIsOGMetaTag === RUN TestIsOGMetaTag/Meta_OG_tag === RUN TestIsOGMetaTag/Regular_meta_tag === RUN TestIsOGMetaTag/Not_a_meta_tag --- PASS: TestIsOGMetaTag (0.00s) --- PASS: TestIsOGMetaTag/Meta_OG_tag (0.00s) --- PASS: TestIsOGMetaTag/Regular_meta_tag (0.00s) --- PASS: TestIsOGMetaTag/Not_a_meta_tag (0.00s) === RUN TestExtractMetaTagInfo === RUN TestExtractMetaTagInfo/OG_title_with_property_(approved_by_prefix) === RUN TestExtractMetaTagInfo/OG_description_with_name_(approved_by_prefix) === RUN TestExtractMetaTagInfo/Regular_meta_tag_(name=description,_approved_by_exact_match) === RUN TestExtractMetaTagInfo/Regular_meta_tag_(name=keywords,_not_approved) === RUN TestExtractMetaTagInfo/Twitter_tag_(not_approved_by_default) === RUN TestExtractMetaTagInfo/No_content_(but_approved_property) === RUN TestExtractMetaTagInfo/No_property/name_attribute === RUN TestExtractMetaTagInfo/Explicitly_approved_tag_with_property_attribute --- PASS: TestExtractMetaTagInfo (0.00s) --- PASS: TestExtractMetaTagInfo/OG_title_with_property_(approved_by_prefix) (0.00s) --- PASS: TestExtractMetaTagInfo/OG_description_with_name_(approved_by_prefix) (0.00s) --- PASS: TestExtractMetaTagInfo/Regular_meta_tag_(name=description,_approved_by_exact_match) (0.00s) --- PASS: TestExtractMetaTagInfo/Regular_meta_tag_(name=keywords,_not_approved) (0.00s) --- PASS: TestExtractMetaTagInfo/Twitter_tag_(not_approved_by_default) (0.00s) --- PASS: TestExtractMetaTagInfo/No_content_(but_approved_property) (0.00s) --- PASS: TestExtractMetaTagInfo/No_property/name_attribute (0.00s) --- PASS: TestExtractMetaTagInfo/Explicitly_approved_tag_with_property_attribute (0.00s) === RUN FuzzGetTarget === RUN FuzzGetTarget/seed#0 === RUN FuzzGetTarget/seed#1 === RUN FuzzGetTarget/seed#2 === RUN FuzzGetTarget/seed#3 === RUN FuzzGetTarget/seed#4 === RUN FuzzGetTarget/seed#5 === RUN FuzzGetTarget/seed#6 === RUN FuzzGetTarget/seed#7 === RUN FuzzGetTarget/seed#8 === RUN FuzzGetTarget/seed#9 === RUN FuzzGetTarget/seed#10 === RUN FuzzGetTarget/seed#11 === RUN FuzzGetTarget/seed#12 === RUN FuzzGetTarget/seed#13 === RUN FuzzGetTarget/seed#14 --- PASS: FuzzGetTarget (0.00s) --- PASS: FuzzGetTarget/seed#0 (0.00s) --- PASS: FuzzGetTarget/seed#1 (0.00s) --- PASS: FuzzGetTarget/seed#2 (0.00s) --- PASS: FuzzGetTarget/seed#3 (0.00s) --- PASS: FuzzGetTarget/seed#4 (0.00s) --- PASS: FuzzGetTarget/seed#5 (0.00s) --- PASS: FuzzGetTarget/seed#6 (0.00s) --- PASS: FuzzGetTarget/seed#7 (0.00s) --- PASS: FuzzGetTarget/seed#8 (0.00s) --- PASS: FuzzGetTarget/seed#9 (0.00s) --- PASS: FuzzGetTarget/seed#10 (0.00s) --- PASS: FuzzGetTarget/seed#11 (0.00s) --- PASS: FuzzGetTarget/seed#12 (0.00s) --- PASS: FuzzGetTarget/seed#13 (0.00s) --- PASS: FuzzGetTarget/seed#14 (0.00s) === RUN FuzzExtractOGTags === RUN FuzzExtractOGTags/seed#0 === RUN FuzzExtractOGTags/seed#1 === RUN FuzzExtractOGTags/seed#2 === RUN FuzzExtractOGTags/seed#3 === RUN FuzzExtractOGTags/seed#4 === RUN FuzzExtractOGTags/seed#5 === RUN FuzzExtractOGTags/seed#6 === RUN FuzzExtractOGTags/seed#7 === RUN FuzzExtractOGTags/seed#8 === RUN FuzzExtractOGTags/seed#9 === RUN FuzzExtractOGTags/seed#10 === RUN FuzzExtractOGTags/seed#11 === RUN FuzzExtractOGTags/seed#12 === RUN FuzzExtractOGTags/seed#13 === RUN FuzzExtractOGTags/seed#14 === RUN FuzzExtractOGTags/seed#15 === RUN FuzzExtractOGTags/seed#16 === RUN FuzzExtractOGTags/seed#17 === RUN FuzzExtractOGTags/seed#18 === RUN FuzzExtractOGTags/seed#19 === RUN FuzzExtractOGTags/seed#20 === RUN FuzzExtractOGTags/seed#21 --- PASS: FuzzExtractOGTags (0.06s) --- PASS: FuzzExtractOGTags/seed#0 (0.00s) --- PASS: FuzzExtractOGTags/seed#1 (0.00s) --- PASS: FuzzExtractOGTags/seed#2 (0.00s) --- PASS: FuzzExtractOGTags/seed#3 (0.00s) --- PASS: FuzzExtractOGTags/seed#4 (0.00s) --- PASS: FuzzExtractOGTags/seed#5 (0.00s) --- PASS: FuzzExtractOGTags/seed#6 (0.00s) --- PASS: FuzzExtractOGTags/seed#7 (0.00s) --- PASS: FuzzExtractOGTags/seed#8 (0.00s) --- PASS: FuzzExtractOGTags/seed#9 (0.00s) --- PASS: FuzzExtractOGTags/seed#10 (0.00s) --- PASS: FuzzExtractOGTags/seed#11 (0.00s) --- PASS: FuzzExtractOGTags/seed#12 (0.06s) --- PASS: FuzzExtractOGTags/seed#13 (0.00s) --- PASS: FuzzExtractOGTags/seed#14 (0.00s) --- PASS: FuzzExtractOGTags/seed#15 (0.00s) --- PASS: FuzzExtractOGTags/seed#16 (0.00s) --- PASS: FuzzExtractOGTags/seed#17 (0.00s) --- PASS: FuzzExtractOGTags/seed#18 (0.00s) --- PASS: FuzzExtractOGTags/seed#19 (0.00s) --- PASS: FuzzExtractOGTags/seed#20 (0.00s) --- PASS: FuzzExtractOGTags/seed#21 (0.00s) === RUN FuzzGetTargetRoundTrip === RUN FuzzGetTargetRoundTrip/seed#0 === RUN FuzzGetTargetRoundTrip/seed#1 --- PASS: FuzzGetTargetRoundTrip (0.00s) --- PASS: FuzzGetTargetRoundTrip/seed#0 (0.00s) --- PASS: FuzzGetTargetRoundTrip/seed#1 (0.00s) === RUN FuzzExtractMetaTagInfo === RUN FuzzExtractMetaTagInfo/seed#0 === RUN FuzzExtractMetaTagInfo/seed#1 === RUN FuzzExtractMetaTagInfo/seed#2 === RUN FuzzExtractMetaTagInfo/seed#3 === RUN FuzzExtractMetaTagInfo/seed#4 === RUN FuzzExtractMetaTagInfo/seed#5 === RUN FuzzExtractMetaTagInfo/seed#6 --- PASS: FuzzExtractMetaTagInfo (0.00s) --- PASS: FuzzExtractMetaTagInfo/seed#0 (0.00s) --- PASS: FuzzExtractMetaTagInfo/seed#1 (0.00s) --- PASS: FuzzExtractMetaTagInfo/seed#2 (0.00s) --- PASS: FuzzExtractMetaTagInfo/seed#3 (0.00s) --- PASS: FuzzExtractMetaTagInfo/seed#4 (0.00s) --- PASS: FuzzExtractMetaTagInfo/seed#5 (0.00s) --- PASS: FuzzExtractMetaTagInfo/seed#6 (0.00s) PASS ok github.com/TecharoHQ/anubis/internal/ogtags 0.535s === RUN TestPlaywrightBrowser playwright_test.go:222: npx not found in PATH, skipping integration smoke testing: exec: "npx": executable file not found in $PATH --- SKIP: TestPlaywrightBrowser (0.00s) === RUN TestPlaywrightWithBasePrefix playwright_test.go:302: NOTE(Xe)\ these tests require HTTPS support in #364 --- SKIP: TestPlaywrightWithBasePrefix (0.00s) PASS ok github.com/TecharoHQ/anubis/internal/test 0.829s === RUN TestASNChecker asnchecker_test.go:16: using mock thoth === RUN TestASNChecker/{1.1.1.1_true_false} === RUN TestASNChecker/{2.2.2.2_false_false} === RUN TestASNChecker/{taco_false_false} 2025/08/10 13:13:58 ERROR error contacting thoth, please contact support err="ParseAddr(\"taco\"): unable to parse IP" actionable=true === RUN TestASNChecker/{127.0.0.1_false_false} --- PASS: TestASNChecker (0.00s) --- PASS: TestASNChecker/{1.1.1.1_true_false} (0.00s) --- PASS: TestASNChecker/{2.2.2.2_false_false} (0.00s) --- PASS: TestASNChecker/{taco_false_false} (0.00s) --- PASS: TestASNChecker/{127.0.0.1_false_false} (0.00s) === RUN TestGeoIPChecker geoipchecker_test.go:15: using mock thoth === RUN TestGeoIPChecker/{1.1.1.1_true_false} === RUN TestGeoIPChecker/{2.2.2.2_false_false} === RUN TestGeoIPChecker/{taco_false_false} 2025/08/10 13:13:58 ERROR error contacting thoth, please contact support err="ParseAddr(\"taco\"): unable to parse IP" actionable=true === RUN TestGeoIPChecker/{127.0.0.1_false_false} --- PASS: TestGeoIPChecker (0.00s) --- PASS: TestGeoIPChecker/{1.1.1.1_true_false} (0.00s) --- PASS: TestGeoIPChecker/{2.2.2.2_false_false} (0.00s) --- PASS: TestGeoIPChecker/{taco_false_false} (0.00s) --- PASS: TestGeoIPChecker/{127.0.0.1_false_false} (0.00s) === RUN TestNew thoth_test.go:31: using mock thoth --- PASS: TestNew (0.00s) PASS ok github.com/TecharoHQ/anubis/internal/thoth 0.562s ? github.com/TecharoHQ/anubis/internal/thoth/thothmock [no test files] === RUN TestLoadPolicies === RUN TestLoadPolicies/botPolicies.json === RUN TestLoadPolicies/botPolicies.yaml {"time":"2025-08-10T13:13:58.974037848Z","level":"WARN","source":{"function":"github.com/TecharoHQ/anubis/lib/policy.ParseConfig","file":"github.com/TecharoHQ/anubis/lib/policy/policy.go","line":134},"msg":"You have specified a Thoth specific check but you have no Thoth client configured. Please read https://anubis.techaro.lol/docs/admin/thoth for more information","check":"geoip","settings":{"countries":["BR","CN"]}} {"time":"2025-08-10T13:13:58.974257288Z","level":"WARN","source":{"function":"github.com/TecharoHQ/anubis/lib/policy.ParseConfig","file":"github.com/TecharoHQ/anubis/lib/policy/policy.go","line":125},"msg":"You have specified a Thoth specific check but you have no Thoth client configured. Please read https://anubis.techaro.lol/docs/admin/thoth for more information","check":"asn","settings":{"match":[13335,136907,45102]}} --- PASS: TestLoadPolicies (0.15s) --- PASS: TestLoadPolicies/botPolicies.json (0.10s) --- PASS: TestLoadPolicies/botPolicies.yaml (0.05s) === RUN TestCVE2025_24369 {"time":"2025-08-10T13:13:59.020780477Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} {"time":"2025-08-10T13:13:59.062990032Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).MakeChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":379},"msg":"made challenge","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"challenge":{"id":"0198941d-d216-7994-98bc-c0b8f55d798a","randomData":"926ac979024c156aa6bae865b00938779def4cb540b793770260cea413a7d64b2d1ea86887173945980126b240ffa01c794654d8329d7fc7d788986cdec92c7691fd32790ed5ffc22775c3aa12f66692ca4a719b01ddc5c9af08fbd0152568fd6a960c05610f37fbbcdb86c53b260b9416032bdacea8e6237ec3b2f01f3a4ba3ea6f5f4be51b9e8484b937368078f193df8ff2b243099a3f63bad69439d9e38ef2c619b5ecd40fc267b043f5b2e043429baa18f1a7f16001933eae9a6d209d17392508c1470005c7307316a120d1f243c5b62a393db2615cc80696a2d853cc2c17f5170656f484aca29b1a4eaf9126a73695eb3766b00c53fdfd85afa0cf07a8","issuedAt":"2025-08-10T13:13:59.062659392Z","metadata":{"User-Agent":"Go-http-client/1.1","X-Real-Ip":"127.0.0.1"}},"rules":{"algorithm":"fast","difficulty":4,"report_as":4},"cr":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:44281/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=0198941d-d216-7994-98bc-c0b8f55d798a; Path=/; Expires=Sun, 10 Aug 2025 13:13:59 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:44281/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=d41309d3c234008719c01f21ee780f5e7dab30791fef474348f0f130540cd1be anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-d216-7994-98bc-c0b8f55d798a; Path=/; Expires=Sun, 10 Aug 2025 13:13:59 GMT; SameSite=None {"time":"2025-08-10T13:13:59.065355368Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":463},"msg":"challenge validate call failed","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"err":"challenge: error when processing challenge: validate: challenge: user failed challenge: wanted 4 leading zeros but got d41309d3c234008719c01f21ee780f5e7dab30791fef474348f0f130540cd1be"} {"time":"2025-08-10T13:13:59.066271467Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":493},"msg":"challenge passed, redirecting to app","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0}} {"time":"2025-08-10T13:13:59.066431446Z","level":"INFO","msg":"http: superfluous response.WriteHeader call from github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge (anubis.go:494)"} anubis_test.go:151: set cookie: http://127.0.0.1:44281/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=d41309d3c234008719c01f21ee780f5e7dab30791fef474348f0f130540cd1be -> techaro.lol-anubis-auth=; Path=/; Expires=Sun, 10 Aug 2025 13:12:59 GMT; Max-Age=0; SameSite=None --- PASS: TestCVE2025_24369 (0.09s) === RUN TestCookieCustomExpiration {"time":"2025-08-10T13:13:59.106424005Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} {"time":"2025-08-10T13:13:59.110941678Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).MakeChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":379},"msg":"made challenge","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"challenge":{"id":"0198941d-d246-7aa5-a232-ad9c9544f487","randomData":"29bc68ffc7fda55fbefbf8dfdc1b1d4ed58b89b4e6e38f3ab9d2976086b58c3b142afa376c14c1fbeb8b2d951cd3cc20f68ee74475d8b7a57c9df34f3ac4b68500a506b71c8446c4ef8db169e7f773617e0ca998380b8ea6dee8a98ec6d9103ca6cc75e60bb935392fde5fcedf89363cafba18ea48e3bb0c6d3482fd7af0412b56a9ca39e319111fafba898e8586b15fd9f3e421f33a18ae05fd86f36c7614d84a32b1de89c5c6b7885dcbca5e2fb7a3220c86f0e09ef03651a2f9e5d6c395ef9f5f92245151698bfc547fc6d6436b2e128d12318d55c27d87b00f7b5c58ec96f65ca63e680158b690673f9e4ed73c0b616b747defd724379d780f0ad922d01d","issuedAt":"2025-08-10T13:13:59.110729298Z","metadata":{"User-Agent":"Go-http-client/1.1","X-Real-Ip":"127.0.0.1"}},"rules":{"algorithm":"fast"},"cr":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:35815/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=0198941d-d246-7aa5-a232-ad9c9544f487; Path=/; Expires=Sun, 10 Aug 2025 13:23:59 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:35815/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=bf15f0fb00e24c28f9d2044c695251f01b3d0338bea9c7ecff1b02fd9a35884a anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-d246-7aa5-a232-ad9c9544f487; Path=/; Expires=Sun, 10 Aug 2025 13:23:59 GMT; SameSite=None {"time":"2025-08-10T13:13:59.113032255Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork.(*Impl).Validate","file":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork/proofofwork.go","line":83},"msg":"challenge took","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"elapsedTime":420} {"time":"2025-08-10T13:13:59.113467214Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":493},"msg":"challenge passed, redirecting to app","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:35815/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=bf15f0fb00e24c28f9d2044c695251f01b3d0338bea9c7ecff1b02fd9a35884a -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQyNDYtN2FhNS1hMjMyLWFkOWM5NTQ0ZjQ4NyIsImV4cCI6MTc1NDgzMjIzOSwiaWF0IjoxNzU0ODMxNjM5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTc5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.den6GA9JpPXDpH4P5z7I2q2viUHWHi-6dqUR-Z3zTPRHuw641hOsVCbHhXh46SjUP3VZCI-2Kcr5aYsKzrJ1AQ; Path=/; Expires=Sun, 10 Aug 2025 13:23:59 GMT; SameSite=None anubis_test.go:237: &http.Cookie{Name:"techaro.lol-anubis-auth", Value:"eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQyNDYtN2FhNS1hMjMyLWFkOWM5NTQ0ZjQ4NyIsImV4cCI6MTc1NDgzMjIzOSwiaWF0IjoxNzU0ODMxNjM5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTc5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.den6GA9JpPXDpH4P5z7I2q2viUHWHi-6dqUR-Z3zTPRHuw641hOsVCbHhXh46SjUP3VZCI-2Kcr5aYsKzrJ1AQ", Quoted:false, Path:"/", Domain:"", Expires:time.Date(2025, time.August, 10, 13, 23, 59, 0, time.UTC), RawExpires:"Sun, 10 Aug 2025 13:23:59 GMT", MaxAge:0, Secure:false, HttpOnly:false, SameSite:4, Partitioned:false, Raw:"techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQyNDYtN2FhNS1hMjMyLWFkOWM5NTQ0ZjQ4NyIsImV4cCI6MTc1NDgzMjIzOSwiaWF0IjoxNzU0ODMxNjM5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTc5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.den6GA9JpPXDpH4P5z7I2q2viUHWHi-6dqUR-Z3zTPRHuw641hOsVCbHhXh46SjUP3VZCI-2Kcr5aYsKzrJ1AQ; Path=/; Expires=Sun, 10 Aug 2025 13:23:59 GMT; SameSite=None", Unparsed:[]string(nil)} --- PASS: TestCookieCustomExpiration (0.05s) === RUN TestCookieSettings {"time":"2025-08-10T13:13:59.150885896Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} {"time":"2025-08-10T13:13:59.153492752Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).MakeChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":379},"msg":"made challenge","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"challenge":{"id":"0198941d-d271-7517-a5cc-de72650ed320","randomData":"250481e8eb0e09369589c2848855a82b5f972b10b0df2ba7e13f36648b9a0ae2f40b4a20164a67a90692bff6b64aa78ad26af5e794ad81c1bcc557acd352501f35ecb7ed5f2542a132d727fa848241c2a6f6abc180700e212a74fd4d80ab935871aaf15a35b2e6e066b3eb9f82c581a8981be4014ea4aef4c3f4f84c9061fe9a8a0ce676073095a29196d2e66fac2a369bbf36890d6cf9e999b3284f7b709e8c2a9bc50ded28d519eef1b9985de06afb4af65bf439d73456dc5f2f601a1c93f7a74b857afefc580594689d153eae82a6c15e618bc04f06a385715c44c09f71812279445a07c6be828b2240010787213994c7da21e742e0b89dabf0c5f8410209","issuedAt":"2025-08-10T13:13:59.153364093Z","metadata":{"User-Agent":"Go-http-client/1.1","X-Real-Ip":"127.0.0.1"}},"rules":{"algorithm":"fast"},"cr":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:36545/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=0198941d-d271-7517-a5cc-de72650ed320; Path=/; Domain=127.0.0.1; Expires=Sun, 17 Aug 2025 13:13:59 GMT; Secure; SameSite=None; Partitioned anubis_test.go:137: requested cookies for http://127.0.0.1:36545/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=a0d72ec7ab9e2e364df6a1dabee2c26b8d5629508f03d2ba8f14706a7e3ed508 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-d271-7517-a5cc-de72650ed320; Path=/; Domain=127.0.0.1; Expires=Sun, 17 Aug 2025 13:13:59 GMT; Secure; SameSite=None; Partitioned {"time":"2025-08-10T13:13:59.155602349Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork.(*Impl).Validate","file":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork/proofofwork.go","line":83},"msg":"challenge took","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"elapsedTime":420} {"time":"2025-08-10T13:13:59.156013649Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":493},"msg":"challenge passed, redirecting to app","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:36545/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=a0d72ec7ab9e2e364df6a1dabee2c26b8d5629508f03d2ba8f14706a7e3ed508 -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQyNzEtNzUxNy1hNWNjLWRlNzI2NTBlZDMyMCIsImV4cCI6MTc1NTQzNjQzOSwiaWF0IjoxNzU0ODMxNjM5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTc5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.2llZeRdqgJB8ybCqSm5ZNEZVq5a2v0esSuMnOfoaA6mzOlgJOpcKkgHnnukwSl-imDpxOVT7Tn-ShDVv5UtOCg; Path=/; Domain=127.0.0.1; Expires=Sun, 17 Aug 2025 13:13:59 GMT; Secure; SameSite=None; Partitioned anubis_test.go:288: &http.Cookie{Name:"techaro.lol-anubis-auth", Value:"eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQyNzEtNzUxNy1hNWNjLWRlNzI2NTBlZDMyMCIsImV4cCI6MTc1NTQzNjQzOSwiaWF0IjoxNzU0ODMxNjM5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTc5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.2llZeRdqgJB8ybCqSm5ZNEZVq5a2v0esSuMnOfoaA6mzOlgJOpcKkgHnnukwSl-imDpxOVT7Tn-ShDVv5UtOCg", Quoted:false, Path:"/", Domain:"127.0.0.1", Expires:time.Date(2025, time.August, 17, 13, 13, 59, 0, time.UTC), RawExpires:"Sun, 17 Aug 2025 13:13:59 GMT", MaxAge:0, Secure:true, HttpOnly:false, SameSite:4, Partitioned:true, Raw:"techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQyNzEtNzUxNy1hNWNjLWRlNzI2NTBlZDMyMCIsImV4cCI6MTc1NTQzNjQzOSwiaWF0IjoxNzU0ODMxNjM5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTc5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.2llZeRdqgJB8ybCqSm5ZNEZVq5a2v0esSuMnOfoaA6mzOlgJOpcKkgHnnukwSl-imDpxOVT7Tn-ShDVv5UtOCg; Path=/; Domain=127.0.0.1; Expires=Sun, 17 Aug 2025 13:13:59 GMT; Secure; SameSite=None; Partitioned", Unparsed:[]string(nil)} --- PASS: TestCookieSettings (0.04s) === RUN TestCheckDefaultDifficultyMatchesPolicy === RUN TestCheckDefaultDifficultyMatchesPolicy/1 {"time":"2025-08-10T13:13:59.192761112Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} anubis_test.go:351: default/allow === RUN TestCheckDefaultDifficultyMatchesPolicy/2 {"time":"2025-08-10T13:13:59.232756891Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} anubis_test.go:351: default/allow === RUN TestCheckDefaultDifficultyMatchesPolicy/3 {"time":"2025-08-10T13:13:59.268716175Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} anubis_test.go:351: default/allow === RUN TestCheckDefaultDifficultyMatchesPolicy/4 {"time":"2025-08-10T13:13:59.303736421Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} anubis_test.go:351: default/allow === RUN TestCheckDefaultDifficultyMatchesPolicy/5 {"time":"2025-08-10T13:13:59.342918221Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} anubis_test.go:351: default/allow === RUN TestCheckDefaultDifficultyMatchesPolicy/6 {"time":"2025-08-10T13:13:59.378644266Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} anubis_test.go:351: default/allow === RUN TestCheckDefaultDifficultyMatchesPolicy/7 {"time":"2025-08-10T13:13:59.414021512Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} anubis_test.go:351: default/allow === RUN TestCheckDefaultDifficultyMatchesPolicy/8 {"time":"2025-08-10T13:13:59.45441535Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} anubis_test.go:351: default/allow === RUN TestCheckDefaultDifficultyMatchesPolicy/9 {"time":"2025-08-10T13:13:59.490059155Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} anubis_test.go:351: default/allow --- PASS: TestCheckDefaultDifficultyMatchesPolicy (0.33s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/1 (0.04s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/2 (0.04s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/3 (0.04s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/4 (0.03s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/5 (0.04s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/6 (0.04s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/7 (0.04s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/8 (0.04s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/9 (0.04s) === RUN TestBasePrefix === RUN TestBasePrefix/no_prefix {"time":"2025-08-10T13:13:59.52573918Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} {"time":"2025-08-10T13:13:59.528227196Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).MakeChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":379},"msg":"made challenge","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"challenge":{"id":"0198941d-d3e8-70db-bcf4-1e9dfb19f7b0","randomData":"23d8f153df11a503556db979e2c0bb2d8aa5af9934196f3e394bccda5fa31faf713f52289ec71698f3848a992c2ef26bb4ac43bfc47b32e3cc5a814fe8a7641d09069d8d7956fd3c3541cbf3f5a2f3c949a05dc8aed0416c05bdd85301ec9f15385b0c0cbed7d58a579c75f69359be7b4671ddfdf9188382e1e0e8d7539ea939354f69b80e1d2e7f8009539183c3beeebf5c0909ab6980d932482400919ffb63177b5673c23112a787e52d2ed412f7d3525867e074ac09edb868fdfb74a98076ea5d2c631addeb047b065bc283faf7891edcc26923758fef78c4d4802558608015e65dff64e18b87085288e53ef185d6ec9256e0be16648443392609a49f298d","issuedAt":"2025-08-10T13:13:59.528096916Z","metadata":{"User-Agent":"Go-http-client/1.1","X-Real-Ip":"127.0.0.1"}},"rules":{"algorithm":"fast","difficulty":4,"report_as":4},"cr":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:45935/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=0198941d-d3e8-70db-bcf4-1e9dfb19f7b0; Path=/; Expires=Sun, 10 Aug 2025 13:13:59 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:45935/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=37234&redir=%2F&response=0000fcc5ceea52658df61a7ed8a77276eec1101816c0f61a8c71cc23897b185e anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-d3e8-70db-bcf4-1e9dfb19f7b0; Path=/; Expires=Sun, 10 Aug 2025 13:13:59 GMT; SameSite=None {"time":"2025-08-10T13:14:00.083449842Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork.(*Impl).Validate","file":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork/proofofwork.go","line":83},"msg":"challenge took","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"elapsedTime":420} {"time":"2025-08-10T13:14:00.083883822Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":493},"msg":"challenge passed, redirecting to app","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:45935/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=37234&redir=%2F&response=0000fcc5ceea52658df61a7ed8a77276eec1101816c0f61a8c71cc23897b185e -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQzZTgtNzBkYi1iY2Y0LTFlOWRmYjE5ZjdiMCIsImV4cCI6MTc1NDgzMTY0MCwiaWF0IjoxNzU0ODMxNjQwLCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTgwLCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.65dC3rP4SqD33M3MLdSi4lxzkwgwmTU4gViVH-s_TEHnxK7OliZkk6wAKiJ3s1bqxcWwKDiMJm2urGs5KyktDA; Path=/; Expires=Sun, 10 Aug 2025 13:14:00 GMT; SameSite=None === RUN TestBasePrefix/with_prefix {"time":"2025-08-10T13:14:00.1238455Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} {"time":"2025-08-10T13:14:00.126391316Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).MakeChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":379},"msg":"made challenge","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"challenge":{"id":"0198941d-d63e-739b-9278-734da769b66c","randomData":"9e8a69f39ef0d773e282cd85ea98ea0bd998d8f2da6fd000df44a6918c4fc3c06c9536cbcbb7f83c9666c9e86282be8e5f1750af200d2a4a11cf6a6df3ff1d2c287e71e16d347c259509ae991f80d284bf43077e370f8f2526cb4909e360e81c98a0d5b382b4831969995228fd02d561fb433fe63f3d16b45df1c75405abea3a691afbe9d54620d7ab0d72e6121500344531708dd93b7af3e1e0d9970f37e13fbd2f8fb1f13b4b0613b6394c00c0d068140c32d5c6e8f052ad0177132250b14415549fc80cafd239a7b379fd69137ec2c98f2a4c720766a946cbeab7a00df09486fa6ef9d4517324c0b82d96688cf08b184503092604d94aa0aa22897702a9de","issuedAt":"2025-08-10T13:14:00.126267196Z","metadata":{"User-Agent":"Go-http-client/1.1","X-Real-Ip":"127.0.0.1"}},"rules":{"algorithm":"fast","difficulty":4,"report_as":4},"cr":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:44645/myapp/.within.website/x/cmd/anubis/api/make-challenge?redir=%2Fmyapp -> techaro.lol-anubis-cookie-verification=0198941d-d63e-739b-9278-734da769b66c; Path=/; Expires=Sun, 10 Aug 2025 13:14:00 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:44645/myapp/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=25352&redir=%2F&response=00002e958633475776a695d5ddf114bd01b3fa0d19c67721bbb939542fc2797c anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-d63e-739b-9278-734da769b66c; Path=/; Expires=Sun, 10 Aug 2025 13:14:00 GMT; SameSite=None {"time":"2025-08-10T13:14:00.501931659Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork.(*Impl).Validate","file":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork/proofofwork.go","line":83},"msg":"challenge took","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"elapsedTime":420} {"time":"2025-08-10T13:14:00.503252157Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":493},"msg":"challenge passed, redirecting to app","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:44645/myapp/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=25352&redir=%2F&response=00002e958633475776a695d5ddf114bd01b3fa0d19c67721bbb939542fc2797c -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQ2M2UtNzM5Yi05Mjc4LTczNGRhNzY5YjY2YyIsImV4cCI6MTc1NDgzMTY0MCwiaWF0IjoxNzU0ODMxNjQwLCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTgwLCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.K-yiVsiQNO4sIsNGDJdXVX6qGf-aR-r-hPDQnlNGEdFfZN9HoR2KRaWDVUBIOeDwMPa86NJIbFgsQJcZDdi_Aw; Path=/myapp/; Expires=Sun, 10 Aug 2025 13:14:00 GMT; SameSite=None === RUN TestBasePrefix/with_prefix_and_trailing_slash {"time":"2025-08-10T13:14:00.602510264Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} {"time":"2025-08-10T13:14:00.606860897Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).MakeChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":379},"msg":"made challenge","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"challenge":{"id":"0198941d-d81e-75a7-84e7-f7552f3ea02e","randomData":"aedf8f20c5e24fee86a7ae86e5789a5afce0e3675b2cf4070ca7cb0e3d6b2ec077fc432724bccc219161f7f8efaecfecd26be4168f8fd836f6efb87abd14a4233d6cdc60b235d0675b283580059a08ca30d6dfbce69d4c8110db6679a42ba2ed883ff6964ef4a6089dbe0b026279a9b09598875c94dbbab284c6fe3cd1d98c04aba7098a749a849ca03452f9ab55a691e182a54c3577ebeef5c9c99d07af5e8117f4d9d25eef9df7788134ca6f1a43c11cd9dd6fd97466c2623bc482a73ac1a91bf700e1219dc03c4f96ce35f9da56de9fe3706481538144193f549d9bdd78f9afee94cf9ba6d702f5aac2134c83b5ebce97bea7640fc3946ea63173fe1a6098","issuedAt":"2025-08-10T13:14:00.606407998Z","metadata":{"User-Agent":"Go-http-client/1.1","X-Real-Ip":"127.0.0.1"}},"rules":{"algorithm":"fast","difficulty":4,"report_as":4},"cr":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:40993/myapp/.within.website/x/cmd/anubis/api/make-challenge?redir=%2Fmyapp%2F -> techaro.lol-anubis-cookie-verification=0198941d-d81e-75a7-84e7-f7552f3ea02e; Path=/; Expires=Sun, 10 Aug 2025 13:14:00 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:40993/myapp/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=26266&redir=%2F&response=00002e0e8996741686c7da9d83844f460e243afeb7e16aa5f1fdb256c7a5fa8c anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-d81e-75a7-84e7-f7552f3ea02e; Path=/; Expires=Sun, 10 Aug 2025 13:14:00 GMT; SameSite=None {"time":"2025-08-10T13:14:01.015149409Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork.(*Impl).Validate","file":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork/proofofwork.go","line":83},"msg":"challenge took","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"elapsedTime":420} {"time":"2025-08-10T13:14:01.015585249Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":493},"msg":"challenge passed, redirecting to app","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:40993/myapp/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=26266&redir=%2F&response=00002e0e8996741686c7da9d83844f460e243afeb7e16aa5f1fdb256c7a5fa8c -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQ4MWUtNzVhNy04NGU3LWY3NTUyZjNlYTAyZSIsImV4cCI6MTc1NDgzMTY0MSwiaWF0IjoxNzU0ODMxNjQxLCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTgxLCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.ZkOozWphBrW3favwWr621YqAtI4mvtHxBF53DvfmUuAoKeuoWTgn7Zr77xnzJhBC4L_Dhuh7-hY9V-v1J1KNAQ; Path=/myapp/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None --- PASS: TestBasePrefix (1.53s) --- PASS: TestBasePrefix/no_prefix (0.59s) --- PASS: TestBasePrefix/with_prefix (0.42s) --- PASS: TestBasePrefix/with_prefix_and_trailing_slash (0.51s) === RUN TestCustomStatusCodes {"time":"2025-08-10T13:14:01.02126962Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} === RUN TestCustomStatusCodes/ALLOW {"time":"2025-08-10T13:14:01.023193657Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).checkRules","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":253},"msg":"allowing traffic to origin (explicit)","user_agent":"ALLOW","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0}} === NAME TestCustomStatusCodes anubis_test.go:517: ALLOW === RUN TestCustomStatusCodes/CHALLENGE {"time":"2025-08-10T13:14:01.024769115Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).checkRules","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":270},"msg":"challenge requested","user_agent":"CHALLENGE","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"bot/challenge","rule":"CHALLENGE","weight":0}} {"time":"2025-08-10T13:14:01.024858214Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).maybeReverseProxy","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":186},"msg":"cookie not found","user_agent":"CHALLENGE","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"bot/challenge","rule":"CHALLENGE","weight":0},"path":"/"} === RUN TestCustomStatusCodes/DENY {"time":"2025-08-10T13:14:01.032756502Z","level":"INFO","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).checkRules","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":258},"msg":"explicit deny","user_agent":"DENY","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"bot/deny","rule":"DENY","weight":0}} {"time":"2025-08-10T13:14:01.032855162Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).checkRules","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":266},"msg":"rule hash","user_agent":"DENY","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"bot/deny","rule":"DENY","weight":0},"hash":"484487c000d57854"} --- PASS: TestCustomStatusCodes (0.02s) --- PASS: TestCustomStatusCodes/ALLOW (0.00s) --- PASS: TestCustomStatusCodes/CHALLENGE (0.01s) --- PASS: TestCustomStatusCodes/DENY (0.00s) === RUN TestCloudflareWorkersRule === RUN TestCloudflareWorkersRule/cel {"time":"2025-08-10T13:14:01.037456695Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} === RUN TestCloudflareWorkersRule/cel/with-cf-worker-header === RUN TestCloudflareWorkersRule/cel/no-cf-worker-header === RUN TestCloudflareWorkersRule/header {"time":"2025-08-10T13:14:01.040435491Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} === RUN TestCloudflareWorkersRule/header/with-cf-worker-header === RUN TestCloudflareWorkersRule/header/no-cf-worker-header --- PASS: TestCloudflareWorkersRule (0.01s) --- PASS: TestCloudflareWorkersRule/cel (0.00s) --- PASS: TestCloudflareWorkersRule/cel/with-cf-worker-header (0.00s) --- PASS: TestCloudflareWorkersRule/cel/no-cf-worker-header (0.00s) --- PASS: TestCloudflareWorkersRule/header (0.00s) --- PASS: TestCloudflareWorkersRule/header/with-cf-worker-header (0.00s) --- PASS: TestCloudflareWorkersRule/header/no-cf-worker-header (0.00s) === RUN TestRuleChange {"time":"2025-08-10T13:14:01.043927905Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} {"time":"2025-08-10T13:14:01.045870662Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).MakeChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":379},"msg":"made challenge","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"challenge":{"id":"0198941d-d9d5-7ade-9c98-3d43a3185e6d","randomData":"5b2cccf46b4358df393c1fb7e6f5ba49236d121d2f85eb566391374e77c475cf6e37c168390c5f9373a47363a5b9905fbef2feb1b4a3ea216b9bd598f1d5c08cbe6648605acdf2fcc5b94d328ed53dfa27580edc2fe22de0f17b37502a589adbe07afa12945b91596dcf740d93ad09db7ed66c5739272878306f939f3a8ffa69e679d9f5144693921b97ded2fed6af3471fd135f618f5552b4110e46e4f83b7fe701402bb420819a1fe99573d5dde299b5480502085b5eacb68526c5f346cd20d054bf9c23a1e1380671a83bf3fd41b802b4e9ae191d07db5f1096a40641c4367dc4e91d7de2c6d76c8b60a39b87db9481b7874bf51246588e92e1fb7186817d","issuedAt":"2025-08-10T13:14:01.045739062Z","metadata":{"User-Agent":"Go-http-client/1.1","X-Real-Ip":"127.0.0.1"}},"rules":{"algorithm":"fast"},"cr":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:34525/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=0198941d-d9d5-7ade-9c98-3d43a3185e6d; Path=/; Domain=127.0.0.1; Expires=Sun, 10 Aug 2025 13:24:01 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:34525/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=fa7543b6c6854fa3f53e684ff9b9fe495e7ed10f1918bf2f9d0da4971b16a149 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-d9d5-7ade-9c98-3d43a3185e6d; Path=/; Domain=127.0.0.1; Expires=Sun, 10 Aug 2025 13:24:01 GMT; SameSite=None {"time":"2025-08-10T13:14:01.04756Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork.(*Impl).Validate","file":"github.com/TecharoHQ/anubis/lib/challenge/proofofwork/proofofwork.go","line":83},"msg":"challenge took","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"elapsedTime":420} {"time":"2025-08-10T13:14:01.047933079Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":493},"msg":"challenge passed, redirecting to app","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:34525/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=fa7543b6c6854fa3f53e684ff9b9fe495e7ed10f1918bf2f9d0da4971b16a149 -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg5NDFkLWQ5ZDUtN2FkZS05Yzk4LTNkNDNhMzE4NWU2ZCIsImV4cCI6MTc1NDgzMjI0MSwiaWF0IjoxNzU0ODMxNjQxLCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0ODMxNTgxLCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.TcinU-_TH578AYvOVasODfKaK9GMTHQ4LiyByxYh73uB-Yu2gZ_QpXfte4UfeILjo6kjAcUK6kVGh-2G3yXBDA; Path=/; Domain=127.0.0.1; Expires=Sun, 10 Aug 2025 13:24:01 GMT; SameSite=None --- PASS: TestRuleChange (0.01s) === RUN TestStripBasePrefixFromRequest === RUN TestStripBasePrefixFromRequest/strip_disabled_-_no_change === RUN TestStripBasePrefixFromRequest/strip_enabled_-_removes_prefix === RUN TestStripBasePrefixFromRequest/strip_enabled_-_root_becomes_slash === RUN TestStripBasePrefixFromRequest/strip_enabled_-_trailing_slash_on_base_prefix === RUN TestStripBasePrefixFromRequest/strip_enabled_-_no_prefix_match === RUN TestStripBasePrefixFromRequest/strip_enabled_-_empty_base_prefix === RUN TestStripBasePrefixFromRequest/strip_enabled_-_nested_path === RUN TestStripBasePrefixFromRequest/strip_enabled_-_exact_match_becomes_root --- PASS: TestStripBasePrefixFromRequest (0.00s) --- PASS: TestStripBasePrefixFromRequest/strip_disabled_-_no_change (0.00s) --- PASS: TestStripBasePrefixFromRequest/strip_enabled_-_removes_prefix (0.00s) --- PASS: TestStripBasePrefixFromRequest/strip_enabled_-_root_becomes_slash (0.00s) --- PASS: TestStripBasePrefixFromRequest/strip_enabled_-_trailing_slash_on_base_prefix (0.00s) --- PASS: TestStripBasePrefixFromRequest/strip_enabled_-_no_prefix_match (0.00s) --- PASS: TestStripBasePrefixFromRequest/strip_enabled_-_empty_base_prefix (0.00s) --- PASS: TestStripBasePrefixFromRequest/strip_enabled_-_nested_path (0.00s) --- PASS: TestStripBasePrefixFromRequest/strip_enabled_-_exact_match_becomes_root (0.00s) === RUN TestChallengeFor_ErrNotFound {"time":"2025-08-10T13:14:01.052236432Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} {"time":"2025-08-10T13:14:01.052873911Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).checkRules","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":270},"msg":"challenge requested","user_agent":"CHALLENGE","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"bot/challenge","rule":"CHALLENGE","weight":0}} {"time":"2025-08-10T13:14:01.052941291Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).maybeReverseProxy","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":186},"msg":"cookie not found","user_agent":"CHALLENGE","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"bot/challenge","rule":"CHALLENGE","weight":0},"path":"/"} === RUN TestChallengeFor_ErrNotFound/make_sure_challenge_page_is_issued === RUN TestChallengeFor_ErrNotFound/make_sure_that_the_body_is_not_an_error_page === RUN TestChallengeFor_ErrNotFound/make_sure_new_test_cookie_is_issued --- PASS: TestChallengeFor_ErrNotFound (0.00s) --- PASS: TestChallengeFor_ErrNotFound/make_sure_challenge_page_is_issued (0.00s) --- PASS: TestChallengeFor_ErrNotFound/make_sure_that_the_body_is_not_an_error_page (0.00s) --- PASS: TestChallengeFor_ErrNotFound/make_sure_new_test_cookie_is_issued (0.00s) === RUN TestPassChallengeXSS {"time":"2025-08-10T13:14:01.094212628Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} {"time":"2025-08-10T13:14:01.097003684Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).MakeChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":379},"msg":"made challenge","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","check_result":{"name":"default/allow","rule":"ALLOW","weight":0},"challenge":{"id":"0198941d-da08-7c7e-aa38-c5d3f0e3a800","randomData":"22dc11727dfb2c68028fc85b84d23d5bc0623ec08fd0bb78694b0775569ec2f3dd3b0e75733fcbdfacb9407f70d479d73256abec3f135b19fab47c1180f37729d5ef5323b39823b71a6a35bc4de8deb34ad6d24579ecc74ada27885d8df552aef289507de6535e6766505f4cdad5e308696b7b651edaa67dd1351761d8cd564362818a412516d5d5ab6e30be07b7f2e5ec2c2b64fd7d329b327e3872bb2e3b902723eb57648d512f604001f4dd22a817e0decb73774515c210b3574b74220a4f4f5fa50ce29cede20a84dcd1af043261f62b1fa736ef4b1dbeaf9f9a64800a778e4ef88245aadf2104b33010187e52ee46533a2ff8b8aefc9ef3f9f65200332c","issuedAt":"2025-08-10T13:14:01.096855804Z","metadata":{"User-Agent":"Go-http-client/1.1","X-Real-Ip":"127.0.0.1"}},"rules":{"algorithm":"fast","difficulty":4,"report_as":4},"cr":{"name":"default/allow","rule":"ALLOW","weight":0}} anubis_test.go:151: set cookie: http://127.0.0.1:39571/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None === RUN TestPassChallengeXSS/with_test_cookie === RUN TestPassChallengeXSS/with_test_cookie/javascript_alert === NAME TestPassChallengeXSS anubis_test.go:137: requested cookies for http://127.0.0.1:39571 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:39571/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=javascript%3Aalert%28%27xss%27%29&response=1038d8ab26ffa129bc222fc68305c73c7329360cda7e6df0fe157df8e4355e55 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None {"time":"2025-08-10T13:14:01.098873681Z","level":"ERROR","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":399},"msg":"XSS attempt blocked, invalid redirect scheme","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","scheme":"javascript"} === RUN TestPassChallengeXSS/with_test_cookie/vbscript === NAME TestPassChallengeXSS anubis_test.go:137: requested cookies for http://127.0.0.1:39571 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:39571/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=vbscript%3Amsgbox%28%22XSS%22%29&response=1038d8ab26ffa129bc222fc68305c73c7329360cda7e6df0fe157df8e4355e55 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None {"time":"2025-08-10T13:14:01.100757538Z","level":"ERROR","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":399},"msg":"XSS attempt blocked, invalid redirect scheme","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","scheme":"vbscript"} === RUN TestPassChallengeXSS/with_test_cookie/data_url === NAME TestPassChallengeXSS anubis_test.go:137: requested cookies for http://127.0.0.1:39571 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:39571/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=data%3Atext%2Fhtml%3Bbase64%2CPHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4%3D&response=1038d8ab26ffa129bc222fc68305c73c7329360cda7e6df0fe157df8e4355e55 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None {"time":"2025-08-10T13:14:01.102414155Z","level":"ERROR","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":399},"msg":"XSS attempt blocked, invalid redirect scheme","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","scheme":"data"} === RUN TestPassChallengeXSS/no_test_cookie === RUN TestPassChallengeXSS/no_test_cookie/javascript_alert === NAME TestPassChallengeXSS anubis_test.go:137: requested cookies for http://127.0.0.1:39571/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=javascript%3Aalert%28%27xss%27%29&response=1038d8ab26ffa129bc222fc68305c73c7329360cda7e6df0fe157df8e4355e55 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None {"time":"2025-08-10T13:14:01.104232172Z","level":"ERROR","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":399},"msg":"XSS attempt blocked, invalid redirect scheme","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","scheme":"javascript"} === RUN TestPassChallengeXSS/no_test_cookie/vbscript === NAME TestPassChallengeXSS anubis_test.go:137: requested cookies for http://127.0.0.1:39571/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=vbscript%3Amsgbox%28%22XSS%22%29&response=1038d8ab26ffa129bc222fc68305c73c7329360cda7e6df0fe157df8e4355e55 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None {"time":"2025-08-10T13:14:01.10560961Z","level":"ERROR","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":399},"msg":"XSS attempt blocked, invalid redirect scheme","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","scheme":"vbscript"} === RUN TestPassChallengeXSS/no_test_cookie/data_url === NAME TestPassChallengeXSS anubis_test.go:137: requested cookies for http://127.0.0.1:39571/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=data%3Atext%2Fhtml%3Bbase64%2CPHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4%3D&response=1038d8ab26ffa129bc222fc68305c73c7329360cda7e6df0fe157df8e4355e55 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=0198941d-da08-7c7e-aa38-c5d3f0e3a800; Path=/; Expires=Sun, 10 Aug 2025 13:14:01 GMT; SameSite=None {"time":"2025-08-10T13:14:01.107352948Z","level":"ERROR","source":{"function":"github.com/TecharoHQ/anubis/lib.(*Server).PassChallenge","file":"github.com/TecharoHQ/anubis/lib/anubis.go","line":399},"msg":"XSS attempt blocked, invalid redirect scheme","user_agent":"Go-http-client/1.1","accept_language":"","priority":"","x-forwarded-for":"","x-real-ip":"127.0.0.1","scheme":"data"} --- PASS: TestPassChallengeXSS (0.05s) --- PASS: TestPassChallengeXSS/with_test_cookie (0.01s) --- PASS: TestPassChallengeXSS/with_test_cookie/javascript_alert (0.00s) --- PASS: TestPassChallengeXSS/with_test_cookie/vbscript (0.00s) --- PASS: TestPassChallengeXSS/with_test_cookie/data_url (0.00s) --- PASS: TestPassChallengeXSS/no_test_cookie (0.00s) --- PASS: TestPassChallengeXSS/no_test_cookie/javascript_alert (0.00s) --- PASS: TestPassChallengeXSS/no_test_cookie/vbscript (0.00s) --- PASS: TestPassChallengeXSS/no_test_cookie/data_url (0.00s) === RUN TestInvalidChallengeMethod --- PASS: TestInvalidChallengeMethod (0.00s) === RUN TestBadConfigs === RUN TestBadConfigs/badregexes.json config_test.go:32: can't parse policy file policy/config/testdata/bad/badregexes.json: config is not valid: bot 0: config: bot entry for "path-bad" is not valid: config.Bot: invalid path regex error parsing regexp: missing closing ): `a(b` bot 1: config: bot entry for "user-agent-bad" is not valid: config.Bot: invalid user agent regex error parsing regexp: missing closing ): `a(b` bot 2: config: bot entry for "headers-bad" is not valid: config.Bot: must set either user_agent_regex, path_regex, headers_regex, or remote_addresses === RUN TestBadConfigs/badregexes.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/badregexes.yaml: config is not valid: bot 0: config: bot entry for "path-bad" is not valid: config.Bot: invalid path regex error parsing regexp: missing closing ): `a(b` bot 1: config: bot entry for "user-agent-bad" is not valid: config.Bot: invalid user agent regex error parsing regexp: missing closing ): `a(b` === RUN TestBadConfigs/import_and_bot.json config_test.go:32: can't parse policy file policy/config/testdata/bad/import_and_bot.json: config is not valid: bot 0: config.BotOrImport: can't set bot rules and import values at the same time === RUN TestBadConfigs/import_and_bot.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/import_and_bot.yaml: config is not valid: bot 0: config.BotOrImport: can't set bot rules and import values at the same time === RUN TestBadConfigs/import_invalid_file.json config_test.go:32: can't parse policy file policy/config/testdata/bad/import_invalid_file.json: config is not valid: bot 0: config.ImportStatement: invalid source file: (data)/does-not-exist-fake-file.yaml: open does-not-exist-fake-file.yaml: file does not exist === RUN TestBadConfigs/import_invalid_file.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/import_invalid_file.yaml: config is not valid: bot 0: config.ImportStatement: invalid source file: (data)/does-not-exist-fake-file.yaml: open does-not-exist-fake-file.yaml: file does not exist === RUN TestBadConfigs/impressum-no-footer.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/impressum-no-footer.yaml: errors validating policy config policy/config/testdata/bad/impressum-no-footer.yaml: config: missing value: impressum footer must be defined === RUN TestBadConfigs/impressum-no-page-contents.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/impressum-no-page-contents.yaml: errors validating policy config policy/config/testdata/bad/impressum-no-page-contents.yaml: config: missing value: impressum page title must be defined config: missing value: impressum body title must be defined === RUN TestBadConfigs/invalid.json config_test.go:32: can't parse policy file policy/config/testdata/bad/invalid.json: config is not valid: bot 0: config.BotOrImport: rule definition is invalid, you must set either bot rules or an import statement, not both === RUN TestBadConfigs/invalid.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/invalid.yaml: config is not valid: config: must define at least one (1) bot rule === RUN TestBadConfigs/multiple_expression_types.json config_test.go:32: can't parse policy file policy/config/testdata/bad/multiple_expression_types.json: config is not valid: bot 0: config: bot entry for "multiple-expression-types" is not valid: config: expression block can't contain multiple expression types === RUN TestBadConfigs/multiple_expression_types.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/multiple_expression_types.yaml: config is not valid: bot 0: config: bot entry for "multiple-expression-types" is not valid: config: expression block can't contain multiple expression types === RUN TestBadConfigs/nobots.json config_test.go:32: can't parse policy file policy/config/testdata/bad/nobots.json: config is not valid: config: must define at least one (1) bot rule === RUN TestBadConfigs/nobots.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/nobots.yaml: config is not valid: config: must define at least one (1) bot rule === RUN TestBadConfigs/opengraph_bad_ttl.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/opengraph_bad_ttl.yaml: config is not valid: config.OpenGraph: invalid OpenGraph configuration config.OpenGraph: ttl does not parse as a Duration, see https://pkg.go.dev/time#ParseDuration (formatted like 5m -> 5 minutes, 2h -> 2 hours, etc): ParseDuration("taco") returned: time: invalid duration "taco" === RUN TestBadConfigs/regex_ends_newline.json config_test.go:32: can't parse policy file policy/config/testdata/bad/regex_ends_newline.json: config is not valid: bot 0: config: bot entry for "user-agent-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): user agent regex: "Mozilla\n" bot 1: config: bot entry for "path-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): path regex: "^/evil/.*$\n" bot 2: config: bot entry for "headers-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): header CF-Worker regex: ".*\n" === RUN TestBadConfigs/regex_ends_newline.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/regex_ends_newline.yaml: config is not valid: bot 0: config: bot entry for "user-agent-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): user agent regex: "Mozilla\n" bot 1: config: bot entry for "path-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): path regex: "^/evil/.*$\n" bot 2: config: bot entry for "headers-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): header CF-Worker regex: ".*\n" === RUN TestBadConfigs/status-codes-0.json config_test.go:32: can't parse policy file policy/config/testdata/bad/status-codes-0.json: config is not valid: status codes not valid: config.StatusCode: status code not valid, must be between 100 and 599: challenge is 0 config.StatusCode: status code not valid, must be between 100 and 599: deny is 0 === RUN TestBadConfigs/status-codes-0.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/status-codes-0.yaml: config is not valid: status codes not valid: config.StatusCode: status code not valid, must be between 100 and 599: challenge is 0 config.StatusCode: status code not valid, must be between 100 and 599: deny is 0 === RUN TestBadConfigs/threshold-challenge-without-challenge.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/threshold-challenge-without-challenge.yaml: config is not valid: threshold 0: config: threshold entry for "extreme-suspicion" is not valid: config.Threshold: a threshold cannot have the WEIGH action === RUN TestBadConfigs/thresholds.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/thresholds.yaml: config is not valid: threshold 0: config: threshold entry for "extreme-suspicion" is not valid: config.Threshold: a threshold cannot have the WEIGH action === RUN TestBadConfigs/unparseable.json config_test.go:32: can't parse policy file policy/config/testdata/bad/unparseable.json: can't parse policy config YAML policy/config/testdata/bad/unparseable.json: error converting YAML to JSON: yaml: did not find expected node content === RUN TestBadConfigs/unparseable.yaml config_test.go:32: can't parse policy file policy/config/testdata/bad/unparseable.yaml: can't parse policy config YAML policy/config/testdata/bad/unparseable.yaml: error converting YAML to JSON: yaml: did not find expected node content --- PASS: TestBadConfigs (0.02s) --- PASS: TestBadConfigs/badregexes.json (0.00s) --- PASS: TestBadConfigs/badregexes.yaml (0.00s) --- PASS: TestBadConfigs/import_and_bot.json (0.00s) --- PASS: TestBadConfigs/import_and_bot.yaml (0.00s) --- PASS: TestBadConfigs/import_invalid_file.json (0.00s) --- PASS: TestBadConfigs/import_invalid_file.yaml (0.00s) --- PASS: TestBadConfigs/impressum-no-footer.yaml (0.00s) --- PASS: TestBadConfigs/impressum-no-page-contents.yaml (0.00s) --- PASS: TestBadConfigs/invalid.json (0.00s) --- PASS: TestBadConfigs/invalid.yaml (0.00s) --- PASS: TestBadConfigs/multiple_expression_types.json (0.00s) --- PASS: TestBadConfigs/multiple_expression_types.yaml (0.00s) --- PASS: TestBadConfigs/nobots.json (0.00s) --- PASS: TestBadConfigs/nobots.yaml (0.00s) --- PASS: TestBadConfigs/opengraph_bad_ttl.yaml (0.00s) --- PASS: TestBadConfigs/regex_ends_newline.json (0.00s) --- PASS: TestBadConfigs/regex_ends_newline.yaml (0.00s) --- PASS: TestBadConfigs/status-codes-0.json (0.00s) --- PASS: TestBadConfigs/status-codes-0.yaml (0.00s) --- PASS: TestBadConfigs/threshold-challenge-without-challenge.yaml (0.00s) --- PASS: TestBadConfigs/thresholds.yaml (0.00s) --- PASS: TestBadConfigs/unparseable.json (0.00s) --- PASS: TestBadConfigs/unparseable.yaml (0.00s) === RUN TestGoodConfigs === RUN TestGoodConfigs/allow_everyone.json === RUN TestGoodConfigs/allow_everyone.json/with-thoth === RUN TestGoodConfigs/allow_everyone.json/without-thoth === RUN TestGoodConfigs/allow_everyone.yaml === RUN TestGoodConfigs/allow_everyone.yaml/with-thoth === RUN TestGoodConfigs/allow_everyone.yaml/without-thoth === RUN TestGoodConfigs/block_cf_workers.json === RUN TestGoodConfigs/block_cf_workers.json/with-thoth === RUN TestGoodConfigs/block_cf_workers.json/without-thoth === RUN TestGoodConfigs/block_cf_workers.yaml === RUN TestGoodConfigs/block_cf_workers.yaml/with-thoth === RUN TestGoodConfigs/block_cf_workers.yaml/without-thoth === RUN TestGoodConfigs/challenge_cloudflare.yaml === RUN TestGoodConfigs/challenge_cloudflare.yaml/with-thoth === RUN TestGoodConfigs/challenge_cloudflare.yaml/without-thoth {"time":"2025-08-10T13:14:01.148578024Z","level":"WARN","source":{"function":"github.com/TecharoHQ/anubis/lib/policy.ParseConfig","file":"github.com/TecharoHQ/anubis/lib/policy/policy.go","line":125},"msg":"You have specified a Thoth specific check but you have no Thoth client configured. Please read https://anubis.techaro.lol/docs/admin/thoth for more information","check":"asn","settings":{"match":[13335]}} === RUN TestGoodConfigs/challengemozilla.json === RUN TestGoodConfigs/challengemozilla.json/with-thoth === RUN TestGoodConfigs/challengemozilla.json/without-thoth === RUN TestGoodConfigs/challengemozilla.yaml === RUN TestGoodConfigs/challengemozilla.yaml/with-thoth === RUN TestGoodConfigs/challengemozilla.yaml/without-thoth === RUN TestGoodConfigs/entropy.yaml === RUN TestGoodConfigs/entropy.yaml/with-thoth === RUN TestGoodConfigs/entropy.yaml/without-thoth === RUN TestGoodConfigs/everything_blocked.json === RUN TestGoodConfigs/everything_blocked.json/with-thoth === RUN TestGoodConfigs/everything_blocked.json/without-thoth === RUN TestGoodConfigs/everything_blocked.yaml === RUN TestGoodConfigs/everything_blocked.yaml/with-thoth === RUN TestGoodConfigs/everything_blocked.yaml/without-thoth === RUN TestGoodConfigs/geoip_us.yaml === RUN TestGoodConfigs/geoip_us.yaml/with-thoth === RUN TestGoodConfigs/geoip_us.yaml/without-thoth {"time":"2025-08-10T13:14:01.180510715Z","level":"WARN","source":{"function":"github.com/TecharoHQ/anubis/lib/policy.ParseConfig","file":"github.com/TecharoHQ/anubis/lib/policy/policy.go","line":134},"msg":"You have specified a Thoth specific check but you have no Thoth client configured. Please read https://anubis.techaro.lol/docs/admin/thoth for more information","check":"geoip","settings":{"countries":["US"]}} === RUN TestGoodConfigs/git_client.json === RUN TestGoodConfigs/git_client.json/with-thoth === RUN TestGoodConfigs/git_client.json/without-thoth === RUN TestGoodConfigs/git_client.yaml === RUN TestGoodConfigs/git_client.yaml/with-thoth === RUN TestGoodConfigs/git_client.yaml/without-thoth === RUN TestGoodConfigs/import_filesystem.json === RUN TestGoodConfigs/import_filesystem.json/with-thoth === RUN TestGoodConfigs/import_filesystem.json/without-thoth === RUN TestGoodConfigs/import_filesystem.yaml === RUN TestGoodConfigs/import_filesystem.yaml/with-thoth === RUN TestGoodConfigs/import_filesystem.yaml/without-thoth === RUN TestGoodConfigs/import_keep_internet_working.json === RUN TestGoodConfigs/import_keep_internet_working.json/with-thoth === RUN TestGoodConfigs/import_keep_internet_working.json/without-thoth === RUN TestGoodConfigs/import_keep_internet_working.yaml === RUN TestGoodConfigs/import_keep_internet_working.yaml/with-thoth === RUN TestGoodConfigs/import_keep_internet_working.yaml/without-thoth === RUN TestGoodConfigs/impressum.yaml === RUN TestGoodConfigs/impressum.yaml/with-thoth === RUN TestGoodConfigs/impressum.yaml/without-thoth === RUN TestGoodConfigs/no-thresholds.yaml === RUN TestGoodConfigs/no-thresholds.yaml/with-thoth === RUN TestGoodConfigs/no-thresholds.yaml/without-thoth === RUN TestGoodConfigs/old_xesite.json === RUN TestGoodConfigs/old_xesite.json/with-thoth === RUN TestGoodConfigs/old_xesite.json/without-thoth === RUN TestGoodConfigs/opengraph_all_good.yaml === RUN TestGoodConfigs/opengraph_all_good.yaml/with-thoth === RUN TestGoodConfigs/opengraph_all_good.yaml/without-thoth === RUN TestGoodConfigs/simple-weight.yaml === RUN TestGoodConfigs/simple-weight.yaml/with-thoth === RUN TestGoodConfigs/simple-weight.yaml/without-thoth === RUN TestGoodConfigs/status-codes-paranoid.json === RUN TestGoodConfigs/status-codes-paranoid.json/with-thoth === RUN TestGoodConfigs/status-codes-paranoid.json/without-thoth === RUN TestGoodConfigs/status-codes-paranoid.yaml === RUN TestGoodConfigs/status-codes-paranoid.yaml/with-thoth === RUN TestGoodConfigs/status-codes-paranoid.yaml/without-thoth === RUN TestGoodConfigs/status-codes-rfc.json === RUN TestGoodConfigs/status-codes-rfc.json/with-thoth === RUN TestGoodConfigs/status-codes-rfc.json/without-thoth === RUN TestGoodConfigs/status-codes-rfc.yaml === RUN TestGoodConfigs/status-codes-rfc.yaml/with-thoth === RUN TestGoodConfigs/status-codes-rfc.yaml/without-thoth === RUN TestGoodConfigs/thresholds.yaml === RUN TestGoodConfigs/thresholds.yaml/with-thoth === RUN TestGoodConfigs/thresholds.yaml/without-thoth === RUN TestGoodConfigs/weight-no-weight.yaml === RUN TestGoodConfigs/weight-no-weight.yaml/with-thoth === RUN TestGoodConfigs/weight-no-weight.yaml/without-thoth --- PASS: TestGoodConfigs (0.15s) --- PASS: TestGoodConfigs/allow_everyone.json (0.00s) --- PASS: TestGoodConfigs/allow_everyone.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/allow_everyone.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/allow_everyone.yaml (0.00s) --- PASS: TestGoodConfigs/allow_everyone.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/allow_everyone.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.json (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.yaml (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/challenge_cloudflare.yaml (0.00s) --- PASS: TestGoodConfigs/challenge_cloudflare.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/challenge_cloudflare.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/challengemozilla.json (0.00s) --- PASS: TestGoodConfigs/challengemozilla.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/challengemozilla.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/challengemozilla.yaml (0.00s) --- PASS: TestGoodConfigs/challengemozilla.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/challengemozilla.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/entropy.yaml (0.01s) --- PASS: TestGoodConfigs/entropy.yaml/with-thoth (0.01s) --- PASS: TestGoodConfigs/entropy.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/everything_blocked.json (0.00s) --- PASS: TestGoodConfigs/everything_blocked.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/everything_blocked.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/everything_blocked.yaml (0.00s) --- PASS: TestGoodConfigs/everything_blocked.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/everything_blocked.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/geoip_us.yaml (0.01s) --- PASS: TestGoodConfigs/geoip_us.yaml/with-thoth (0.01s) --- PASS: TestGoodConfigs/geoip_us.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.json (0.01s) --- PASS: TestGoodConfigs/git_client.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.yaml (0.01s) --- PASS: TestGoodConfigs/git_client.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/import_filesystem.json (0.00s) --- PASS: TestGoodConfigs/import_filesystem.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/import_filesystem.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/import_filesystem.yaml (0.00s) --- PASS: TestGoodConfigs/import_filesystem.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/import_filesystem.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/import_keep_internet_working.json (0.01s) --- PASS: TestGoodConfigs/import_keep_internet_working.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/import_keep_internet_working.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/import_keep_internet_working.yaml (0.01s) --- PASS: TestGoodConfigs/import_keep_internet_working.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/import_keep_internet_working.yaml/without-thoth (0.01s) --- PASS: TestGoodConfigs/impressum.yaml (0.00s) --- PASS: TestGoodConfigs/impressum.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/impressum.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/no-thresholds.yaml (0.00s) --- PASS: TestGoodConfigs/no-thresholds.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/no-thresholds.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/old_xesite.json (0.01s) --- PASS: TestGoodConfigs/old_xesite.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/old_xesite.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/opengraph_all_good.yaml (0.00s) --- PASS: TestGoodConfigs/opengraph_all_good.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/opengraph_all_good.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/simple-weight.yaml (0.00s) --- PASS: TestGoodConfigs/simple-weight.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/simple-weight.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.json (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.yaml (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.json (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.yaml (0.01s) --- PASS: TestGoodConfigs/status-codes-rfc.yaml/with-thoth (0.01s) --- PASS: TestGoodConfigs/status-codes-rfc.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/thresholds.yaml (0.01s) --- PASS: TestGoodConfigs/thresholds.yaml/with-thoth (0.01s) --- PASS: TestGoodConfigs/thresholds.yaml/without-thoth (0.01s) --- PASS: TestGoodConfigs/weight-no-weight.yaml (0.00s) --- PASS: TestGoodConfigs/weight-no-weight.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/weight-no-weight.yaml/without-thoth (0.00s) === RUN TestSetCookie === RUN TestSetCookie/basic {"time":"2025-08-10T13:14:01.315817407Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} === RUN TestSetCookie/domain_techaro.lol {"time":"2025-08-10T13:14:01.350802293Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} === RUN TestSetCookie/dynamic_cookie_domain {"time":"2025-08-10T13:14:01.389946993Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} --- PASS: TestSetCookie (0.11s) --- PASS: TestSetCookie/basic (0.04s) --- PASS: TestSetCookie/domain_techaro.lol (0.03s) --- PASS: TestSetCookie/dynamic_cookie_domain (0.04s) === RUN TestClearCookie {"time":"2025-08-10T13:14:01.426144217Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} --- PASS: TestClearCookie (0.03s) === RUN TestClearCookieWithDomain {"time":"2025-08-10T13:14:01.460974044Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} --- PASS: TestClearCookieWithDomain (0.03s) === RUN TestClearCookieWithDynamicDomain {"time":"2025-08-10T13:14:01.49588757Z","level":"DEBUG","source":{"function":"github.com/TecharoHQ/anubis/lib.New","file":"github.com/TecharoHQ/anubis/lib/config.go","line":93},"msg":"opts.PrivateKey not set, generating a new one"} --- PASS: TestClearCookieWithDynamicDomain (0.03s) PASS ok github.com/TecharoHQ/anubis/lib 3.474s ? github.com/TecharoHQ/anubis/lib/challenge [no test files] === RUN TestNew --- PASS: TestNew (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/challenge/challengetest 0.739s ? github.com/TecharoHQ/anubis/lib/challenge/metarefresh [no test files] === RUN TestBasic === RUN TestBasic/allgood === RUN TestBasic/no-params === RUN TestBasic/missing-nonce === RUN TestBasic/missing-elapsedTime === RUN TestBasic/missing-response === RUN TestBasic/wrong-nonce-format === RUN TestBasic/wrong-elapsedTime-format === RUN TestBasic/invalid-response --- PASS: TestBasic (0.04s) --- PASS: TestBasic/allgood (0.04s) --- PASS: TestBasic/no-params (0.00s) --- PASS: TestBasic/missing-nonce (0.00s) --- PASS: TestBasic/missing-elapsedTime (0.00s) --- PASS: TestBasic/missing-response (0.00s) --- PASS: TestBasic/wrong-nonce-format (0.00s) --- PASS: TestBasic/wrong-elapsedTime-format (0.00s) --- PASS: TestBasic/invalid-response (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/challenge/proofofwork 0.777s === RUN TestLocalizationService === RUN TestLocalizationService/de_localization === RUN TestLocalizationService/en_localization === RUN TestLocalizationService/es_localization === RUN TestLocalizationService/et_localization === RUN TestLocalizationService/fil_localization === RUN TestLocalizationService/fr_localization === RUN TestLocalizationService/is_localization === RUN TestLocalizationService/ja_localization === RUN TestLocalizationService/nb_localization === RUN TestLocalizationService/nn_localization === RUN TestLocalizationService/pt-BR_localization === RUN TestLocalizationService/ru_localization === RUN TestLocalizationService/tr_localization === RUN TestLocalizationService/zh-CN_localization === RUN TestLocalizationService/zh-TW_localization === RUN TestLocalizationService/All_required_keys_exist_in_de === RUN TestLocalizationService/All_required_keys_exist_in_en === RUN TestLocalizationService/All_required_keys_exist_in_es === RUN TestLocalizationService/All_required_keys_exist_in_et === RUN TestLocalizationService/All_required_keys_exist_in_fil === RUN TestLocalizationService/All_required_keys_exist_in_fr === RUN TestLocalizationService/All_required_keys_exist_in_is === RUN TestLocalizationService/All_required_keys_exist_in_ja === RUN TestLocalizationService/All_required_keys_exist_in_nb === RUN TestLocalizationService/All_required_keys_exist_in_nn === RUN TestLocalizationService/All_required_keys_exist_in_pt-BR === RUN TestLocalizationService/All_required_keys_exist_in_ru === RUN TestLocalizationService/All_required_keys_exist_in_tr === RUN TestLocalizationService/All_required_keys_exist_in_zh-CN === RUN TestLocalizationService/All_required_keys_exist_in_zh-TW --- PASS: TestLocalizationService (0.06s) --- PASS: TestLocalizationService/de_localization (0.00s) --- PASS: TestLocalizationService/en_localization (0.00s) --- PASS: TestLocalizationService/es_localization (0.00s) --- PASS: TestLocalizationService/et_localization (0.00s) --- PASS: TestLocalizationService/fil_localization (0.00s) --- PASS: TestLocalizationService/fr_localization (0.00s) --- PASS: TestLocalizationService/is_localization (0.00s) --- PASS: TestLocalizationService/ja_localization (0.00s) --- PASS: TestLocalizationService/nb_localization (0.00s) --- PASS: TestLocalizationService/nn_localization (0.00s) --- PASS: TestLocalizationService/pt-BR_localization (0.00s) --- PASS: TestLocalizationService/ru_localization (0.00s) --- PASS: TestLocalizationService/tr_localization (0.00s) --- PASS: TestLocalizationService/zh-CN_localization (0.00s) --- PASS: TestLocalizationService/zh-TW_localization (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_de (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_en (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_es (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_et (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_fil (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_fr (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_is (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_ja (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_nb (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_nn (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_pt-BR (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_ru (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_tr (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_zh-CN (0.00s) --- PASS: TestLocalizationService/All_required_keys_exist_in_zh-TW (0.00s) === RUN TestComprehensiveTranslations === RUN TestComprehensiveTranslations/cs === RUN TestComprehensiveTranslations/cs/access_denied === RUN TestComprehensiveTranslations/cs/ai_companies_explanation === RUN TestComprehensiveTranslations/cs/algorithm === RUN TestComprehensiveTranslations/cs/anubis_compromise === RUN TestComprehensiveTranslations/cs/authorization_required === RUN TestComprehensiveTranslations/cs/benchmark_requires_js === RUN TestComprehensiveTranslations/cs/benchmarking_anubis === RUN TestComprehensiveTranslations/cs/celphase === RUN TestComprehensiveTranslations/cs/client_error_browser === RUN TestComprehensiveTranslations/cs/compare === RUN TestComprehensiveTranslations/cs/connection_security === RUN TestComprehensiveTranslations/cs/contact_webmaster === RUN TestComprehensiveTranslations/cs/cookies_disabled === RUN TestComprehensiveTranslations/cs/difficulty === RUN TestComprehensiveTranslations/cs/dronebl_entry === RUN TestComprehensiveTranslations/cs/failed_to_sign_jwt === RUN TestComprehensiveTranslations/cs/go_home === RUN TestComprehensiveTranslations/cs/hack_purpose === RUN TestComprehensiveTranslations/cs/internal_server_error === RUN TestComprehensiveTranslations/cs/invalid_invocation === RUN TestComprehensiveTranslations/cs/invalid_redirect === RUN TestComprehensiveTranslations/cs/iters === RUN TestComprehensiveTranslations/cs/iters_a === RUN TestComprehensiveTranslations/cs/iters_b === RUN TestComprehensiveTranslations/cs/javascript_required === RUN TestComprehensiveTranslations/cs/js_calculating === RUN TestComprehensiveTranslations/cs/js_calculating_difficulty === RUN TestComprehensiveTranslations/cs/js_calculation_error === RUN TestComprehensiveTranslations/cs/js_calculation_error_msg === RUN TestComprehensiveTranslations/cs/js_challenge_error === RUN TestComprehensiveTranslations/cs/js_challenge_error_msg === RUN TestComprehensiveTranslations/cs/js_context_not_secure === RUN TestComprehensiveTranslations/cs/js_context_not_secure_msg === RUN TestComprehensiveTranslations/cs/js_cookies_error === RUN TestComprehensiveTranslations/cs/js_done_took === RUN TestComprehensiveTranslations/cs/js_finished_reading === RUN TestComprehensiveTranslations/cs/js_iterations === RUN TestComprehensiveTranslations/cs/js_missing_feature === RUN TestComprehensiveTranslations/cs/js_speed === RUN TestComprehensiveTranslations/cs/js_success === RUN TestComprehensiveTranslations/cs/js_verification_longer === RUN TestComprehensiveTranslations/cs/js_web_crypto_error === RUN TestComprehensiveTranslations/cs/js_web_workers_error === RUN TestComprehensiveTranslations/cs/jshelter_note === RUN TestComprehensiveTranslations/cs/loading === RUN TestComprehensiveTranslations/cs/made_with === RUN TestComprehensiveTranslations/cs/making_sure_not_bot === RUN TestComprehensiveTranslations/cs/mascot_design === RUN TestComprehensiveTranslations/cs/oh_noes === RUN TestComprehensiveTranslations/cs/protected_by === RUN TestComprehensiveTranslations/cs/protected_from === RUN TestComprehensiveTranslations/cs/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/cs/redirect_not_parseable === RUN TestComprehensiveTranslations/cs/see_dronebl_lookup === RUN TestComprehensiveTranslations/cs/static_check_endpoint === RUN TestComprehensiveTranslations/cs/time === RUN TestComprehensiveTranslations/cs/time_a === RUN TestComprehensiveTranslations/cs/time_b === RUN TestComprehensiveTranslations/cs/try_again === RUN TestComprehensiveTranslations/cs/version_info === RUN TestComprehensiveTranslations/cs/why_am_i_seeing === RUN TestComprehensiveTranslations/cs/you_are_not_a_bot === RUN TestComprehensiveTranslations/de === RUN TestComprehensiveTranslations/de/access_denied === RUN TestComprehensiveTranslations/de/ai_companies_explanation === RUN TestComprehensiveTranslations/de/algorithm === RUN TestComprehensiveTranslations/de/anubis_compromise === RUN TestComprehensiveTranslations/de/authorization_required === RUN TestComprehensiveTranslations/de/benchmark_requires_js === RUN TestComprehensiveTranslations/de/benchmarking_anubis === RUN TestComprehensiveTranslations/de/celphase === RUN TestComprehensiveTranslations/de/client_error_browser === RUN TestComprehensiveTranslations/de/compare === RUN TestComprehensiveTranslations/de/connection_security === RUN TestComprehensiveTranslations/de/contact_webmaster === RUN TestComprehensiveTranslations/de/cookies_disabled === RUN TestComprehensiveTranslations/de/difficulty === RUN TestComprehensiveTranslations/de/dronebl_entry === RUN TestComprehensiveTranslations/de/failed_to_sign_jwt === RUN TestComprehensiveTranslations/de/go_home === RUN TestComprehensiveTranslations/de/hack_purpose === RUN TestComprehensiveTranslations/de/internal_server_error === RUN TestComprehensiveTranslations/de/invalid_invocation === RUN TestComprehensiveTranslations/de/invalid_redirect === RUN TestComprehensiveTranslations/de/iters === RUN TestComprehensiveTranslations/de/iters_a === RUN TestComprehensiveTranslations/de/iters_b === RUN TestComprehensiveTranslations/de/javascript_required === RUN TestComprehensiveTranslations/de/js_calculating === RUN TestComprehensiveTranslations/de/js_calculating_difficulty === RUN TestComprehensiveTranslations/de/js_calculation_error === RUN TestComprehensiveTranslations/de/js_calculation_error_msg === RUN TestComprehensiveTranslations/de/js_challenge_error === RUN TestComprehensiveTranslations/de/js_challenge_error_msg === RUN TestComprehensiveTranslations/de/js_context_not_secure === RUN TestComprehensiveTranslations/de/js_context_not_secure_msg === RUN TestComprehensiveTranslations/de/js_cookies_error === RUN TestComprehensiveTranslations/de/js_done_took === RUN TestComprehensiveTranslations/de/js_finished_reading === RUN TestComprehensiveTranslations/de/js_iterations === RUN TestComprehensiveTranslations/de/js_missing_feature === RUN TestComprehensiveTranslations/de/js_speed === RUN TestComprehensiveTranslations/de/js_success === RUN TestComprehensiveTranslations/de/js_verification_longer === RUN TestComprehensiveTranslations/de/js_web_crypto_error === RUN TestComprehensiveTranslations/de/js_web_workers_error === RUN TestComprehensiveTranslations/de/jshelter_note === RUN TestComprehensiveTranslations/de/loading === RUN TestComprehensiveTranslations/de/made_with === RUN TestComprehensiveTranslations/de/making_sure_not_bot === RUN TestComprehensiveTranslations/de/mascot_design === RUN TestComprehensiveTranslations/de/oh_noes === RUN TestComprehensiveTranslations/de/protected_by === RUN TestComprehensiveTranslations/de/protected_from === RUN TestComprehensiveTranslations/de/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/de/redirect_not_parseable === RUN TestComprehensiveTranslations/de/see_dronebl_lookup === RUN TestComprehensiveTranslations/de/static_check_endpoint === RUN TestComprehensiveTranslations/de/time === RUN TestComprehensiveTranslations/de/time_a === RUN TestComprehensiveTranslations/de/time_b === RUN TestComprehensiveTranslations/de/try_again === RUN TestComprehensiveTranslations/de/version_info === RUN TestComprehensiveTranslations/de/why_am_i_seeing === RUN TestComprehensiveTranslations/de/you_are_not_a_bot === RUN TestComprehensiveTranslations/en === RUN TestComprehensiveTranslations/en/access_denied === RUN TestComprehensiveTranslations/en/ai_companies_explanation === RUN TestComprehensiveTranslations/en/algorithm === RUN TestComprehensiveTranslations/en/anubis_compromise === RUN TestComprehensiveTranslations/en/authorization_required === RUN TestComprehensiveTranslations/en/benchmark_requires_js === RUN TestComprehensiveTranslations/en/benchmarking_anubis === RUN TestComprehensiveTranslations/en/celphase === RUN TestComprehensiveTranslations/en/client_error_browser === RUN TestComprehensiveTranslations/en/compare === RUN TestComprehensiveTranslations/en/connection_security === RUN TestComprehensiveTranslations/en/contact_webmaster === RUN TestComprehensiveTranslations/en/cookies_disabled === RUN TestComprehensiveTranslations/en/difficulty === RUN TestComprehensiveTranslations/en/dronebl_entry === RUN TestComprehensiveTranslations/en/failed_to_sign_jwt === RUN TestComprehensiveTranslations/en/go_home === RUN TestComprehensiveTranslations/en/hack_purpose === RUN TestComprehensiveTranslations/en/internal_server_error === RUN TestComprehensiveTranslations/en/invalid_invocation === RUN TestComprehensiveTranslations/en/invalid_redirect === RUN TestComprehensiveTranslations/en/iters === RUN TestComprehensiveTranslations/en/iters_a === RUN TestComprehensiveTranslations/en/iters_b === RUN TestComprehensiveTranslations/en/javascript_required === RUN TestComprehensiveTranslations/en/js_calculating === RUN TestComprehensiveTranslations/en/js_calculating_difficulty === RUN TestComprehensiveTranslations/en/js_calculation_error === RUN TestComprehensiveTranslations/en/js_calculation_error_msg === RUN TestComprehensiveTranslations/en/js_challenge_error === RUN TestComprehensiveTranslations/en/js_challenge_error_msg === RUN TestComprehensiveTranslations/en/js_context_not_secure === RUN TestComprehensiveTranslations/en/js_context_not_secure_msg === RUN TestComprehensiveTranslations/en/js_cookies_error === RUN TestComprehensiveTranslations/en/js_done_took === RUN TestComprehensiveTranslations/en/js_finished_reading === RUN TestComprehensiveTranslations/en/js_iterations === RUN TestComprehensiveTranslations/en/js_missing_feature === RUN TestComprehensiveTranslations/en/js_speed === RUN TestComprehensiveTranslations/en/js_success === RUN TestComprehensiveTranslations/en/js_verification_longer === RUN TestComprehensiveTranslations/en/js_web_crypto_error === RUN TestComprehensiveTranslations/en/js_web_workers_error === RUN TestComprehensiveTranslations/en/jshelter_note === RUN TestComprehensiveTranslations/en/loading === RUN TestComprehensiveTranslations/en/made_with === RUN TestComprehensiveTranslations/en/making_sure_not_bot === RUN TestComprehensiveTranslations/en/mascot_design === RUN TestComprehensiveTranslations/en/oh_noes === RUN TestComprehensiveTranslations/en/protected_by === RUN TestComprehensiveTranslations/en/protected_from === RUN TestComprehensiveTranslations/en/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/en/redirect_not_parseable === RUN TestComprehensiveTranslations/en/see_dronebl_lookup === RUN TestComprehensiveTranslations/en/static_check_endpoint === RUN TestComprehensiveTranslations/en/time === RUN TestComprehensiveTranslations/en/time_a === RUN TestComprehensiveTranslations/en/time_b === RUN TestComprehensiveTranslations/en/try_again === RUN TestComprehensiveTranslations/en/version_info === RUN TestComprehensiveTranslations/en/why_am_i_seeing === RUN TestComprehensiveTranslations/en/you_are_not_a_bot === RUN TestComprehensiveTranslations/es === RUN TestComprehensiveTranslations/es/access_denied === RUN TestComprehensiveTranslations/es/ai_companies_explanation === RUN TestComprehensiveTranslations/es/algorithm === RUN TestComprehensiveTranslations/es/anubis_compromise === RUN TestComprehensiveTranslations/es/authorization_required === RUN TestComprehensiveTranslations/es/benchmark_requires_js === RUN TestComprehensiveTranslations/es/benchmarking_anubis === RUN TestComprehensiveTranslations/es/celphase === RUN TestComprehensiveTranslations/es/client_error_browser === RUN TestComprehensiveTranslations/es/compare === RUN TestComprehensiveTranslations/es/connection_security === RUN TestComprehensiveTranslations/es/contact_webmaster === RUN TestComprehensiveTranslations/es/cookies_disabled === RUN TestComprehensiveTranslations/es/difficulty === RUN TestComprehensiveTranslations/es/dronebl_entry === RUN TestComprehensiveTranslations/es/failed_to_sign_jwt === RUN TestComprehensiveTranslations/es/go_home === RUN TestComprehensiveTranslations/es/hack_purpose === RUN TestComprehensiveTranslations/es/internal_server_error === RUN TestComprehensiveTranslations/es/invalid_invocation === RUN TestComprehensiveTranslations/es/invalid_redirect === RUN TestComprehensiveTranslations/es/iters === RUN TestComprehensiveTranslations/es/iters_a === RUN TestComprehensiveTranslations/es/iters_b === RUN TestComprehensiveTranslations/es/javascript_required === RUN TestComprehensiveTranslations/es/js_calculating === RUN TestComprehensiveTranslations/es/js_calculating_difficulty === RUN TestComprehensiveTranslations/es/js_calculation_error === RUN TestComprehensiveTranslations/es/js_calculation_error_msg === RUN TestComprehensiveTranslations/es/js_challenge_error === RUN TestComprehensiveTranslations/es/js_challenge_error_msg === RUN TestComprehensiveTranslations/es/js_context_not_secure === RUN TestComprehensiveTranslations/es/js_context_not_secure_msg === RUN TestComprehensiveTranslations/es/js_cookies_error === RUN TestComprehensiveTranslations/es/js_done_took === RUN TestComprehensiveTranslations/es/js_finished_reading === RUN TestComprehensiveTranslations/es/js_iterations === RUN TestComprehensiveTranslations/es/js_missing_feature === RUN TestComprehensiveTranslations/es/js_speed === RUN TestComprehensiveTranslations/es/js_success === RUN TestComprehensiveTranslations/es/js_verification_longer === RUN TestComprehensiveTranslations/es/js_web_crypto_error === RUN TestComprehensiveTranslations/es/js_web_workers_error === RUN TestComprehensiveTranslations/es/jshelter_note === RUN TestComprehensiveTranslations/es/loading === RUN TestComprehensiveTranslations/es/made_with === RUN TestComprehensiveTranslations/es/making_sure_not_bot === RUN TestComprehensiveTranslations/es/mascot_design === RUN TestComprehensiveTranslations/es/oh_noes === RUN TestComprehensiveTranslations/es/protected_by === RUN TestComprehensiveTranslations/es/protected_from === RUN TestComprehensiveTranslations/es/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/es/redirect_not_parseable === RUN TestComprehensiveTranslations/es/see_dronebl_lookup === RUN TestComprehensiveTranslations/es/static_check_endpoint === RUN TestComprehensiveTranslations/es/time === RUN TestComprehensiveTranslations/es/time_a === RUN TestComprehensiveTranslations/es/time_b === RUN TestComprehensiveTranslations/es/try_again === RUN TestComprehensiveTranslations/es/version_info === RUN TestComprehensiveTranslations/es/why_am_i_seeing === RUN TestComprehensiveTranslations/es/you_are_not_a_bot === RUN TestComprehensiveTranslations/et === RUN TestComprehensiveTranslations/et/access_denied === RUN TestComprehensiveTranslations/et/ai_companies_explanation === RUN TestComprehensiveTranslations/et/algorithm === RUN TestComprehensiveTranslations/et/anubis_compromise === RUN TestComprehensiveTranslations/et/authorization_required === RUN TestComprehensiveTranslations/et/benchmark_requires_js === RUN TestComprehensiveTranslations/et/benchmarking_anubis === RUN TestComprehensiveTranslations/et/celphase === RUN TestComprehensiveTranslations/et/client_error_browser === RUN TestComprehensiveTranslations/et/compare === RUN TestComprehensiveTranslations/et/connection_security === RUN TestComprehensiveTranslations/et/contact_webmaster === RUN TestComprehensiveTranslations/et/cookies_disabled === RUN TestComprehensiveTranslations/et/difficulty === RUN TestComprehensiveTranslations/et/dronebl_entry === RUN TestComprehensiveTranslations/et/failed_to_sign_jwt === RUN TestComprehensiveTranslations/et/go_home === RUN TestComprehensiveTranslations/et/hack_purpose === RUN TestComprehensiveTranslations/et/internal_server_error === RUN TestComprehensiveTranslations/et/invalid_invocation === RUN TestComprehensiveTranslations/et/invalid_redirect === RUN TestComprehensiveTranslations/et/iters === RUN TestComprehensiveTranslations/et/iters_a === RUN TestComprehensiveTranslations/et/iters_b === RUN TestComprehensiveTranslations/et/javascript_required === RUN TestComprehensiveTranslations/et/js_calculating === RUN TestComprehensiveTranslations/et/js_calculating_difficulty === RUN TestComprehensiveTranslations/et/js_calculation_error === RUN TestComprehensiveTranslations/et/js_calculation_error_msg === RUN TestComprehensiveTranslations/et/js_challenge_error === RUN TestComprehensiveTranslations/et/js_challenge_error_msg === RUN TestComprehensiveTranslations/et/js_context_not_secure === RUN TestComprehensiveTranslations/et/js_context_not_secure_msg === RUN TestComprehensiveTranslations/et/js_cookies_error === RUN TestComprehensiveTranslations/et/js_done_took === RUN TestComprehensiveTranslations/et/js_finished_reading === RUN TestComprehensiveTranslations/et/js_iterations === RUN TestComprehensiveTranslations/et/js_missing_feature === RUN TestComprehensiveTranslations/et/js_speed === RUN TestComprehensiveTranslations/et/js_success === RUN TestComprehensiveTranslations/et/js_verification_longer === RUN TestComprehensiveTranslations/et/js_web_crypto_error === RUN TestComprehensiveTranslations/et/js_web_workers_error === RUN TestComprehensiveTranslations/et/jshelter_note === RUN TestComprehensiveTranslations/et/loading === RUN TestComprehensiveTranslations/et/made_with === RUN TestComprehensiveTranslations/et/making_sure_not_bot === RUN TestComprehensiveTranslations/et/mascot_design === RUN TestComprehensiveTranslations/et/oh_noes === RUN TestComprehensiveTranslations/et/protected_by === RUN TestComprehensiveTranslations/et/protected_from === RUN TestComprehensiveTranslations/et/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/et/redirect_not_parseable === RUN TestComprehensiveTranslations/et/see_dronebl_lookup === RUN TestComprehensiveTranslations/et/static_check_endpoint === RUN TestComprehensiveTranslations/et/time === RUN TestComprehensiveTranslations/et/time_a === RUN TestComprehensiveTranslations/et/time_b === RUN TestComprehensiveTranslations/et/try_again === RUN TestComprehensiveTranslations/et/version_info === RUN TestComprehensiveTranslations/et/why_am_i_seeing === RUN TestComprehensiveTranslations/et/you_are_not_a_bot === RUN TestComprehensiveTranslations/fi === RUN TestComprehensiveTranslations/fi/access_denied === RUN TestComprehensiveTranslations/fi/ai_companies_explanation === RUN TestComprehensiveTranslations/fi/algorithm === RUN TestComprehensiveTranslations/fi/anubis_compromise === RUN TestComprehensiveTranslations/fi/authorization_required === RUN TestComprehensiveTranslations/fi/benchmark_requires_js === RUN TestComprehensiveTranslations/fi/benchmarking_anubis === RUN TestComprehensiveTranslations/fi/celphase === RUN TestComprehensiveTranslations/fi/client_error_browser === RUN TestComprehensiveTranslations/fi/compare === RUN TestComprehensiveTranslations/fi/connection_security === RUN TestComprehensiveTranslations/fi/contact_webmaster === RUN TestComprehensiveTranslations/fi/cookies_disabled === RUN TestComprehensiveTranslations/fi/difficulty === RUN TestComprehensiveTranslations/fi/dronebl_entry === RUN TestComprehensiveTranslations/fi/failed_to_sign_jwt === RUN TestComprehensiveTranslations/fi/go_home === RUN TestComprehensiveTranslations/fi/hack_purpose === RUN TestComprehensiveTranslations/fi/internal_server_error === RUN TestComprehensiveTranslations/fi/invalid_invocation === RUN TestComprehensiveTranslations/fi/invalid_redirect === RUN TestComprehensiveTranslations/fi/iters === RUN TestComprehensiveTranslations/fi/iters_a === RUN TestComprehensiveTranslations/fi/iters_b === RUN TestComprehensiveTranslations/fi/javascript_required === RUN TestComprehensiveTranslations/fi/js_calculating === RUN TestComprehensiveTranslations/fi/js_calculating_difficulty === RUN TestComprehensiveTranslations/fi/js_calculation_error === RUN TestComprehensiveTranslations/fi/js_calculation_error_msg === RUN TestComprehensiveTranslations/fi/js_challenge_error === RUN TestComprehensiveTranslations/fi/js_challenge_error_msg === RUN TestComprehensiveTranslations/fi/js_context_not_secure === RUN TestComprehensiveTranslations/fi/js_context_not_secure_msg === RUN TestComprehensiveTranslations/fi/js_cookies_error === RUN TestComprehensiveTranslations/fi/js_done_took === RUN TestComprehensiveTranslations/fi/js_finished_reading === RUN TestComprehensiveTranslations/fi/js_iterations === RUN TestComprehensiveTranslations/fi/js_missing_feature === RUN TestComprehensiveTranslations/fi/js_speed === RUN TestComprehensiveTranslations/fi/js_success === RUN TestComprehensiveTranslations/fi/js_verification_longer === RUN TestComprehensiveTranslations/fi/js_web_crypto_error === RUN TestComprehensiveTranslations/fi/js_web_workers_error === RUN TestComprehensiveTranslations/fi/jshelter_note === RUN TestComprehensiveTranslations/fi/loading === RUN TestComprehensiveTranslations/fi/made_with === RUN TestComprehensiveTranslations/fi/making_sure_not_bot === RUN TestComprehensiveTranslations/fi/mascot_design === RUN TestComprehensiveTranslations/fi/oh_noes === RUN TestComprehensiveTranslations/fi/protected_by === RUN TestComprehensiveTranslations/fi/protected_from === RUN TestComprehensiveTranslations/fi/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/fi/redirect_not_parseable === RUN TestComprehensiveTranslations/fi/see_dronebl_lookup === RUN TestComprehensiveTranslations/fi/static_check_endpoint === RUN TestComprehensiveTranslations/fi/time === RUN TestComprehensiveTranslations/fi/time_a === RUN TestComprehensiveTranslations/fi/time_b === RUN TestComprehensiveTranslations/fi/try_again === RUN TestComprehensiveTranslations/fi/version_info === RUN TestComprehensiveTranslations/fi/why_am_i_seeing === RUN TestComprehensiveTranslations/fi/you_are_not_a_bot === RUN TestComprehensiveTranslations/fil === RUN TestComprehensiveTranslations/fil/access_denied === RUN TestComprehensiveTranslations/fil/ai_companies_explanation === RUN TestComprehensiveTranslations/fil/algorithm === RUN TestComprehensiveTranslations/fil/anubis_compromise === RUN TestComprehensiveTranslations/fil/authorization_required === RUN TestComprehensiveTranslations/fil/benchmark_requires_js === RUN TestComprehensiveTranslations/fil/benchmarking_anubis === RUN TestComprehensiveTranslations/fil/celphase === RUN TestComprehensiveTranslations/fil/client_error_browser === RUN TestComprehensiveTranslations/fil/compare === RUN TestComprehensiveTranslations/fil/connection_security === RUN TestComprehensiveTranslations/fil/contact_webmaster === RUN TestComprehensiveTranslations/fil/cookies_disabled === RUN TestComprehensiveTranslations/fil/difficulty === RUN TestComprehensiveTranslations/fil/dronebl_entry === RUN TestComprehensiveTranslations/fil/failed_to_sign_jwt === RUN TestComprehensiveTranslations/fil/go_home === RUN TestComprehensiveTranslations/fil/hack_purpose === RUN TestComprehensiveTranslations/fil/internal_server_error === RUN TestComprehensiveTranslations/fil/invalid_invocation === RUN TestComprehensiveTranslations/fil/invalid_redirect === RUN TestComprehensiveTranslations/fil/iters === RUN TestComprehensiveTranslations/fil/iters_a === RUN TestComprehensiveTranslations/fil/iters_b === RUN TestComprehensiveTranslations/fil/javascript_required === RUN TestComprehensiveTranslations/fil/js_calculating === RUN TestComprehensiveTranslations/fil/js_calculating_difficulty === RUN TestComprehensiveTranslations/fil/js_calculation_error === RUN TestComprehensiveTranslations/fil/js_calculation_error_msg === RUN TestComprehensiveTranslations/fil/js_challenge_error === RUN TestComprehensiveTranslations/fil/js_challenge_error_msg === RUN TestComprehensiveTranslations/fil/js_context_not_secure === RUN TestComprehensiveTranslations/fil/js_context_not_secure_msg === RUN TestComprehensiveTranslations/fil/js_cookies_error === RUN TestComprehensiveTranslations/fil/js_done_took === RUN TestComprehensiveTranslations/fil/js_finished_reading === RUN TestComprehensiveTranslations/fil/js_iterations === RUN TestComprehensiveTranslations/fil/js_missing_feature === RUN TestComprehensiveTranslations/fil/js_speed === RUN TestComprehensiveTranslations/fil/js_success === RUN TestComprehensiveTranslations/fil/js_verification_longer === RUN TestComprehensiveTranslations/fil/js_web_crypto_error === RUN TestComprehensiveTranslations/fil/js_web_workers_error === RUN TestComprehensiveTranslations/fil/jshelter_note === RUN TestComprehensiveTranslations/fil/loading === RUN TestComprehensiveTranslations/fil/made_with === RUN TestComprehensiveTranslations/fil/making_sure_not_bot === RUN TestComprehensiveTranslations/fil/mascot_design === RUN TestComprehensiveTranslations/fil/oh_noes === RUN TestComprehensiveTranslations/fil/protected_by === RUN TestComprehensiveTranslations/fil/protected_from === RUN TestComprehensiveTranslations/fil/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/fil/redirect_not_parseable === RUN TestComprehensiveTranslations/fil/see_dronebl_lookup === RUN TestComprehensiveTranslations/fil/static_check_endpoint === RUN TestComprehensiveTranslations/fil/time === RUN TestComprehensiveTranslations/fil/time_a === RUN TestComprehensiveTranslations/fil/time_b === RUN TestComprehensiveTranslations/fil/try_again === RUN TestComprehensiveTranslations/fil/version_info === RUN TestComprehensiveTranslations/fil/why_am_i_seeing === RUN TestComprehensiveTranslations/fil/you_are_not_a_bot === RUN TestComprehensiveTranslations/fr === RUN TestComprehensiveTranslations/fr/access_denied === RUN TestComprehensiveTranslations/fr/ai_companies_explanation === RUN TestComprehensiveTranslations/fr/algorithm === RUN TestComprehensiveTranslations/fr/anubis_compromise === RUN TestComprehensiveTranslations/fr/authorization_required === RUN TestComprehensiveTranslations/fr/benchmark_requires_js === RUN TestComprehensiveTranslations/fr/benchmarking_anubis === RUN TestComprehensiveTranslations/fr/celphase === RUN TestComprehensiveTranslations/fr/client_error_browser === RUN TestComprehensiveTranslations/fr/compare === RUN TestComprehensiveTranslations/fr/connection_security === RUN TestComprehensiveTranslations/fr/contact_webmaster === RUN TestComprehensiveTranslations/fr/cookies_disabled === RUN TestComprehensiveTranslations/fr/difficulty === RUN TestComprehensiveTranslations/fr/dronebl_entry === RUN TestComprehensiveTranslations/fr/failed_to_sign_jwt === RUN TestComprehensiveTranslations/fr/go_home === RUN TestComprehensiveTranslations/fr/hack_purpose === RUN TestComprehensiveTranslations/fr/internal_server_error === RUN TestComprehensiveTranslations/fr/invalid_invocation === RUN TestComprehensiveTranslations/fr/invalid_redirect === RUN TestComprehensiveTranslations/fr/iters === RUN TestComprehensiveTranslations/fr/iters_a === RUN TestComprehensiveTranslations/fr/iters_b === RUN TestComprehensiveTranslations/fr/javascript_required === RUN TestComprehensiveTranslations/fr/js_calculating === RUN TestComprehensiveTranslations/fr/js_calculating_difficulty === RUN TestComprehensiveTranslations/fr/js_calculation_error === RUN TestComprehensiveTranslations/fr/js_calculation_error_msg === RUN TestComprehensiveTranslations/fr/js_challenge_error === RUN TestComprehensiveTranslations/fr/js_challenge_error_msg === RUN TestComprehensiveTranslations/fr/js_context_not_secure === RUN TestComprehensiveTranslations/fr/js_context_not_secure_msg === RUN TestComprehensiveTranslations/fr/js_cookies_error === RUN TestComprehensiveTranslations/fr/js_done_took === RUN TestComprehensiveTranslations/fr/js_finished_reading === RUN TestComprehensiveTranslations/fr/js_iterations === RUN TestComprehensiveTranslations/fr/js_missing_feature === RUN TestComprehensiveTranslations/fr/js_speed === RUN TestComprehensiveTranslations/fr/js_success === RUN TestComprehensiveTranslations/fr/js_verification_longer === RUN TestComprehensiveTranslations/fr/js_web_crypto_error === RUN TestComprehensiveTranslations/fr/js_web_workers_error === RUN TestComprehensiveTranslations/fr/jshelter_note === RUN TestComprehensiveTranslations/fr/loading === RUN TestComprehensiveTranslations/fr/made_with === RUN TestComprehensiveTranslations/fr/making_sure_not_bot === RUN TestComprehensiveTranslations/fr/mascot_design === RUN TestComprehensiveTranslations/fr/oh_noes === RUN TestComprehensiveTranslations/fr/protected_by === RUN TestComprehensiveTranslations/fr/protected_from === RUN TestComprehensiveTranslations/fr/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/fr/redirect_not_parseable === RUN TestComprehensiveTranslations/fr/see_dronebl_lookup === RUN TestComprehensiveTranslations/fr/static_check_endpoint === RUN TestComprehensiveTranslations/fr/time === RUN TestComprehensiveTranslations/fr/time_a === RUN TestComprehensiveTranslations/fr/time_b === RUN TestComprehensiveTranslations/fr/try_again === RUN TestComprehensiveTranslations/fr/version_info === RUN TestComprehensiveTranslations/fr/why_am_i_seeing === RUN TestComprehensiveTranslations/fr/you_are_not_a_bot === RUN TestComprehensiveTranslations/is === RUN TestComprehensiveTranslations/is/access_denied === RUN TestComprehensiveTranslations/is/ai_companies_explanation === RUN TestComprehensiveTranslations/is/algorithm === RUN TestComprehensiveTranslations/is/anubis_compromise === RUN TestComprehensiveTranslations/is/authorization_required === RUN TestComprehensiveTranslations/is/benchmark_requires_js === RUN TestComprehensiveTranslations/is/benchmarking_anubis === RUN TestComprehensiveTranslations/is/celphase === RUN TestComprehensiveTranslations/is/client_error_browser === RUN TestComprehensiveTranslations/is/compare === RUN TestComprehensiveTranslations/is/connection_security === RUN TestComprehensiveTranslations/is/contact_webmaster === RUN TestComprehensiveTranslations/is/cookies_disabled === RUN TestComprehensiveTranslations/is/difficulty === RUN TestComprehensiveTranslations/is/dronebl_entry === RUN TestComprehensiveTranslations/is/failed_to_sign_jwt === RUN TestComprehensiveTranslations/is/go_home === RUN TestComprehensiveTranslations/is/hack_purpose === RUN TestComprehensiveTranslations/is/internal_server_error === RUN TestComprehensiveTranslations/is/invalid_invocation === RUN TestComprehensiveTranslations/is/invalid_redirect === RUN TestComprehensiveTranslations/is/iters === RUN TestComprehensiveTranslations/is/iters_a === RUN TestComprehensiveTranslations/is/iters_b === RUN TestComprehensiveTranslations/is/javascript_required === RUN TestComprehensiveTranslations/is/js_calculating === RUN TestComprehensiveTranslations/is/js_calculating_difficulty === RUN TestComprehensiveTranslations/is/js_calculation_error === RUN TestComprehensiveTranslations/is/js_calculation_error_msg === RUN TestComprehensiveTranslations/is/js_challenge_error === RUN TestComprehensiveTranslations/is/js_challenge_error_msg === RUN TestComprehensiveTranslations/is/js_context_not_secure === RUN TestComprehensiveTranslations/is/js_context_not_secure_msg === RUN TestComprehensiveTranslations/is/js_cookies_error === RUN TestComprehensiveTranslations/is/js_done_took === RUN TestComprehensiveTranslations/is/js_finished_reading === RUN TestComprehensiveTranslations/is/js_iterations === RUN TestComprehensiveTranslations/is/js_missing_feature === RUN TestComprehensiveTranslations/is/js_speed === RUN TestComprehensiveTranslations/is/js_success === RUN TestComprehensiveTranslations/is/js_verification_longer === RUN TestComprehensiveTranslations/is/js_web_crypto_error === RUN TestComprehensiveTranslations/is/js_web_workers_error === RUN TestComprehensiveTranslations/is/jshelter_note === RUN TestComprehensiveTranslations/is/loading === RUN TestComprehensiveTranslations/is/made_with === RUN TestComprehensiveTranslations/is/making_sure_not_bot === RUN TestComprehensiveTranslations/is/mascot_design === RUN TestComprehensiveTranslations/is/oh_noes === RUN TestComprehensiveTranslations/is/protected_by === RUN TestComprehensiveTranslations/is/protected_from === RUN TestComprehensiveTranslations/is/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/is/redirect_not_parseable === RUN TestComprehensiveTranslations/is/see_dronebl_lookup === RUN TestComprehensiveTranslations/is/static_check_endpoint === RUN TestComprehensiveTranslations/is/time === RUN TestComprehensiveTranslations/is/time_a === RUN TestComprehensiveTranslations/is/time_b === RUN TestComprehensiveTranslations/is/try_again === RUN TestComprehensiveTranslations/is/version_info === RUN TestComprehensiveTranslations/is/why_am_i_seeing === RUN TestComprehensiveTranslations/is/you_are_not_a_bot === RUN TestComprehensiveTranslations/it === RUN TestComprehensiveTranslations/it/access_denied === RUN TestComprehensiveTranslations/it/ai_companies_explanation === RUN TestComprehensiveTranslations/it/algorithm === RUN TestComprehensiveTranslations/it/anubis_compromise === RUN TestComprehensiveTranslations/it/authorization_required === RUN TestComprehensiveTranslations/it/benchmark_requires_js === RUN TestComprehensiveTranslations/it/benchmarking_anubis === RUN TestComprehensiveTranslations/it/celphase === RUN TestComprehensiveTranslations/it/client_error_browser === RUN TestComprehensiveTranslations/it/compare === RUN TestComprehensiveTranslations/it/connection_security === RUN TestComprehensiveTranslations/it/contact_webmaster === RUN TestComprehensiveTranslations/it/cookies_disabled === RUN TestComprehensiveTranslations/it/difficulty === RUN TestComprehensiveTranslations/it/dronebl_entry === RUN TestComprehensiveTranslations/it/failed_to_sign_jwt === RUN TestComprehensiveTranslations/it/go_home === RUN TestComprehensiveTranslations/it/hack_purpose === RUN TestComprehensiveTranslations/it/internal_server_error === RUN TestComprehensiveTranslations/it/invalid_invocation === RUN TestComprehensiveTranslations/it/invalid_redirect === RUN TestComprehensiveTranslations/it/iters === RUN TestComprehensiveTranslations/it/iters_a === RUN TestComprehensiveTranslations/it/iters_b === RUN TestComprehensiveTranslations/it/javascript_required === RUN TestComprehensiveTranslations/it/js_calculating === RUN TestComprehensiveTranslations/it/js_calculating_difficulty === RUN TestComprehensiveTranslations/it/js_calculation_error === RUN TestComprehensiveTranslations/it/js_calculation_error_msg === RUN TestComprehensiveTranslations/it/js_challenge_error === RUN TestComprehensiveTranslations/it/js_challenge_error_msg === RUN TestComprehensiveTranslations/it/js_context_not_secure === RUN TestComprehensiveTranslations/it/js_context_not_secure_msg === RUN TestComprehensiveTranslations/it/js_cookies_error === RUN TestComprehensiveTranslations/it/js_done_took === RUN TestComprehensiveTranslations/it/js_finished_reading === RUN TestComprehensiveTranslations/it/js_iterations === RUN TestComprehensiveTranslations/it/js_missing_feature === RUN TestComprehensiveTranslations/it/js_speed === RUN TestComprehensiveTranslations/it/js_success === RUN TestComprehensiveTranslations/it/js_verification_longer === RUN TestComprehensiveTranslations/it/js_web_crypto_error === RUN TestComprehensiveTranslations/it/js_web_workers_error === RUN TestComprehensiveTranslations/it/jshelter_note === RUN TestComprehensiveTranslations/it/loading === RUN TestComprehensiveTranslations/it/made_with === RUN TestComprehensiveTranslations/it/making_sure_not_bot === RUN TestComprehensiveTranslations/it/mascot_design === RUN TestComprehensiveTranslations/it/oh_noes === RUN TestComprehensiveTranslations/it/protected_by === RUN TestComprehensiveTranslations/it/protected_from === RUN TestComprehensiveTranslations/it/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/it/redirect_not_parseable === RUN TestComprehensiveTranslations/it/see_dronebl_lookup === RUN TestComprehensiveTranslations/it/static_check_endpoint === RUN TestComprehensiveTranslations/it/time === RUN TestComprehensiveTranslations/it/time_a === RUN TestComprehensiveTranslations/it/time_b === RUN TestComprehensiveTranslations/it/try_again === RUN TestComprehensiveTranslations/it/version_info === RUN TestComprehensiveTranslations/it/why_am_i_seeing === RUN TestComprehensiveTranslations/it/you_are_not_a_bot === RUN TestComprehensiveTranslations/ja === RUN TestComprehensiveTranslations/ja/access_denied === RUN TestComprehensiveTranslations/ja/ai_companies_explanation === RUN TestComprehensiveTranslations/ja/algorithm === RUN TestComprehensiveTranslations/ja/anubis_compromise === RUN TestComprehensiveTranslations/ja/authorization_required === RUN TestComprehensiveTranslations/ja/benchmark_requires_js === RUN TestComprehensiveTranslations/ja/benchmarking_anubis === RUN TestComprehensiveTranslations/ja/celphase === RUN TestComprehensiveTranslations/ja/client_error_browser === RUN TestComprehensiveTranslations/ja/compare === RUN TestComprehensiveTranslations/ja/connection_security === RUN TestComprehensiveTranslations/ja/contact_webmaster === RUN TestComprehensiveTranslations/ja/cookies_disabled === RUN TestComprehensiveTranslations/ja/difficulty === RUN TestComprehensiveTranslations/ja/dronebl_entry === RUN TestComprehensiveTranslations/ja/failed_to_sign_jwt === RUN TestComprehensiveTranslations/ja/go_home === RUN TestComprehensiveTranslations/ja/hack_purpose === RUN TestComprehensiveTranslations/ja/internal_server_error === RUN TestComprehensiveTranslations/ja/invalid_invocation === RUN TestComprehensiveTranslations/ja/invalid_redirect === RUN TestComprehensiveTranslations/ja/iters === RUN TestComprehensiveTranslations/ja/iters_a === RUN TestComprehensiveTranslations/ja/iters_b === RUN TestComprehensiveTranslations/ja/javascript_required === RUN TestComprehensiveTranslations/ja/js_calculating === RUN TestComprehensiveTranslations/ja/js_calculating_difficulty === RUN TestComprehensiveTranslations/ja/js_calculation_error === RUN TestComprehensiveTranslations/ja/js_calculation_error_msg === RUN TestComprehensiveTranslations/ja/js_challenge_error === RUN TestComprehensiveTranslations/ja/js_challenge_error_msg === RUN TestComprehensiveTranslations/ja/js_context_not_secure === RUN TestComprehensiveTranslations/ja/js_context_not_secure_msg === RUN TestComprehensiveTranslations/ja/js_cookies_error === RUN TestComprehensiveTranslations/ja/js_done_took === RUN TestComprehensiveTranslations/ja/js_finished_reading === RUN TestComprehensiveTranslations/ja/js_iterations === RUN TestComprehensiveTranslations/ja/js_missing_feature === RUN TestComprehensiveTranslations/ja/js_speed === RUN TestComprehensiveTranslations/ja/js_success === RUN TestComprehensiveTranslations/ja/js_verification_longer === RUN TestComprehensiveTranslations/ja/js_web_crypto_error === RUN TestComprehensiveTranslations/ja/js_web_workers_error === RUN TestComprehensiveTranslations/ja/jshelter_note === RUN TestComprehensiveTranslations/ja/loading === RUN TestComprehensiveTranslations/ja/made_with === RUN TestComprehensiveTranslations/ja/making_sure_not_bot === RUN TestComprehensiveTranslations/ja/mascot_design === RUN TestComprehensiveTranslations/ja/oh_noes === RUN TestComprehensiveTranslations/ja/protected_by === RUN TestComprehensiveTranslations/ja/protected_from === RUN TestComprehensiveTranslations/ja/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/ja/redirect_not_parseable === RUN TestComprehensiveTranslations/ja/see_dronebl_lookup === RUN TestComprehensiveTranslations/ja/static_check_endpoint === RUN TestComprehensiveTranslations/ja/time === RUN TestComprehensiveTranslations/ja/time_a === RUN TestComprehensiveTranslations/ja/time_b === RUN TestComprehensiveTranslations/ja/try_again === RUN TestComprehensiveTranslations/ja/version_info === RUN TestComprehensiveTranslations/ja/why_am_i_seeing === RUN TestComprehensiveTranslations/ja/you_are_not_a_bot === RUN TestComprehensiveTranslations/nb === RUN TestComprehensiveTranslations/nb/access_denied === RUN TestComprehensiveTranslations/nb/ai_companies_explanation === RUN TestComprehensiveTranslations/nb/algorithm === RUN TestComprehensiveTranslations/nb/anubis_compromise === RUN TestComprehensiveTranslations/nb/authorization_required === RUN TestComprehensiveTranslations/nb/benchmark_requires_js === RUN TestComprehensiveTranslations/nb/benchmarking_anubis === RUN TestComprehensiveTranslations/nb/celphase === RUN TestComprehensiveTranslations/nb/client_error_browser === RUN TestComprehensiveTranslations/nb/compare === RUN TestComprehensiveTranslations/nb/connection_security === RUN TestComprehensiveTranslations/nb/contact_webmaster === RUN TestComprehensiveTranslations/nb/cookies_disabled === RUN TestComprehensiveTranslations/nb/difficulty === RUN TestComprehensiveTranslations/nb/dronebl_entry === RUN TestComprehensiveTranslations/nb/failed_to_sign_jwt === RUN TestComprehensiveTranslations/nb/go_home === RUN TestComprehensiveTranslations/nb/hack_purpose === RUN TestComprehensiveTranslations/nb/internal_server_error === RUN TestComprehensiveTranslations/nb/invalid_invocation === RUN TestComprehensiveTranslations/nb/invalid_redirect === RUN TestComprehensiveTranslations/nb/iters === RUN TestComprehensiveTranslations/nb/iters_a === RUN TestComprehensiveTranslations/nb/iters_b === RUN TestComprehensiveTranslations/nb/javascript_required === RUN TestComprehensiveTranslations/nb/js_calculating === RUN TestComprehensiveTranslations/nb/js_calculating_difficulty === RUN TestComprehensiveTranslations/nb/js_calculation_error === RUN TestComprehensiveTranslations/nb/js_calculation_error_msg === RUN TestComprehensiveTranslations/nb/js_challenge_error === RUN TestComprehensiveTranslations/nb/js_challenge_error_msg === RUN TestComprehensiveTranslations/nb/js_context_not_secure === RUN TestComprehensiveTranslations/nb/js_context_not_secure_msg === RUN TestComprehensiveTranslations/nb/js_cookies_error === RUN TestComprehensiveTranslations/nb/js_done_took === RUN TestComprehensiveTranslations/nb/js_finished_reading === RUN TestComprehensiveTranslations/nb/js_iterations === RUN TestComprehensiveTranslations/nb/js_missing_feature === RUN TestComprehensiveTranslations/nb/js_speed === RUN TestComprehensiveTranslations/nb/js_success === RUN TestComprehensiveTranslations/nb/js_verification_longer === RUN TestComprehensiveTranslations/nb/js_web_crypto_error === RUN TestComprehensiveTranslations/nb/js_web_workers_error === RUN TestComprehensiveTranslations/nb/jshelter_note === RUN TestComprehensiveTranslations/nb/loading === RUN TestComprehensiveTranslations/nb/made_with === RUN TestComprehensiveTranslations/nb/making_sure_not_bot === RUN TestComprehensiveTranslations/nb/mascot_design === RUN TestComprehensiveTranslations/nb/oh_noes === RUN TestComprehensiveTranslations/nb/protected_by === RUN TestComprehensiveTranslations/nb/protected_from === RUN TestComprehensiveTranslations/nb/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/nb/redirect_not_parseable === RUN TestComprehensiveTranslations/nb/see_dronebl_lookup === RUN TestComprehensiveTranslations/nb/static_check_endpoint === RUN TestComprehensiveTranslations/nb/time === RUN TestComprehensiveTranslations/nb/time_a === RUN TestComprehensiveTranslations/nb/time_b === RUN TestComprehensiveTranslations/nb/try_again === RUN TestComprehensiveTranslations/nb/version_info === RUN TestComprehensiveTranslations/nb/why_am_i_seeing === RUN TestComprehensiveTranslations/nb/you_are_not_a_bot === RUN TestComprehensiveTranslations/nn === RUN TestComprehensiveTranslations/nn/access_denied === RUN TestComprehensiveTranslations/nn/ai_companies_explanation === RUN TestComprehensiveTranslations/nn/algorithm === RUN TestComprehensiveTranslations/nn/anubis_compromise === RUN TestComprehensiveTranslations/nn/authorization_required === RUN TestComprehensiveTranslations/nn/benchmark_requires_js === RUN TestComprehensiveTranslations/nn/benchmarking_anubis === RUN TestComprehensiveTranslations/nn/celphase === RUN TestComprehensiveTranslations/nn/client_error_browser === RUN TestComprehensiveTranslations/nn/compare === RUN TestComprehensiveTranslations/nn/connection_security === RUN TestComprehensiveTranslations/nn/contact_webmaster === RUN TestComprehensiveTranslations/nn/cookies_disabled === RUN TestComprehensiveTranslations/nn/difficulty === RUN TestComprehensiveTranslations/nn/dronebl_entry === RUN TestComprehensiveTranslations/nn/failed_to_sign_jwt === RUN TestComprehensiveTranslations/nn/go_home === RUN TestComprehensiveTranslations/nn/hack_purpose === RUN TestComprehensiveTranslations/nn/internal_server_error === RUN TestComprehensiveTranslations/nn/invalid_invocation === RUN TestComprehensiveTranslations/nn/invalid_redirect === RUN TestComprehensiveTranslations/nn/iters === RUN TestComprehensiveTranslations/nn/iters_a === RUN TestComprehensiveTranslations/nn/iters_b === RUN TestComprehensiveTranslations/nn/javascript_required === RUN TestComprehensiveTranslations/nn/js_calculating === RUN TestComprehensiveTranslations/nn/js_calculating_difficulty === RUN TestComprehensiveTranslations/nn/js_calculation_error === RUN TestComprehensiveTranslations/nn/js_calculation_error_msg === RUN TestComprehensiveTranslations/nn/js_challenge_error === RUN TestComprehensiveTranslations/nn/js_challenge_error_msg === RUN TestComprehensiveTranslations/nn/js_context_not_secure === RUN TestComprehensiveTranslations/nn/js_context_not_secure_msg === RUN TestComprehensiveTranslations/nn/js_cookies_error === RUN TestComprehensiveTranslations/nn/js_done_took === RUN TestComprehensiveTranslations/nn/js_finished_reading === RUN TestComprehensiveTranslations/nn/js_iterations === RUN TestComprehensiveTranslations/nn/js_missing_feature === RUN TestComprehensiveTranslations/nn/js_speed === RUN TestComprehensiveTranslations/nn/js_success === RUN TestComprehensiveTranslations/nn/js_verification_longer === RUN TestComprehensiveTranslations/nn/js_web_crypto_error === RUN TestComprehensiveTranslations/nn/js_web_workers_error === RUN TestComprehensiveTranslations/nn/jshelter_note === RUN TestComprehensiveTranslations/nn/loading === RUN TestComprehensiveTranslations/nn/made_with === RUN TestComprehensiveTranslations/nn/making_sure_not_bot === RUN TestComprehensiveTranslations/nn/mascot_design === RUN TestComprehensiveTranslations/nn/oh_noes === RUN TestComprehensiveTranslations/nn/protected_by === RUN TestComprehensiveTranslations/nn/protected_from === RUN TestComprehensiveTranslations/nn/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/nn/redirect_not_parseable === RUN TestComprehensiveTranslations/nn/see_dronebl_lookup === RUN TestComprehensiveTranslations/nn/static_check_endpoint === RUN TestComprehensiveTranslations/nn/time === RUN TestComprehensiveTranslations/nn/time_a === RUN TestComprehensiveTranslations/nn/time_b === RUN TestComprehensiveTranslations/nn/try_again === RUN TestComprehensiveTranslations/nn/version_info === RUN TestComprehensiveTranslations/nn/why_am_i_seeing === RUN TestComprehensiveTranslations/nn/you_are_not_a_bot === RUN TestComprehensiveTranslations/pt-BR === RUN TestComprehensiveTranslations/pt-BR/access_denied === RUN TestComprehensiveTranslations/pt-BR/ai_companies_explanation === RUN TestComprehensiveTranslations/pt-BR/algorithm === RUN TestComprehensiveTranslations/pt-BR/anubis_compromise === RUN TestComprehensiveTranslations/pt-BR/authorization_required === RUN TestComprehensiveTranslations/pt-BR/benchmark_requires_js === RUN TestComprehensiveTranslations/pt-BR/benchmarking_anubis === RUN TestComprehensiveTranslations/pt-BR/celphase === RUN TestComprehensiveTranslations/pt-BR/client_error_browser === RUN TestComprehensiveTranslations/pt-BR/compare === RUN TestComprehensiveTranslations/pt-BR/connection_security === RUN TestComprehensiveTranslations/pt-BR/contact_webmaster === RUN TestComprehensiveTranslations/pt-BR/cookies_disabled === RUN TestComprehensiveTranslations/pt-BR/difficulty === RUN TestComprehensiveTranslations/pt-BR/dronebl_entry === RUN TestComprehensiveTranslations/pt-BR/failed_to_sign_jwt === RUN TestComprehensiveTranslations/pt-BR/go_home === RUN TestComprehensiveTranslations/pt-BR/hack_purpose === RUN TestComprehensiveTranslations/pt-BR/internal_server_error === RUN TestComprehensiveTranslations/pt-BR/invalid_invocation === RUN TestComprehensiveTranslations/pt-BR/invalid_redirect === RUN TestComprehensiveTranslations/pt-BR/iters === RUN TestComprehensiveTranslations/pt-BR/iters_a === RUN TestComprehensiveTranslations/pt-BR/iters_b === RUN TestComprehensiveTranslations/pt-BR/javascript_required === RUN TestComprehensiveTranslations/pt-BR/js_calculating === RUN TestComprehensiveTranslations/pt-BR/js_calculating_difficulty === RUN TestComprehensiveTranslations/pt-BR/js_calculation_error === RUN TestComprehensiveTranslations/pt-BR/js_calculation_error_msg === RUN TestComprehensiveTranslations/pt-BR/js_challenge_error === RUN TestComprehensiveTranslations/pt-BR/js_challenge_error_msg === RUN TestComprehensiveTranslations/pt-BR/js_context_not_secure === RUN TestComprehensiveTranslations/pt-BR/js_context_not_secure_msg === RUN TestComprehensiveTranslations/pt-BR/js_cookies_error === RUN TestComprehensiveTranslations/pt-BR/js_done_took === RUN TestComprehensiveTranslations/pt-BR/js_finished_reading === RUN TestComprehensiveTranslations/pt-BR/js_iterations === RUN TestComprehensiveTranslations/pt-BR/js_missing_feature === RUN TestComprehensiveTranslations/pt-BR/js_speed === RUN TestComprehensiveTranslations/pt-BR/js_success === RUN TestComprehensiveTranslations/pt-BR/js_verification_longer === RUN TestComprehensiveTranslations/pt-BR/js_web_crypto_error === RUN TestComprehensiveTranslations/pt-BR/js_web_workers_error === RUN TestComprehensiveTranslations/pt-BR/jshelter_note === RUN TestComprehensiveTranslations/pt-BR/loading === RUN TestComprehensiveTranslations/pt-BR/made_with === RUN TestComprehensiveTranslations/pt-BR/making_sure_not_bot === RUN TestComprehensiveTranslations/pt-BR/mascot_design === RUN TestComprehensiveTranslations/pt-BR/oh_noes === RUN TestComprehensiveTranslations/pt-BR/protected_by === RUN TestComprehensiveTranslations/pt-BR/protected_from === RUN TestComprehensiveTranslations/pt-BR/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/pt-BR/redirect_not_parseable === RUN TestComprehensiveTranslations/pt-BR/see_dronebl_lookup === RUN TestComprehensiveTranslations/pt-BR/static_check_endpoint === RUN TestComprehensiveTranslations/pt-BR/time === RUN TestComprehensiveTranslations/pt-BR/time_a === RUN TestComprehensiveTranslations/pt-BR/time_b === RUN TestComprehensiveTranslations/pt-BR/try_again === RUN TestComprehensiveTranslations/pt-BR/version_info === RUN TestComprehensiveTranslations/pt-BR/why_am_i_seeing === RUN TestComprehensiveTranslations/pt-BR/you_are_not_a_bot === RUN TestComprehensiveTranslations/ru === RUN TestComprehensiveTranslations/ru/access_denied === RUN TestComprehensiveTranslations/ru/ai_companies_explanation === RUN TestComprehensiveTranslations/ru/algorithm === RUN TestComprehensiveTranslations/ru/anubis_compromise === RUN TestComprehensiveTranslations/ru/authorization_required === RUN TestComprehensiveTranslations/ru/benchmark_requires_js === RUN TestComprehensiveTranslations/ru/benchmarking_anubis === RUN TestComprehensiveTranslations/ru/celphase === RUN TestComprehensiveTranslations/ru/client_error_browser === RUN TestComprehensiveTranslations/ru/compare === RUN TestComprehensiveTranslations/ru/connection_security === RUN TestComprehensiveTranslations/ru/contact_webmaster === RUN TestComprehensiveTranslations/ru/cookies_disabled === RUN TestComprehensiveTranslations/ru/difficulty === RUN TestComprehensiveTranslations/ru/dronebl_entry === RUN TestComprehensiveTranslations/ru/failed_to_sign_jwt === RUN TestComprehensiveTranslations/ru/go_home === RUN TestComprehensiveTranslations/ru/hack_purpose === RUN TestComprehensiveTranslations/ru/internal_server_error === RUN TestComprehensiveTranslations/ru/invalid_invocation === RUN TestComprehensiveTranslations/ru/invalid_redirect === RUN TestComprehensiveTranslations/ru/iters === RUN TestComprehensiveTranslations/ru/iters_a === RUN TestComprehensiveTranslations/ru/iters_b === RUN TestComprehensiveTranslations/ru/javascript_required === RUN TestComprehensiveTranslations/ru/js_calculating === RUN TestComprehensiveTranslations/ru/js_calculating_difficulty === RUN TestComprehensiveTranslations/ru/js_calculation_error === RUN TestComprehensiveTranslations/ru/js_calculation_error_msg === RUN TestComprehensiveTranslations/ru/js_challenge_error === RUN TestComprehensiveTranslations/ru/js_challenge_error_msg === RUN TestComprehensiveTranslations/ru/js_context_not_secure === RUN TestComprehensiveTranslations/ru/js_context_not_secure_msg === RUN TestComprehensiveTranslations/ru/js_cookies_error === RUN TestComprehensiveTranslations/ru/js_done_took === RUN TestComprehensiveTranslations/ru/js_finished_reading === RUN TestComprehensiveTranslations/ru/js_iterations === RUN TestComprehensiveTranslations/ru/js_missing_feature === RUN TestComprehensiveTranslations/ru/js_speed === RUN TestComprehensiveTranslations/ru/js_success === RUN TestComprehensiveTranslations/ru/js_verification_longer === RUN TestComprehensiveTranslations/ru/js_web_crypto_error === RUN TestComprehensiveTranslations/ru/js_web_workers_error === RUN TestComprehensiveTranslations/ru/jshelter_note === RUN TestComprehensiveTranslations/ru/loading === RUN TestComprehensiveTranslations/ru/made_with === RUN TestComprehensiveTranslations/ru/making_sure_not_bot === RUN TestComprehensiveTranslations/ru/mascot_design === RUN TestComprehensiveTranslations/ru/oh_noes === RUN TestComprehensiveTranslations/ru/protected_by === RUN TestComprehensiveTranslations/ru/protected_from === RUN TestComprehensiveTranslations/ru/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/ru/redirect_not_parseable === RUN TestComprehensiveTranslations/ru/see_dronebl_lookup === RUN TestComprehensiveTranslations/ru/static_check_endpoint === RUN TestComprehensiveTranslations/ru/time === RUN TestComprehensiveTranslations/ru/time_a === RUN TestComprehensiveTranslations/ru/time_b === RUN TestComprehensiveTranslations/ru/try_again === RUN TestComprehensiveTranslations/ru/version_info === RUN TestComprehensiveTranslations/ru/why_am_i_seeing === RUN TestComprehensiveTranslations/ru/you_are_not_a_bot === RUN TestComprehensiveTranslations/tr === RUN TestComprehensiveTranslations/tr/access_denied === RUN TestComprehensiveTranslations/tr/ai_companies_explanation === RUN TestComprehensiveTranslations/tr/algorithm === RUN TestComprehensiveTranslations/tr/anubis_compromise === RUN TestComprehensiveTranslations/tr/authorization_required === RUN TestComprehensiveTranslations/tr/benchmark_requires_js === RUN TestComprehensiveTranslations/tr/benchmarking_anubis === RUN TestComprehensiveTranslations/tr/celphase === RUN TestComprehensiveTranslations/tr/client_error_browser === RUN TestComprehensiveTranslations/tr/compare === RUN TestComprehensiveTranslations/tr/connection_security === RUN TestComprehensiveTranslations/tr/contact_webmaster === RUN TestComprehensiveTranslations/tr/cookies_disabled === RUN TestComprehensiveTranslations/tr/difficulty === RUN TestComprehensiveTranslations/tr/dronebl_entry === RUN TestComprehensiveTranslations/tr/failed_to_sign_jwt === RUN TestComprehensiveTranslations/tr/go_home === RUN TestComprehensiveTranslations/tr/hack_purpose === RUN TestComprehensiveTranslations/tr/internal_server_error === RUN TestComprehensiveTranslations/tr/invalid_invocation === RUN TestComprehensiveTranslations/tr/invalid_redirect === RUN TestComprehensiveTranslations/tr/iters === RUN TestComprehensiveTranslations/tr/iters_a === RUN TestComprehensiveTranslations/tr/iters_b === RUN TestComprehensiveTranslations/tr/javascript_required === RUN TestComprehensiveTranslations/tr/js_calculating === RUN TestComprehensiveTranslations/tr/js_calculating_difficulty === RUN TestComprehensiveTranslations/tr/js_calculation_error === RUN TestComprehensiveTranslations/tr/js_calculation_error_msg === RUN TestComprehensiveTranslations/tr/js_challenge_error === RUN TestComprehensiveTranslations/tr/js_challenge_error_msg === RUN TestComprehensiveTranslations/tr/js_context_not_secure === RUN TestComprehensiveTranslations/tr/js_context_not_secure_msg === RUN TestComprehensiveTranslations/tr/js_cookies_error === RUN TestComprehensiveTranslations/tr/js_done_took === RUN TestComprehensiveTranslations/tr/js_finished_reading === RUN TestComprehensiveTranslations/tr/js_iterations === RUN TestComprehensiveTranslations/tr/js_missing_feature === RUN TestComprehensiveTranslations/tr/js_speed === RUN TestComprehensiveTranslations/tr/js_success === RUN TestComprehensiveTranslations/tr/js_verification_longer === RUN TestComprehensiveTranslations/tr/js_web_crypto_error === RUN TestComprehensiveTranslations/tr/js_web_workers_error === RUN TestComprehensiveTranslations/tr/jshelter_note === RUN TestComprehensiveTranslations/tr/loading === RUN TestComprehensiveTranslations/tr/made_with === RUN TestComprehensiveTranslations/tr/making_sure_not_bot === RUN TestComprehensiveTranslations/tr/mascot_design === RUN TestComprehensiveTranslations/tr/oh_noes === RUN TestComprehensiveTranslations/tr/protected_by === RUN TestComprehensiveTranslations/tr/protected_from === RUN TestComprehensiveTranslations/tr/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/tr/redirect_not_parseable === RUN TestComprehensiveTranslations/tr/see_dronebl_lookup === RUN TestComprehensiveTranslations/tr/static_check_endpoint === RUN TestComprehensiveTranslations/tr/time === RUN TestComprehensiveTranslations/tr/time_a === RUN TestComprehensiveTranslations/tr/time_b === RUN TestComprehensiveTranslations/tr/try_again === RUN TestComprehensiveTranslations/tr/version_info === RUN TestComprehensiveTranslations/tr/why_am_i_seeing === RUN TestComprehensiveTranslations/tr/you_are_not_a_bot === RUN TestComprehensiveTranslations/zh-CN === RUN TestComprehensiveTranslations/zh-CN/access_denied === RUN TestComprehensiveTranslations/zh-CN/ai_companies_explanation === RUN TestComprehensiveTranslations/zh-CN/algorithm === RUN TestComprehensiveTranslations/zh-CN/anubis_compromise === RUN TestComprehensiveTranslations/zh-CN/authorization_required === RUN TestComprehensiveTranslations/zh-CN/benchmark_requires_js === RUN TestComprehensiveTranslations/zh-CN/benchmarking_anubis === RUN TestComprehensiveTranslations/zh-CN/celphase === RUN TestComprehensiveTranslations/zh-CN/client_error_browser === RUN TestComprehensiveTranslations/zh-CN/compare === RUN TestComprehensiveTranslations/zh-CN/connection_security === RUN TestComprehensiveTranslations/zh-CN/contact_webmaster === RUN TestComprehensiveTranslations/zh-CN/cookies_disabled === RUN TestComprehensiveTranslations/zh-CN/difficulty === RUN TestComprehensiveTranslations/zh-CN/dronebl_entry === RUN TestComprehensiveTranslations/zh-CN/failed_to_sign_jwt === RUN TestComprehensiveTranslations/zh-CN/go_home === RUN TestComprehensiveTranslations/zh-CN/hack_purpose === RUN TestComprehensiveTranslations/zh-CN/internal_server_error === RUN TestComprehensiveTranslations/zh-CN/invalid_invocation === RUN TestComprehensiveTranslations/zh-CN/invalid_redirect === RUN TestComprehensiveTranslations/zh-CN/iters === RUN TestComprehensiveTranslations/zh-CN/iters_a === RUN TestComprehensiveTranslations/zh-CN/iters_b === RUN TestComprehensiveTranslations/zh-CN/javascript_required === RUN TestComprehensiveTranslations/zh-CN/js_calculating === RUN TestComprehensiveTranslations/zh-CN/js_calculating_difficulty === RUN TestComprehensiveTranslations/zh-CN/js_calculation_error === RUN TestComprehensiveTranslations/zh-CN/js_calculation_error_msg === RUN TestComprehensiveTranslations/zh-CN/js_challenge_error === RUN TestComprehensiveTranslations/zh-CN/js_challenge_error_msg === RUN TestComprehensiveTranslations/zh-CN/js_context_not_secure === RUN TestComprehensiveTranslations/zh-CN/js_context_not_secure_msg === RUN TestComprehensiveTranslations/zh-CN/js_cookies_error === RUN TestComprehensiveTranslations/zh-CN/js_done_took === RUN TestComprehensiveTranslations/zh-CN/js_finished_reading === RUN TestComprehensiveTranslations/zh-CN/js_iterations === RUN TestComprehensiveTranslations/zh-CN/js_missing_feature === RUN TestComprehensiveTranslations/zh-CN/js_speed === RUN TestComprehensiveTranslations/zh-CN/js_success === RUN TestComprehensiveTranslations/zh-CN/js_verification_longer === RUN TestComprehensiveTranslations/zh-CN/js_web_crypto_error === RUN TestComprehensiveTranslations/zh-CN/js_web_workers_error === RUN TestComprehensiveTranslations/zh-CN/jshelter_note === RUN TestComprehensiveTranslations/zh-CN/loading === RUN TestComprehensiveTranslations/zh-CN/made_with === RUN TestComprehensiveTranslations/zh-CN/making_sure_not_bot === RUN TestComprehensiveTranslations/zh-CN/mascot_design === RUN TestComprehensiveTranslations/zh-CN/oh_noes === RUN TestComprehensiveTranslations/zh-CN/protected_by === RUN TestComprehensiveTranslations/zh-CN/protected_from === RUN TestComprehensiveTranslations/zh-CN/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/zh-CN/redirect_not_parseable === RUN TestComprehensiveTranslations/zh-CN/see_dronebl_lookup === RUN TestComprehensiveTranslations/zh-CN/static_check_endpoint === RUN TestComprehensiveTranslations/zh-CN/time === RUN TestComprehensiveTranslations/zh-CN/time_a === RUN TestComprehensiveTranslations/zh-CN/time_b === RUN TestComprehensiveTranslations/zh-CN/try_again === RUN TestComprehensiveTranslations/zh-CN/version_info === RUN TestComprehensiveTranslations/zh-CN/why_am_i_seeing === RUN TestComprehensiveTranslations/zh-CN/you_are_not_a_bot === RUN TestComprehensiveTranslations/zh-TW === RUN TestComprehensiveTranslations/zh-TW/access_denied === RUN TestComprehensiveTranslations/zh-TW/ai_companies_explanation === RUN TestComprehensiveTranslations/zh-TW/algorithm === RUN TestComprehensiveTranslations/zh-TW/anubis_compromise === RUN TestComprehensiveTranslations/zh-TW/authorization_required === RUN TestComprehensiveTranslations/zh-TW/benchmark_requires_js === RUN TestComprehensiveTranslations/zh-TW/benchmarking_anubis === RUN TestComprehensiveTranslations/zh-TW/celphase === RUN TestComprehensiveTranslations/zh-TW/client_error_browser === RUN TestComprehensiveTranslations/zh-TW/compare === RUN TestComprehensiveTranslations/zh-TW/connection_security === RUN TestComprehensiveTranslations/zh-TW/contact_webmaster === RUN TestComprehensiveTranslations/zh-TW/cookies_disabled === RUN TestComprehensiveTranslations/zh-TW/difficulty === RUN TestComprehensiveTranslations/zh-TW/dronebl_entry === RUN TestComprehensiveTranslations/zh-TW/failed_to_sign_jwt === RUN TestComprehensiveTranslations/zh-TW/go_home === RUN TestComprehensiveTranslations/zh-TW/hack_purpose === RUN TestComprehensiveTranslations/zh-TW/internal_server_error === RUN TestComprehensiveTranslations/zh-TW/invalid_invocation === RUN TestComprehensiveTranslations/zh-TW/invalid_redirect === RUN TestComprehensiveTranslations/zh-TW/iters === RUN TestComprehensiveTranslations/zh-TW/iters_a === RUN TestComprehensiveTranslations/zh-TW/iters_b === RUN TestComprehensiveTranslations/zh-TW/javascript_required === RUN TestComprehensiveTranslations/zh-TW/js_calculating === RUN TestComprehensiveTranslations/zh-TW/js_calculating_difficulty === RUN TestComprehensiveTranslations/zh-TW/js_calculation_error === RUN TestComprehensiveTranslations/zh-TW/js_calculation_error_msg === RUN TestComprehensiveTranslations/zh-TW/js_challenge_error === RUN TestComprehensiveTranslations/zh-TW/js_challenge_error_msg === RUN TestComprehensiveTranslations/zh-TW/js_context_not_secure === RUN TestComprehensiveTranslations/zh-TW/js_context_not_secure_msg === RUN TestComprehensiveTranslations/zh-TW/js_cookies_error === RUN TestComprehensiveTranslations/zh-TW/js_done_took === RUN TestComprehensiveTranslations/zh-TW/js_finished_reading === RUN TestComprehensiveTranslations/zh-TW/js_iterations === RUN TestComprehensiveTranslations/zh-TW/js_missing_feature === RUN TestComprehensiveTranslations/zh-TW/js_speed === RUN TestComprehensiveTranslations/zh-TW/js_success === RUN TestComprehensiveTranslations/zh-TW/js_verification_longer === RUN TestComprehensiveTranslations/zh-TW/js_web_crypto_error === RUN TestComprehensiveTranslations/zh-TW/js_web_workers_error === RUN TestComprehensiveTranslations/zh-TW/jshelter_note === RUN TestComprehensiveTranslations/zh-TW/loading === RUN TestComprehensiveTranslations/zh-TW/made_with === RUN TestComprehensiveTranslations/zh-TW/making_sure_not_bot === RUN TestComprehensiveTranslations/zh-TW/mascot_design === RUN TestComprehensiveTranslations/zh-TW/oh_noes === RUN TestComprehensiveTranslations/zh-TW/protected_by === RUN TestComprehensiveTranslations/zh-TW/protected_from === RUN TestComprehensiveTranslations/zh-TW/redirect_domain_not_allowed === RUN TestComprehensiveTranslations/zh-TW/redirect_not_parseable === RUN TestComprehensiveTranslations/zh-TW/see_dronebl_lookup === RUN TestComprehensiveTranslations/zh-TW/static_check_endpoint === RUN TestComprehensiveTranslations/zh-TW/time === RUN TestComprehensiveTranslations/zh-TW/time_a === RUN TestComprehensiveTranslations/zh-TW/time_b === RUN TestComprehensiveTranslations/zh-TW/try_again === RUN TestComprehensiveTranslations/zh-TW/version_info === RUN TestComprehensiveTranslations/zh-TW/why_am_i_seeing === RUN TestComprehensiveTranslations/zh-TW/you_are_not_a_bot --- PASS: TestComprehensiveTranslations (0.20s) --- PASS: TestComprehensiveTranslations/cs (0.01s) --- PASS: TestComprehensiveTranslations/cs/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/cs/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/cs/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/cs/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/cs/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/cs/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/cs/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/cs/celphase (0.00s) --- PASS: TestComprehensiveTranslations/cs/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/cs/compare (0.00s) --- PASS: TestComprehensiveTranslations/cs/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/cs/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/cs/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/cs/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/cs/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/cs/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/cs/go_home (0.00s) --- PASS: TestComprehensiveTranslations/cs/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/cs/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/cs/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/cs/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/cs/iters (0.00s) --- PASS: TestComprehensiveTranslations/cs/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/cs/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/cs/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_success (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/cs/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/cs/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/cs/loading (0.00s) --- PASS: TestComprehensiveTranslations/cs/made_with (0.00s) --- PASS: TestComprehensiveTranslations/cs/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/cs/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/cs/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/cs/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/cs/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/cs/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/cs/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/cs/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/cs/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/cs/time (0.00s) --- PASS: TestComprehensiveTranslations/cs/time_a (0.00s) --- PASS: TestComprehensiveTranslations/cs/time_b (0.00s) --- PASS: TestComprehensiveTranslations/cs/try_again (0.00s) --- PASS: TestComprehensiveTranslations/cs/version_info (0.00s) --- PASS: TestComprehensiveTranslations/cs/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/cs/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/de (0.01s) --- PASS: TestComprehensiveTranslations/de/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/de/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/de/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/de/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/de/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/de/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/de/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/de/celphase (0.00s) --- PASS: TestComprehensiveTranslations/de/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/de/compare (0.00s) --- PASS: TestComprehensiveTranslations/de/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/de/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/de/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/de/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/de/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/de/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/de/go_home (0.00s) --- PASS: TestComprehensiveTranslations/de/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/de/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/de/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/de/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/de/iters (0.00s) --- PASS: TestComprehensiveTranslations/de/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/de/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/de/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/de/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/de/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/de/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/de/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/de/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/de/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/de/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/de/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/de/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/de/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/de/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/de/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/de/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/de/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/de/js_success (0.00s) --- PASS: TestComprehensiveTranslations/de/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/de/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/de/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/de/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/de/loading (0.00s) --- PASS: TestComprehensiveTranslations/de/made_with (0.00s) --- PASS: TestComprehensiveTranslations/de/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/de/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/de/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/de/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/de/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/de/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/de/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/de/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/de/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/de/time (0.00s) --- PASS: TestComprehensiveTranslations/de/time_a (0.00s) --- PASS: TestComprehensiveTranslations/de/time_b (0.00s) --- PASS: TestComprehensiveTranslations/de/try_again (0.00s) --- PASS: TestComprehensiveTranslations/de/version_info (0.00s) --- PASS: TestComprehensiveTranslations/de/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/de/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/en (0.01s) --- PASS: TestComprehensiveTranslations/en/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/en/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/en/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/en/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/en/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/en/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/en/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/en/celphase (0.00s) --- PASS: TestComprehensiveTranslations/en/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/en/compare (0.00s) --- PASS: TestComprehensiveTranslations/en/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/en/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/en/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/en/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/en/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/en/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/en/go_home (0.00s) --- PASS: TestComprehensiveTranslations/en/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/en/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/en/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/en/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/en/iters (0.00s) --- PASS: TestComprehensiveTranslations/en/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/en/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/en/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/en/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/en/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/en/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/en/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/en/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/en/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/en/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/en/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/en/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/en/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/en/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/en/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/en/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/en/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/en/js_success (0.00s) --- PASS: TestComprehensiveTranslations/en/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/en/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/en/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/en/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/en/loading (0.00s) --- PASS: TestComprehensiveTranslations/en/made_with (0.00s) --- PASS: TestComprehensiveTranslations/en/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/en/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/en/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/en/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/en/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/en/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/en/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/en/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/en/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/en/time (0.00s) --- PASS: TestComprehensiveTranslations/en/time_a (0.00s) --- PASS: TestComprehensiveTranslations/en/time_b (0.00s) --- PASS: TestComprehensiveTranslations/en/try_again (0.00s) --- PASS: TestComprehensiveTranslations/en/version_info (0.00s) --- PASS: TestComprehensiveTranslations/en/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/en/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/es (0.01s) --- PASS: TestComprehensiveTranslations/es/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/es/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/es/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/es/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/es/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/es/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/es/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/es/celphase (0.00s) --- PASS: TestComprehensiveTranslations/es/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/es/compare (0.00s) --- PASS: TestComprehensiveTranslations/es/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/es/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/es/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/es/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/es/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/es/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/es/go_home (0.00s) --- PASS: TestComprehensiveTranslations/es/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/es/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/es/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/es/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/es/iters (0.00s) --- PASS: TestComprehensiveTranslations/es/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/es/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/es/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/es/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/es/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/es/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/es/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/es/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/es/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/es/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/es/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/es/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/es/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/es/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/es/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/es/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/es/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/es/js_success (0.00s) --- PASS: TestComprehensiveTranslations/es/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/es/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/es/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/es/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/es/loading (0.00s) --- PASS: TestComprehensiveTranslations/es/made_with (0.00s) --- PASS: TestComprehensiveTranslations/es/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/es/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/es/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/es/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/es/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/es/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/es/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/es/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/es/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/es/time (0.00s) --- PASS: TestComprehensiveTranslations/es/time_a (0.00s) --- PASS: TestComprehensiveTranslations/es/time_b (0.00s) --- PASS: TestComprehensiveTranslations/es/try_again (0.00s) --- PASS: TestComprehensiveTranslations/es/version_info (0.00s) --- PASS: TestComprehensiveTranslations/es/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/es/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/et (0.01s) --- PASS: TestComprehensiveTranslations/et/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/et/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/et/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/et/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/et/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/et/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/et/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/et/celphase (0.00s) --- PASS: TestComprehensiveTranslations/et/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/et/compare (0.00s) --- PASS: TestComprehensiveTranslations/et/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/et/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/et/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/et/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/et/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/et/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/et/go_home (0.00s) --- PASS: TestComprehensiveTranslations/et/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/et/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/et/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/et/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/et/iters (0.00s) --- PASS: TestComprehensiveTranslations/et/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/et/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/et/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/et/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/et/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/et/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/et/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/et/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/et/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/et/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/et/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/et/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/et/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/et/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/et/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/et/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/et/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/et/js_success (0.00s) --- PASS: TestComprehensiveTranslations/et/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/et/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/et/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/et/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/et/loading (0.00s) --- PASS: TestComprehensiveTranslations/et/made_with (0.00s) --- PASS: TestComprehensiveTranslations/et/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/et/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/et/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/et/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/et/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/et/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/et/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/et/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/et/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/et/time (0.00s) --- PASS: TestComprehensiveTranslations/et/time_a (0.00s) --- PASS: TestComprehensiveTranslations/et/time_b (0.00s) --- PASS: TestComprehensiveTranslations/et/try_again (0.00s) --- PASS: TestComprehensiveTranslations/et/version_info (0.00s) --- PASS: TestComprehensiveTranslations/et/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/et/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/fi (0.01s) --- PASS: TestComprehensiveTranslations/fi/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/fi/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/fi/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/fi/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/fi/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/fi/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/fi/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/fi/celphase (0.00s) --- PASS: TestComprehensiveTranslations/fi/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/fi/compare (0.00s) --- PASS: TestComprehensiveTranslations/fi/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/fi/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/fi/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/fi/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/fi/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/fi/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/fi/go_home (0.00s) --- PASS: TestComprehensiveTranslations/fi/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/fi/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/fi/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/fi/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/fi/iters (0.00s) --- PASS: TestComprehensiveTranslations/fi/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/fi/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/fi/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_success (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/fi/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/fi/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/fi/loading (0.00s) --- PASS: TestComprehensiveTranslations/fi/made_with (0.00s) --- PASS: TestComprehensiveTranslations/fi/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/fi/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/fi/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/fi/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/fi/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/fi/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/fi/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/fi/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/fi/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/fi/time (0.00s) --- PASS: TestComprehensiveTranslations/fi/time_a (0.00s) --- PASS: TestComprehensiveTranslations/fi/time_b (0.00s) --- PASS: TestComprehensiveTranslations/fi/try_again (0.00s) --- PASS: TestComprehensiveTranslations/fi/version_info (0.00s) --- PASS: TestComprehensiveTranslations/fi/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/fi/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/fil (0.01s) --- PASS: TestComprehensiveTranslations/fil/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/fil/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/fil/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/fil/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/fil/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/fil/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/fil/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/fil/celphase (0.00s) --- PASS: TestComprehensiveTranslations/fil/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/fil/compare (0.00s) --- PASS: TestComprehensiveTranslations/fil/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/fil/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/fil/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/fil/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/fil/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/fil/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/fil/go_home (0.00s) --- PASS: TestComprehensiveTranslations/fil/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/fil/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/fil/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/fil/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/fil/iters (0.00s) --- PASS: TestComprehensiveTranslations/fil/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/fil/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/fil/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_success (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/fil/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/fil/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/fil/loading (0.00s) --- PASS: TestComprehensiveTranslations/fil/made_with (0.00s) --- PASS: TestComprehensiveTranslations/fil/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/fil/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/fil/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/fil/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/fil/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/fil/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/fil/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/fil/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/fil/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/fil/time (0.00s) --- PASS: TestComprehensiveTranslations/fil/time_a (0.00s) --- PASS: TestComprehensiveTranslations/fil/time_b (0.00s) --- PASS: TestComprehensiveTranslations/fil/try_again (0.00s) --- PASS: TestComprehensiveTranslations/fil/version_info (0.00s) --- PASS: TestComprehensiveTranslations/fil/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/fil/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/fr (0.01s) --- PASS: TestComprehensiveTranslations/fr/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/fr/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/fr/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/fr/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/fr/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/fr/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/fr/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/fr/celphase (0.00s) --- PASS: TestComprehensiveTranslations/fr/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/fr/compare (0.00s) --- PASS: TestComprehensiveTranslations/fr/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/fr/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/fr/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/fr/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/fr/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/fr/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/fr/go_home (0.00s) --- PASS: TestComprehensiveTranslations/fr/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/fr/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/fr/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/fr/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/fr/iters (0.00s) --- PASS: TestComprehensiveTranslations/fr/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/fr/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/fr/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_success (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/fr/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/fr/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/fr/loading (0.00s) --- PASS: TestComprehensiveTranslations/fr/made_with (0.00s) --- PASS: TestComprehensiveTranslations/fr/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/fr/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/fr/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/fr/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/fr/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/fr/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/fr/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/fr/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/fr/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/fr/time (0.00s) --- PASS: TestComprehensiveTranslations/fr/time_a (0.00s) --- PASS: TestComprehensiveTranslations/fr/time_b (0.00s) --- PASS: TestComprehensiveTranslations/fr/try_again (0.00s) --- PASS: TestComprehensiveTranslations/fr/version_info (0.00s) --- PASS: TestComprehensiveTranslations/fr/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/fr/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/is (0.01s) --- PASS: TestComprehensiveTranslations/is/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/is/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/is/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/is/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/is/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/is/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/is/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/is/celphase (0.00s) --- PASS: TestComprehensiveTranslations/is/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/is/compare (0.00s) --- PASS: TestComprehensiveTranslations/is/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/is/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/is/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/is/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/is/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/is/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/is/go_home (0.00s) --- PASS: TestComprehensiveTranslations/is/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/is/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/is/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/is/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/is/iters (0.00s) --- PASS: TestComprehensiveTranslations/is/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/is/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/is/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/is/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/is/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/is/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/is/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/is/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/is/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/is/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/is/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/is/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/is/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/is/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/is/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/is/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/is/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/is/js_success (0.00s) --- PASS: TestComprehensiveTranslations/is/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/is/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/is/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/is/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/is/loading (0.00s) --- PASS: TestComprehensiveTranslations/is/made_with (0.00s) --- PASS: TestComprehensiveTranslations/is/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/is/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/is/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/is/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/is/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/is/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/is/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/is/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/is/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/is/time (0.00s) --- PASS: TestComprehensiveTranslations/is/time_a (0.00s) --- PASS: TestComprehensiveTranslations/is/time_b (0.00s) --- PASS: TestComprehensiveTranslations/is/try_again (0.00s) --- PASS: TestComprehensiveTranslations/is/version_info (0.00s) --- PASS: TestComprehensiveTranslations/is/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/is/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/it (0.01s) --- PASS: TestComprehensiveTranslations/it/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/it/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/it/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/it/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/it/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/it/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/it/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/it/celphase (0.00s) --- PASS: TestComprehensiveTranslations/it/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/it/compare (0.00s) --- PASS: TestComprehensiveTranslations/it/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/it/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/it/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/it/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/it/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/it/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/it/go_home (0.00s) --- PASS: TestComprehensiveTranslations/it/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/it/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/it/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/it/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/it/iters (0.00s) --- PASS: TestComprehensiveTranslations/it/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/it/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/it/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/it/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/it/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/it/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/it/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/it/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/it/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/it/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/it/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/it/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/it/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/it/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/it/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/it/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/it/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/it/js_success (0.00s) --- PASS: TestComprehensiveTranslations/it/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/it/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/it/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/it/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/it/loading (0.00s) --- PASS: TestComprehensiveTranslations/it/made_with (0.00s) --- PASS: TestComprehensiveTranslations/it/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/it/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/it/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/it/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/it/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/it/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/it/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/it/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/it/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/it/time (0.00s) --- PASS: TestComprehensiveTranslations/it/time_a (0.00s) --- PASS: TestComprehensiveTranslations/it/time_b (0.00s) --- PASS: TestComprehensiveTranslations/it/try_again (0.00s) --- PASS: TestComprehensiveTranslations/it/version_info (0.00s) --- PASS: TestComprehensiveTranslations/it/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/it/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/ja (0.01s) --- PASS: TestComprehensiveTranslations/ja/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/ja/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/ja/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/ja/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/ja/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/ja/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/ja/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/ja/celphase (0.00s) --- PASS: TestComprehensiveTranslations/ja/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/ja/compare (0.00s) --- PASS: TestComprehensiveTranslations/ja/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/ja/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/ja/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/ja/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/ja/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/ja/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/ja/go_home (0.00s) --- PASS: TestComprehensiveTranslations/ja/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/ja/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/ja/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/ja/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/ja/iters (0.00s) --- PASS: TestComprehensiveTranslations/ja/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/ja/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/ja/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_success (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/ja/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/ja/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/ja/loading (0.00s) --- PASS: TestComprehensiveTranslations/ja/made_with (0.00s) --- PASS: TestComprehensiveTranslations/ja/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/ja/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/ja/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/ja/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/ja/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/ja/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/ja/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/ja/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/ja/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/ja/time (0.00s) --- PASS: TestComprehensiveTranslations/ja/time_a (0.00s) --- PASS: TestComprehensiveTranslations/ja/time_b (0.00s) --- PASS: TestComprehensiveTranslations/ja/try_again (0.00s) --- PASS: TestComprehensiveTranslations/ja/version_info (0.00s) --- PASS: TestComprehensiveTranslations/ja/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/ja/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/nb (0.01s) --- PASS: TestComprehensiveTranslations/nb/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/nb/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/nb/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/nb/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/nb/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/nb/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/nb/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/nb/celphase (0.00s) --- PASS: TestComprehensiveTranslations/nb/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/nb/compare (0.00s) --- PASS: TestComprehensiveTranslations/nb/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/nb/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/nb/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/nb/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/nb/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/nb/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/nb/go_home (0.00s) --- PASS: TestComprehensiveTranslations/nb/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/nb/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/nb/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/nb/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/nb/iters (0.00s) --- PASS: TestComprehensiveTranslations/nb/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/nb/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/nb/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_success (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/nb/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/nb/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/nb/loading (0.00s) --- PASS: TestComprehensiveTranslations/nb/made_with (0.00s) --- PASS: TestComprehensiveTranslations/nb/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/nb/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/nb/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/nb/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/nb/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/nb/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/nb/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/nb/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/nb/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/nb/time (0.00s) --- PASS: TestComprehensiveTranslations/nb/time_a (0.00s) --- PASS: TestComprehensiveTranslations/nb/time_b (0.00s) --- PASS: TestComprehensiveTranslations/nb/try_again (0.00s) --- PASS: TestComprehensiveTranslations/nb/version_info (0.00s) --- PASS: TestComprehensiveTranslations/nb/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/nb/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/nn (0.01s) --- PASS: TestComprehensiveTranslations/nn/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/nn/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/nn/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/nn/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/nn/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/nn/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/nn/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/nn/celphase (0.00s) --- PASS: TestComprehensiveTranslations/nn/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/nn/compare (0.00s) --- PASS: TestComprehensiveTranslations/nn/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/nn/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/nn/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/nn/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/nn/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/nn/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/nn/go_home (0.00s) --- PASS: TestComprehensiveTranslations/nn/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/nn/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/nn/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/nn/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/nn/iters (0.00s) --- PASS: TestComprehensiveTranslations/nn/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/nn/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/nn/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_success (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/nn/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/nn/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/nn/loading (0.00s) --- PASS: TestComprehensiveTranslations/nn/made_with (0.00s) --- PASS: TestComprehensiveTranslations/nn/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/nn/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/nn/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/nn/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/nn/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/nn/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/nn/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/nn/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/nn/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/nn/time (0.00s) --- PASS: TestComprehensiveTranslations/nn/time_a (0.00s) --- PASS: TestComprehensiveTranslations/nn/time_b (0.00s) --- PASS: TestComprehensiveTranslations/nn/try_again (0.00s) --- PASS: TestComprehensiveTranslations/nn/version_info (0.00s) --- PASS: TestComprehensiveTranslations/nn/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/nn/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR (0.01s) --- PASS: TestComprehensiveTranslations/pt-BR/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/celphase (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/compare (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/go_home (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/iters (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_success (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/loading (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/made_with (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/time (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/time_a (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/time_b (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/try_again (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/version_info (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/pt-BR/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/ru (0.01s) --- PASS: TestComprehensiveTranslations/ru/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/ru/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/ru/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/ru/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/ru/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/ru/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/ru/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/ru/celphase (0.00s) --- PASS: TestComprehensiveTranslations/ru/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/ru/compare (0.00s) --- PASS: TestComprehensiveTranslations/ru/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/ru/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/ru/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/ru/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/ru/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/ru/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/ru/go_home (0.00s) --- PASS: TestComprehensiveTranslations/ru/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/ru/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/ru/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/ru/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/ru/iters (0.00s) --- PASS: TestComprehensiveTranslations/ru/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/ru/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/ru/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_success (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/ru/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/ru/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/ru/loading (0.00s) --- PASS: TestComprehensiveTranslations/ru/made_with (0.00s) --- PASS: TestComprehensiveTranslations/ru/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/ru/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/ru/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/ru/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/ru/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/ru/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/ru/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/ru/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/ru/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/ru/time (0.00s) --- PASS: TestComprehensiveTranslations/ru/time_a (0.00s) --- PASS: TestComprehensiveTranslations/ru/time_b (0.00s) --- PASS: TestComprehensiveTranslations/ru/try_again (0.00s) --- PASS: TestComprehensiveTranslations/ru/version_info (0.00s) --- PASS: TestComprehensiveTranslations/ru/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/ru/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/tr (0.01s) --- PASS: TestComprehensiveTranslations/tr/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/tr/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/tr/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/tr/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/tr/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/tr/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/tr/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/tr/celphase (0.00s) --- PASS: TestComprehensiveTranslations/tr/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/tr/compare (0.00s) --- PASS: TestComprehensiveTranslations/tr/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/tr/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/tr/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/tr/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/tr/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/tr/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/tr/go_home (0.00s) --- PASS: TestComprehensiveTranslations/tr/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/tr/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/tr/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/tr/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/tr/iters (0.00s) --- PASS: TestComprehensiveTranslations/tr/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/tr/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/tr/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_success (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/tr/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/tr/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/tr/loading (0.00s) --- PASS: TestComprehensiveTranslations/tr/made_with (0.00s) --- PASS: TestComprehensiveTranslations/tr/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/tr/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/tr/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/tr/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/tr/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/tr/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/tr/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/tr/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/tr/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/tr/time (0.00s) --- PASS: TestComprehensiveTranslations/tr/time_a (0.00s) --- PASS: TestComprehensiveTranslations/tr/time_b (0.00s) --- PASS: TestComprehensiveTranslations/tr/try_again (0.00s) --- PASS: TestComprehensiveTranslations/tr/version_info (0.00s) --- PASS: TestComprehensiveTranslations/tr/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/tr/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN (0.01s) --- PASS: TestComprehensiveTranslations/zh-CN/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/celphase (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/compare (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/go_home (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/iters (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_success (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/loading (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/made_with (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/time (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/time_a (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/time_b (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/try_again (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/version_info (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/zh-CN/you_are_not_a_bot (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW (0.01s) --- PASS: TestComprehensiveTranslations/zh-TW/access_denied (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/ai_companies_explanation (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/algorithm (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/anubis_compromise (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/authorization_required (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/benchmark_requires_js (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/benchmarking_anubis (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/celphase (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/client_error_browser (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/compare (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/connection_security (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/contact_webmaster (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/cookies_disabled (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/difficulty (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/dronebl_entry (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/failed_to_sign_jwt (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/go_home (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/hack_purpose (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/internal_server_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/invalid_invocation (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/invalid_redirect (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/iters (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/iters_a (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/iters_b (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/javascript_required (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_calculating (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_calculating_difficulty (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_calculation_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_calculation_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_challenge_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_challenge_error_msg (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_context_not_secure (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_context_not_secure_msg (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_cookies_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_done_took (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_finished_reading (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_iterations (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_missing_feature (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_speed (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_success (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_verification_longer (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_web_crypto_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/js_web_workers_error (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/jshelter_note (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/loading (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/made_with (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/making_sure_not_bot (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/mascot_design (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/oh_noes (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/protected_by (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/protected_from (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/redirect_domain_not_allowed (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/redirect_not_parseable (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/see_dronebl_lookup (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/static_check_endpoint (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/time (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/time_a (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/time_b (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/try_again (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/version_info (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/why_am_i_seeing (0.00s) --- PASS: TestComprehensiveTranslations/zh-TW/you_are_not_a_bot (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/localization 0.556s === RUN TestRemoteAddrChecker === RUN TestRemoteAddrChecker/match_ipv4 === RUN TestRemoteAddrChecker/match_ipv6 === RUN TestRemoteAddrChecker/not_match_ipv4 === RUN TestRemoteAddrChecker/not_match_ipv6 === RUN TestRemoteAddrChecker/no_ip_set === RUN TestRemoteAddrChecker/invalid_ip --- PASS: TestRemoteAddrChecker (0.00s) --- PASS: TestRemoteAddrChecker/match_ipv4 (0.00s) --- PASS: TestRemoteAddrChecker/match_ipv6 (0.00s) --- PASS: TestRemoteAddrChecker/not_match_ipv4 (0.00s) --- PASS: TestRemoteAddrChecker/not_match_ipv6 (0.00s) --- PASS: TestRemoteAddrChecker/no_ip_set (0.00s) --- PASS: TestRemoteAddrChecker/invalid_ip (0.00s) === RUN TestHeaderMatchesChecker === RUN TestHeaderMatchesChecker/match === RUN TestHeaderMatchesChecker/not_match === RUN TestHeaderMatchesChecker/not_present === RUN TestHeaderMatchesChecker/invalid_regex --- PASS: TestHeaderMatchesChecker (0.00s) --- PASS: TestHeaderMatchesChecker/match (0.00s) --- PASS: TestHeaderMatchesChecker/not_match (0.00s) --- PASS: TestHeaderMatchesChecker/not_present (0.00s) --- PASS: TestHeaderMatchesChecker/invalid_regex (0.00s) === RUN TestHeaderExistsChecker === RUN TestHeaderExistsChecker/match === RUN TestHeaderExistsChecker/not_match --- PASS: TestHeaderExistsChecker (0.00s) --- PASS: TestHeaderExistsChecker/match (0.00s) --- PASS: TestHeaderExistsChecker/not_match (0.00s) === RUN TestDefaultPolicyMustParse --- PASS: TestDefaultPolicyMustParse (0.12s) === RUN TestGoodConfigs === RUN TestGoodConfigs/allow_everyone.json === RUN TestGoodConfigs/allow_everyone.json/with-thoth === RUN TestGoodConfigs/allow_everyone.json/without-thoth === RUN TestGoodConfigs/allow_everyone.yaml === RUN TestGoodConfigs/allow_everyone.yaml/with-thoth === RUN TestGoodConfigs/allow_everyone.yaml/without-thoth === RUN TestGoodConfigs/block_cf_workers.json === RUN TestGoodConfigs/block_cf_workers.json/with-thoth === RUN TestGoodConfigs/block_cf_workers.json/without-thoth === RUN TestGoodConfigs/block_cf_workers.yaml === RUN TestGoodConfigs/block_cf_workers.yaml/with-thoth === RUN TestGoodConfigs/block_cf_workers.yaml/without-thoth === RUN TestGoodConfigs/challenge_cloudflare.yaml === RUN TestGoodConfigs/challenge_cloudflare.yaml/with-thoth === RUN TestGoodConfigs/challenge_cloudflare.yaml/without-thoth 2025/08/10 13:13:58 WARN You have specified a Thoth specific check but you have no Thoth client configured. Please read https://anubis.techaro.lol/docs/admin/thoth for more information check=asn settings=&{Match:[13335]} === RUN TestGoodConfigs/challengemozilla.json === RUN TestGoodConfigs/challengemozilla.json/with-thoth === RUN TestGoodConfigs/challengemozilla.json/without-thoth === RUN TestGoodConfigs/challengemozilla.yaml === RUN TestGoodConfigs/challengemozilla.yaml/with-thoth === RUN TestGoodConfigs/challengemozilla.yaml/without-thoth === RUN TestGoodConfigs/entropy.yaml === RUN TestGoodConfigs/entropy.yaml/with-thoth === RUN TestGoodConfigs/entropy.yaml/without-thoth === RUN TestGoodConfigs/everything_blocked.json === RUN TestGoodConfigs/everything_blocked.json/with-thoth === RUN TestGoodConfigs/everything_blocked.json/without-thoth === RUN TestGoodConfigs/everything_blocked.yaml === RUN TestGoodConfigs/everything_blocked.yaml/with-thoth === RUN TestGoodConfigs/everything_blocked.yaml/without-thoth === RUN TestGoodConfigs/geoip_us.yaml === RUN TestGoodConfigs/geoip_us.yaml/with-thoth === RUN TestGoodConfigs/geoip_us.yaml/without-thoth 2025/08/10 13:13:58 WARN You have specified a Thoth specific check but you have no Thoth client configured. Please read https://anubis.techaro.lol/docs/admin/thoth for more information check=geoip settings=&{Countries:[US]} === RUN TestGoodConfigs/git_client.json === RUN TestGoodConfigs/git_client.json/with-thoth === RUN TestGoodConfigs/git_client.json/without-thoth === RUN TestGoodConfigs/git_client.yaml === RUN TestGoodConfigs/git_client.yaml/with-thoth === RUN TestGoodConfigs/git_client.yaml/without-thoth === RUN TestGoodConfigs/import_filesystem.json === RUN TestGoodConfigs/import_filesystem.json/with-thoth === RUN TestGoodConfigs/import_filesystem.json/without-thoth === RUN TestGoodConfigs/import_filesystem.yaml === RUN TestGoodConfigs/import_filesystem.yaml/with-thoth === RUN TestGoodConfigs/import_filesystem.yaml/without-thoth === RUN TestGoodConfigs/import_keep_internet_working.json === RUN TestGoodConfigs/import_keep_internet_working.json/with-thoth === RUN TestGoodConfigs/import_keep_internet_working.json/without-thoth === RUN TestGoodConfigs/import_keep_internet_working.yaml === RUN TestGoodConfigs/import_keep_internet_working.yaml/with-thoth === RUN TestGoodConfigs/import_keep_internet_working.yaml/without-thoth === RUN TestGoodConfigs/impressum.yaml === RUN TestGoodConfigs/impressum.yaml/with-thoth === RUN TestGoodConfigs/impressum.yaml/without-thoth === RUN TestGoodConfigs/no-thresholds.yaml === RUN TestGoodConfigs/no-thresholds.yaml/with-thoth === RUN TestGoodConfigs/no-thresholds.yaml/without-thoth === RUN TestGoodConfigs/old_xesite.json === RUN TestGoodConfigs/old_xesite.json/with-thoth === RUN TestGoodConfigs/old_xesite.json/without-thoth === RUN TestGoodConfigs/opengraph_all_good.yaml === RUN TestGoodConfigs/opengraph_all_good.yaml/with-thoth === RUN TestGoodConfigs/opengraph_all_good.yaml/without-thoth === RUN TestGoodConfigs/simple-weight.yaml === RUN TestGoodConfigs/simple-weight.yaml/with-thoth === RUN TestGoodConfigs/simple-weight.yaml/without-thoth === RUN TestGoodConfigs/status-codes-paranoid.json === RUN TestGoodConfigs/status-codes-paranoid.json/with-thoth === RUN TestGoodConfigs/status-codes-paranoid.json/without-thoth === RUN TestGoodConfigs/status-codes-paranoid.yaml === RUN TestGoodConfigs/status-codes-paranoid.yaml/with-thoth === RUN TestGoodConfigs/status-codes-paranoid.yaml/without-thoth === RUN TestGoodConfigs/status-codes-rfc.json === RUN TestGoodConfigs/status-codes-rfc.json/with-thoth === RUN TestGoodConfigs/status-codes-rfc.json/without-thoth === RUN TestGoodConfigs/status-codes-rfc.yaml === RUN TestGoodConfigs/status-codes-rfc.yaml/with-thoth === RUN TestGoodConfigs/status-codes-rfc.yaml/without-thoth === RUN TestGoodConfigs/thresholds.yaml === RUN TestGoodConfigs/thresholds.yaml/with-thoth === RUN TestGoodConfigs/thresholds.yaml/without-thoth === RUN TestGoodConfigs/weight-no-weight.yaml === RUN TestGoodConfigs/weight-no-weight.yaml/with-thoth === RUN TestGoodConfigs/weight-no-weight.yaml/without-thoth --- PASS: TestGoodConfigs (0.17s) --- PASS: TestGoodConfigs/allow_everyone.json (0.00s) --- PASS: TestGoodConfigs/allow_everyone.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/allow_everyone.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/allow_everyone.yaml (0.01s) --- PASS: TestGoodConfigs/allow_everyone.yaml/with-thoth (0.01s) --- PASS: TestGoodConfigs/allow_everyone.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.json (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.yaml (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/block_cf_workers.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/challenge_cloudflare.yaml (0.00s) --- PASS: TestGoodConfigs/challenge_cloudflare.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/challenge_cloudflare.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/challengemozilla.json (0.00s) --- PASS: TestGoodConfigs/challengemozilla.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/challengemozilla.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/challengemozilla.yaml (0.00s) --- PASS: TestGoodConfigs/challengemozilla.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/challengemozilla.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/entropy.yaml (0.01s) --- PASS: TestGoodConfigs/entropy.yaml/with-thoth (0.01s) --- PASS: TestGoodConfigs/entropy.yaml/without-thoth (0.01s) --- PASS: TestGoodConfigs/everything_blocked.json (0.00s) --- PASS: TestGoodConfigs/everything_blocked.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/everything_blocked.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/everything_blocked.yaml (0.00s) --- PASS: TestGoodConfigs/everything_blocked.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/everything_blocked.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/geoip_us.yaml (0.00s) --- PASS: TestGoodConfigs/geoip_us.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/geoip_us.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.json (0.01s) --- PASS: TestGoodConfigs/git_client.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.yaml (0.01s) --- PASS: TestGoodConfigs/git_client.yaml/with-thoth (0.01s) --- PASS: TestGoodConfigs/git_client.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/import_filesystem.json (0.00s) --- PASS: TestGoodConfigs/import_filesystem.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/import_filesystem.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/import_filesystem.yaml (0.00s) --- PASS: TestGoodConfigs/import_filesystem.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/import_filesystem.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/import_keep_internet_working.json (0.01s) --- PASS: TestGoodConfigs/import_keep_internet_working.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/import_keep_internet_working.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/import_keep_internet_working.yaml (0.01s) --- PASS: TestGoodConfigs/import_keep_internet_working.yaml/with-thoth (0.01s) --- PASS: TestGoodConfigs/import_keep_internet_working.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/impressum.yaml (0.00s) --- PASS: TestGoodConfigs/impressum.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/impressum.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/no-thresholds.yaml (0.00s) --- PASS: TestGoodConfigs/no-thresholds.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/no-thresholds.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/old_xesite.json (0.01s) --- PASS: TestGoodConfigs/old_xesite.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/old_xesite.json/without-thoth (0.01s) --- PASS: TestGoodConfigs/opengraph_all_good.yaml (0.00s) --- PASS: TestGoodConfigs/opengraph_all_good.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/opengraph_all_good.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/simple-weight.yaml (0.00s) --- PASS: TestGoodConfigs/simple-weight.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/simple-weight.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.json (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.yaml (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-paranoid.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.json (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.yaml (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/status-codes-rfc.yaml/without-thoth (0.00s) --- PASS: TestGoodConfigs/thresholds.yaml (0.02s) --- PASS: TestGoodConfigs/thresholds.yaml/with-thoth (0.01s) --- PASS: TestGoodConfigs/thresholds.yaml/without-thoth (0.01s) --- PASS: TestGoodConfigs/weight-no-weight.yaml (0.00s) --- PASS: TestGoodConfigs/weight-no-weight.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/weight-no-weight.yaml/without-thoth (0.00s) === RUN TestBadConfigs === RUN TestBadConfigs/badregexes.json policy_test.go:85: config is not valid: bot 0: config: bot entry for "path-bad" is not valid: config.Bot: invalid path regex error parsing regexp: missing closing ): `a(b` bot 1: config: bot entry for "user-agent-bad" is not valid: config.Bot: invalid user agent regex error parsing regexp: missing closing ): `a(b` bot 2: config: bot entry for "headers-bad" is not valid: config.Bot: must set either user_agent_regex, path_regex, headers_regex, or remote_addresses === RUN TestBadConfigs/badregexes.yaml policy_test.go:85: config is not valid: bot 0: config: bot entry for "path-bad" is not valid: config.Bot: invalid path regex error parsing regexp: missing closing ): `a(b` bot 1: config: bot entry for "user-agent-bad" is not valid: config.Bot: invalid user agent regex error parsing regexp: missing closing ): `a(b` === RUN TestBadConfigs/import_and_bot.json policy_test.go:85: config is not valid: bot 0: config.BotOrImport: can't set bot rules and import values at the same time === RUN TestBadConfigs/import_and_bot.yaml policy_test.go:85: config is not valid: bot 0: config.BotOrImport: can't set bot rules and import values at the same time === RUN TestBadConfigs/import_invalid_file.json policy_test.go:85: config is not valid: bot 0: config.ImportStatement: invalid source file: (data)/does-not-exist-fake-file.yaml: open does-not-exist-fake-file.yaml: file does not exist === RUN TestBadConfigs/import_invalid_file.yaml policy_test.go:85: config is not valid: bot 0: config.ImportStatement: invalid source file: (data)/does-not-exist-fake-file.yaml: open does-not-exist-fake-file.yaml: file does not exist === RUN TestBadConfigs/impressum-no-footer.yaml policy_test.go:85: errors validating policy config config/testdata/bad/impressum-no-footer.yaml: config: missing value: impressum footer must be defined === RUN TestBadConfigs/impressum-no-page-contents.yaml policy_test.go:85: errors validating policy config config/testdata/bad/impressum-no-page-contents.yaml: config: missing value: impressum page title must be defined config: missing value: impressum body title must be defined === RUN TestBadConfigs/invalid.json policy_test.go:85: config is not valid: bot 0: config.BotOrImport: rule definition is invalid, you must set either bot rules or an import statement, not both === RUN TestBadConfigs/invalid.yaml policy_test.go:85: config is not valid: config: must define at least one (1) bot rule === RUN TestBadConfigs/multiple_expression_types.json policy_test.go:85: config is not valid: bot 0: config: bot entry for "multiple-expression-types" is not valid: config: expression block can't contain multiple expression types === RUN TestBadConfigs/multiple_expression_types.yaml policy_test.go:85: config is not valid: bot 0: config: bot entry for "multiple-expression-types" is not valid: config: expression block can't contain multiple expression types === RUN TestBadConfigs/nobots.json policy_test.go:85: config is not valid: config: must define at least one (1) bot rule === RUN TestBadConfigs/nobots.yaml policy_test.go:85: config is not valid: config: must define at least one (1) bot rule === RUN TestBadConfigs/opengraph_bad_ttl.yaml policy_test.go:85: config is not valid: config.OpenGraph: invalid OpenGraph configuration config.OpenGraph: ttl does not parse as a Duration, see https://pkg.go.dev/time#ParseDuration (formatted like 5m -> 5 minutes, 2h -> 2 hours, etc): ParseDuration("taco") returned: time: invalid duration "taco" === RUN TestBadConfigs/regex_ends_newline.json policy_test.go:85: config is not valid: bot 0: config: bot entry for "user-agent-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): user agent regex: "Mozilla\n" bot 1: config: bot entry for "path-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): path regex: "^/evil/.*$\n" bot 2: config: bot entry for "headers-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): header CF-Worker regex: ".*\n" === RUN TestBadConfigs/regex_ends_newline.yaml policy_test.go:85: config is not valid: bot 0: config: bot entry for "user-agent-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): user agent regex: "Mozilla\n" bot 1: config: bot entry for "path-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): path regex: "^/evil/.*$\n" bot 2: config: bot entry for "headers-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): header CF-Worker regex: ".*\n" === RUN TestBadConfigs/status-codes-0.json policy_test.go:85: config is not valid: status codes not valid: config.StatusCode: status code not valid, must be between 100 and 599: challenge is 0 config.StatusCode: status code not valid, must be between 100 and 599: deny is 0 === RUN TestBadConfigs/status-codes-0.yaml policy_test.go:85: config is not valid: status codes not valid: config.StatusCode: status code not valid, must be between 100 and 599: challenge is 0 config.StatusCode: status code not valid, must be between 100 and 599: deny is 0 === RUN TestBadConfigs/threshold-challenge-without-challenge.yaml policy_test.go:85: config is not valid: threshold 0: config: threshold entry for "extreme-suspicion" is not valid: config.Threshold: a threshold cannot have the WEIGH action === RUN TestBadConfigs/thresholds.yaml policy_test.go:85: config is not valid: threshold 0: config: threshold entry for "extreme-suspicion" is not valid: config.Threshold: a threshold cannot have the WEIGH action === RUN TestBadConfigs/unparseable.json policy_test.go:85: can't parse policy config YAML config/testdata/bad/unparseable.json: error converting YAML to JSON: yaml: did not find expected node content === RUN TestBadConfigs/unparseable.yaml policy_test.go:85: can't parse policy config YAML config/testdata/bad/unparseable.yaml: error converting YAML to JSON: yaml: did not find expected node content --- PASS: TestBadConfigs (0.01s) --- PASS: TestBadConfigs/badregexes.json (0.00s) --- PASS: TestBadConfigs/badregexes.yaml (0.00s) --- PASS: TestBadConfigs/import_and_bot.json (0.00s) --- PASS: TestBadConfigs/import_and_bot.yaml (0.00s) --- PASS: TestBadConfigs/import_invalid_file.json (0.00s) --- PASS: TestBadConfigs/import_invalid_file.yaml (0.00s) --- PASS: TestBadConfigs/impressum-no-footer.yaml (0.00s) --- PASS: TestBadConfigs/impressum-no-page-contents.yaml (0.00s) --- PASS: TestBadConfigs/invalid.json (0.00s) --- PASS: TestBadConfigs/invalid.yaml (0.00s) --- PASS: TestBadConfigs/multiple_expression_types.json (0.00s) --- PASS: TestBadConfigs/multiple_expression_types.yaml (0.00s) --- PASS: TestBadConfigs/nobots.json (0.00s) --- PASS: TestBadConfigs/nobots.yaml (0.00s) --- PASS: TestBadConfigs/opengraph_bad_ttl.yaml (0.00s) --- PASS: TestBadConfigs/regex_ends_newline.json (0.00s) --- PASS: TestBadConfigs/regex_ends_newline.yaml (0.00s) --- PASS: TestBadConfigs/status-codes-0.json (0.00s) --- PASS: TestBadConfigs/status-codes-0.yaml (0.00s) --- PASS: TestBadConfigs/threshold-challenge-without-challenge.yaml (0.00s) --- PASS: TestBadConfigs/thresholds.yaml (0.00s) --- PASS: TestBadConfigs/unparseable.json (0.00s) --- PASS: TestBadConfigs/unparseable.yaml (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/policy 1.040s ? github.com/TecharoHQ/anubis/lib/policy/checker [no test files] === RUN TestASNsValid === RUN TestASNsValid/basic_valid === RUN TestASNsValid/private_ASN --- PASS: TestASNsValid (0.00s) --- PASS: TestASNsValid/basic_valid (0.00s) --- PASS: TestASNsValid/private_ASN (0.00s) === RUN TestIsPrivateASN === RUN TestIsPrivateASN/13335->false === RUN TestIsPrivateASN/64513->true === RUN TestIsPrivateASN/4206942069->true --- PASS: TestIsPrivateASN (0.00s) --- PASS: TestIsPrivateASN/13335->false (0.00s) --- PASS: TestIsPrivateASN/64513->true (0.00s) --- PASS: TestIsPrivateASN/4206942069->true (0.00s) === RUN TestExpressionOrListMarshalJSON === RUN TestExpressionOrListMarshalJSON/single_expression === RUN TestExpressionOrListMarshalJSON/all === RUN TestExpressionOrListMarshalJSON/all_one === RUN TestExpressionOrListMarshalJSON/any === RUN TestExpressionOrListMarshalJSON/any_one --- PASS: TestExpressionOrListMarshalJSON (0.00s) --- PASS: TestExpressionOrListMarshalJSON/single_expression (0.00s) --- PASS: TestExpressionOrListMarshalJSON/all (0.00s) --- PASS: TestExpressionOrListMarshalJSON/all_one (0.00s) --- PASS: TestExpressionOrListMarshalJSON/any (0.00s) --- PASS: TestExpressionOrListMarshalJSON/any_one (0.00s) === RUN TestExpressionOrListMarshalYAML === RUN TestExpressionOrListMarshalYAML/single_expression === RUN TestExpressionOrListMarshalYAML/all === RUN TestExpressionOrListMarshalYAML/all_one === RUN TestExpressionOrListMarshalYAML/any === RUN TestExpressionOrListMarshalYAML/any_one --- PASS: TestExpressionOrListMarshalYAML (0.01s) --- PASS: TestExpressionOrListMarshalYAML/single_expression (0.00s) --- PASS: TestExpressionOrListMarshalYAML/all (0.00s) --- PASS: TestExpressionOrListMarshalYAML/all_one (0.00s) --- PASS: TestExpressionOrListMarshalYAML/any (0.00s) --- PASS: TestExpressionOrListMarshalYAML/any_one (0.00s) === RUN TestExpressionOrListUnmarshalJSON === RUN TestExpressionOrListUnmarshalJSON/simple === RUN TestExpressionOrListUnmarshalJSON/object-and === RUN TestExpressionOrListUnmarshalJSON/object-or === RUN TestExpressionOrListUnmarshalJSON/both-or-and === RUN TestExpressionOrListUnmarshalJSON/expression-empty --- PASS: TestExpressionOrListUnmarshalJSON (0.00s) --- PASS: TestExpressionOrListUnmarshalJSON/simple (0.00s) --- PASS: TestExpressionOrListUnmarshalJSON/object-and (0.00s) --- PASS: TestExpressionOrListUnmarshalJSON/object-or (0.00s) --- PASS: TestExpressionOrListUnmarshalJSON/both-or-and (0.00s) --- PASS: TestExpressionOrListUnmarshalJSON/expression-empty (0.00s) === RUN TestExpressionOrListString === RUN TestExpressionOrListString/single_expression === RUN TestExpressionOrListString/all === RUN TestExpressionOrListString/all_with_&& === RUN TestExpressionOrListString/any === RUN TestExpressionOrListString/any_with_|| --- PASS: TestExpressionOrListString (0.00s) --- PASS: TestExpressionOrListString/single_expression (0.00s) --- PASS: TestExpressionOrListString/all (0.00s) --- PASS: TestExpressionOrListString/all_with_&& (0.00s) --- PASS: TestExpressionOrListString/any (0.00s) --- PASS: TestExpressionOrListString/any_with_|| (0.00s) === RUN TestGeoIPValid === RUN TestGeoIPValid/basic_valid === RUN TestGeoIPValid/invalid_country --- PASS: TestGeoIPValid (0.00s) --- PASS: TestGeoIPValid/basic_valid (0.00s) --- PASS: TestGeoIPValid/invalid_country (0.00s) === RUN TestImpressumValid === RUN TestImpressumValid/basic_happy_path === RUN TestImpressumValid/no_footer === RUN TestImpressumValid/page_not_valid --- PASS: TestImpressumValid (0.00s) --- PASS: TestImpressumValid/basic_happy_path (0.00s) --- PASS: TestImpressumValid/no_footer (0.00s) --- PASS: TestImpressumValid/page_not_valid (0.00s) === RUN TestOpenGraphFileConfigValid === RUN TestOpenGraphFileConfigValid/basic_happy_path === RUN TestOpenGraphFileConfigValid/basic_happy_path_with_default === RUN TestOpenGraphFileConfigValid/invalid_time_duration === RUN TestOpenGraphFileConfigValid/missing_og:title_in_defaults --- PASS: TestOpenGraphFileConfigValid (0.00s) --- PASS: TestOpenGraphFileConfigValid/basic_happy_path (0.00s) --- PASS: TestOpenGraphFileConfigValid/basic_happy_path_with_default (0.00s) --- PASS: TestOpenGraphFileConfigValid/invalid_time_duration (0.00s) --- PASS: TestOpenGraphFileConfigValid/missing_og:title_in_defaults (0.00s) === RUN TestThresholdValid === RUN TestThresholdValid/basic_allow === RUN TestThresholdValid/basic_challenge === RUN TestThresholdValid/no_name === RUN TestThresholdValid/no_expression === RUN TestThresholdValid/invalid_expression === RUN TestThresholdValid/invalid_action === RUN TestThresholdValid/challenge_action_but_no_challenge === RUN TestThresholdValid/challenge_invalid --- PASS: TestThresholdValid (0.00s) --- PASS: TestThresholdValid/basic_allow (0.00s) --- PASS: TestThresholdValid/basic_challenge (0.00s) --- PASS: TestThresholdValid/no_name (0.00s) --- PASS: TestThresholdValid/no_expression (0.00s) --- PASS: TestThresholdValid/invalid_expression (0.00s) --- PASS: TestThresholdValid/invalid_action (0.00s) --- PASS: TestThresholdValid/challenge_action_but_no_challenge (0.00s) --- PASS: TestThresholdValid/challenge_invalid (0.00s) === RUN TestDefaultThresholdsValid === RUN TestDefaultThresholdsValid/0_legacy-anubis-behaviour --- PASS: TestDefaultThresholdsValid (0.00s) --- PASS: TestDefaultThresholdsValid/0_legacy-anubis-behaviour (0.00s) === RUN TestLoadActuallyLoadsThresholds --- PASS: TestLoadActuallyLoadsThresholds (0.00s) === RUN TestBotValid === RUN TestBotValid/simple_user_agent === RUN TestBotValid/simple_path === RUN TestBotValid/no_rule_name === RUN TestBotValid/no_rule_matcher === RUN TestBotValid/both_user-agent_and_path === RUN TestBotValid/unknown_action === RUN TestBotValid/invalid_user_agent_regex === RUN TestBotValid/invalid_path_regex === RUN TestBotValid/invalid_headers_regex === RUN TestBotValid/challenge_difficulty_too_low === RUN TestBotValid/challenge_difficulty_too_high === RUN TestBotValid/invalid_cidr_range === RUN TestBotValid/only_filter_by_IP_range === RUN TestBotValid/filter_by_user_agent_and_IP_range === RUN TestBotValid/filter_by_path_and_IP_range === RUN TestBotValid/weight_rule_without_weight === RUN TestBotValid/weight_rule_with_weight_adjust --- PASS: TestBotValid (0.00s) --- PASS: TestBotValid/simple_user_agent (0.00s) --- PASS: TestBotValid/simple_path (0.00s) --- PASS: TestBotValid/no_rule_name (0.00s) --- PASS: TestBotValid/no_rule_matcher (0.00s) --- PASS: TestBotValid/both_user-agent_and_path (0.00s) --- PASS: TestBotValid/unknown_action (0.00s) --- PASS: TestBotValid/invalid_user_agent_regex (0.00s) --- PASS: TestBotValid/invalid_path_regex (0.00s) --- PASS: TestBotValid/invalid_headers_regex (0.00s) --- PASS: TestBotValid/challenge_difficulty_too_low (0.00s) --- PASS: TestBotValid/challenge_difficulty_too_high (0.00s) --- PASS: TestBotValid/invalid_cidr_range (0.00s) --- PASS: TestBotValid/only_filter_by_IP_range (0.00s) --- PASS: TestBotValid/filter_by_user_agent_and_IP_range (0.00s) --- PASS: TestBotValid/filter_by_path_and_IP_range (0.00s) --- PASS: TestBotValid/weight_rule_without_weight (0.00s) --- PASS: TestBotValid/weight_rule_with_weight_adjust (0.00s) === RUN TestConfigValidKnownGood === RUN TestConfigValidKnownGood/allow_everyone.json === RUN TestConfigValidKnownGood/allow_everyone.yaml === RUN TestConfigValidKnownGood/block_cf_workers.json === RUN TestConfigValidKnownGood/block_cf_workers.yaml === RUN TestConfigValidKnownGood/challenge_cloudflare.yaml === RUN TestConfigValidKnownGood/challengemozilla.json === RUN TestConfigValidKnownGood/challengemozilla.yaml === RUN TestConfigValidKnownGood/entropy.yaml === RUN TestConfigValidKnownGood/everything_blocked.json === RUN TestConfigValidKnownGood/everything_blocked.yaml === RUN TestConfigValidKnownGood/geoip_us.yaml === RUN TestConfigValidKnownGood/git_client.json === RUN TestConfigValidKnownGood/git_client.yaml === RUN TestConfigValidKnownGood/import_filesystem.json === RUN TestConfigValidKnownGood/import_filesystem.yaml === RUN TestConfigValidKnownGood/import_keep_internet_working.json === RUN TestConfigValidKnownGood/import_keep_internet_working.yaml === RUN TestConfigValidKnownGood/impressum.yaml === RUN TestConfigValidKnownGood/no-thresholds.yaml === RUN TestConfigValidKnownGood/old_xesite.json === RUN TestConfigValidKnownGood/opengraph_all_good.yaml === RUN TestConfigValidKnownGood/simple-weight.yaml === RUN TestConfigValidKnownGood/status-codes-paranoid.json === RUN TestConfigValidKnownGood/status-codes-paranoid.yaml === RUN TestConfigValidKnownGood/status-codes-rfc.json === RUN TestConfigValidKnownGood/status-codes-rfc.yaml === RUN TestConfigValidKnownGood/thresholds.yaml === RUN TestConfigValidKnownGood/weight-no-weight.yaml --- PASS: TestConfigValidKnownGood (0.05s) --- PASS: TestConfigValidKnownGood/allow_everyone.json (0.00s) --- PASS: TestConfigValidKnownGood/allow_everyone.yaml (0.00s) --- PASS: TestConfigValidKnownGood/block_cf_workers.json (0.00s) --- PASS: TestConfigValidKnownGood/block_cf_workers.yaml (0.00s) --- PASS: TestConfigValidKnownGood/challenge_cloudflare.yaml (0.00s) --- PASS: TestConfigValidKnownGood/challengemozilla.json (0.00s) --- PASS: TestConfigValidKnownGood/challengemozilla.yaml (0.00s) --- PASS: TestConfigValidKnownGood/entropy.yaml (0.00s) --- PASS: TestConfigValidKnownGood/everything_blocked.json (0.00s) --- PASS: TestConfigValidKnownGood/everything_blocked.yaml (0.00s) --- PASS: TestConfigValidKnownGood/geoip_us.yaml (0.00s) --- PASS: TestConfigValidKnownGood/git_client.json (0.00s) --- PASS: TestConfigValidKnownGood/git_client.yaml (0.00s) --- PASS: TestConfigValidKnownGood/import_filesystem.json (0.00s) --- PASS: TestConfigValidKnownGood/import_filesystem.yaml (0.00s) --- PASS: TestConfigValidKnownGood/import_keep_internet_working.json (0.00s) --- PASS: TestConfigValidKnownGood/import_keep_internet_working.yaml (0.00s) --- PASS: TestConfigValidKnownGood/impressum.yaml (0.00s) --- PASS: TestConfigValidKnownGood/no-thresholds.yaml (0.00s) --- PASS: TestConfigValidKnownGood/old_xesite.json (0.01s) --- PASS: TestConfigValidKnownGood/opengraph_all_good.yaml (0.00s) --- PASS: TestConfigValidKnownGood/simple-weight.yaml (0.00s) --- PASS: TestConfigValidKnownGood/status-codes-paranoid.json (0.00s) --- PASS: TestConfigValidKnownGood/status-codes-paranoid.yaml (0.00s) --- PASS: TestConfigValidKnownGood/status-codes-rfc.json (0.00s) --- PASS: TestConfigValidKnownGood/status-codes-rfc.yaml (0.00s) --- PASS: TestConfigValidKnownGood/thresholds.yaml (0.00s) --- PASS: TestConfigValidKnownGood/weight-no-weight.yaml (0.00s) === RUN TestImportStatement === RUN TestImportStatement/(data)/apps/allow-api-routes.yaml === RUN TestImportStatement/(data)/apps/bookstack-saml.yaml === RUN TestImportStatement/(data)/apps/gitea-rss-feeds.yaml === RUN TestImportStatement/(data)/apps/qualys-ssl-labs.yml === RUN TestImportStatement/(data)/apps/searx-checker.yml === RUN TestImportStatement/(data)/bots/_deny-pathological.yaml === RUN TestImportStatement/(data)/bots/aggressive-brazilian-scrapers.yaml === RUN TestImportStatement/(data)/bots/ai-catchall.yaml === RUN TestImportStatement/(data)/bots/ai-robots-txt.yaml === RUN TestImportStatement/(data)/bots/cloudflare-workers.yaml === RUN TestImportStatement/(data)/bots/headless-browsers.yaml === RUN TestImportStatement/(data)/bots/irc-bots/archlinux-phrik.yaml === RUN TestImportStatement/(data)/bots/irc-bots/gentoo-chat.yaml === RUN TestImportStatement/(data)/bots/us-ai-scraper.yaml === RUN TestImportStatement/(data)/common/allow-api-like.yaml === RUN TestImportStatement/(data)/common/allow-private-addresses.yaml === RUN TestImportStatement/(data)/common/json-api.yaml === RUN TestImportStatement/(data)/common/keep-internet-working.yaml === RUN TestImportStatement/(data)/common/rfc-violations.yaml === RUN TestImportStatement/(data)/crawlers/_allow-good.yaml === RUN TestImportStatement/(data)/crawlers/ai-search.yaml === RUN TestImportStatement/(data)/crawlers/ai-training.yaml === RUN TestImportStatement/(data)/crawlers/applebot.yaml === RUN TestImportStatement/(data)/crawlers/bingbot.yaml === RUN TestImportStatement/(data)/crawlers/commoncrawl.yaml === RUN TestImportStatement/(data)/crawlers/duckduckbot.yaml === RUN TestImportStatement/(data)/crawlers/googlebot.yaml === RUN TestImportStatement/(data)/crawlers/internet-archive.yaml === RUN TestImportStatement/(data)/crawlers/kagibot.yaml === RUN TestImportStatement/(data)/crawlers/marginalia.yaml === RUN TestImportStatement/(data)/crawlers/mojeekbot.yaml === RUN TestImportStatement/(data)/crawlers/openai-gptbot.yaml === RUN TestImportStatement/(data)/crawlers/openai-searchbot.yaml === RUN TestImportStatement/(data)/crawlers/qwantbot.yaml === RUN TestImportStatement/(data)/meta/ai-block-aggressive.yaml === RUN TestImportStatement/(data)/meta/ai-block-moderate.yaml === RUN TestImportStatement/(data)/meta/ai-block-permissive.yaml --- PASS: TestImportStatement (0.13s) --- PASS: TestImportStatement/(data)/apps/allow-api-routes.yaml (0.00s) --- PASS: TestImportStatement/(data)/apps/bookstack-saml.yaml (0.00s) --- PASS: TestImportStatement/(data)/apps/gitea-rss-feeds.yaml (0.04s) --- PASS: TestImportStatement/(data)/apps/qualys-ssl-labs.yml (0.00s) --- PASS: TestImportStatement/(data)/apps/searx-checker.yml (0.00s) --- PASS: TestImportStatement/(data)/bots/_deny-pathological.yaml (0.00s) --- PASS: TestImportStatement/(data)/bots/aggressive-brazilian-scrapers.yaml (0.00s) --- PASS: TestImportStatement/(data)/bots/ai-catchall.yaml (0.00s) --- PASS: TestImportStatement/(data)/bots/ai-robots-txt.yaml (0.00s) --- PASS: TestImportStatement/(data)/bots/cloudflare-workers.yaml (0.00s) --- PASS: TestImportStatement/(data)/bots/headless-browsers.yaml (0.00s) --- PASS: TestImportStatement/(data)/bots/irc-bots/archlinux-phrik.yaml (0.00s) --- PASS: TestImportStatement/(data)/bots/irc-bots/gentoo-chat.yaml (0.00s) --- PASS: TestImportStatement/(data)/bots/us-ai-scraper.yaml (0.00s) --- PASS: TestImportStatement/(data)/common/allow-api-like.yaml (0.00s) --- PASS: TestImportStatement/(data)/common/allow-private-addresses.yaml (0.00s) --- PASS: TestImportStatement/(data)/common/json-api.yaml (0.00s) --- PASS: TestImportStatement/(data)/common/keep-internet-working.yaml (0.00s) --- PASS: TestImportStatement/(data)/common/rfc-violations.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/_allow-good.yaml (0.01s) --- PASS: TestImportStatement/(data)/crawlers/ai-search.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/ai-training.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/applebot.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/bingbot.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/commoncrawl.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/duckduckbot.yaml (0.01s) --- PASS: TestImportStatement/(data)/crawlers/googlebot.yaml (0.01s) --- PASS: TestImportStatement/(data)/crawlers/internet-archive.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/kagibot.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/marginalia.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/mojeekbot.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/openai-gptbot.yaml (0.01s) --- PASS: TestImportStatement/(data)/crawlers/openai-searchbot.yaml (0.00s) --- PASS: TestImportStatement/(data)/crawlers/qwantbot.yaml (0.00s) --- PASS: TestImportStatement/(data)/meta/ai-block-aggressive.yaml (0.00s) --- PASS: TestImportStatement/(data)/meta/ai-block-moderate.yaml (0.00s) --- PASS: TestImportStatement/(data)/meta/ai-block-permissive.yaml (0.00s) === RUN TestConfigValidBad === RUN TestConfigValidBad/badregexes.json config_test.go:320: config is not valid: bot 0: config: bot entry for "path-bad" is not valid: config.Bot: invalid path regex error parsing regexp: missing closing ): `a(b` bot 1: config: bot entry for "user-agent-bad" is not valid: config.Bot: invalid user agent regex error parsing regexp: missing closing ): `a(b` bot 2: config: bot entry for "headers-bad" is not valid: config.Bot: must set either user_agent_regex, path_regex, headers_regex, or remote_addresses === RUN TestConfigValidBad/badregexes.yaml config_test.go:320: config is not valid: bot 0: config: bot entry for "path-bad" is not valid: config.Bot: invalid path regex error parsing regexp: missing closing ): `a(b` bot 1: config: bot entry for "user-agent-bad" is not valid: config.Bot: invalid user agent regex error parsing regexp: missing closing ): `a(b` === RUN TestConfigValidBad/import_and_bot.json config_test.go:320: config is not valid: bot 0: config.BotOrImport: can't set bot rules and import values at the same time === RUN TestConfigValidBad/import_and_bot.yaml config_test.go:320: config is not valid: bot 0: config.BotOrImport: can't set bot rules and import values at the same time === RUN TestConfigValidBad/import_invalid_file.json config_test.go:320: config is not valid: bot 0: config.ImportStatement: invalid source file: (data)/does-not-exist-fake-file.yaml: open does-not-exist-fake-file.yaml: file does not exist === RUN TestConfigValidBad/import_invalid_file.yaml config_test.go:320: config is not valid: bot 0: config.ImportStatement: invalid source file: (data)/does-not-exist-fake-file.yaml: open does-not-exist-fake-file.yaml: file does not exist === RUN TestConfigValidBad/impressum-no-footer.yaml config_test.go:320: errors validating policy config testdata/bad/impressum-no-footer.yaml: config: missing value: impressum footer must be defined === RUN TestConfigValidBad/impressum-no-page-contents.yaml config_test.go:320: errors validating policy config testdata/bad/impressum-no-page-contents.yaml: config: missing value: impressum page title must be defined config: missing value: impressum body title must be defined === RUN TestConfigValidBad/invalid.json config_test.go:320: config is not valid: bot 0: config.BotOrImport: rule definition is invalid, you must set either bot rules or an import statement, not both === RUN TestConfigValidBad/invalid.yaml config_test.go:320: config is not valid: config: must define at least one (1) bot rule === RUN TestConfigValidBad/multiple_expression_types.json config_test.go:320: config is not valid: bot 0: config: bot entry for "multiple-expression-types" is not valid: config: expression block can't contain multiple expression types === RUN TestConfigValidBad/multiple_expression_types.yaml config_test.go:320: config is not valid: bot 0: config: bot entry for "multiple-expression-types" is not valid: config: expression block can't contain multiple expression types === RUN TestConfigValidBad/nobots.json config_test.go:320: config is not valid: config: must define at least one (1) bot rule === RUN TestConfigValidBad/nobots.yaml config_test.go:320: config is not valid: config: must define at least one (1) bot rule === RUN TestConfigValidBad/opengraph_bad_ttl.yaml config_test.go:320: config is not valid: config.OpenGraph: invalid OpenGraph configuration config.OpenGraph: ttl does not parse as a Duration, see https://pkg.go.dev/time#ParseDuration (formatted like 5m -> 5 minutes, 2h -> 2 hours, etc): ParseDuration("taco") returned: time: invalid duration "taco" === RUN TestConfigValidBad/regex_ends_newline.json config_test.go:320: config is not valid: bot 0: config: bot entry for "user-agent-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): user agent regex: "Mozilla\n" bot 1: config: bot entry for "path-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): path regex: "^/evil/.*$\n" bot 2: config: bot entry for "headers-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): header CF-Worker regex: ".*\n" === RUN TestConfigValidBad/regex_ends_newline.yaml config_test.go:320: config is not valid: bot 0: config: bot entry for "user-agent-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): user agent regex: "Mozilla\n" bot 1: config: bot entry for "path-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): path regex: "^/evil/.*$\n" bot 2: config: bot entry for "headers-ends-newline" is not valid: config.Bot: regular expression ends with newline (try >- instead of > in yaml): header CF-Worker regex: ".*\n" === RUN TestConfigValidBad/status-codes-0.json config_test.go:320: config is not valid: status codes not valid: config.StatusCode: status code not valid, must be between 100 and 599: challenge is 0 config.StatusCode: status code not valid, must be between 100 and 599: deny is 0 === RUN TestConfigValidBad/status-codes-0.yaml config_test.go:320: config is not valid: status codes not valid: config.StatusCode: status code not valid, must be between 100 and 599: challenge is 0 config.StatusCode: status code not valid, must be between 100 and 599: deny is 0 === RUN TestConfigValidBad/threshold-challenge-without-challenge.yaml config_test.go:320: config is not valid: threshold 0: config: threshold entry for "extreme-suspicion" is not valid: config.Threshold: a threshold cannot have the WEIGH action === RUN TestConfigValidBad/thresholds.yaml config_test.go:320: config is not valid: threshold 0: config: threshold entry for "extreme-suspicion" is not valid: config.Threshold: a threshold cannot have the WEIGH action === RUN TestConfigValidBad/unparseable.json config_test.go:320: can't parse policy config YAML testdata/bad/unparseable.json: error converting YAML to JSON: yaml: did not find expected node content === RUN TestConfigValidBad/unparseable.yaml config_test.go:320: can't parse policy config YAML testdata/bad/unparseable.yaml: error converting YAML to JSON: yaml: did not find expected node content --- PASS: TestConfigValidBad (0.02s) --- PASS: TestConfigValidBad/badregexes.json (0.00s) --- PASS: TestConfigValidBad/badregexes.yaml (0.00s) --- PASS: TestConfigValidBad/import_and_bot.json (0.00s) --- PASS: TestConfigValidBad/import_and_bot.yaml (0.00s) --- PASS: TestConfigValidBad/import_invalid_file.json (0.00s) --- PASS: TestConfigValidBad/import_invalid_file.yaml (0.00s) --- PASS: TestConfigValidBad/impressum-no-footer.yaml (0.00s) --- PASS: TestConfigValidBad/impressum-no-page-contents.yaml (0.00s) --- PASS: TestConfigValidBad/invalid.json (0.00s) --- PASS: TestConfigValidBad/invalid.yaml (0.00s) --- PASS: TestConfigValidBad/multiple_expression_types.json (0.00s) --- PASS: TestConfigValidBad/multiple_expression_types.yaml (0.00s) --- PASS: TestConfigValidBad/nobots.json (0.00s) --- PASS: TestConfigValidBad/nobots.yaml (0.00s) --- PASS: TestConfigValidBad/opengraph_bad_ttl.yaml (0.00s) --- PASS: TestConfigValidBad/regex_ends_newline.json (0.00s) --- PASS: TestConfigValidBad/regex_ends_newline.yaml (0.00s) --- PASS: TestConfigValidBad/status-codes-0.json (0.00s) --- PASS: TestConfigValidBad/status-codes-0.yaml (0.00s) --- PASS: TestConfigValidBad/threshold-challenge-without-challenge.yaml (0.00s) --- PASS: TestConfigValidBad/thresholds.yaml (0.00s) --- PASS: TestConfigValidBad/unparseable.json (0.00s) --- PASS: TestConfigValidBad/unparseable.yaml (0.00s) === RUN TestBotConfigZero --- PASS: TestBotConfigZero (0.00s) === RUN TestStoreValid === RUN TestStoreValid/no_backend === RUN TestStoreValid/in-memory_backend === RUN TestStoreValid/bbolt_backend === RUN TestStoreValid/valkey_backend === RUN TestStoreValid/valkey_backend_no_URL === RUN TestStoreValid/valkey_backend_bad_URL === RUN TestStoreValid/bbolt_backend_no_path === RUN TestStoreValid/unknown_backend --- PASS: TestStoreValid (0.00s) --- PASS: TestStoreValid/no_backend (0.00s) --- PASS: TestStoreValid/in-memory_backend (0.00s) --- PASS: TestStoreValid/bbolt_backend (0.00s) --- PASS: TestStoreValid/valkey_backend (0.00s) --- PASS: TestStoreValid/valkey_backend_no_URL (0.00s) --- PASS: TestStoreValid/valkey_backend_bad_URL (0.00s) --- PASS: TestStoreValid/bbolt_backend_no_path (0.00s) --- PASS: TestStoreValid/unknown_backend (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/policy/config 0.474s === RUN TestBotEnvironment === RUN TestBotEnvironment/missing-header === RUN TestBotEnvironment/existing-header === RUN TestBotEnvironment/case-sensitive === RUN TestBotEnvironment/empty-headers === RUN TestBotEnvironment/real-world-sec-ch-ua === RUN TestBotEnvironment/browser-with-sec-ch-ua === RUN TestBotEnvironment/function-compilation --- PASS: TestBotEnvironment (0.04s) --- PASS: TestBotEnvironment/missing-header (0.03s) --- PASS: TestBotEnvironment/existing-header (0.00s) --- PASS: TestBotEnvironment/case-sensitive (0.00s) --- PASS: TestBotEnvironment/empty-headers (0.00s) --- PASS: TestBotEnvironment/real-world-sec-ch-ua (0.00s) --- PASS: TestBotEnvironment/browser-with-sec-ch-ua (0.00s) --- PASS: TestBotEnvironment/function-compilation (0.00s) === RUN TestThresholdEnvironment === RUN TestThresholdEnvironment/weight-variable-available === RUN TestThresholdEnvironment/weight-variable-false-case === RUN TestThresholdEnvironment/missingHeader-not-available --- PASS: TestThresholdEnvironment (0.01s) --- PASS: TestThresholdEnvironment/weight-variable-available (0.00s) --- PASS: TestThresholdEnvironment/weight-variable-false-case (0.00s) --- PASS: TestThresholdEnvironment/missingHeader-not-available (0.00s) === RUN TestNewEnvironment === RUN TestNewEnvironment/randInt-function-compilation === RUN TestNewEnvironment/randInt-range-validation === RUN TestNewEnvironment/strings-extension-size === RUN TestNewEnvironment/strings-extension-contains === RUN TestNewEnvironment/strings-extension-startsWith --- PASS: TestNewEnvironment (0.03s) --- PASS: TestNewEnvironment/randInt-function-compilation (0.01s) --- PASS: TestNewEnvironment/randInt-range-validation (0.00s) --- PASS: TestNewEnvironment/strings-extension-size (0.00s) --- PASS: TestNewEnvironment/strings-extension-contains (0.00s) --- PASS: TestNewEnvironment/strings-extension-startsWith (0.00s) === RUN TestHTTPHeaders === RUN TestHTTPHeaders/contains-existing-header === RUN TestHTTPHeaders/not-contains-missing-header === RUN TestHTTPHeaders/get-existing-header === RUN TestHTTPHeaders/not-get-missing-header --- PASS: TestHTTPHeaders (0.00s) --- PASS: TestHTTPHeaders/contains-existing-header (0.00s) --- PASS: TestHTTPHeaders/not-contains-missing-header (0.00s) --- PASS: TestHTTPHeaders/get-existing-header (0.00s) --- PASS: TestHTTPHeaders/not-get-missing-header (0.00s) === RUN TestURLValues === RUN TestURLValues/contains-existing-key === RUN TestURLValues/not-contains-missing-key === RUN TestURLValues/get-existing-key === RUN TestURLValues/not-get-missing-key --- PASS: TestURLValues (0.00s) --- PASS: TestURLValues/contains-existing-key (0.00s) --- PASS: TestURLValues/not-contains-missing-key (0.00s) --- PASS: TestURLValues/get-existing-key (0.00s) --- PASS: TestURLValues/not-get-missing-key (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/policy/expressions 0.514s === RUN TestJSON --- PASS: TestJSON (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/store 0.165s ? github.com/TecharoHQ/anubis/lib/store/all [no test files] === RUN TestImpl bbolt_test.go:13: /tmp/TestImpl619071658/001/db === RUN TestImpl/basic_get_set_delete === PAUSE TestImpl/basic_get_set_delete === RUN TestImpl/expires === PAUSE TestImpl/expires === CONT TestImpl/basic_get_set_delete === CONT TestImpl/expires --- PASS: TestImpl (0.03s) --- PASS: TestImpl/basic_get_set_delete (0.02s) --- PASS: TestImpl/expires (0.18s) === RUN TestFactoryValid === RUN TestFactoryValid/bad_config === RUN TestFactoryValid/invalid_config === RUN TestFactoryValid/invalid_config/missing_path --- PASS: TestFactoryValid (0.00s) --- PASS: TestFactoryValid/bad_config (0.00s) --- PASS: TestFactoryValid/invalid_config (0.00s) --- PASS: TestFactoryValid/invalid_config/missing_path (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/store/bbolt 0.376s === RUN TestImpl === RUN TestImpl/basic_get_set_delete === PAUSE TestImpl/basic_get_set_delete === RUN TestImpl/expires === PAUSE TestImpl/expires === CONT TestImpl/basic_get_set_delete === CONT TestImpl/expires --- PASS: TestImpl (0.00s) --- PASS: TestImpl/basic_get_set_delete (0.00s) --- PASS: TestImpl/expires (0.16s) PASS ok github.com/TecharoHQ/anubis/lib/store/memory 0.303s ? github.com/TecharoHQ/anubis/lib/store/storetest [no test files] === RUN TestImpl testing.go:26: Recovered from panic: rootless Docker not found. Docker is not running. Testcontainers can't perform is work without it --- SKIP: TestImpl (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/store/valkey 0.805s ? github.com/TecharoHQ/anubis/utils/cmd/backoff-retry [no test files] ? github.com/TecharoHQ/anubis/web [no test files] ? github.com/TecharoHQ/anubis/xess [no test files] >>> anubis: Entering fakeroot... >>> anubis-doc*: Running split function doc... 'usr/share/licenses' -> '/home/buildozer/aports/testing/anubis/pkg/anubis-doc/usr/share/licenses' >>> anubis-doc*: Preparing subpackage anubis-doc... >>> anubis-doc*: Running postcheck for anubis-doc >>> anubis-openrc*: Running split function openrc... 'etc/conf.d' -> '/home/buildozer/aports/testing/anubis/pkg/anubis-openrc/etc/conf.d' 'etc/init.d' -> '/home/buildozer/aports/testing/anubis/pkg/anubis-openrc/etc/init.d' >>> anubis-openrc*: Preparing subpackage anubis-openrc... >>> anubis-openrc*: Running postcheck for anubis-openrc >>> anubis*: Running postcheck for anubis >>> anubis*: Preparing package anubis... >>> anubis*: Stripping binaries >>> anubis-doc*: Scanning shared objects >>> anubis-openrc*: Scanning shared objects >>> anubis*: Scanning shared objects >>> anubis-doc*: Tracing dependencies... >>> anubis-doc*: Package size: 1.0 KB >>> anubis-doc*: Compressing data... >>> anubis-doc*: Create checksum... >>> anubis-doc*: Create anubis-doc-1.21.3-r2.apk >>> anubis-openrc*: Tracing dependencies... >>> anubis-openrc*: Package size: 294.0 B >>> anubis-openrc*: Compressing data... >>> anubis-openrc*: Create checksum... >>> anubis-openrc*: Create anubis-openrc-1.21.3-r2.apk >>> anubis*: Tracing dependencies... so:libc.musl-riscv64.so.1 >>> anubis*: Package size: 26.7 MB >>> anubis*: Compressing data... >>> anubis*: Create checksum... >>> anubis*: Create anubis-1.21.3-r2.apk >>> anubis: Build complete at Sun, 10 Aug 2025 13:14:04 +0000 elapsed time 0h 1m 34s >>> anubis: Cleaning up srcdir >>> anubis: Cleaning up pkgdir >>> anubis: Uninstalling dependencies... (1/2) Purging .makedepends-anubis (20250810.131233) (2/2) Purging go (1.24.6-r1) busybox-1.37.0-r22.trigger: Executing script... OK: 361 MiB in 101 packages >>> anubis: Updating the testing/riscv64 repository index... >>> anubis: Signing the index...