{"id":26856688,"url":"https://github.com/stutstev/sirubo","last_synced_at":"2026-05-03T16:31:57.717Z","repository":{"id":135656302,"uuid":"577038302","full_name":"stutstev/sirubo","owner":"stutstev","description":"Firewall wrapper that blocks traffic to IP addresses of AS networks.","archived":false,"fork":false,"pushed_at":"2023-08-23T21:20:30.000Z","size":814,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-26T00:08:31.380Z","etag":null,"topics":["autonomous-system","autonomous-system-numbers","autonomous-systems","big-data","big-tech","facebook","firewall","google","linux","meta","netfilter","network","openbsd","pf","traffic"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"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/stutstev.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2022-12-11T19:30:53.000Z","updated_at":"2025-07-11T14:58:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"94dd72e1-3ce1-4a95-a0de-9fa95303d564","html_url":"https://github.com/stutstev/sirubo","commit_stats":{"total_commits":104,"total_committers":3,"mean_commits":"34.666666666666664","dds":"0.019230769230769273","last_synced_commit":"ae28b213774d2f09eaaf7302f17a3384cbe0f0fa"},"previous_names":["stutstev/sirubo","speguero/sirubo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stutstev/sirubo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stutstev%2Fsirubo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stutstev%2Fsirubo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stutstev%2Fsirubo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stutstev%2Fsirubo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stutstev","download_url":"https://codeload.github.com/stutstev/sirubo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stutstev%2Fsirubo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32577120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: 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":["autonomous-system","autonomous-system-numbers","autonomous-systems","big-data","big-tech","facebook","firewall","google","linux","meta","netfilter","network","openbsd","pf","traffic"],"created_at":"2025-03-31T00:23:08.006Z","updated_at":"2026-05-03T16:31:57.690Z","avatar_url":"https://github.com/stutstev.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003esirubo\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cem\u003eBlocks outbound tech conglomerate (AS) network traffic.\u003c/em\u003e\n\t\u003cbr\u003e\n\t\u003cbr\u003e\n\t\u003cimg src=\"https://builds.sr.ht/~speguero/sirubo.svg\" alt=\"builds.sr.ht status\"\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cimg src=\"img/header.gif\" alt=\"\" style=\"border: 10px solid black; border-radius: 5px; margin: auto; display: block;\"\u003e\n\n\u003cbr\u003e\n\n# Table of Contents\n\n\n- [Usage](#usage)\n- [Description](#description)\n- [Requirements](#requirements)\n- [Motive](#motive)\n- [Install](#install)\n- [Uninstall](#uninstall)\n- [Files](#files)\n    - [Programs](#programs)\n    - [Configurations](#configurations)\n    - [Services](#services)\n- [License](#license)\n\n\u003cbr\u003e\n\n# Usage\n```\nsirubo [c|create] [h|halt|stop] [r|resume] [s|show]\n```\n\n\u003cbr\u003e\n\n  Command           | Description\n  ---               | ---\n  `c` `create`      | Create and start ruleset enforcement and persistence.\n  `h` `halt` `stop` | Stop ruleset enforcement and persistence.\n  `r` `resume`      | Resume ruleset enforcement and persistence.\n  `s` `show`        | Show ruleset.\n\n\u003cbr\u003e\n\n# Description\n\nThe sirubo utility is a POSIX shell script that makes use of:\n\n  - Transport-layer packet filtering; in particular, nftables on Linux\n    and pf on OpenBSD, to facilitate the rejection of outgoing traffic\n    to autonomous system network, or ASN, prefixes (subnets).\n\n  - whois, to perform a query for ASN prefixes (subnets).\n\n\u003cbr\u003e\n\n# Requirements\n\n  Linux    | OpenBSD\n  -----    | -------\n  nftables | pf\n  whois    | whois\n  systemd  |\n\n\u003cbr\u003e\n\n# Motive\n\nPreventing passive and nonconsensual telemetry, and the infringement of\none's privacy thereafter, from intrusively inquisitive big tech\nconglomerates, such as Meta (Facebook) and Alphabet (Google).\n\n\u003cbr\u003e\n\n# Install\n\n1. Install sirubo:\n```\nsudo make install\n```\n\n2. To illustrate, add the following ASN to /usr/local/etc/sirubo.conf:\n```\nAS32934 # Google\n```\n\n3. Create a new firewall ruleset:\n```\nsirubo c\n```\n\n4. Test your newly created firewall ruleset:\n```\nnc -vw 1 google.com 443\n```\n\n  The command should print a message similar to this:\n\n  ```\n  nc: connect to google.com (0.0.0.0) port 443 (tcp) failed: Connection refused\n  ```\n\n  This will indicate that your operating system firewall is configured\n  to reject all outbound traffic directed at Google's ASN prefixes.\n\n\u003cbr\u003e\n\n# Uninstall\n\n1. Within this repository, uninstall sirubo:\n```\nmake uninstall\n```\n\n   Or, optionally, uninstall sirubo and delete its configuration files:\n\n   ```\n   make clean\n   ```\n\n\u003cbr\u003e\n\n# Files\n\n  ### Programs\n\n  - `/usr/local/bin/sirubo` - The utility itself.\n\n\n  ### Configurations\n\n  - `/usr/local/etc/sirubo.conf` - Contains ASNs that you, the user, specify for\n    rejection.\n  - `/usr/local/etc/sirubo.ruleset` - Contains a cached firewall ruleset.\n  - `/usr/local/etc/sirubo.ruleset.backup` - Contains a defunct firewall ruleset\n    that is reserved as a backup when creating a new ruleset manually or\n    automatically.\n\n\n  ### Services\n\n  - `/etc/systemd/system/sirubo.service` **(Linux)** - A service that facilitates\n    firewall ruleset persistency and automatic ruleset updates with every\n    operating system reboot.\n\n  - `/etc/rc.d/sirubo` **(OpenBSD)** - A service that facilitates firewall ruleset\n    persistency and automatic ruleset updates with every operating system\n    reboot.\n\n\u003cbr\u003e\n\n# License\n\nSee the `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstutstev%2Fsirubo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstutstev%2Fsirubo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstutstev%2Fsirubo/lists"}