{"id":22318412,"url":"https://github.com/secondl1ght/cipherchat","last_synced_at":"2025-07-29T12:31:31.766Z","repository":{"id":206875454,"uuid":"665786360","full_name":"secondl1ght/cipherchat","owner":"secondl1ght","description":"Encrypted messaging over the bitcoin lightning network.","archived":false,"fork":false,"pushed_at":"2024-06-07T03:36:44.000Z","size":68049,"stargazers_count":17,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-23T05:42:51.063Z","etag":null,"topics":["bitcoin","chat","cipher","decentralized-applications","encryption","freedom","lightning-network","messaging","privacy","sveltekit","wasm"],"latest_commit_sha":null,"homepage":"https://cipherchat.app","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/secondl1ght.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["getalby.com/p/secondl1ght"]}},"created_at":"2023-07-13T02:20:25.000Z","updated_at":"2024-12-15T16:12:16.000Z","dependencies_parsed_at":"2024-04-13T05:42:33.246Z","dependency_job_id":null,"html_url":"https://github.com/secondl1ght/cipherchat","commit_stats":null,"previous_names":["secondl1ght/cipherchat"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/secondl1ght/cipherchat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secondl1ght%2Fcipherchat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secondl1ght%2Fcipherchat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secondl1ght%2Fcipherchat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secondl1ght%2Fcipherchat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secondl1ght","download_url":"https://codeload.github.com/secondl1ght/cipherchat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secondl1ght%2Fcipherchat/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267686342,"owners_count":24127716,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"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":["bitcoin","chat","cipher","decentralized-applications","encryption","freedom","lightning-network","messaging","privacy","sveltekit","wasm"],"created_at":"2024-12-03T23:13:21.076Z","updated_at":"2025-07-29T12:31:28.833Z","avatar_url":"https://github.com/secondl1ght.png","language":"Svelte","funding_links":["getalby.com/p/secondl1ght"],"categories":[],"sub_categories":[],"readme":"# Cipherchat\n\n**Encrypted messaging over the bitcoin lightning network.**\n\n![image](https://github.com/secondl1ght/cipherchat/assets/85003930/dc7ebeb4-9e84-4aa5-8f86-b0d7687c2b17)\n\n[secondl1ght@protonmail.com](mailto:secondl1ght@protonmail.com)\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/7de7da8a-f171-47c1-8d30-1a4d328bd24a/deploy-status)](https://app.netlify.com/sites/cipherchat/deploys)\n\n## Tech Stack\n\nCipherchat has minimal dependencies with the main packages being as follows:\n\n- sveltekit\n- typescript\n- tailwindcss\n- lnc-web\n- dexie.js\n\nA large part of the app is the LNC WASM binary which comes bundled with the application.\n\nFor a full list of dependencies check out the `package.json`.\n\n## Browser Requirements\n\nCipherchat requires the following browser features to be enabled in order to run the app. These features are standard across all major browsers. However, it is possible that they can be disabled in the browser settings. If you receive warnings about missing these features they will have to be adjusted to continue.\n\n- Service Workers\n- Web Assembly\n- Local Storage\n- IndexedDB\n\n## PWA\n\nCipherchat is a Progressive Web App that can be installed on many devices and uses native features.\n\n## Self-Hosting\n\n### Running Locally\n\nIf you only want to use Cipherchat on your local machine you can follow these steps:\n\n1. `git clone` the repository\n2. `cd` into the new directory\n3. run `yarn` to install the packages\n4. run `yarn build` to build the application\n5. run `yarn preview` and the app will be served on `localhost:4173`\n\nTo run in development mode you can skip steps 4 \u0026 5 and instead run `yarn dev` which will serve the app on `localhost:5173`. Note that the Service Worker will be unable to register in dev mode if you are using Firefox because that browser does not support [modules](https://web.dev/articles/es-modules-in-sw).\n\n### Deploy Globally\n\nIf you would like to run a publicly accessible instance of Cipherchat that you can access remotely, I would recommend forking the repository and deploying with either [Netlify](https://www.netlify.com/) or [Vercel](https://vercel.com/).\n\nBoth providers offer a free tier and have close to one-click deployments that are very easy to setup and maintain. They will also give you a domain that you can access without having to purchase one yourself.\n\nOnce your instance is deployed you can stay in sync with this master branch and these platforms will auto-deploy new commits.\n\nYou can however use any type of server you'd like to deploy Cipherchat ranging from bare-metal to an easily hosted option.\n\n### One-Click Installation\n\nI plan on releasing Cipherchat on these plug-and-play node app stores:\n\n- [ ] myNode\n- [ ] Start9 Embassy\n- [ ] Umbrel\n\nIf there are other app stores you would like to see Cipherchat, please let me know!\n\n## Want to be inter-operable?\n\nCipherchat uses established standards from the [TLV Record Registry](https://github.com/satoshisstream/satoshis.stream/blob/main/TLV_registry.md). Users of Cipherchat could have conversations with other lightning apps if they follow the convention below for attaching `dest_custom_records`\nto [keysend](https://docs.lightning.engineering/lightning-network-tools/lnd/send-messages-with-keysend) payments.\n\n\u003ctable class=\"my-4 block max-w-fit border-separate overflow-x-auto whitespace-nowrap border border-boxFill bg-borderIn\"\u003e\n    \u003cthead\u003e\n        \u003ctr\u003e\n            \u003cth colspan=\"4\"\u003eCipherchat Keysend Custom Record Scheme\u003c/th\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003cth\u003eKey\u003c/th\u003e\n            \u003cth\u003eValue\u003c/th\u003e\n            \u003cth\u003eAdditional Info\u003c/th\u003e\n        \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e5482373484\u003c/td\u003e\n            \u003ctd\u003eKeysend Preimage\u003c/td\u003e\n            \u003ctd\u003ePreimage for the invoice.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e34349334\u003c/td\u003e\n            \u003ctd\u003eMessage Content\u003c/td\u003e\n            \u003ctd\u003eThe chat text, image, or a random UUID if 'PAYMENT' type.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e34349343\u003c/td\u003e\n            \u003ctd\u003eTimestamp\u003c/td\u003e\n            \u003ctd\u003eWhen the message was created measured in nanoseconds since the unix epoch.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e34349337\u003c/td\u003e\n            \u003ctd\u003eSignature\u003c/td\u003e\n            \u003ctd\u003eThe output from signing the: (receiver pubkey + timestamp + message) using the private key counterpart of the public key attached.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e34349339\u003c/td\u003e\n            \u003ctd\u003eSender's Pubkey\u003c/td\u003e\n            \u003ctd\u003eThis identifies the node associated with the message.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e34349345\u003c/td\u003e\n            \u003ctd\u003eContent Type\u003c/td\u003e\n            \u003ctd\u003eCan be one of: 'TEXT', 'IMAGE', 'PAYMENT'. (Currently images are not yet implemented).\u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n## License\n\n[GNU Affero General Public License v3.0](https://www.gnu.org/licenses/agpl-3.0-standalone.html)\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the\nGNU Affero General Public License as published by the Free Software Foundation, either version\n3 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but\n**WITHOUT ANY WARRANTY**; without even the implied warranty of\n**MERCHANTABILITY** or **FITNESS FOR A PARTICULAR PURPOSE**. See the\nGNU Affero General Public License for more details.\n\n---\n\n                                    7JJJJJJJJJJJ    7JJJJJJJ^:::\n                                    ?5YYYYYYYYYY.  .?YYYJJJJ^^^^\n                                    ?YYYYYYYYYYY????????^^^^^^^:\n                                    ?YYYYYYYYJYJ????????^^^^^^^:\n                                    ?555YYYY????????????^^^^^^^^\n                                    :~^^?JJJ????????!!!!^^^^....\n                                        !J??????????^^^^^^^^\n                                        .:::~!!!!!!~^^^^....\n                                            :^^^^^^^^^^^\n\n\n\n\n\n\n\n\n\n                :^^^^^^^                                                    :^^^^^^^\n                5#######.                                                   G######B\n                5#BBBBBB.                                                   G#BBBB#G\n                5#BBBBBB.                                                   P#BBBB#G\n            !J??G#BBBBBBY???                                            7J?JBBBBBBBBJ???\n            P####BBBBBBB####.                                           G###BBBBBBBB###B\n            5#BBBBBBBBBBBBBB7~~~~~~~Y5555555!~~~~~~~~~~!Y555555Y!~~~~~~!G#BBBBBBBBBBBB#B\n            5#BBBBBBBBBBBBBBJ???????B#######J??????????JB######BJ??????JB#BBBBBBBBBBBB#B\n            5#BBBBBBBBBBBBBBJ???????B#BBBBBBJ???????????B#BBBBBBJ???????B#BBBBBBBBBBBB#B\n           .P#BBBBBBBBBBBBBBYJJJJJJJB#BBBBBBYJJJJJJJJJJJB#BBBBBBYJJJJJJJBBBBBBBBBBBBBB#B.\n        YBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBG\n        5###BBBBBBBBBBBBBBBBP5555555BBBBBBBBBBBBBBBBBBBBBBBBBBBBP5555555BBBBBBBBBBBBBBBB###B\n        Y#BBBBBB#####BBBBBBB.       P#BBBBBBBBBB####BBBBBBBBBB#B.       P#BBBBBB####BBBBBB#G\n        Y#BBBBBBYJJJB#BBBBBB.       P#BBBBBBBBBBYJJJBBBBBBBBBB#B.       P#BBBBBBYJJJBBBBBB#G\n        Y#BBBBBB.   P####BBB        P#BBBBBB###B.   G####BBBBB#B        P#BB###B    G#BBBB#G\n    ^~~~G#BBBBBB7~~~!7!7G#BB7~~~~~~~G#BBBBBB?!7!    ~7!7G#BBBBBB7~~~~~~!G#BB?!!!~~~!B#BBBBBB!~~~\n    5####BBBBBBB##\u0026#.   5#BB########BBBBBB#B            P#BBBBBB########BB#G    G\u0026###BBBBBBB###B\n    5#BBBBBBBBBB!^^^7???G#BBBBBBBBBBBBBBBBBBJ???????????B#BBBBBBBBBBBBBBBBBBJ??7~^^~G#BBBBBBBB#B\n    5#BBBBBBBBBB.   P####BBBBBBBBBBBBBBBBBBB############BBBBBBBBBBBBBBBBBBBB###B    G#BBBBBBBB#B\n    5#BBBBBBBBBB5YYYB#BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBYYYYBBBBBBBBBB#B\n    5#BBBBBBBBBB####BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB####BBBBBBBBBBBB\n    !JJJJJJJG#BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBYJJJJJJ?\n    ~???????G#BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBJ??????7\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecondl1ght%2Fcipherchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsecondl1ght%2Fcipherchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecondl1ght%2Fcipherchat/lists"}