A Declarative Cloud Firewall Reverse Proxy Solution with Companion Mobile App
MIT License
A declarative Cloud firewall reverse proxy solution with inbuilt DDoS protection and alerting mechanism to protect your servers and keeping an eye on those malicious requests
Nirikshan is an cloud firewall reverse proxy with an inbuilt ddos prevention and alerting solution. Does that sound complex? Let's break it down.
Nirikshan is a combination of all these! Yes, you read that right.
Imagine you wanted to block people using iPhone to access your server, or people using Chrome or accessing from IPs of specific location. You can do that all with Nirikshan!
To top it off, there is an inbuilt ddos and rate-limiting mechanism, so if anything suspcious occurs, the Nirikshan Telegram bot will immedietly alert you with all the details after which you can use the companion Nirikshan Rekon App to monitor and take action.
What are the major advantages of using Nirikshan?
What are some upcoming features?
With Nirikshan you can do the following:
With this level of granularity you have full access to the networking from outside world to your server which are sending requests.
/getid
to get your chat IDgit clone https://github.com/Shastram/nirikshan
config.yaml
and write the security policies you wish to write, to add multiple site, just copy the siteData node and populate it with your own valuesnirikshanVersion: 1.0.0
siteConfigs:
- siteData:
siteName: "google" # The name of the route
forwardingUrl: "https://google.com" # Where the request should be forward
blockedOs:
- "iOS" # Add multiple operating systems you wish to block
blockedBrowser:
- "Chrome" # Add multiple browsers you wish to block
blockedDevice:
- "iPhone"
blockedOSVersion:
- "15.1" # Add multiple browsers you wish to block
blockedLocations:
- "/create" # You can also block specific path routes
blockedIPs:
- "192.168.1.2" # Blacklisted IP addresses
- "192.168.4.1"
Nirikshan uses the following databases:
You can efforlessly run Nirikshan with one command.
Simple run the following command:
docker-compose up
Ensure to replace the TELEGRAM_BOT_TOKEN
and TELEGRAM_USER
obtained before cloning the repository in the docker-compose.yaml
file.
environment:
- JWT_SECRET=nirikshan
- DB_SERVER=mongodb://mongo:27017
- DB_USER=root
- DB_PASSWORD=toor
- REDIS_SERVER=redis:6379
- TELEGRAM_BOT_TOKEN=123 # add your telegram bot token here
- TELEGRAM_USER=123 # add your telegram user id here from the bot
JWT_SECRET=nirikshan
DB_SERVER=mongodb://mongo:27017
DB_USER=root
DB_PASSWORD=toor
REDIS_SERVER=redis:6379
TELEGRAM_BOT_TOKEN=123 # add your telegram bot token here
TELEGRAM_USER=123 # add your telegram user id here from the bot
go run api/main.go
NOTE: Make sure to use the Nirikshan Rekon App to monitor all the logs on the fly!
Give a if you liked this project!
Spread the word to your fellows to safeguard your API's!
Copyright 2021 Hemanth Krishna
Licensed under MIT License : https://opensource.org/licenses/MIT