{"id":21406081,"url":"https://github.com/jes/ricochet-group","last_synced_at":"2025-08-16T11:09:39.461Z","repository":{"id":137662577,"uuid":"150239784","full_name":"jes/ricochet-group","owner":"jes","description":"Group chat for Ricochet IM","archived":false,"fork":false,"pushed_at":"2018-11-12T14:01:13.000Z","size":49,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-23T17:49:36.788Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-09-25T09:26:39.000Z","updated_at":"2018-11-12T14:01:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"033a5bce-0044-4f72-a306-09d72baf2666","html_url":"https://github.com/jes/ricochet-group","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jes/ricochet-group","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jes%2Fricochet-group","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jes%2Fricochet-group/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jes%2Fricochet-group/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jes%2Fricochet-group/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jes","download_url":"https://codeload.github.com/jes/ricochet-group/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jes%2Fricochet-group/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270702562,"owners_count":24630877,"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-08-16T02:00:11.002Z","response_time":91,"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":[],"created_at":"2024-11-22T16:30:54.982Z","updated_at":"2025-08-16T11:09:39.438Z","avatar_url":"https://github.com/jes.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"ricochet-group\n==============\n\nThis is a pretty rudimentary group chat system for Ricochet IM.\n\nSee https://ricochet.im/\n\n`ricochet-group` is compatible with the standard Ricochet GUI. It works by creating a central ricochet peer that runs\nthe group, which relays messages from the sending user to all of the other users. It essentially implements an IRC\nchannel over the Ricochet protocol.\n\nIt hasn't been security-tested and is only a hobby project. Rely on it at your own risk.\n\nTo try it out, come and join the \"Fans of Ricochet\" group chat at **ricochet:7kcnmmzhfo22unr2**\n\nCurrent status\n--------------\n\nPublic and private group chats work.\n\nThere are certainly bugs.\nIt is certainly possible to evade kicking and banning.\nIt is probably possible to connect to a private chat without permission.\n\nSee file `TODO` for things that still need to be done.\n\nInstallation\n------------\n\n### Basic usage\n\nClone the repo:\n\n    $ git clone https://github.com/jes/ricochet-group\n\nIf you don't already have go and tor, you'll need to install them.\n\n    $ sudo apt install golang-go tor # on Ubuntu\n    $ sudo yum install golang tor    # on CentOS\n\nFetch the dependencies:\n\n    $ go get -d\n\n(This may take a while and produce no output). Build ricochet-group:\n\n    $ go build\n\nAfter that, you can get started by running:\n\n    $ ./ricochet-group\n\nThe first line will tell you the Ricochet ID of your group chat:\n\n    ricochet-group coming up at ricochet:3yah8ol5a6ub3rto ...\n\nEdit `config.yaml` to customise the configuration.\n\n### Permanent installation\n\nThe included script `install.sh` should install `ricochet-group` on Ubuntu and CentOS systems, and hopefully others.\n\n    $ sudo ./install.sh\n\nHaving installed `ricochet-group` with `install.sh`, you should edit the config in `/etc/ricochet-group/config.yaml`\nand then start it with systemd:\n\n    $ sudo systemctl start ricochet-group\n\nExamine log output with journalctl:\n\n    $ journalctl -u ricochet-group\n\nIf all went well, the first line should tell you your group chat's ricochet id:\n\n    Sep 30 01:09:36 localhost ricochet-group[26754]: ricochet-group coming up at ricochet:3yah8ol5a6ub3rto ...\n\n(If it didn't start properly, you'll want to see the error message. In my experience, error messages when the program\nexits immediately are not shown by `journalctl -u ricochet-group`, but you should be able to find them with\n`journalctl | grep ricochet-group | tail`. I don't know why this is.)\n\nYou can then connect to the group chat and verify that it works. It might take 30 seconds or more for the hidden\nservice to become connectable, so don't be alarmed if it doesn't work immediately.\n\nYou can edit the configuration in `/etc/ricochet-group/config.yaml`. Remember to restart `ricochetgroup` whenever you change it.\n\nOnce you're satisfied, you can make it start at boot:\n\n    $ sudo systemctl enable ricochet-group\n\nIt is possible to run multiple different group chats on one machine by simply running multiple instances of `ricochet-group`.\nYou'll have to sort out your own systemd configuration for this however.\n\nConfiguration\n-------------\n\n`ricochet-group` looks for configuration in `./config.yaml` and `/etc/ricochet-group/config.yaml`, with configuration in\n`./config.yaml` taking priority.\n\nAll of the available configuration options are either used or described in the example config file.\n\nIf you want your group chat to use a specific ricochet id (e.g. a vanity address), you can copy the corresponding private key into\n`/var/lib/ricochet-group/private_key` instead of using the auto-generated key.\n\n### Private groups\n\nPrivate groups do appear to work, but I can't warrant that there aren't bugs that would allow non-allowed users to read\na private chat, so you rely on it at your own risk.\n\nUpgrades\n--------\n\nIf there is a new version available, and you want to upgrade your running `ricochet-group` instance:\n\nFirst update the git repo, and fetch any possible updates to the dependencies, and build the new version of the code:\n\n    $ git pull\n    $ go get -d -u github.com/jes/ricochetbot github.com/jes/go-ricochet\n    $ go build\n\nRun the install script:\n\n    $ sudo ./install.sh\n\n(If you edited the config file, you'll see some messages about that. You can most likely ignore these, but if\n`ricochet-group` fails to\nstart, you might want to diff your config with the latest sample config, to see if there are any new settings that are required).\n\nAnd restart your instance:\n\n    $ sudo systemctl restart ricochet-group\n\nContact me\n----------\n\n`ricochet-group` is written by James Stanley. You can read my blog at https://incoherency.co.uk/ , email me at\njames@incoherency.co.uk, or message me on ricochet at ricochet:it2j3z6t6ksumpzd\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjes%2Fricochet-group","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjes%2Fricochet-group","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjes%2Fricochet-group/lists"}