{"id":42258012,"url":"https://github.com/this-oliver/basset","last_synced_at":"2026-01-27T05:36:45.722Z","repository":{"id":289005218,"uuid":"969784055","full_name":"this-oliver/basset","owner":"this-oliver","description":"Analyze your Nginx logs for suspicious activity.","archived":false,"fork":false,"pushed_at":"2026-01-21T22:14:52.000Z","size":57,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-22T11:26:52.724Z","etag":null,"topics":["logs","nginx","security"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/this-oliver.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-20T23:17:32.000Z","updated_at":"2026-01-21T22:14:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"a44b7ce8-9756-4036-8367-67ca01812214","html_url":"https://github.com/this-oliver/basset","commit_stats":null,"previous_names":["this-oliver/basset"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/this-oliver/basset","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/this-oliver%2Fbasset","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/this-oliver%2Fbasset/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/this-oliver%2Fbasset/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/this-oliver%2Fbasset/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/this-oliver","download_url":"https://codeload.github.com/this-oliver/basset/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/this-oliver%2Fbasset/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28804291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T03:44:14.111Z","status":"ssl_error","status_checked_at":"2026-01-27T03:43:33.507Z","response_time":168,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["logs","nginx","security"],"created_at":"2026-01-27T05:36:45.155Z","updated_at":"2026-01-27T05:36:45.703Z","avatar_url":"https://github.com/this-oliver.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Basset\n\n[![CI](https://github.com/this-oliver/basset/actions/workflows/ci.yaml/badge.svg)](https://github.com/this-oliver/basset/actions/workflows/ci.yaml) [![CD](https://github.com/this-oliver/basset/actions/workflows/cd.yaml/badge.svg)](https://github.com/this-oliver/basset/actions/workflows/cd.yaml)\n\nAnalyze your Nginx logs for suspicious activity.\n\n## Getting Started\n\nPre-requisites:\n\n- Python 12+ installed\n\nSetup environment:\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\nInstall dependencies:\n\n```bash\npython3 -m pip install -r requirements.txt\n```\n\n## Usage\n\n\u003e [!TIP]\n\u003e If you are struggling with regex, you can use [regex101](https://regex101.com/) to test your regex patterns. The grep command uses PCRE regex, so make sure to select the correct flavor.\n\n```bash\n# basic\npython3 main.py -f access.log\n\n# get all logs with paths that are not '/foo/bar' or '/foo/baz'\npython3 main.py -f access.log -p '/foo/bar' -p '/foo/baz'\n\n# get all requests that are not POST or GET requests (notice the comma)\npython3 main.py -f access.log -m 'POST,GET'\n\n# get all requests that are not 200 or 301 status codes (notice the comma)\npython3 main.py -f access.log -s '200,301'\n```\n\nBy default, the script will look for the following patterns:\n\n- paths that are not any of the following:\n  - `/`\n  - `/index.html`\n  - `/index/foo/bar.html`\n  - `/assets/fonts/font.otf`\n  - `/assets/images/logo.webp`\n  - `/favicon.ico`\n- requests that are not GET requests\n- requests that are not 200 or 301 status codes\n\nFor more options, run the script with the `-h` flag:\n\n```bash\npython3 main.py -h\n\n#usage: Basset [-h] [-a {all,methods,status,paths}] -f FILE [-s STATUS] [-m METHODS] [-v] [-d]\n\n#Analyze your Nginx logs\n\n#options:\n#  -h, --help            show this help message and exit\n#  -a {all,methods,status,paths}, --analysis {all,methods,status,paths}\n#                        The type of analysis to perform (defaults to 'all')\n#  -f FILE, --file FILE  Path to the log file\n#  -s STATUS, --status STATUS\n#                        Specify normal HTTP status codes comma-separated\n#  -m METHODS, --methods METHODS\n#                        Specify normal HTTP methods comma-separated\n#  -v, --verbose         Show extensive reports\n#  -d, --debug           Show debug logs\n```\n\n## Contribution\n\nthe repository is open for contributions as long as they meet the following criteria:\n\n- code changes are readable above all else (that includes performance)\n- [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) for transparency and traceability\n- pull request passes all checks\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthis-oliver%2Fbasset","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthis-oliver%2Fbasset","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthis-oliver%2Fbasset/lists"}