diff options
Diffstat (limited to 'bundles/go-away/files/config/snippets/conditions-generic.yml')
| -rw-r--r-- | bundles/go-away/files/config/snippets/conditions-generic.yml | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/bundles/go-away/files/config/snippets/conditions-generic.yml b/bundles/go-away/files/config/snippets/conditions-generic.yml new file mode 100644 index 0000000..4e64cca --- /dev/null +++ b/bundles/go-away/files/config/snippets/conditions-generic.yml @@ -0,0 +1,56 @@ +conditions: + is-well-known-asset: + # general txt files or scraper + - 'path == "/robots.txt" || path == "/security.txt"' + + # ads txt files + - 'path == "/app-ads.txt" || path == "/ads.txt"' + + # generally requested by browsers + - 'path == "/favicon.ico"' + + # used by some applications + - 'path == "/crossdomain.xml"' + + # well-known paths + - 'path.startsWith("/.well-known/")' + + is-git-ua: + - 'userAgent.startsWith("git/") || userAgent.contains("libgit")' + - 'userAgent.startsWith("go-git")' + - 'userAgent.startsWith("JGit/") || userAgent.startsWith("JGit-")' + # Golang proxy and initial fetch + - 'userAgent.startsWith("GoModuleMirror/")' + - 'userAgent.startsWith("Go-http-client/") && "go-get" in query && query["go-get"] == "1"' + - '"Git-Protocol" in headers && headers["Git-Protocol"] == "version=2"' + + is-generic-browser: + - 'userAgent.startsWith("Mozilla/") || userAgent.startsWith("Opera/")' + + is-generic-robot-ua: + - 'userAgent.matches("compatible[;)]") && !userAgent.contains("Trident/")' + - 'userAgent.matches("\\+https?://")' + - 'userAgent.contains("@")' + - 'userAgent.matches("[bB]ot/[0-9]")' + + is-tool-ua: + - 'userAgent.startsWith("python-requests/")' + - 'userAgent.startsWith("Python-urllib/")' + - 'userAgent.startsWith("python-httpx/")' + - 'userAgent.contains("aoihttp/")' + - 'userAgent.startsWith("http.rb/")' + - 'userAgent.startsWith("curl/")' + - 'userAgent.startsWith("Wget/")' + - 'userAgent.startsWith("libcurl/")' + - 'userAgent.startsWith("okhttp/")' + - 'userAgent.startsWith("Java/")' + - 'userAgent.startsWith("Apache-HttpClient//")' + - 'userAgent.startsWith("Go-http-client/")' + - 'userAgent.startsWith("node-fetch/")' + - 'userAgent.startsWith("reqwest/")' + + # Checks to detect a headless chromium via headers only + is-headless-chromium: + - 'userAgent.contains("HeadlessChrome") || userAgent.contains("HeadlessChromium")' + - '"Sec-Ch-Ua" in headers && (headers["Sec-Ch-Ua"].contains("HeadlessChrome") || headers["Sec-Ch-Ua"].contains("HeadlessChromium"))' + #- '(userAgent.contains("Chrome/") || userAgent.contains("Chromium/")) && (!("Accept-Language" in headers) || !("Accept-Encoding" in headers))' \ No newline at end of file |