{"id":15639828,"url":"https://github.com/hexagon/cryptalk","last_synced_at":"2025-07-29T00:32:44.572Z","repository":{"id":20890875,"uuid":"24178276","full_name":"Hexagon/cryptalk","owner":"Hexagon","description":"HTML5/Node.js based, client side (E2EE) encrypted instant chat","archived":false,"fork":false,"pushed_at":"2023-02-27T14:57:01.000Z","size":805,"stargazers_count":87,"open_issues_count":12,"forks_count":26,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-30T11:51:53.213Z","etag":null,"topics":["aes","aes-256","aes-encryption","chat","communication","docker","docker-setup","e2ee","encrypted-chat","instant-messaging","secure-communication","security"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/Hexagon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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":{"github":["hexagon"],"ko_fi":"hexagon_56k"}},"created_at":"2014-09-18T07:24:21.000Z","updated_at":"2025-06-23T10:17:31.000Z","dependencies_parsed_at":"2024-10-03T11:27:33.341Z","dependency_job_id":"29ab5aae-8984-441d-952f-e6a49477029f","html_url":"https://github.com/Hexagon/cryptalk","commit_stats":{"total_commits":180,"total_committers":8,"mean_commits":22.5,"dds":0.3555555555555555,"last_synced_commit":"a9c0e7592ef75fabb42cc7d752b17e78346fd736"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/Hexagon/cryptalk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hexagon%2Fcryptalk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hexagon%2Fcryptalk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hexagon%2Fcryptalk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hexagon%2Fcryptalk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hexagon","download_url":"https://codeload.github.com/Hexagon/cryptalk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hexagon%2Fcryptalk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267610343,"owners_count":24115433,"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-28T02:00:09.689Z","response_time":68,"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":["aes","aes-256","aes-encryption","chat","communication","docker","docker-setup","e2ee","encrypted-chat","instant-messaging","secure-communication","security"],"created_at":"2024-10-03T11:27:30.526Z","updated_at":"2025-07-29T00:32:44.538Z","avatar_url":"https://github.com/Hexagon.png","language":"JavaScript","funding_links":["https://github.com/sponsors/hexagon","https://ko-fi.com/hexagon_56k"],"categories":[],"sub_categories":[],"readme":"![cryptalk](/screenshot.png)\r\n\r\n![Node.js CI](https://github.com/Hexagon/cryptalk/workflows/Node.js%20CI/badge.svg?branch=master)\r\n[![npm version](https://badge.fury.io/js/cryptalk.svg)](https://badge.fury.io/js/cryptalk)\r\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)\r\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/753ef40cec1747c2b5025f834635375b)](https://www.codacy.com/gh/Hexagon/cryptalk/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=Hexagon/cryptalk\u0026amp;utm_campaign=Badge_Grade)\r\n\r\n# Cryptalk\r\n\r\nCyptalk is a HTML5/Node.js based, client side (E2EE) encrypted instant chat\r\n\r\n## Features\r\n\r\n*   Client side AES-256-CBC encryption/decryption (the server is just a messenger)\r\n*   256 bit key derived from your passphrase using PBKDF2\r\n*   Messages torched after a configurable delay, default is 600s.\r\n*   Simple setup using npm, Docker or Heroku\r\n*   Notification sounds (mutable)\r\n*   Native popup notifications\r\n*   Configurable page title\r\n*   Nicknames, optional.\r\n*   Quick-links using http://server/#Room:Passphrase, optional and insecure\r\n\r\n## Installing\r\n\r\n### Docker setup\r\n\r\nTo run latest cryptalk with docker, exposed on host port 80, simply run the following command to pull it from docker hub\r\n\r\n```bash\r\nsudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk\r\n```\r\n\r\n### Heroku setup \r\n\r\nClick the button below\r\n\r\n[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/hexagon/cryptalk)\r\n\r\n### Docker setup without using docker hub\r\n\r\nClone this repo, enter the new directory.\r\n\r\nBuild image\r\n```bash\r\ndocker build . --tag=\"hexagon/cryptalk\"\r\n```\r\n\r\nRun container, enable start on boot, expose to port 80 at host\r\n```bash\r\nsudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk\r\n```\r\n\r\nBrowse to ```http://\u003cip-of-server\u003e/```\r\n\r\nDone!\r\n\r\n### npm setup\r\n\r\nInstall node.js, exact procedure is dependant on platform and distribution.\r\n\r\nInstall the app from npm\r\n```bash\r\nnpm install cryptalk -g\r\n````\r\n\r\nThen issue the following to start the app\r\n\r\n```bash\r\ncryptalk\r\n```\r\n\r\nBrowse to ```http://localhost:8080```\r\n\r\nDone!\r\n\r\n## Usage\r\n\r\n```\r\n\r\nAvailable commands:\r\n\r\nClient:                                                    \t\t\t\r\n\t/key\t\tStrongPassphrase\tSets encryption key                 \r\n\t/nick\t\tNickName\t\t\tSets an optional nick                   \r\n\t/mute  \t\t\t\t\t\t\tAudio on\t\t\t\t\t\t\t\t\t\r\n\t/unmute  \t\t\t\t\t\tAudio off\t\t\t\t\t\t\t\t\t\r\n\t/clear\t\t\t\t\t\t\tClear on-screen buffer                      \r\n\t/help\t\t\t\t\t\t\tThis                                        \r\n\t/title\t\t\t\t\t\t\tSet your local page title\t\t\t\t\t\r\n\t/torch\t\tAfterSeconds\t\tConsole messages are torched  \t\t\r\n\t\t\t\t\t\t\t\t\tafter this amount of seconds \t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t(default 600).\t\t\t\t\t\t\t\t\t\r\n\r\nRoom:                                                    \t\t\t\t\r\n\t/join\t\tRoomId\t\t\t\tJoin a room\t                            \r\n\t/leave\t\t\t\t\t\t\tLeave the room                              \r\n\t/count\t\t\t\t\t\t\tCount participants                          \r\n\r\nHost:  \t\t                                                                \t\t\r\n\t/connect\t\t\t\t\t\tConnect to host               \t\r\n\t/disconnect\t\t\t\t\t\tDisconnect from host    \t\t\t        \r\n\r\nYou can select any of the five last commands/messages with up/down key.\r\n\r\nDue to security reasons, /key command is not saved, and command         \r\nhistory is  automatically cleared after one minute of inactivity.       \r\n\r\nIt is highly recommended to use incognito mode while chatting, \r\nto prevent browsers from keeping history or cache.            \r\n\r\n\r\n```\r\n\r\n## Development\r\n\r\nInstall node.js (development require \u003e=12.0), exact procedure is dependant on platform and distribution.\r\n\r\nClone this repo\r\n```bash\r\ngit clone https://github.com/Hexagon/cryptalk.git\r\ncd cryptalk\r\n```\r\n\r\nPull dependencies from npm\r\n```bash\r\nnpm install\r\n```\r\n\r\nStart server\r\n```bash\r\nnpm run start\r\n```\r\n\r\nBrowse to ```http://localhost:8080```\r\n\r\nTo work on the JavaScript, edit the code in ```client/source/```. To test the changes, first run ```npm run build``` to lint, build and minify the code. Then restart the server.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexagon%2Fcryptalk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhexagon%2Fcryptalk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexagon%2Fcryptalk/lists"}