>>> anubis: Building testing/anubis 1.21.3-r1 (using abuild 3.15.0-r2) started Fri, 08 Aug 2025 15:00:41 +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-r0) (2/2) Installing .makedepends-anubis (20250808.150043) busybox-1.37.0-r22.trigger: Executing script... OK: 482 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/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.00s) --- 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.007s ? 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.002s === 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.09s) === 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.00s) === 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.103s === RUN TestReverse4 === RUN TestReverse4/1.2.3.4->4.3.2.1 --- PASS: TestReverse4 (0.00s) --- 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.48s) PASS ok github.com/TecharoHQ/anubis/internal/dnsbl 0.480s === 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.00s) === 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.00s) --- 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.00s) --- 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.32s) === RUN TestIntegrationGetOGTags === RUN TestIntegrationGetOGTags/Simple_page === RUN TestIntegrationGetOGTags/Complete_page === RUN TestIntegrationGetOGTags/Page_with_no_OG_tags === RUN TestIntegrationGetOGTags/Nonexistent_page --- PASS: TestIntegrationGetOGTags (0.00s) --- 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.56 KB (0.62 MB) mem_test.go:114: Per operation: 64.57 bytes mem_test.go:143: Memory allocated for 1k extractOGTags calls: mem_test.go:144: Total: 333.55 KB (0.33 MB) mem_test.go:145: Per operation: 341.55 bytes --- PASS: TestMemoryUsage (0.01s) === 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.04s) --- 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.04s) --- 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.482s === 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.010s === 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/08 15:00:59 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/08 15:00:59 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.006s ? github.com/TecharoHQ/anubis/internal/thoth/thothmock [no test files] === RUN TestLoadPolicies === RUN TestLoadPolicies/botPolicies.json === RUN TestLoadPolicies/botPolicies.yaml {"time":"2025-08-08T15:00:59.312102347Z","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-08T15:00:59.312154132Z","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.03s) --- PASS: TestLoadPolicies/botPolicies.json (0.02s) --- PASS: TestLoadPolicies/botPolicies.yaml (0.01s) === RUN TestCVE2025_24369 {"time":"2025-08-08T15:00:59.327324554Z","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-08T15:00:59.343478286Z","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":"01988a33-114f-758f-b084-c8771cc442c5","randomData":"5bc40dafd6b23e69f1254fb5cd4c15055e9492db5db057837ed27505a641921c43bf0aec7f785f35c93c8318870a932e1afd006c070675acb52377865a42dbb1241275d24363fbfb8867237182548db5630d2413097237f59e656b2c9da1d31b0cf643e0edd9bdc920315721f3987ef605ac5d111f80d4e5ab4b525c18fa4c9a5081b9b50fbb57c4c7ee130a11783f2aeb4768d342ce642cd90bcbdbb108b5622262bce5862035d499e2e9c891f5ae1aae31f073f46fdc14dbcce2bf96c2e60559a098481a6ab553569866924453b72b9c9468284e12c8f5a7daa6e8b3f3c4995f3657e8eefae9276839220abe1b9b3237fabe107b21739a6b4051e4fba61294","issuedAt":"2025-08-08T15:00:59.343379532Z","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:44441/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=01988a33-114f-758f-b084-c8771cc442c5; Path=/; Expires=Fri, 08 Aug 2025 15:00:59 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:44441/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=8ee95975d00bc6b4fa229f7d9df815ee6d14b842773fc6f608366148eb1996ce anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-114f-758f-b084-c8771cc442c5; Path=/; Expires=Fri, 08 Aug 2025 15:00:59 GMT; SameSite=None {"time":"2025-08-08T15:00:59.344384407Z","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 8ee95975d00bc6b4fa229f7d9df815ee6d14b842773fc6f608366148eb1996ce"} {"time":"2025-08-08T15:00:59.344622605Z","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-08T15:00:59.344662061Z","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:44441/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=8ee95975d00bc6b4fa229f7d9df815ee6d14b842773fc6f608366148eb1996ce -> techaro.lol-anubis-auth=; Path=/; Expires=Fri, 08 Aug 2025 14:59:59 GMT; Max-Age=0; SameSite=None --- PASS: TestCVE2025_24369 (0.03s) === RUN TestCookieCustomExpiration {"time":"2025-08-08T15:00:59.358412519Z","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-08T15:00:59.359168455Z","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":"01988a33-115f-71a9-950f-5f5d3228df87","randomData":"710aea721751778f91ac387e616c7561846c7508fc448020cdefee89be2607d64e7b19451c75ab533da4d87551e18a1ac29b02f6687db2a64c0b5dcf10eb66c50e48899474cfda87a41741e28f1f9d6e046e296ab79b404b939c4231a752473aa3b293f40233326770e56b09fe128efb3b58d198e5cb7e977f3b2d3a5c013796a31721bb58236a7016e8fd9553ab8bf74c0a6cf2626d6d081925685f7c6368b6198caab8b76078f3df1f01be8c34f237e9965f739e2518ea3188b425ccd94a37d003fb10dd5989f24e5e08aab703d8de515b405232683b8e3ee54082c2482429eaa7384a493ece79064e6d4f27257fd37d54e9e66a408d86d51f014c29f6faec","issuedAt":"2025-08-08T15:00:59.35912122Z","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:36093/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=01988a33-115f-71a9-950f-5f5d3228df87; Path=/; Expires=Fri, 08 Aug 2025 15:10:59 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:36093/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=ee98e2f03cf29bb04cc1378f0c014e33838347342da5b821c7ec6e3fbd5df75f anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-115f-71a9-950f-5f5d3228df87; Path=/; Expires=Fri, 08 Aug 2025 15:10:59 GMT; SameSite=None {"time":"2025-08-08T15:00:59.359861682Z","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-08T15:00:59.360024919Z","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:36093/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=ee98e2f03cf29bb04cc1378f0c014e33838347342da5b821c7ec6e3fbd5df75f -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTExNWYtNzFhOS05NTBmLTVmNWQzMjI4ZGY4NyIsImV4cCI6MTc1NDY2NTg1OSwiaWF0IjoxNzU0NjY1MjU5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MTk5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.jEr6e3ToBMKxa-JV0eoe5cuPkmF_HI8v_BrqomH1OkA35MxP4ambyU6MS7kXmGffB4q8eU3EW8JRGsGHJ4hdBw; Path=/; Expires=Fri, 08 Aug 2025 15:10:59 GMT; SameSite=None anubis_test.go:237: &http.Cookie{Name:"techaro.lol-anubis-auth", Value:"eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTExNWYtNzFhOS05NTBmLTVmNWQzMjI4ZGY4NyIsImV4cCI6MTc1NDY2NTg1OSwiaWF0IjoxNzU0NjY1MjU5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MTk5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.jEr6e3ToBMKxa-JV0eoe5cuPkmF_HI8v_BrqomH1OkA35MxP4ambyU6MS7kXmGffB4q8eU3EW8JRGsGHJ4hdBw", Quoted:false, Path:"/", Domain:"", Expires:time.Date(2025, time.August, 8, 15, 10, 59, 0, time.UTC), RawExpires:"Fri, 08 Aug 2025 15:10:59 GMT", MaxAge:0, Secure:false, HttpOnly:false, SameSite:4, Partitioned:false, Raw:"techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTExNWYtNzFhOS05NTBmLTVmNWQzMjI4ZGY4NyIsImV4cCI6MTc1NDY2NTg1OSwiaWF0IjoxNzU0NjY1MjU5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MTk5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.jEr6e3ToBMKxa-JV0eoe5cuPkmF_HI8v_BrqomH1OkA35MxP4ambyU6MS7kXmGffB4q8eU3EW8JRGsGHJ4hdBw; Path=/; Expires=Fri, 08 Aug 2025 15:10:59 GMT; SameSite=None", Unparsed:[]string(nil)} --- PASS: TestCookieCustomExpiration (0.02s) === RUN TestCookieSettings {"time":"2025-08-08T15:00:59.371619224Z","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-08T15:00:59.37376649Z","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":"01988a33-116d-7aa2-8a26-4a36801bdcd0","randomData":"5457880c6c1724607cf2c2793ee3e2626d74d09dbcb2da48c1ae1b3a058370f5bd451da228c0ee082665840c6acdd0b7fc4f7b6d5a4ca2c52b557585fd21ed54fed8b809e2403fb8eee4b92c59f7c4a029b947e221c7986c0872bcef925e9c95674443ae6d3c66cfb1bda95d662eb5615a247a48a6895e2e22cb9403c3d8735eb430c99012327fc67feaf00126e7475f4cde2eabdf3dd71342399a9e6a41f5364b29bc46264e1b184edd96f7affe724e58d212f28a1a50f1b52adb1a39b6ac16faeb2e63c41668637ebcea56e8f682a59375f02f7a24c7e80b29e6d99d58dbf1d735dedbf2b9b43dd0b7328148c653d2bc80eb0b22f2a6366486c6d08dde14dc","issuedAt":"2025-08-08T15:00:59.373711365Z","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:43819/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=01988a33-116d-7aa2-8a26-4a36801bdcd0; Path=/; Domain=127.0.0.1; Expires=Fri, 15 Aug 2025 15:00:59 GMT; Secure; SameSite=None; Partitioned anubis_test.go:137: requested cookies for http://127.0.0.1:43819/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=374419584c4f092d8b1ea8cef94840fb5180148c41f079647dda49286b2502db anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-116d-7aa2-8a26-4a36801bdcd0; Path=/; Domain=127.0.0.1; Expires=Fri, 15 Aug 2025 15:00:59 GMT; Secure; SameSite=None; Partitioned {"time":"2025-08-08T15:00:59.374439Z","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-08T15:00:59.374573885Z","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:43819/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=374419584c4f092d8b1ea8cef94840fb5180148c41f079647dda49286b2502db -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTExNmQtN2FhMi04YTI2LTRhMzY4MDFiZGNkMCIsImV4cCI6MTc1NTI3MDA1OSwiaWF0IjoxNzU0NjY1MjU5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MTk5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.mBfq-Rftj275TfD-T9F8p9pdFIZhkn-Q_mlcvn_TNk1w4JVEV-TkngGI2dRcGTvSScTwBiLj-IIX0JQcdU6qAg; Path=/; Domain=127.0.0.1; Expires=Fri, 15 Aug 2025 15:00:59 GMT; Secure; SameSite=None; Partitioned anubis_test.go:288: &http.Cookie{Name:"techaro.lol-anubis-auth", Value:"eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTExNmQtN2FhMi04YTI2LTRhMzY4MDFiZGNkMCIsImV4cCI6MTc1NTI3MDA1OSwiaWF0IjoxNzU0NjY1MjU5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MTk5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.mBfq-Rftj275TfD-T9F8p9pdFIZhkn-Q_mlcvn_TNk1w4JVEV-TkngGI2dRcGTvSScTwBiLj-IIX0JQcdU6qAg", Quoted:false, Path:"/", Domain:"127.0.0.1", Expires:time.Date(2025, time.August, 15, 15, 0, 59, 0, time.UTC), RawExpires:"Fri, 15 Aug 2025 15:00:59 GMT", MaxAge:0, Secure:true, HttpOnly:false, SameSite:4, Partitioned:true, Raw:"techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTExNmQtN2FhMi04YTI2LTRhMzY4MDFiZGNkMCIsImV4cCI6MTc1NTI3MDA1OSwiaWF0IjoxNzU0NjY1MjU5LCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MTk5LCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.mBfq-Rftj275TfD-T9F8p9pdFIZhkn-Q_mlcvn_TNk1w4JVEV-TkngGI2dRcGTvSScTwBiLj-IIX0JQcdU6qAg; Path=/; Domain=127.0.0.1; Expires=Fri, 15 Aug 2025 15:00:59 GMT; Secure; SameSite=None; Partitioned", Unparsed:[]string(nil)} --- PASS: TestCookieSettings (0.01s) === RUN TestCheckDefaultDifficultyMatchesPolicy === RUN TestCheckDefaultDifficultyMatchesPolicy/1 {"time":"2025-08-08T15:00:59.387926205Z","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-08T15:00:59.401079564Z","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-08T15:00:59.41422678Z","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-08T15:00:59.425904729Z","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-08T15:00:59.441136754Z","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-08T15:00:59.456940756Z","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-08T15:00:59.471381449Z","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-08T15:00:59.482818932Z","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-08T15:00:59.496850103Z","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.12s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/1 (0.01s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/2 (0.01s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/3 (0.01s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/4 (0.01s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/5 (0.02s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/6 (0.02s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/7 (0.01s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/8 (0.01s) --- PASS: TestCheckDefaultDifficultyMatchesPolicy/9 (0.01s) === RUN TestBasePrefix === RUN TestBasePrefix/no_prefix {"time":"2025-08-08T15:00:59.511435258Z","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-08T15:00:59.513607029Z","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":"01988a33-11f9-783c-98fe-0878f4a410f9","randomData":"a2aec47f39ede779edeb9bd689a9640616108da4043cd3650e95d00656e15835fc8e245bead9a31015aa92bc5fa23f268bd736c8b1358245c07f8828f081f47b1f9f90c93b52e6765e19934f931b56390a10e67bae0b222765b4384d2bedb0b41876d38eee1c4fadfeba351f9ea9c19ddbec9857b100105ad636266a9119c8a488727a6b192da8724bf0c1274ee545fed0d2b031ac2105af257aa07e5bb9c83553e5d37b8e519a8dcd9378d01869233812a5d95230cfe25e1d1f0511e621a6de5abc2392519456d9fdc94865819f27d06f147d3ffe9a51df699cff7b82eaead7a9ebdee67c5bf1fc669b1ac4d8378f0ce2b1f07d3c0378c208a1bd09ca7c4854","issuedAt":"2025-08-08T15:00:59.513554489Z","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:44155/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=01988a33-11f9-783c-98fe-0878f4a410f9; Path=/; Expires=Fri, 08 Aug 2025 15:00:59 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:44155/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=233150&redir=%2F&response=00006bd066e8cc9befc8b468ec2171fd0649fe9f1046b2fe60317853823eb119 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-11f9-783c-98fe-0878f4a410f9; Path=/; Expires=Fri, 08 Aug 2025 15:00:59 GMT; SameSite=None {"time":"2025-08-08T15:01:00.517510701Z","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-08T15:01:00.517690513Z","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:44155/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=233150&redir=%2F&response=00006bd066e8cc9befc8b468ec2171fd0649fe9f1046b2fe60317853823eb119 -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTExZjktNzgzYy05OGZlLTA4NzhmNGE0MTBmOSIsImV4cCI6MTc1NDY2NTI2MCwiaWF0IjoxNzU0NjY1MjYwLCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MjAwLCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.uvrws9OAYbfOyaP3uAOd4ELexTdtiGqucEbhFlSk0D3wbhd4JJouKZBt5JdePqnHL2ZKoGVuVC5Tke7wKfksAQ; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None === RUN TestBasePrefix/with_prefix {"time":"2025-08-08T15:01:00.532862274Z","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-08T15:01:00.533743191Z","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":"01988a33-15f5-7a47-bafc-730ca8c18e29","randomData":"d3270230a8b0922547b217261d187ac2ba4d5e03aaf85ae87c75846ee23fccb858512ba14cc7ad57fd6166ecdbb1efae367a6468f2553a3287096cdbaf3cc8c885d0ba22e45942f8823e900529aedf27cabbb8f1ec6f29105bdaa38d686765de5de79b023f47aee0e7cb0ac85b7852cd823e4194f9b12feda02d68ec9318db6f43ba4af38bb885e706956bce2467d03dfdc47fbf18a24dc384cb2190ab57fedffd7b716fbb4b7d0d0f6f8732570b7d739b94cbbf54749527f4e3cb5aaa824738aa74c5b4e9c41d928580de1a54b7befa234f994ae590926291a026761a088b59f5020afae5603dd584912c7314a904f9bed4bf1b8afb731a0c3bf472068b3e78","issuedAt":"2025-08-08T15:01:00.533689374Z","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:43579/myapp/.within.website/x/cmd/anubis/api/make-challenge?redir=%2Fmyapp -> techaro.lol-anubis-cookie-verification=01988a33-15f5-7a47-bafc-730ca8c18e29; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:43579/myapp/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=61639&redir=%2F&response=000046db24e2c6708304fa4185ad60148e68f3f0c192a1c541ec727246c62f1f anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-15f5-7a47-bafc-730ca8c18e29; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None {"time":"2025-08-08T15:01:00.794385164Z","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-08T15:01:00.794516923Z","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:43579/myapp/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=61639&redir=%2F&response=000046db24e2c6708304fa4185ad60148e68f3f0c192a1c541ec727246c62f1f -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTE1ZjUtN2E0Ny1iYWZjLTczMGNhOGMxOGUyOSIsImV4cCI6MTc1NDY2NTI2MCwiaWF0IjoxNzU0NjY1MjYwLCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MjAwLCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.dM7SijEVoN0DmFKpedsQi-wKk9OGFenZPRdW9O4TdsB3vZBbS_OelC42_eAq_W173pUhaH2zXAVVpd6nsev4Dg; Path=/myapp/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None === RUN TestBasePrefix/with_prefix_and_trailing_slash {"time":"2025-08-08T15:01:00.806866577Z","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-08T15:01:00.807585069Z","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":"01988a33-1707-7804-9451-c4e62e115a80","randomData":"f987e6a2f4308146732620f529cd75fdd984a1135bf80a9936251e414f2e6a5a75177c10ce29a353e26eff85be41000b9c1798acad2dc3f90284a01e32224d11ef45b911caacafabf3427ad4067e0e0d8884209ca4ca6753fd102806249bfdd2c38afcd3a9771ce807df4ffdbb58ba1d78b2d9fa23e70b70804d49ed111bb321e086a4402452700b210fc755d75f81eae93d32823ff8fe392d5ab64790baf41a5e872803cebf250785a5b1576e1f5a5314011c9d1c91f03e541bedd90857ee2cef6c9c57a36c0e85e64d9c8b104179447aee7f591a04de9fbd774f88764a08e7fffa3a1d2497a6d1c7147e93162d8d1f27f38cdf8a29b65aaf20342eb8587d48","issuedAt":"2025-08-08T15:01:00.807537669Z","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:34407/myapp/.within.website/x/cmd/anubis/api/make-challenge?redir=%2Fmyapp%2F -> techaro.lol-anubis-cookie-verification=01988a33-1707-7804-9451-c4e62e115a80; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:34407/myapp/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=788&redir=%2F&response=0000de9732c8e72e19f4362ac7dfeed205af389ddb182d7f029899818e8ed9ec anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1707-7804-9451-c4e62e115a80; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None {"time":"2025-08-08T15:01:00.810638471Z","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-08T15:01:00.810752372Z","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:34407/myapp/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=788&redir=%2F&response=0000de9732c8e72e19f4362ac7dfeed205af389ddb182d7f029899818e8ed9ec -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTE3MDctNzgwNC05NDUxLWM0ZTYyZTExNWE4MCIsImV4cCI6MTc1NDY2NTI2MCwiaWF0IjoxNzU0NjY1MjYwLCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MjAwLCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.abfqLTIg1pKG68pX_LYFl1tn1I7Vat8kOvURNat7mj681mT5tF9VNx1-igVdh1mEffAsAUvINo5dLs-E770rCw; Path=/myapp/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None --- PASS: TestBasePrefix (1.31s) --- PASS: TestBasePrefix/no_prefix (1.02s) --- PASS: TestBasePrefix/with_prefix (0.28s) --- PASS: TestBasePrefix/with_prefix_and_trailing_slash (0.02s) === RUN TestCustomStatusCodes {"time":"2025-08-08T15:01:00.811582225Z","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-08T15:01:00.814092691Z","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-08T15:01:00.814593558Z","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-08T15:01:00.814613929Z","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-08T15:01:00.815392335Z","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-08T15:01:00.815409746Z","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.00s) --- PASS: TestCustomStatusCodes/ALLOW (0.00s) --- PASS: TestCustomStatusCodes/CHALLENGE (0.00s) --- PASS: TestCustomStatusCodes/DENY (0.00s) === RUN TestCloudflareWorkersRule === RUN TestCloudflareWorkersRule/cel {"time":"2025-08-08T15:01:00.816576768Z","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-08T15:01:00.817368826Z","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.00s) --- 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-08T15:01:00.818271768Z","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-08T15:01:00.818701995Z","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":"01988a33-1712-7a05-be44-eca133e0e38c","randomData":"2eacda5e48a5b6abc67655d62f1d56505e165379ec56fa9fbb0fcb8629671df497bf94ff0960257e90ed0efa75227624fa1dcf21b098e4eae816550ece6c4b74d78d06d22b1ff920ad5c3636ff481b3504d95d1406d2ab16a0ec305eadbc8c3466805b8ada39988be98119d5e867fc8a6d4845e5561075ffc70869e2be1a3148d222f989c135f4c2cb4761adcf66b75b7543ff7c2b6b82c7a6a43526971def5b1ad9897ae5ee6375123ef02cad6c01d991cd79c4bb6fce083a182829e186f6151c2b7248c4bd50377939220b448f28c05e5f22192ab9cf40d46dce4de942bb9b8db952f9372553d92199d8e08067a2ebad19e9f711f5b195e6c90d8422e70688","issuedAt":"2025-08-08T15:01:00.818664405Z","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:46845/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=01988a33-1712-7a05-be44-eca133e0e38c; Path=/; Domain=127.0.0.1; Expires=Fri, 08 Aug 2025 15:11:00 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:46845/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=0a7d7ee49cf0c53b54035ce2edb9e9a8f063f2bd1731ec7ce40d33e7ad3580b4 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1712-7a05-be44-eca133e0e38c; Path=/; Domain=127.0.0.1; Expires=Fri, 08 Aug 2025 15:11:00 GMT; SameSite=None {"time":"2025-08-08T15:01:00.819124203Z","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-08T15:01:00.819252394Z","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:46845/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=%2F&response=0a7d7ee49cf0c53b54035ce2edb9e9a8f063f2bd1731ec7ce40d33e7ad3580b4 -> techaro.lol-anubis-auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhY3Rpb24iOiJBTExPVyIsImNoYWxsZW5nZSI6IjAxOTg4YTMzLTE3MTItN2EwNS1iZTQ0LWVjYTEzM2UwZTM4YyIsImV4cCI6MTc1NDY2NTg2MCwiaWF0IjoxNzU0NjY1MjYwLCJtZXRob2QiOiJmYXN0IiwibmJmIjoxNzU0NjY1MjAwLCJwb2xpY3lSdWxlIjoiYWM5ODBmNDljNGQzNWZhYiJ9.d9a944YDHoFMPrtbWNjU2HDlBC9T64Y7mElrUEaZLHbVkwHFB1UJMwrSWJgdc0s7v7L3FgdsKM3AFzTm31GdBA; Path=/; Domain=127.0.0.1; Expires=Fri, 08 Aug 2025 15:11:00 GMT; SameSite=None --- PASS: TestRuleChange (0.00s) === 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-08T15:01:00.822341492Z","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-08T15:01:00.822533612Z","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-08T15:01:00.822546861Z","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-08T15:01:00.836135628Z","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-08T15:01:00.837078798Z","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":"01988a33-1725-702b-b395-cb1d3fbffdff","randomData":"da6fd3ca8152299b2ceeca91ae52ab17fdb3f8352041f5fd452e32539622bf46be0f1d998a6b1a56983287ac5e6ab3495f7e061995afbcb867ff794c25140df9dba6e6bf26e7973ea622f1230b124b7342d1be8d4c66fb60ab924bbe0f2eadbb729adf4d74f0af7fce667105d8edda9d5e0bcc1f4461c13e6d3bc3133cc09bdd206c9ee2c1a84d8c7e6f35759a6dfa2083f177320cb63d0881413f4f9a40c2c989a54bb68ac79ef8cf0be70c90797faef31f68622b0dc1834f5ae7ec8c7e311ca880217916b7039e5c659e6304ed839215188109fc5e823146d42bb842f23034ce2dfe2fa83977b7f65d381bcf6be5da57a3e1af8a09bc8fa0af56fbd997ab08","issuedAt":"2025-08-08T15:01:00.837027823Z","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:34099/.within.website/x/cmd/anubis/api/make-challenge?redir=%2F -> techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 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:34099 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:34099/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=javascript%3Aalert%28%27xss%27%29&response=ef09bb223dc6622f6b80dc79ad04e216dcbb193a85f07c38bf00faa4f977edb6 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None {"time":"2025-08-08T15:01:00.837647176Z","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:34099 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:34099/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=vbscript%3Amsgbox%28%22XSS%22%29&response=ef09bb223dc6622f6b80dc79ad04e216dcbb193a85f07c38bf00faa4f977edb6 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None {"time":"2025-08-08T15:01:00.838165673Z","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:34099 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None anubis_test.go:137: requested cookies for http://127.0.0.1:34099/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=data%3Atext%2Fhtml%3Bbase64%2CPHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4%3D&response=ef09bb223dc6622f6b80dc79ad04e216dcbb193a85f07c38bf00faa4f977edb6 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None {"time":"2025-08-08T15:01:00.838617874Z","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:34099/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=javascript%3Aalert%28%27xss%27%29&response=ef09bb223dc6622f6b80dc79ad04e216dcbb193a85f07c38bf00faa4f977edb6 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None {"time":"2025-08-08T15:01:00.839016094Z","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:34099/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=vbscript%3Amsgbox%28%22XSS%22%29&response=ef09bb223dc6622f6b80dc79ad04e216dcbb193a85f07c38bf00faa4f977edb6 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None {"time":"2025-08-08T15:01:00.839440003Z","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:34099/.within.website/x/cmd/anubis/api/pass-challenge?elapsedTime=420&nonce=0&redir=data%3Atext%2Fhtml%3Bbase64%2CPHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4%3D&response=ef09bb223dc6622f6b80dc79ad04e216dcbb193a85f07c38bf00faa4f977edb6 anubis_test.go:140: get cookie: <- techaro.lol-anubis-cookie-verification=01988a33-1725-702b-b395-cb1d3fbffdff; Path=/; Expires=Fri, 08 Aug 2025 15:01:00 GMT; SameSite=None {"time":"2025-08-08T15:01:00.839828816Z","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.02s) --- PASS: TestPassChallengeXSS/with_test_cookie (0.00s) --- 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.00s) --- 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-08T15:01:00.852078729Z","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-08T15:01:00.859902775Z","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.05s) --- 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.00s) --- PASS: TestGoodConfigs/entropy.yaml/with-thoth (0.00s) --- 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.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.00s) --- PASS: TestGoodConfigs/git_client.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.yaml (0.00s) --- 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.00s) --- 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.00s) --- PASS: TestGoodConfigs/import_keep_internet_working.yaml/with-thoth (0.00s) --- 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.00s) --- 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.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.00s) --- PASS: TestGoodConfigs/thresholds.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/thresholds.yaml/without-thoth (0.00s) --- 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-08T15:01:00.906224073Z","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-08T15:01:00.918523072Z","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-08T15:01:00.930771723Z","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.04s) --- PASS: TestSetCookie/basic (0.01s) --- PASS: TestSetCookie/domain_techaro.lol (0.01s) --- PASS: TestSetCookie/dynamic_cookie_domain (0.01s) === RUN TestClearCookie {"time":"2025-08-08T15:01:00.942925894Z","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.01s) === RUN TestClearCookieWithDomain {"time":"2025-08-08T15:01:00.95630838Z","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.01s) === RUN TestClearCookieWithDynamicDomain {"time":"2025-08-08T15:01:00.9688335Z","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.01s) PASS ok github.com/TecharoHQ/anubis/lib 1.699s ? 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.011s ? 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.01s) --- PASS: TestBasic/allgood (0.01s) --- 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.020s === 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.01s) --- 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.05s) --- PASS: TestComprehensiveTranslations/cs (0.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.00s) --- 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.061s === 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.02s) === 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/08 15:00:59 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/08 15:00:59 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.05s) --- 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.00s) --- PASS: TestGoodConfigs/entropy.yaml/with-thoth (0.00s) --- 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.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.00s) --- PASS: TestGoodConfigs/git_client.json/with-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.json/without-thoth (0.00s) --- PASS: TestGoodConfigs/git_client.yaml (0.00s) --- 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.00s) --- 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.00s) --- PASS: TestGoodConfigs/import_keep_internet_working.yaml/with-thoth (0.00s) --- 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.00s) --- 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.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.01s) --- PASS: TestGoodConfigs/thresholds.yaml/with-thoth (0.00s) --- PASS: TestGoodConfigs/thresholds.yaml/without-thoth (0.00s) --- 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.00s) --- 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 0.083s ? 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.00s) --- 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.01s) --- 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.00s) --- 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.01s) --- 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.00s) --- 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.00s) --- 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.00s) --- PASS: TestImportStatement/(data)/crawlers/googlebot.yaml (0.00s) --- 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.00s) --- 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.00s) --- 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.031s === 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.00s) --- PASS: TestBotEnvironment/missing-header (0.00s) --- 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.00s) --- 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.00s) --- PASS: TestNewEnvironment/randInt-function-compilation (0.00s) --- 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.013s === RUN TestJSON --- PASS: TestJSON (0.00s) PASS ok github.com/TecharoHQ/anubis/lib/store 0.003s ? github.com/TecharoHQ/anubis/lib/store/all [no test files] === RUN TestImpl bbolt_test.go:13: /tmp/TestImpl2621674946/001/db === RUN TestImpl/basic_get_set_delete === PAUSE TestImpl/basic_get_set_delete === RUN TestImpl/expires === PAUSE TestImpl/expires === CONT TestImpl/expires === CONT TestImpl/basic_get_set_delete --- PASS: TestImpl (0.00s) --- PASS: TestImpl/basic_get_set_delete (0.00s) --- PASS: TestImpl/expires (0.16s) === 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.159s === 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.158s ? 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.026s ? 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-r1.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-r1.apk >>> anubis*: Tracing dependencies... so:libc.musl-ppc64le.so.1 >>> anubis*: Package size: 28.3 MB >>> anubis*: Compressing data... >>> anubis*: Create checksum... >>> anubis*: Create anubis-1.21.3-r1.apk >>> anubis: Build complete at Fri, 08 Aug 2025 15:01:01 +0000 elapsed time 0h 0m 20s >>> anubis: Cleaning up srcdir >>> anubis: Cleaning up pkgdir >>> anubis: Uninstalling dependencies... (1/2) Purging .makedepends-anubis (20250808.150043) (2/2) Purging go (1.24.6-r0) busybox-1.37.0-r22.trigger: Executing script... OK: 288 MiB in 101 packages >>> anubis: Updating the testing/ppc64le repository index... >>> anubis: Signing the index...