{"id":39915299,"url":"https://github.com/7etsuo/tcurl","last_synced_at":"2026-01-18T16:36:42.794Z","repository":{"id":330409219,"uuid":"1122641916","full_name":"7etsuo/tcurl","owner":"7etsuo","description":"tcurl - uses tetsuo socket library. ","archived":false,"fork":false,"pushed_at":"2025-12-26T02:03:47.000Z","size":1258,"stargazers_count":18,"open_issues_count":1,"forks_count":7,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-26T21:33:17.462Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/7etsuo.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-12-25T07:29:57.000Z","updated_at":"2025-12-26T11:32:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/7etsuo/tcurl","commit_stats":null,"previous_names":["7etsuo/tcurl"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/7etsuo/tcurl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7etsuo%2Ftcurl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7etsuo%2Ftcurl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7etsuo%2Ftcurl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7etsuo%2Ftcurl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/7etsuo","download_url":"https://codeload.github.com/7etsuo/tcurl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7etsuo%2Ftcurl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28542110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T14:59:57.589Z","status":"ssl_error","status_checked_at":"2026-01-18T14:59:46.540Z","response_time":98,"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":[],"created_at":"2026-01-18T16:36:42.039Z","updated_at":"2026-01-18T16:36:42.778Z","avatar_url":"https://github.com/7etsuo.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tcurl\n\nA custom curl implementation built on my socket library with help from Grok.\n\nZero dependencies except OpenSSL for crypto primitives. Everything else is hand-rolled.\n\n```\n10.0.0.167.48458 \u003e 54.158.135.159.443: Flags [S]\n  54.158.135.159.443 \u003e 10.0.0.167.48458: Flags [S.], ack\n```\n\nDNS resolution → TCP handshake → TLS negotiation → HTTP request → encrypted response.\n\nAll custom. No libcurl. No libuv.\n\n---\n\n## What's in the box\n\n- Full TLS 1.3 handshake + certificate chain validation\n- HTTP/1.1 \u0026 HTTP/2 with HPACK compression\n- Complete DNS resolver with DoT, DoH, DNSSEC\n- io_uring async backend with SQPOLL + registered buffers\n- WebSocket + WebSocket-over-HTTP/2\n- SOCKS4/5 + HTTP CONNECT proxy support\n- Connection pooling with health monitoring + rate limiting\n- Happy Eyeballs v2 dual-stack connection racing\n- Arena-based memory management\n- Custom exception handling (TRY/EXCEPT/FINALLY)\n\n## Build\n\n```bash\nmkdir build \u0026\u0026 cd build\ncmake .. -DENABLE_HTTP_COMPRESSION=ON -DENABLE_TLS=ON\nmake -j$(nproc)\n```\n\n## What's redacted\n\n- HTTP/3 + QUIC (in progress)\n- Simple API layer\n- Fuzz harnesses\n- Unit/integration test suite\n- Examples folder (30+ demo programs)\n\n## About the API\n\nThe Simple API from previous demos encapsulated much of the underlying functionality—exception handling, connection management, etc. This demo uses the lower layer of the socket library directly. The Simple API isn't public yet because I haven't had time to fully fuzz it.\n\nThe exception-based API shown here has been fuzzed (not full coverage) and hammered with ASan/UBSan. It passes the full test suite. There are still some issues.\n\nStill under active development. The code shown is battle-tested, not final.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7etsuo%2Ftcurl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F7etsuo%2Ftcurl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7etsuo%2Ftcurl/lists"}