{"id":20534598,"url":"https://github.com/nagilum/focus","last_synced_at":"2026-04-24T21:31:55.803Z","repository":{"id":233864736,"uuid":"787409069","full_name":"nagilum/focus","owner":"nagilum","description":"Simple CLI tool, written in C#, to crawl a site and log the responses.","archived":false,"fork":false,"pushed_at":"2024-05-02T20:32:41.000Z","size":67,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T13:06:25.780Z","etag":null,"topics":["cli","crawl","crawler","csharp","playwright"],"latest_commit_sha":null,"homepage":"","language":"C#","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/nagilum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2024-04-16T13:19:40.000Z","updated_at":"2025-03-25T17:50:14.000Z","dependencies_parsed_at":"2024-05-02T15:46:51.797Z","dependency_job_id":"3afd6e0d-e3bf-4ab1-b8a3-efde12bf91be","html_url":"https://github.com/nagilum/focus","commit_stats":null,"previous_names":["nagilum/focus"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nagilum/focus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nagilum%2Ffocus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nagilum%2Ffocus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nagilum%2Ffocus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nagilum%2Ffocus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nagilum","download_url":"https://codeload.github.com/nagilum/focus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nagilum%2Ffocus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32241602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"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":["cli","crawl","crawler","csharp","playwright"],"created_at":"2024-11-16T00:27:28.022Z","updated_at":"2026-04-24T21:31:55.783Z","avatar_url":"https://github.com/nagilum.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Focus\n\nSimple CLI tool to crawl a site and log the responses.\n\n## Clone and Build\n```shell\ngit clone https://github.com/nagilum/focus\ncd Focus\ndotnet build -c Release\n```\n\n## Usage\n\n```shell\nfocus https://example.com\n```\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"screenshot.png?raw=true\" alt=\"Focus Screenshot\"\u003e\u003c/p\u003e\n\n## Parameters\n\n### Set Rendering Engine\n\nFocus uses Playwright behind the scenes for all HTML related requests.\nYou can select between using `chromium`, `firefox`, and `webkit` as the rendering engine to use.\nFocus defaults to using `chromium`.\nTo set the rendering engine, use the `-e` option.\n\n```shell\nfocus https://example.com -e firefox\n```\n\n*This will set the rendering engine to `Firefox`.*\n\n### Set Retry Attempts\n\nYou can set it so that Focus will retry failed requests `n` number of times.\nA failed request is either where an error caused it to not complete, or if the response HTTP status code is not in the 2xx range.\nBy default Focus will not retry failed requests.\nTo set retry atttempt, use the `-r` option.\n\n```shell\nfocus https://example.com -r 1\n```\n\n*This will retry all failed requests `1` time.*\n\n### Set Request Timeout\n\nYou can set the request timeout for all requests.\nThe default timeout is `10` seconds.\nSet the timeout to `0` to disable it.\nTo set a new timeout, use the `-t` option.\n\n```shell\nfocus https://example.com -t 3\n```\n\n*This will set the request timeout to `3` seconds.*\n\n```shell\nfocus https://example.com -t 0\n```\n\n*This will disable the timeout feature.*\n\n### Add Multiple URLs\n\nYou can setup Focus to crawl more than one URL, by simply adding more URLs to the parameter list.\n\n```shell\nfocus https://example.com https://another-domain.com https://example.com/some-hidden-page\n```\n\nThis will add those 3 URLs to the queue from the get-go and crawl from there.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnagilum%2Ffocus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnagilum%2Ffocus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnagilum%2Ffocus/lists"}