{"id":15176380,"url":"https://github.com/fnzv/net-shield","last_synced_at":"2025-04-09T23:17:46.063Z","repository":{"id":44686944,"uuid":"91251230","full_name":"fnzv/net-Shield","owner":"fnzv","description":"An Easy and Simple Anti-DDoS solution for VPS,Dedicated Servers and IoT devices - Beta","archived":false,"fork":false,"pushed_at":"2021-11-09T12:18:35.000Z","size":1237,"stargazers_count":253,"open_issues_count":6,"forks_count":57,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-09T23:17:41.497Z","etag":null,"topics":["antiddos","ddos-detection","ddos-mitigation","firewall","iptables","linux","nginx","proxy"],"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/fnzv.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}},"created_at":"2017-05-14T15:05:19.000Z","updated_at":"2025-04-02T15:14:25.000Z","dependencies_parsed_at":"2022-08-03T18:15:24.537Z","dependency_job_id":null,"html_url":"https://github.com/fnzv/net-Shield","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnzv%2Fnet-Shield","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnzv%2Fnet-Shield/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnzv%2Fnet-Shield/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fnzv%2Fnet-Shield/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fnzv","download_url":"https://codeload.github.com/fnzv/net-Shield/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248125593,"owners_count":21051771,"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":["antiddos","ddos-detection","ddos-mitigation","firewall","iptables","linux","nginx","proxy"],"created_at":"2024-09-27T13:03:46.770Z","updated_at":"2025-04-09T23:17:46.035Z","avatar_url":"https://github.com/fnzv.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## net-Shield \n[![Build Status](https://travis-ci.org/fnzv/net-Shield.svg?branch=master)](https://travis-ci.org/fnzv/net-Shield) \u003cbr\u003e\nAn Easy and Simple Anti-DDoS solution for VPS,Dedicated Servers and IoT devices based on iptables/ipsets\n\n![](nshield-scheme.png?raw=true)\n\n-----------------\n\n## Requirements\n\n- Linux System with golang, iptables/ipsets\n- Nginx \n\n\n### Quickstart\n\nRun the bash script (install.sh) to install all the required dependencies.\n\n```bash install.sh```\n\n\u003cbr\u003e\nYou will be prompted to insert a domain and the real IP address associated to it so net-Shield will configure for you the first proxydomain (you can see the changes on /etc/nshield/nshield.conf).\n\u003cbr\u003e\n\n\n### Proxy Domains\n\nTo configure proxydomains you need to enable the proxy option on /etc/nshield/nshield.conf (proxy = 1) and be sure that the proxydomain list (on the same conf file) is correct:\u003cbr\u003e\n\u003cbr\u003e\n```\nproxydomains = [\n  \"sami.pw 8.8.8.8\",\n  \"example.org 1.2.3.4\"\n]\n```\n\u003cbr\u003e\n\n### Usage\n\nAfter you completed the install with the quickstart script you can call the \"config-nshield\" commad that will read the nshield.conf and re-configure shield rules based on the new configuration.\n\nExample:\nI want to enable SSL on sami.pw that i just configured as above:\n1) Edit /etc/nshield/nshield.conf and set autossl = 1\n2) On your terminal run: ```# config-shield ```\n3) You can now see the changes on the Nginx configuration\n\nThe domain must point to the net-Shield instance otherwise will fail let's encrypt verification.\n\nLogs are diplayed on: /var/log/nshield.log\n\n## How it works\nBasically this script is set by default to run every 30 minutes and execute these operations:\n\n- Get latest Bot,Spammers,Bad IP/Net reputation lists and blocks if those Bad guys are attacking your server (Thank you FireHol http://iplists.firehol.org/ )\n- Enable basic Anti-DDoS methods to deny unwanted/malicious traffic \n- Rate limits when under attack \n- Allows HTTP(S) Proxying to protect your site\n\n## Demo\n[![asciicast](https://asciinema.org/a/zozehdooPDbvem9tCDLI321Hp.png)](https://asciinema.org/a/zozehdooPDbvem9tCDLI321Hp)\n\nTested on Ubuntu 16.04 and 14.04 LTS\n\n## Contributors\n\nFeel free to open issues or send me an email\n\n## Binaries\n\nIn case you cannot compile it your self and/or run the install.sh you can find the binaries on: \nhttps://github.com/fnzv/net-Shield/tree/master/binaries\n\n\n## License\n\nCode distributed under MIT licence.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffnzv%2Fnet-shield","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffnzv%2Fnet-shield","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffnzv%2Fnet-shield/lists"}