Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/txn2/n2proxy
Contraband filtering reverse proxy for plain http and SSL.
https://github.com/txn2/n2proxy
brew docker-container docker-image golang-application http-protocol-manipulation http-proxy http-proxy-middleware http-server post proxy rpm-packages sql-injection sql-injection-attacks xss-filter
Last synced: 4 months ago
JSON representation
Contraband filtering reverse proxy for plain http and SSL.
- Host: GitHub
- URL: https://github.com/txn2/n2proxy
- Owner: txn2
- License: apache-2.0
- Created: 2018-06-12T09:00:17.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-30T16:32:41.000Z (over 6 years ago)
- Last Synced: 2024-09-30T14:05:01.264Z (4 months ago)
- Topics: brew, docker-container, docker-image, golang-application, http-protocol-manipulation, http-proxy, http-proxy-middleware, http-server, post, proxy, rpm-packages, sql-injection, sql-injection-attacks, xss-filter
- Language: Go
- Homepage: https://mk.imti.co/golang-reverse-proxy/
- Size: 429 KB
- Stars: 32
- Watchers: 4
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![n2proxy](mast.jpg)
# n2proxy
[n2proxy] is a [reverse proxy] for detecting and filtering suspicious data including [xss], [SQL injection] or any matchable pattern in a URL or HTTP post body.
**Install**
```bash
# download sample configuration file
wget https://raw.githubusercontent.com/txn2/n2proxy/master/cfg.yml# install on mac
brew install txn2/tap/n2proxy# upgrade
brew upgrade n2proxy
```**Use**
```bash
# get the version
n2proxy --version# get help
n2proxy --help# environment variable override defaults
CFG=./cfg.yml PORT=9090 BACKEND=http://example.com:80 n2proxy# command line options override environment variables
n2proxy --port=9091 --backend=http://example.com:80# docker
docker run --rm -t -v "$(pwd)":/cfg/ -p 9092:9092 \
txn2/n2proxy --port=9092 --cfg=/cfg/cfg.yml \
--backend=http://example.com```
Browse to http://localhost:9090
### Development Notes
This project uses [Go Releaser].
Generate a build without publishing it:
```bash
goreleaser --skip-publish --rm-dist --skip-validate
```Generate Release:
```bash
GITHUB_TOKEN=$GITHUB_TOKEN goreleaser --rm-dist
```[SQL injection]: https://www.owasp.org/index.php/SQL_Injection
[xss]: https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
[n2proxy]: https://github.com/txn2/n2proxy
[reverse proxy]: https://en.wikipedia.org/wiki/Reverse_proxy
[Go Releaser]: https://goreleaser.com/