Commit Graph

69 Commits

Author SHA1 Message Date
Anthony Rubick
dd93f9a2c4 feat(plugins): Implement plugin API key management and authentication middleware
The purpose of this is to allow plugins to access certain internal APIs via

- Added PluginAPIKey and APIKeyManager for managing API keys associated with plugins.
- Introduced PluginAuthMiddleware to handle API key validation for plugin requests.
- Updated RouterDef to support plugin accessible endpoints with authentication.
- Modified various API registration functions to include plugin accessibility checks.
- Enhanced plugin lifecycle management to generate and revoke API keys as needed.
- Updated plugin specifications to include permitted API endpoints for access control.
2025-07-17 22:20:09 -07:00
Toby Chui
4d3d1b25cb Restructure TLS options
- Moved certification related functions into tlscert module
- Added specific host TLS behavior logic
- Added support for disabling SNI and manually overwrite preferred certificate to serve
- Fixed SSO requestHeaders null bug
2025-07-12 19:30:55 +08:00
Toby Chui
45506c8772 Added cert resolve viewer
- Added certificate resolve viewer on HTTP proxy rule editor
- Exposed SNI options (wip)
- Code optimize
2025-07-07 14:18:10 +08:00
Toby Chui
4a37a989a0 Added Disable Chunk Transfer Encoding option
- Added disable chunk transfer encoding on UI #685
- Added optional to disable static web server listen to all interface #688
2025-06-15 13:46:35 +08:00
Toby Chui
31ba4f20ae Added inbound hostname edit function
- Added inbound hostname edit function
- Removed all "proxy root" and replaced with "default site"
2025-06-12 20:53:06 +08:00
Toby Chui
8cb47e19fa Merge branch 'main' of https://github.com/kjagosz/zoraxy into v3.2.3 2025-06-07 12:08:23 +08:00
Toby Chui
877692695e Added #653
- Added dev mode plugin auto-reload
- Optimized struct in plugin manager options
2025-05-11 14:02:07 +08:00
Krzysztof Jagosz
61b873451f Added OAuth2 support for SSO 2025-04-29 01:05:48 +02:00
James Elliott
8f046a0b47 feat: forward auth
This adds basic support for forwarded authentication similar to caddy and traefik. This replaces Authelia SSO as it effectively covers exactly the same use cases.
2025-04-27 20:27:23 +10:00
Toby Chui
9781735983 Moved dev settings to flag
- Moved internal DEVELOPMENT_MODE flag to start parameters
2025-04-27 13:55:54 +08:00
Toby Chui
ffc67ede12 Added working plugin store prototype
- Added plugin install and remove api
2025-04-24 21:19:16 +08:00
Toby Chui
6750c7fe3d Added wip plugin store
- Added plugin store snippet
- Added plugin list sync functions
- Work in progress install / uninstall plugin function
2025-04-22 07:15:30 +08:00
Toby Chui
d4c1225f75 Merge pull request #568 from JokerQyou/feature/authentik-forward-auth
[WIP] Add Authentik forward auth support
2025-03-31 20:05:52 +08:00
Toby Chui
136989f2ea Added plugin dir parameter
- Added plugin dir parameter
- Fixed critical architectural bug that effects plugin UI in production mode
- Updated implementation of embed FS routing
- Minor dark theme update
- Fixed ztnc UI bug for msgbox and confirm box
2025-03-28 21:24:18 +08:00
Toby Chui
0fdfda436b Added plugin info view
- Added plugin info view
- Removed zerotier related start parameters
- Added automatic tag filter reset on tab change in http proxy page
2025-03-16 11:41:46 +08:00
Toby Chui
f8270e46c2 Added UI for plugin system and upnp example
- Added wip UI for plugin tag system
- Added upnp port forwarder plugin
- Added error and fatal printout for plugins
- Optimized UI flow for plugin context window
- Added dev web server for plugin development purpose
2025-03-15 21:02:44 +08:00
Toby Chui
3e57a90bb6 Fixed #573
- Added whitelist loopback quick toggle
- Fixed plugin exit stuck bug
2025-03-09 17:02:48 +08:00
Toby Chui
75c351e7e2 Removed GAN
- Removed UI and module of GAN
- this feature is moved to plugin
2025-03-02 09:12:07 +08:00
Joker
ebf6ad6600 Add Authentik forward auth support 2025-03-01 15:29:36 +08:00
Toby Chui
3993ac954c Fixed #247
- Added country of origin row for quickban list
2025-02-28 22:01:11 +08:00
Toby Chui
bddff0cf2f Added working plugin manager prototype
- Added experimental plugin UI proxy
- Added plugin icon loader
- Added plugin table renderer
2025-02-27 22:27:13 +08:00
Toby Chui
2a9d87787d Fixed #510
- Added inline edit for redirection rule
2025-02-05 20:24:42 +08:00
Toby Chui
30dfb9cb65 Added new UI feature
- Added toggle for uptime monitor
- Added toggle for enable custom header passthrough to websocket
2024-12-30 21:41:15 +08:00
Toby Chui
2423d0fb3a Added experimental authelia support
- Integrated #33 code snippet
- Added UI for setting Authelia server address
- Updated authentication provider implementation
2024-12-15 15:52:59 +08:00
Toby Chui
015889851a Optimized UX and code structure
+ Added automatic self-sign certificate sniffing
+ Moved all constant into def.go
+ Added auto restart on port change when proxy server is running
+ Optimized slow search geoIP resolver by introducing new cache mechanism
+ Updated default incoming port to HTTPS instead of HTTP
2024-11-24 11:38:01 +08:00
Toby Chui
0af8c67346 Updated API register function
- Seperated different register for APIs
2024-11-19 21:13:02 +08:00
Toby Chui
c5170bcb94 Refactorized main entry function
- Moved constants to def.go
- Added acme close function (not used for now)
- Added robots.txt to prevent webmin panel being scanned by search engine
2024-11-19 20:30:36 +08:00
Toby Chui
99295cad86 Fixed #342
- Added port scanner
- Moved handlers for IP scanner into ipscan module
-Minor code optimization
2024-10-26 19:41:43 +08:00
Toby Chui
cab2f4e63a Fixed #316
Fixed early renew day not passed into auto renewer config bug
2024-09-26 22:57:49 +08:00
Toby Chui
5c56da1180 Added basic oauth module structure (wip)
- Added struct for oauth
- Added interception handler for Zoraxy SSO
- Added user structure for SSO
2024-09-12 10:55:01 +08:00
Toby Chui
f595da92a1 Fixed #267
- Added csrf middleware to management portal mux
- Added csrf token to all html templates
- Added csrf validation to all endpoints
- Optimized some old endpoints implementation
2024-07-24 21:58:44 +08:00
Toby Chui
b1c5bc2963 Fixed #255
- Added host header manual overwrite feature
- Added toggle for automatic hop-by-hop header removing
2024-07-21 17:06:09 +08:00
Toby Chui
cf9a05f130 Updated v3.0.9
- Added certificate download
- Updated netcup timeout value
- Updated geoip db
- Removed debug print from log viewer
- Upgraded netstat log printing to new log formatter
- Improved updater implementation
2024-07-16 11:30:12 +08:00
Toby Chui
8239f4cb53 Added apache compatible logger
- Rewritten the logger to make it more apache log parser friendly
- Fixed uptime not updating after upstream change bug
- Added SSO page (wip)
- Added log viewer
2024-07-14 22:25:49 +08:00
Toby Chui
2aa35cbe6d Added load balancer (wip)
+ Added support for multiple upstreams
+ Added load balancer
+ Added upstream abstraction in endpoint
+ Added load balancer structure
+ Added breaking change auto-updater
+ Added uptime monitor proxy type definitions
+ Added upstream editor UI
+ Fixed charset bug in many snippets HTML files
2024-07-01 21:17:20 +08:00
Toby Chui
03974163d4 Added docker conditional compilation
- Moved docker UX optimization into module
- Added conditional compilation for Windows build
- Added Permission Policy header editor
- Fixed docker container list ui error message bug
2024-06-17 00:24:24 +08:00
Toby Chui
dfb81513b1 Optimized docker detection structure
- Merged #202 and optimized UI elements
- Added HSTS headers toggle
- Added permission policy injector in dynamicproxy
- Fixed slow search LAN ip detection
- Optimized UI for HTTP reverse proxy rules
- Added wip permission policy and load balancer
2024-06-16 12:46:29 +08:00
Borys Anikiyenko
443cd961d2 add docker containers list to set rules 2024-06-15 17:19:19 +03:00
Toby Chui
c6f7f37aaf Added stream proxy UDP support
+ Added UDP support #147 (wip)
+ Updated structure for proxy storage
+ Renamed TCPprox module to streamproxy
+ Added multi selection for white / blacklist #176
2024-06-07 01:12:42 +08:00
Toby Chui
3454a9b975 Added backend generated dns providers arch
- Added acmedns
- Added auto dns credential form generator
2024-05-10 23:34:02 +08:00
Linard Schwendener
8854a38f49 DNS Credentials are saved in Database 2024-05-02 22:52:51 +02:00
Toby Chui
3c78211800 Added alias support
+ Added alias support (use , when adding a new proxy target to automatically add alias hostnames)
+ Fixed some UI issues
2024-04-16 23:33:24 +08:00
Toby Chui
8e648a8e1f v3.0.2 init commit
+ Fixed zeroSSL bug (said by @yeungalan ) #45
+ Fixed manual renew button bug
+ Seperated geodb module with access controller
+ Added per hosts access control (experimental) #69
+ Fixed basic auth not working on TLS bypass mode bug
+ Fixed empty domain crash bug #120
2024-04-14 19:37:01 +08:00
Toby Chui
8db95dddc6 Added regexp redirect support 2024-04-04 14:24:38 +08:00
Toby Chui
c55a29e7cf Better 404 page and rules disable toggle 2024-03-16 20:45:05 +08:00
Toby Chui
200c924acd 3.0.1 init commit
- Removed Go HTTP client UA
- Added optional bypass of websocket origin check #107
- Added basic forward proxy for debug
- Fixed UI error in network utils tab
2024-03-10 14:49:18 +08:00
Toby Chui
33c7c5fa00 Custom header support
+ Added custom header
+ Removed unused files
2024-02-17 20:28:19 +08:00
Toby Chui
216b53f224 Updated GAN features
+ Added add controller as memeber feature
+ Deprecated aroz subservice support
2024-02-16 21:16:14 +08:00
Toby Chui
e980bc847b Updated a lot of stuffs
+ Added comments for whitelist
+ Added automatic cert pick for multi-host certs (SNI)
+ Renamed .crt to .pem for cert store
+ Added best-fit selection for wildcard matching rules
+ Added x-proxy-by header
+ Added X-real-Ip header
+ Added Development Mode (Cache-Control: no-store)
+ Updated utm timeout to 10 seconds instead of 90
2024-02-16 15:44:09 +08:00
Toby Chui
174efc9080 Added per host vdir implementation 2024-02-14 22:52:56 +08:00