{"id":17537610,"url":"https://github.com/zenhack/sandstorm-znc","last_synced_at":"2025-06-18T21:33:15.963Z","repository":{"id":151019459,"uuid":"85494451","full_name":"zenhack/sandstorm-znc","owner":"zenhack","description":"Sandstorm port of ZNC","archived":false,"fork":false,"pushed_at":"2017-06-06T23:54:39.000Z","size":72,"stargazers_count":4,"open_issues_count":3,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-23T21:08:29.537Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zenhack.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","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},"funding":{"github":"zenhack"}},"created_at":"2017-03-19T17:15:25.000Z","updated_at":"2020-03-06T14:29:32.000Z","dependencies_parsed_at":"2023-05-02T16:31:40.641Z","dependency_job_id":null,"html_url":"https://github.com/zenhack/sandstorm-znc","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenhack%2Fsandstorm-znc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenhack%2Fsandstorm-znc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenhack%2Fsandstorm-znc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenhack%2Fsandstorm-znc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zenhack","download_url":"https://codeload.github.com/zenhack/sandstorm-znc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250514786,"owners_count":21443209,"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":[],"created_at":"2024-10-20T20:42:18.182Z","updated_at":"2025-04-23T21:08:33.546Z","avatar_url":"https://github.com/zenhack.png","language":"Go","funding_links":["https://github.com/sponsors/zenhack"],"categories":[],"sub_categories":[],"readme":"# sandstorm-znc\n\nPort of ZNC to [Sandstorm][1]. This is alpha quality, but I'm dogfooding\nit and it basically works.\n\n## License\n\nApache-2.0; see the `LICENSE` file.\n\n# Design Notes\n\nIRC isn't a web based protocol, so building a Sandstorm app does IRC is\nslightly more complicated that most Sandstorm apps. We still want\nleverage sandstorm for authentication and authorization. We do this by\nlistening on a websocket instead of a raw TCP port, and have users use\n[websocket-proxy][2] to connect.\n\n# Using\n\nTo use sandstorm-znc, you must be an administrator for your sandstorm\ninstallation. This is because IRC Idler requires raw network access,\nwhich only an administrator can grant. Additionally, connecting to it\nis a little weird; see the Design Notes section above.\n\nEach irc network you want to connect to must run in its own grain. To\nset up a new network:\n\n* Create a new ZNC grain\n* Fill out the settings for the IRC server on the grain's web interface.\n  For example, to connect to freenode, you would supply:\n  * Host: irc.freenode.net\n  * Port: 6667 for unencrypted, 6697 for TLS\n  * Check the TLS box or not, depending on whether you want to use it\n    (recommended).\n* Click on the \"Request Network Access\" button, and grant network access\n  in the dialog that sandstorm presents\n* You will be presented with a websocket URL you can use to connect. You\n  can get a traditional IRC client to connect to this by using\n  [websocket-proxy][2]:\n\n      websocket-proxy -listen :6000 -url ${websocket_url}\n\n...and then pointing your IRC client at localhost port 6000.\n\nYou'll need to use sandstorm/sandstorm as your username and password\nwhen connecting. You can (and should) change your nick once connected\nby the usual means (/nick in most clients). You can use ZNC's\n[controlpanel][3] module to tweak settings; do `/msg *controlpanel help`\nfor instructions.\n\nNote that settings are not persisted, so if the grain is restarted\nyou'll have to reconfigure.\n\n[1]: https://sandstorm.io\n[2]: https://github.com/zenhack/websocket-proxy\n[3]: http://wiki.znc.in/Controlpanel\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenhack%2Fsandstorm-znc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzenhack%2Fsandstorm-znc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenhack%2Fsandstorm-znc/lists"}