Next.js+React web interface for controlling HAProxy clusters (groups of servers), in conjunction with with https://gitgud.io/fatchan/haproxy-protection.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Your Name f4cbb8ccb0 Update haproxy-sdk to new version with small failsafe for illegal commands 2 years ago
components use the LoadingPlaceholder component on account page, better appearance 2 years ago
controllers Update haproxy-sdk to new version with small failsafe for illegal commands 2 years ago
pages Update haproxy-sdk to new version with small failsafe for illegal commands 2 years ago
.env.example Initial commit 2 years ago
.eslintrc.json eslint, fix some bigs 2 years ago
.gitignore Initial commit 2 years ago
Dockerfile Update haproxy-sdk to new version with small failsafe for illegal commands 2 years ago
LICENSE add AGPLv3 license 2 years ago
README.md update readme 2 years ago
api.js Update haproxy-sdk to new version with small failsafe for illegal commands 2 years ago
db.js Initial commit 2 years ago
docker-compose.yml Docker 2 years ago
gulpfile.js todo: refactor account/session middlewares so they can be used for SSR and CSR 2 years ago
next.config.js implement global toggle 2 years ago
package-lock.json Update haproxy-sdk to new version with small failsafe for illegal commands 2 years ago
package.json Update haproxy-sdk to new version with small failsafe for illegal commands 2 years ago
router.js Update haproxy-sdk to new version with small failsafe for illegal commands 2 years ago
server.js Account, Domains and Maps page viewing working (Form submittion/proper next() catching not) 2 years ago
util.js Update haproxy-sdk to new version with small failsafe for illegal commands 2 years ago

README.md

HAProxy Panel

Work in progress. Not recommended for production deployment. No instructions or help provided whatsoever.

Internally uses haproxy-sdk. Intended for use with haproxy-protection.

Provides a control panel interface to conveniently manage clusters (groups of identically configured) HAProxy servers. Can be used with a single server cluster. Communicates with the HAProxy socket to update maps, acls, etc.

Features:
  • List/add/remove clusters (server groups).
  • List/add/remove domains for your account.
  • Control allowed hosts for a cluster.
  • Custom backend server IP and port per-domain.
  • Override to toggle proof-of-work for whole cluster.
  • IP or subnet blacklist. Supports ipv4 and ipv6.
  • IP or subnet whitelist. Supports ipv4 and ipv6.
  • Protection rules, choose bot protection mode "none" (whitelist), proof-of-work or hCaptcha. Can be domain-wide or a domain+path. Path overrides domain-wide.
  • Maintenance mode, disables proxying for selected domains and serves an "under maintenance" page from haproxy.
Todo:
  • Better Multi-user support (problems w/ ip whitelist and blacklist)
  • Some kind of payment system
  • SSL cert management, or letsencrypt integration
  • More advanced rules and ability to allow/block/bot mode based on those rules.
  • Something better than haproxy-sdk