{"id":17760787,"url":"https://github.com/fsrv-xyz/bird-flowspec-daemon","last_synced_at":"2026-04-12T08:38:59.189Z","repository":{"id":259474003,"uuid":"878049095","full_name":"fsrv-xyz/bird-flowspec-daemon","owner":"fsrv-xyz","description":"Flowspec daemon for Bird2 on Linux","archived":false,"fork":false,"pushed_at":"2025-03-13T11:30:01.000Z","size":55,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T12:31:50.002Z","etag":null,"topics":["bird2","firewall-rules","flowspec","golang","linux","protection","security"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"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/fsrv-xyz.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":"2024-10-24T17:29:49.000Z","updated_at":"2025-03-13T11:30:07.000Z","dependencies_parsed_at":"2024-10-25T20:35:37.723Z","dependency_job_id":"8722e11f-ba8b-43f0-98e7-fcc26e6ff30d","html_url":"https://github.com/fsrv-xyz/bird-flowspec-daemon","commit_stats":null,"previous_names":["fsrv-xyz/bird-flowspec-daemon"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsrv-xyz%2Fbird-flowspec-daemon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsrv-xyz%2Fbird-flowspec-daemon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsrv-xyz%2Fbird-flowspec-daemon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsrv-xyz%2Fbird-flowspec-daemon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fsrv-xyz","download_url":"https://codeload.github.com/fsrv-xyz/bird-flowspec-daemon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246644098,"owners_count":20810687,"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":["bird2","firewall-rules","flowspec","golang","linux","protection","security"],"created_at":"2024-10-26T19:13:14.951Z","updated_at":"2026-04-12T08:38:54.146Z","avatar_url":"https://github.com/fsrv-xyz.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bird-flowspec-daemon\n\nThis is a daemon that connects to the Bird (version 2 required) routing daemon and regularly applies the flowspec rules to the host.\nCurrently, the following actions are supported (see https://datatracker.ietf.org/doc/html/rfc8955#traffic_extended_communities for more information):\n- `traffic-rate-bytes`\n- `traffic-rate-packets`\n\n### Requirements\n- Bird 2 or newer\n- Nftables (see installation instructions for further information)\n\n### Installation\nThis project requires the following structure in nftables:\n```shell\n#!/usr/sbin/nft -f\n\ntable inet filter {\n  chain flowspec {} # Flowspec rules will be managed in here\n  chain input {\n    type filter hook input priority filter; policy accept;\n  }\n  chain forward {\n    type filter hook forward priority filter; policy accept;\n    jump flowspec # Jump to the flowspec chain to apply the rules\n  }\n  chain output {\n    type filter hook output priority filter; policy accept;\n  }\n}\n```\nThe flowspec rules will be inserted into the `flowspec` chain. A jump / goto to this chain is required in order to apply the rules.\n\n### Configuration\nConfiguration can be done via command line arguments or environment variables.\nThis repository contains an example systemd service file that can be used to start the daemon.\n\nThe following options are available:\n```\nFlags:\n  -h, --[no-]help            Show context-sensitive help (also try --help-long and --help-man).\n  -d, --[no-]debug           Enable debug mode\n      --bird-socket=/run/bird/bird.ctl\n                             Path to BIRD socket ($BIRD_SOCKET_PATH)\n      --metrics.listen-address=\"127.0.0.1:9302\"\n                             Address to listen on for metrics\n      --interval=10s         Interval to check for new routes ($CHECK_INTERVAL)\n      --[no-]enable-counter  Enable counter in nftables rules ($ENABLE_COUNTER)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffsrv-xyz%2Fbird-flowspec-daemon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffsrv-xyz%2Fbird-flowspec-daemon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffsrv-xyz%2Fbird-flowspec-daemon/lists"}