{"id":19493341,"url":"https://github.com/negrel/http-ece","last_synced_at":"2025-12-11T21:14:46.518Z","repository":{"id":53869489,"uuid":"519370129","full_name":"negrel/http-ece","owner":"negrel","description":"HTTP Encrypted Content-Encoding (RFC 8188) for Deno and web browsers","archived":false,"fork":false,"pushed_at":"2024-07-14T18:29:37.000Z","size":162,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-24T18:53:29.359Z","etag":null,"topics":["deno","encrypted-content-encoding","http","js","rfc8188","ts"],"latest_commit_sha":null,"homepage":"","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/negrel.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}},"created_at":"2022-07-29T23:07:32.000Z","updated_at":"2024-08-03T11:18:18.000Z","dependencies_parsed_at":"2024-05-07T13:43:55.470Z","dependency_job_id":null,"html_url":"https://github.com/negrel/http-ece","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"ce8573a1b26d3f8f22ffd299c065202663ffc28c"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrel%2Fhttp-ece","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrel%2Fhttp-ece/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrel%2Fhttp-ece/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrel%2Fhttp-ece/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/negrel","download_url":"https://codeload.github.com/negrel/http-ece/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250890329,"owners_count":21503478,"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":["deno","encrypted-content-encoding","http","js","rfc8188","ts"],"created_at":"2024-11-10T21:25:26.072Z","updated_at":"2025-12-11T21:14:46.488Z","avatar_url":"https://github.com/negrel.png","language":"TypeScript","readme":"# `http-ece` - HTTP Encrypted Content-Encoding for Deno \u0026 web browsers\n\n![jsr badge](https://jsr.io/badges/@negrel/http-ece)\n![license MIT badge](https://img.shields.io/github/license/negrel/http-ece)\n![code size badge](https://img.shields.io/github/languages/code-size/negrel/http-ece)\n\nThis library is an implementation of HTTP Encrypted Content-Encoding\nscheme([RFC 8188](https://datatracker.ietf.org/doc/html/rfc8188)).\n\n\u003e NOTE: This library hasn't been reviewed by crypto experts and may be unsecure.\n\u003e I've done my best to follow RFC recommandation and I only used primitives\n\u003e provided by the\n\u003e [SubtleCrypto API](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto).\n\n`http-ece` is available on [JSR](https://jsr.io/@negrel/http-ece).\n\n## Implemented schemes\n\nThis crate implements only the published Web Push Encryption scheme\n(`aes128gcm`), and **not** the legacy scheme from earlier drafts.\n\nIt does not support, and we have no plans to ever support, the obsolete `aesgmc`\nand `aesgcm128` schemes from earlier drafts.\n\n## Usage\n\n```ts\nimport * as ece from \"jsr:@negrel/http-ece\";\n\nconst input = new TextEncoder().encode(\"I am the walrus\");\nconst secret = new TextEncoder().encode(\"my_secret\");\nconst encrypted = await ece.encrypt(input, secret);\n\nconst decrypted = await ece.decrypt(encrypted, secret);\n\nconsole.log(new TextDecoder().decode(decrypted));\n// output: I am the walrus\n```\n\n## Features\n\n- `aes128gcm` encryption and decryption\n- custom padding strategy supported\n- Web browser compatible (based on\n  [SubtleCrypto](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto))\n\n## TODO\n\n- [ ] Support\n      [Streams API](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API)\n\n## Contributing\n\nIf you want to contribute to `http_ece` to add a feature or improve the code\ncontact me at [negrel.dev@protonmail.com](mailto:negrel.dev@protonmail.com),\nopen an [issue](https://github.com/negrel/http_ece/issues) or make a\n[pull request](https://github.com/negrel/http_ece/pulls).\n\n## :stars: Show your support\n\nPlease give a :star: if this project helped you!\n\n[![buy me a coffee](https://github.com/negrel/.github/raw/master/.github/images/bmc-button.png?raw=true)](https://www.buymeacoffee.com/negrel)\n\n## :scroll: License\n\nMIT © [Alexandre Negrel](https://www.negrel.dev/)\n","funding_links":["https://www.buymeacoffee.com/negrel"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnegrel%2Fhttp-ece","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnegrel%2Fhttp-ece","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnegrel%2Fhttp-ece/lists"}