{"id":16473143,"url":"https://github.com/binki/anarchyirc-link-block-client","last_synced_at":"2026-06-08T18:32:35.218Z","repository":{"id":143134171,"uuid":"91145357","full_name":"binki/anarchyirc-link-block-client","owner":"binki","description":null,"archived":false,"fork":false,"pushed_at":"2017-05-13T04:27:55.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T12:43:06.114Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://anarchyirc.com/","language":"Shell","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/binki.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":"2017-05-13T03:03:12.000Z","updated_at":"2017-05-13T05:15:39.000Z","dependencies_parsed_at":"2023-04-10T08:35:30.262Z","dependency_job_id":null,"html_url":"https://github.com/binki/anarchyirc-link-block-client","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/binki/anarchyirc-link-block-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binki%2Fanarchyirc-link-block-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binki%2Fanarchyirc-link-block-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binki%2Fanarchyirc-link-block-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binki%2Fanarchyirc-link-block-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/binki","download_url":"https://codeload.github.com/binki/anarchyirc-link-block-client/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binki%2Fanarchyirc-link-block-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34075956,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"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-10-11T12:25:30.257Z","updated_at":"2026-06-08T18:32:35.213Z","avatar_url":"https://github.com/binki.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Client scripts for\n[anarchyirc-link-block-service](https://github.com/binki/anarchyirc-link-block-service).\n\n# Setup\n\n## Obtain\n\nTo start, simply clone this repository into a secure location.\n\n```\n$ git clone anarchyirc-link-block-service\n```\n\n## Generate Credentials\n\nThen generate a certificate. The client uses this for authenticating\nitself to anarchyirc-link-block-service.\n\n```\n$ ./client-gen-cert.sh\n```\n\nThe command should output a PEM-encoded public certificate. Send this\nand your `me::name` to the person maintaining the link block\nservice. If this person determines that you should be allowed to link\nwith the network, that person should register you with the link block\nservice and let you know the remote includes endpoint, `«endpoint»`,\nyou should use.\n\n## Configure Post-Certificate-Renewal Hook\n\nThe certificate used by your IRCd to identify itself to the world and\nused for authentication when linking to AnarchyIRC should be obtained\nfrom a real Certificate Authority and ideally match your `me::name`\nsetting.\n\nGenerally, you should write a script that changes to the directory in\nwhich you ran `client-gen-cert.sh` and then call `client-request.sh`\nwith the appropriate parameters, including the `«endpoint»` binki gave\nyou above. For example, such a script might look like this:\n\n```sh\n#!/bin/sh\nset -e\n\n# This might be a good place to put your logic for rehashing\n# your unrealircd instance so that it loads the new cert:\ncd ~/unrealircd-bin\n./unreal rehash\n\n# Update the link block service with our new cert so that we\n# can link with AnarchyIRC.\ncd ~/anarchyirc-link-block-client\n./client-request.sh '«endpoint»' ~/unrealircd-bin/server.cert.pem\n```\n\n### Let’s Encrypt\n\nIf you use `certbot`, likely have already pointed your IRCd at the\ncertificates it outputs using\n[`set::ssl::certificate`](https://www.unrealircd.org/docs/Set_block#set::ssl::certificate)\nand\n[`set::ssl::key`](https://www.unrealircd.org/docs/Set_block#set::ssl::key). You\nshould modify the invocation of `certbot` in your `crontab(5)` to run\nyour script after `certbot` exits (this way, the script runs even if\n`certbot` does not obtain a new certificate which should ensure that\nthe link block service eventually gets your updated certificate even\nif there is a temporary failure in the first try).\n\n```crontab\n43\t2\t*\t*\t*\tsh -c 'certbot renew; ~/my-post-renew-script.sh'\n```\n\n## Configure IRCd\n\nYou should ensure that you have a unique\n[`me::sid`](https://www.unrealircd.org/docs/Me_block). Probably just\nguess or ask the maintainer of the link block service ;-).\n\nWith the `«endpoint»` given to you earlier, you can build the URI that\nyou should\n[`include`](https://www.unrealircd.org/docs/Configuration#Include_directive)\nfrom your `unrealircd.conf`:\n\n```\ninclude \"«endpoint»/links.conf\";\n```\n\nIf you are running UnrealIRCd-3.x (you shouldn’t be, it’s\nunsupported by them now!), you can request a compatible `links.conf`\nby settings the HTTP GET parameter `syntax` to `unrealircd3`:\n\n```\ninclude \"«endpoint»/links.conf?syntax=unrealircd3\";\n```\n\nYou can visit the built URI in your browser and verify that it looks\nright before pasting it into your `unrealircd.conf`.\n\nTo avoid downtime, you may add this to your configuration file while\nthe IRCd is running. Simply `/oper` up and `/rehash` (some clients\nrequire `/raw rehash` or `/quote rehash`). If there are issues, you\nshould receive server notices. Communicate with other operators or the\nlink block service sysop to resolve these issues.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinki%2Fanarchyirc-link-block-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinki%2Fanarchyirc-link-block-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinki%2Fanarchyirc-link-block-client/lists"}