{"id":17674219,"url":"https://github.com/wmalinowski/universal-doh","last_synced_at":"2026-02-12T04:09:53.589Z","repository":{"id":258415724,"uuid":"873879940","full_name":"wmalinowski/universal-doh","owner":"wmalinowski","description":"DNS over HTTPS universal TypeScript library","archived":false,"fork":false,"pushed_at":"2025-02-12T04:16:19.000Z","size":238,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-01T04:57:39.448Z","etag":null,"topics":["async-dns","browser","bun","cloudflare-dns","cloudflare-workers","dns","dns-client","dns-lookup","dns-over-https","dns-query","dns-resolver","doh","google-dns","idn","nodejs","punycode","quad9-dns","typescript","web-workers"],"latest_commit_sha":null,"homepage":"https://wmalinowski.github.io/universal-doh/","language":"TypeScript","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/wmalinowski.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}},"created_at":"2024-10-16T22:01:13.000Z","updated_at":"2025-01-31T18:31:41.000Z","dependencies_parsed_at":"2024-10-24T08:32:19.133Z","dependency_job_id":"0cfccc52-77fd-4b85-9e09-48ccac6bae53","html_url":"https://github.com/wmalinowski/universal-doh","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"b832567ab6b00e807bc54b1a10230af20568b65a"},"previous_names":["wmalinowski/universal-doh"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/wmalinowski/universal-doh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wmalinowski%2Funiversal-doh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wmalinowski%2Funiversal-doh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wmalinowski%2Funiversal-doh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wmalinowski%2Funiversal-doh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wmalinowski","download_url":"https://codeload.github.com/wmalinowski/universal-doh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wmalinowski%2Funiversal-doh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29357943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"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":["async-dns","browser","bun","cloudflare-dns","cloudflare-workers","dns","dns-client","dns-lookup","dns-over-https","dns-query","dns-resolver","doh","google-dns","idn","nodejs","punycode","quad9-dns","typescript","web-workers"],"created_at":"2024-10-24T07:06:02.943Z","updated_at":"2026-02-12T04:09:53.572Z","avatar_url":"https://github.com/wmalinowski.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# universal-doh\n\nThis project is a work in progress.\n\n## Current Status\n\nAs of now, a very simple implementation of the `resolve()` function is available.\nIt currently return a string, and this will definitely change in the (near) future.\n\nThe resolver uses DoH POST method and handles IDN domains and EDNS0 message padding\nalready. Currently it uses Cloudflare DNS server, but this will be configurable\nin the future.\n\n## Getting Started\n\nTo get started with the current state of this project, follow these steps:\n\n1. Clone the repository\n2. Install the dependencies using `npm install`\n3. Run the project using `npm dev` to play around with the resolver in your browser\n\nIt is not available as a package yet, as it is still in a very early stage.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwmalinowski%2Funiversal-doh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwmalinowski%2Funiversal-doh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwmalinowski%2Funiversal-doh/lists"}