{"id":45336841,"url":"https://github.com/liu233w/ojhunt-lite","last_synced_at":"2026-05-05T04:04:48.461Z","repository":{"id":338582366,"uuid":"1156759400","full_name":"Liu233w/ojhunt-lite","owner":"Liu233w","description":"A lightweight async Python tool for querying Online Judge (OJ) statistics across multiple platforms. Track your accepted problems (AC) and total submissions from 29+ competitive programming platforms.","archived":false,"fork":false,"pushed_at":"2026-04-04T16:04:29.000Z","size":584,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-04T16:10:53.495Z","etag":null,"topics":["acm-icpc","codechef-api","codeforces-api","crawler","spoj-api"],"latest_commit_sha":null,"homepage":"https://ojhunt.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Liu233w.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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-13T02:41:38.000Z","updated_at":"2026-04-04T15:17:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Liu233w/ojhunt-lite","commit_stats":null,"previous_names":["liu233w/ojhunt-lite"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/Liu233w/ojhunt-lite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liu233w%2Fojhunt-lite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liu233w%2Fojhunt-lite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liu233w%2Fojhunt-lite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liu233w%2Fojhunt-lite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Liu233w","download_url":"https://codeload.github.com/Liu233w/ojhunt-lite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liu233w%2Fojhunt-lite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31778580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T00:11:49.126Z","status":"online","status_checked_at":"2026-04-14T02:00:06.344Z","response_time":153,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["acm-icpc","codechef-api","codeforces-api","crawler","spoj-api"],"created_at":"2026-02-21T09:30:45.991Z","updated_at":"2026-04-26T06:05:25.256Z","avatar_url":"https://github.com/Liu233w.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OJHunt Lite\n\nA lightweight async Python tool for querying Online Judge (OJ) statistics across multiple platforms. Track your accepted problems and total submissions from competitive programming sites.\n\n- Async/concurrent requests via `aiohttp`\n- CLI and web interface\n- BSD-2 Licensed\n\n## CLI\n\n**Install once, use anywhere** (pipx, uv tool, or pip):\n\n```bash\npipx install ojhunt\n# or: uv tool install ojhunt\n# or: pip install ojhunt\n```\n\n**Run directly from a clone** (no install needed):\n\n```bash\ngit clone https://github.com/Liu233w/ojhunt-lite\ncd ojhunt-lite\nuv run ojhunt tourist@codeforces\n```\n\n**Run via container** (no Python needed):\n\n```bash\ndocker run --rm ghcr.io/liu233w/ojhunt-lite tourist@codeforces\n```\n\nExample output:\n\n```bash\n$ ojhunt tourist@codeforces tourist@atcoder\nQuerying CodeForces...\nQuerying AtCoder...\nAtCoder done (1051 solved, 1.25s)\nCodeForces done (2962 solved, 2.78s)\n\nTotal: 2962 solved / 6437 submissions\n\n┏━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓\n┃ Crawler    ┃ Username ┃ Solved ┃ Submissions ┃ Status     ┃\n┡━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩\n│ CodeForces │ tourist  │   2962 │        5386 │ OK (2.78s) │\n│ AtCoder    │ tourist  │   1051 │        1051 │ OK (1.25s) │\n└────────────┴──────────┴────────┴─────────────┴────────────┘\nCompleted: 2 OK, 0 failed (2.78s total)\n```\n\nFull CLI reference, login-required crawlers, and JSON output: **[docs/cli.md](docs/cli.md)**\n\n## Web Interface\n\nThe web interface is designed to be self-hosted. Clone the repo and deploy:\n\n```bash\ngit clone https://github.com/Liu233w/ojhunt-lite\ncd ojhunt-lite\nuv sync\nuv run fastapi run src/ojhunt/web/app.py --port 8080\n```\n\nContainer images are available at `ghcr.io/liu233w/ojhunt-lite` — see [docs/web.md](docs/web.md).\n\n## Use Crawlers in Your Code\n\nAdd `ojhunt` as a project dependency:\n\n```bash\nuv add ojhunt\n# or: pip install ojhunt\n```\n\n**Sync (simplest):**\n\n```python\nfrom ojhunt.crawlers.codeforces import query\nfrom ojhunt.crawlers import query_sync\n```\n\n```python notest\nresult = query_sync(query, \"tourist\")\nprint(result.solved, result.submissions, result.solved_list)\n```\n\n**Async (when you already have an event loop):**\n\n```python\nimport asyncio, aiohttp\nfrom ojhunt.crawlers.codeforces import query\nfrom ojhunt.crawlers import CrawlerResult\n```\n\n```python notest\nasync def main():\n    async with aiohttp.ClientSession() as session:\n        result = CrawlerResult.from_dict(await query(session, \"tourist\"))\n        print(result.solved, result.submissions, result.solved_list)\n\nasyncio.run(main())\n```\n\n`query_sync` and `CrawlerResult` work with any crawler in `ojhunt.crawlers.*`.\nSome crawlers (`nit`, `uva`) use a persistent label cache and require the full package — they cannot be used as standalone copied files.\n\n## Supported Platforms\n\nSee the [src/ojhunt/crawlers/](./src/ojhunt/crawlers) directory. Archived crawlers (dead sites) are in [archived_crawlers/](./archived_crawlers).\n\n## Development\n\nAdding crawlers, running tests, templates: **[docs/development.md](docs/development.md)**\n\n## License\n\nBSD 2-Clause License — see individual crawler files for full license text.\n\n## Credits\n\nLightweight Python rewrite of [OJHunt (acm-statistics)](https://github.com/Liu233w/acm-statistics),\noriginally inspired by 西北工业大学ACM查询系统 (npuacm.info) by [Jiduo Zhang](https://kidozh.com).\n\nSpecial thanks to test account providers: @leoloveacm, @2013300262\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/22635759?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://www.cometeme.tech\"\u003e\u003cb\u003eAdelard Collins\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/cometeme\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3Acometeme\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/64258212?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/BackSlashDelta\"\u003e\u003cb\u003eBackSlashDelta\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/BackSlashDelta\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3ABackSlashDelta\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/35862184?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/bodhisatan\"\u003e\u003cb\u003eBodhisatan_Yao\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/bodhisatan\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3Abodhisatan\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/81847?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://anthropic.com/claude-code\"\u003e\u003cb\u003eClaude\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/claude\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/commits?author=claude\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#infra-claude\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"https://github.com/Liu233w/ojhunt-lite/commits?author=claude\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/25352156?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/Geekxiong\"\u003e\u003cb\u003eGeekxiong\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Geekxiong\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"#ideas-Geekxiong\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/39403985?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/settings/profile\"\u003e\u003cb\u003eHalorv\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Halorv\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"#ideas-Halorv\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/11661760?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://kidozh.com\"\u003e\u003cb\u003eKido Zhang\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/kidozh\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"#infra-kidozh\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#ideas-kidozh\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/16333687?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://liu233w.github.io\"\u003e\u003cb\u003eLiu233w\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Liu233w\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/commits?author=Liu233w\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-Liu233w\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#infra-Liu233w\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"https://github.com/Liu233w/ojhunt-lite/commits?author=Liu233w\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/55663936?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/Meulsama\"\u003e\u003cb\u003eMeulsama\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Meulsama\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"#ideas-Meulsama\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/50655871?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/UserUnknownX\"\u003e\u003cb\u003eMichael Xiang\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/UserUnknownX\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3AUserUnknownX\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/11994295?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"http://zhao.wtf\"\u003e\u003cb\u003eZhao\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/2512821228\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3A2512821228\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/19774268?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://dreamer.blue/\"\u003e\u003cb\u003ebLue\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/dreamerblue\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/commits?author=dreamerblue\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/49401963?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/bluebear4\"\u003e\u003cb\u003ebluebear4\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/bluebear4\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3Abluebear4\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/22322656?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/ctuu\"\u003e\u003cb\u003ect\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/ctuu\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3Actuu\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/9880740?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/flylai\"\u003e\u003cb\u003eflylai\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/flylai\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/commits?author=flylai\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3Aflylai\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/36151020?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/fzu-h4cky\"\u003e\u003cb\u003efzu-h4cky\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/fzu-h4cky\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3Afzu-h4cky\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/42441490?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/wwawwaww\"\u003e\u003cb\u003ewwawwaww\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/wwawwaww\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3Awwawwaww\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"16.66%\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/43291744?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/zby0327\"\u003e\u003cb\u003ezby\u003c/b\u003e\u003c/a\u003e\u003ca href=\"https://github.com/zby0327\"\u003e🔗\u003c/a\u003e\u003c/sub\u003e\u003cbr /\u003e\u003ca href=\"#ideas-zby0327\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/Liu233w/ojhunt-lite/issues?q=author%3Azby0327\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliu233w%2Fojhunt-lite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliu233w%2Fojhunt-lite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliu233w%2Fojhunt-lite/lists"}