{"id":16203722,"url":"https://github.com/bbepis/hayden","last_synced_at":"2025-04-28T13:28:57.975Z","repository":{"id":39829471,"uuid":"193854607","full_name":"bbepis/Hayden","owner":"bbepis","description":"Ultra-low resource 4chan/altchan thread and board archiver","archived":false,"fork":false,"pushed_at":"2024-07-11T15:12:55.000Z","size":3672,"stargazers_count":65,"open_issues_count":10,"forks_count":7,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-01-02T15:14:34.805Z","etag":null,"topics":["4chan","archiver","imageboard","lynxchan","vichan"],"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/bbepis.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}},"created_at":"2019-06-26T07:41:47.000Z","updated_at":"2024-12-26T01:59:35.000Z","dependencies_parsed_at":"2024-04-05T19:24:33.300Z","dependency_job_id":"3cf5d92c-a6bc-4be0-a2d7-083186f7107a","html_url":"https://github.com/bbepis/Hayden","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbepis%2FHayden","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbepis%2FHayden/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbepis%2FHayden/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbepis%2FHayden/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbepis","download_url":"https://codeload.github.com/bbepis/Hayden/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233221837,"owners_count":18643705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["4chan","archiver","imageboard","lynxchan","vichan"],"created_at":"2024-10-10T09:54:55.198Z","updated_at":"2025-01-09T16:46:30.796Z","avatar_url":"https://github.com/bbepis.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![logo](hayden-banner.png)\n\n# Hayden\n\n[LIVE TESTING INSTANCE](https://ultra.gondola.pics/)\n\nHayden is a 4chan / altchan archiver written in .NET Core for ultra-low resource usage and high performance.\n\nIt also doubles as imageboard software.\n\nIt was originally writen as a drop-in alternative to [Asagi](https://github.com/eksopl/asagi), however Asagi compatibility currently has no guarantees.\n\nDeveloper documentation is in `ARCHITECTURE.md`.\n\n[**README for running the scraper**](doc/scraper.md)\n\n[**README for running the webserver / imageboard**](doc/webserver.md)\n\n\u0026nbsp;\n\n## Supported imageboard software\n\n[**Detailed information**](doc/imageboards.md)\n\n| Software                                                                                                              | API-less fallback | Example sites                 |\n| --------------------------------------------------------------------------------------------------------------------- | ----------------- | ----------------------------- |\n| [Yotsuba](https://www.4channel.org/faq#software)                                                                      | ❌                 | 4chan.org                     |\n| [LynxChan](https://gitgud.io/LynxChan/LynxChan)                                                                       | ❌                 | 8chan.moe \u003cbr\u003e endchan.org    |\n| [Vichan](https://github.com/vichan-devel/vichan)/[Infinity](https://github.com/ctrlcctrlv/infinity) (not OpenIB/8kun) | ❌                 | sportschan.org \u003cbr\u003e smuglo.li |\n| [InfinityNext](https://github.com/infinity-next/infinity-next/)                                                       | ❌                 | 9chan.tw                      |\n| [Meguca / shamichan](https://github.com/bakape/meguca)                                                                | ✅                 | 2chen.moe \u003cbr\u003e shamik.ooo     |\n| [FoolFuuka](https://github.com/FoolCode/FoolFuuka)                                                                    | ❌                 | desuarchive.org               |\n| [Ponychan](https://bitbucket.org/ponychan/ponychan-tinyboard/src/master/)                                             | ❌                 | ponychan.net                  |\n| ASPNetChan                                                                                                            | ✅                 | mlpol.net                     |\n\n### Features\n\n- Much smaller memory consumption than Asagi.\n  - For comparison, Hayden requires roughly 40MB of working memory to archive a single board (including all archived threads), while Asagi consumes several gigabytes to do the same.\n\n- Uses a much more efficient algorithm to perform API calls, reducing overall network calls made considerably and eliminates cloudflare rate limit issues.\n\n- Supports using multiple SOCKS proxies to distribute network load and allow parallel network operations.\n\n- Supports writing to multiple types of data stores.\n\n### Planned\n\n- Thread ID-based scraping system. Currently the only logic for thread archival operates on a per-board basis\n\n\u0026nbsp;\n\n----\n\n## Frontend screenshots\n\n\u003cimg src=\"https://i.imgur.com/QNb7Du2.png\" width=\"500\" /\u003e\n\u003cimg src=\"https://i.imgur.com/3VMau57.png\" width=\"500\" /\u003e\n\u003cimg src=\"https://i.imgur.com/D3iXzZb.png\" width=\"500\" /\u003e\n\u003cimg src=\"https://i.imgur.com/Ju6xssq.png\" width=\"500\" /\u003e\n\n\u0026nbsp;\n\n## FAQ\n### Why make it?\n\nI wanted to archive 4chan threads and display them, but didn't like what was already offered. As per usual, this turned into making a very large project to do so.\n\n### Why C#? Doesn't it have a GC like Java and other managed languages, and consume a lot of memory as a result?\n\nYeah sure. Maybe you could get better performance / memory usage out of something like Rust.\n\nBut you could also just not be wasteful and be considerate of how you structure your data, and achieve very similar results?\n\n### What's with the name?\n\nI was listening to the [Doom 2016 soundtrack](https://www.youtube.com/watch?v=b2YG8DX0ees) as I was programming this.\n\nI was not a fan of Eternal.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbepis%2Fhayden","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbepis%2Fhayden","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbepis%2Fhayden/lists"}