{"id":43413197,"url":"https://github.com/mitchr/gossip","last_synced_at":"2026-02-02T17:03:00.877Z","repository":{"id":57568616,"uuid":"276940069","full_name":"mitchr/gossip","owner":"mitchr","description":"an irc server","archived":false,"fork":false,"pushed_at":"2024-01-13T19:17:07.000Z","size":668,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-01-14T05:14:46.133Z","etag":null,"topics":["irc","ircv3","sasl","tls"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mitchr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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}},"created_at":"2020-07-03T16:11:03.000Z","updated_at":"2024-04-14T18:46:48.819Z","dependencies_parsed_at":"2024-01-13T21:15:11.661Z","dependency_job_id":"8f89a022-0893-4e1e-bf64-7a44ee2b3560","html_url":"https://github.com/mitchr/gossip","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/mitchr/gossip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitchr%2Fgossip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitchr%2Fgossip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitchr%2Fgossip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitchr%2Fgossip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mitchr","download_url":"https://codeload.github.com/mitchr/gossip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitchr%2Fgossip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29015751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T16:17:30.374Z","status":"ssl_error","status_checked_at":"2026-02-02T15:58:50.469Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["irc","ircv3","sasl","tls"],"created_at":"2026-02-02T17:02:42.332Z","updated_at":"2026-02-02T17:03:00.871Z","avatar_url":"https://github.com/mitchr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `gossip` ![build status](https://github.com/mitchr/gossip/actions/workflows/go.yml/badge.svg)\n`gossip` is an IRC server.\n\n## Install\n`go install github.com/mitchr/gossip@latest`\n\n## Usage\n`gossip` by default looks for a file in the same directory as it called [config.json](config.json). You can change this location by using `gossip -conf=\u003cpath\u003e` This defines things like the name of the server and the port. To use TLS, you have to specify paths to `pubkey` and `privkey`.\n\nTo add a server password, use `gossip -s`. This will prompt you to enter a password and then save the bcrypt-ed hash in `config.json`. Similarly to add a new server operator, you can use `gossip -o`.\n\nYou can register an account using `REGISTER PASS \u003cpass\u003e`. By default, `REGISTER` uses your current nick as the username. If you are connected with a client tls certificate, `REGISTER CERT` will grab its fingerprint and use that for authentication. User accounts only support SASL authentication, so you must use `PLAIN` or `SCRAM-SHA-256` for passwords, or `EXTERNAL` for certificate authentication. User accounts are by default stored in an in-memory sqlite database. You can specify a specific db file by changing the `datasource` config property. \n\n## References\n- [RFC 1459](https://datatracker.ietf.org/doc/html/rfc1459)\n- [RFC 2812](https://datatracker.ietf.org/doc/html/rfc2812)\n- [IRCv3](https://ircv3.net/irc/)\n- [Modern IRC Client Protocol](https://modern.ircdocs.horse/)\n- [irctest](https://github.com/progval/irctest)\n   - [gossip.py](gossip.py) has been modified from the [ergo](https://github.com/progval/irctest/blob/master/irctest/controllers/ergo.py) controller to support gossip, and is how a lot of bugs have been found :)\n- [parser-tests](https://github.com/ircdocs/parser-tests)\n\n## External Licenses\n`golang.org/x/crypto` and `golang.org/x/term` are licensed under the BSD-3-Clause, reproduced below\n\n```\nCopyright (c) 2009 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```\n\n`modernc.org/sqlite` is licensed under the BSD-3 clause, reproduced below\n\n```\nCopyright (c) 2017 The Sqlite Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\nthis list of conditions and the following disclaimer in the documentation\nand/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its contributors\nmay be used to endorse or promote products derived from this software without\nspecific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```\n\n`google/uuid` is licensed under the BSD-3 clause, reproduced below\n\n```\nCopyright (c) 2009,2014 Google Inc. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitchr%2Fgossip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmitchr%2Fgossip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitchr%2Fgossip/lists"}