Commit Graph

776 Commits

Author SHA1 Message Date
Toby Chui
2c3f36d9a3 Merge pull request #829 from jimmyGALLAND/fix-acme-renew
fix acme renew
2025-10-03 07:16:20 +08:00
jimmyGALLAND
030ef2e01c allow domain labels with no minimum length 2025-10-02 12:42:13 +02:00
Toby Chui
85cad1e2b6 Updated #821 2025-09-26 07:12:17 +08:00
Toby Chui
94afb6e3a5 Optimized mobile side menu
- Optimized width for mobile side menu items
2025-09-25 21:11:28 +08:00
Toby Chui
84a4eaaf95 Fixed #821
- Added the recommended code snippet
2025-09-25 21:11:10 +08:00
Toby Chui
f98e1b8218 Fixed #706
- Added conditional injection of x-proxy-by zoraxy header by only injecting tracker when -dev flag is set to true
2025-09-24 21:53:11 +08:00
Toby Chui
778df1af0f Updated #411
- Added support for human readable units in -logrotate flag
2025-09-24 20:31:53 +08:00
jimmyGALLAND
2140e5b0b5 -Add support for including Subject Alternative Names (SANs) from
existing certificates during both manual and automatic renewals.
-Enhance filtering and normalization of domain names from the UI
to ensure only valid domains are included when requesting certificates.
2025-09-23 23:36:49 +02:00
Toby Chui
e9c1d14e23 Removed unused code from PR 2025-09-22 20:07:38 +08:00
Toby Chui
5477822015 Merge pull request #828 from jimmyGALLAND/fix-restart-after-acme-DNS-challenge
Fix restart after acme dns challenge
2025-09-22 20:05:20 +08:00
jimmyGALLAND
b0922c466d fix: restart issue after ACME certificate update with DNS challenge 2025-09-22 01:21:21 +02:00
Toby Chui
1faaae21d7 Merge pull request #827 from Saeraphinx/webui-style-changes
Update Sidebar CSS
2025-09-20 12:32:42 +08:00
Saera
53c73e1e77 update styling 2025-09-19 11:44:20 -05:00
Toby Chui
0805da9d13 Added more test cases for netutil ipmatch 2025-09-19 21:14:20 +08:00
Toby Chui
52f652fbaf Enable SNI offload in HTTPS proxy connections
Updated the ReverseProxy's ProxyHTTPS method to use tls.Dial with SNI support when connecting to upstream servers. Also incremented SYSTEM_VERSION to 3.2.7.
2025-09-17 07:37:21 +08:00
Toby Chui
d5a980094b Merge pull request #804 from tobychui/v3.2.6
- Optimized SSO / forward auth feature 
- Added plugins API call and example
- Added experimental events system and plugin API
- Updated lego for DNS challenge
- Added experimental log rotate (default off)
- Updated log viewer UI
v3.2.6
2025-09-16 20:32:59 +08:00
Toby Chui
3a2b38aac7 Update src/mod/info/logger/logger.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-16 19:56:06 +08:00
Toby Chui
2a6f4d52b2 Refactor mux setup and fix ReverseProxyInit typo
- Reorganized HTTP mux initialization to clarify plugin and webmin UI routing, replacing parentMux with entryMux.
- Fixed typo in ReverseProxyInit function name and updated its usage in main.go.
2025-09-13 23:46:38 +08:00
Toby Chui
6efab48d33 Merge pull request #820 from AnthonyMichaelTDM/issue819
put plugin API on separate mux not protected by CSRF
2025-09-13 23:16:27 +08:00
Anthony Rubick
e2c0fe3abf fix(example plugin): text color in dark mode 2025-09-13 02:47:55 -05:00
Anthony Rubick
1c26d60c8f fix issue #819
fixes issue #819 by putting the plugin API on a separate mux that is not wrapped in the CSRF middleware
2025-09-13 02:47:09 -05:00
Toby Chui
c745d82cf3 Merge pull request #813 from AnthonyMichaelTDM/plugin-to-plugin-comms
feat(plugin API): Plugin-to-plugin-comms
2025-09-13 14:37:31 +08:00
Anthony Rubick
36a48b5fe0 plugin2plugin messaging example
currently does not work due to CSRF, but should work when we figure out how to let plugins bypass csrf when talking to zoraxy
2025-09-12 21:37:47 -05:00
Anthony Rubick
c8e42dcf59 add a dummy event 2025-09-12 20:28:02 -05:00
Anthony Rubick
fa4700a114 feat(plugin api): add endpoint to facilitate plugin<->plugin comms via event system. 2025-09-08 18:04:16 -05:00
Anthony Rubick
f6c48ef793 Merge pull request #810 from AnthonyMichaelTDM/eventpayload-interface-improvements
feat(event system): Flesh out EventPayload interface
2025-09-08 17:54:52 -05:00
Anthony Rubick
da347cf1cb fix typo 2025-09-07 20:03:33 -05:00
Anthony Rubick
a36357dc04 take ownership of other plugin related files
specifically, the stuff around the API that's exposed to plugins
2025-09-07 19:53:06 -05:00
Anthony Rubick
c88fb0329b take ownership of the event system 2025-09-07 19:13:23 -05:00
Anthony Rubick
0debd0b907 perf(eventsystem): reduce duration locks are held
also added a test to ensure there is not a deadlock if a listener is marked as subscribed to an event, but not registered
2025-09-07 19:12:22 -05:00
Anthony Rubick
218c5aff40 test(eventsystem): additional tests for event emission 2025-09-07 18:04:10 -05:00
Anthony Rubick
c57fa39554 feat(eventsystem): plumbing for plugin<->plugin comms
The only thing left is to add an API endpoint for broadcasting
EventCustom events (other event types should not be emittible by
plugins, the use-case isn't there since plugins can already talk to
Zoraxy via the API).
Input to the endput should be a json-encoded `CustomEvent`
2025-09-07 18:03:48 -05:00
Anthony Rubick
2f98ecd0c6 fix(event-subscriber-example): remove event.go
the file was removed from zoraxy_plugin, but since `build_all.sh` works
by copying the module to the plugins this change wasn't propagated. This
fix removed the leftover file and updates `build_all.sh` to delete the
existing `zoraxy_plugin` module of the plugins before copying over the
updated code.
2025-09-07 17:10:02 -05:00
Anthony Rubick
73e4994ddc feat(eventpayload): add GetEventSource() to EventPayload interface
this design (as opposed to adding a Source field to the Event struct)
requires fewer changes to existing APIs while still supporting the two
primary cases for event sources:
1. an event that always has the same source can just return a hard-coded
string
2. an event that can come from multiple components (or from plugins) can
have a source field that gets returned by this function
2025-09-07 17:03:30 -05:00
Anthony Rubick
fd70b7d2dc feat(event): add UUID field to Event 2025-09-07 16:41:39 -05:00
Anthony Rubick
dbf4648646 Merge pull request #807 from AnthonyMichaelTDM/update-plugins
Update example plugins
2025-09-07 16:24:26 -05:00
Toby Chui
797ad92623 Merge pull request #805 from PassiveLemon/docker-326
feature: new container environment vars
2025-09-07 11:31:52 +08:00
Toby Chui
afdcc71358 Change ENABLELOG and ENABLELOGCOMPRESS defaults to true
Fixed invalid default value for new log flags
2025-09-07 11:20:52 +08:00
Anthony Rubick
46f0ae6896 feat: update all example plugins w/ current zoraxy_plugin
ran `build_all.sh`
2025-09-06 21:09:07 -05:00
Anthony Rubick
1c84a8f9cf fix: remove events import from zoraxy_plugin
The import, when the code is copied to develop a plugin, results an invalid path.

Fixing the path manually as a plugin developer is easy, but it shouldn't be necessary.
To fix that, the type is replaced with a string in zoraxy_plugin.IntroSpect and validation is added to lifecycle.go to ensure all subscribed events are valid.

A downside is that the list of validEventNames has to be updated whenever a new event is created, but this is mitigated by placing definitions of that list and the actual event names right next to each other.
2025-09-06 16:45:02 -05:00
Anthony Rubick
00013f3562 Merge pull request #753 from AnthonyMichaelTDM/plugin-improvements
feat(plugins): Implement event system w/ POC events
2025-09-06 15:42:31 -05:00
PassiveLemon
b743e0ea28 feature: new container environment vars 2025-09-06 13:58:35 -04:00
Toby Chui
7e6d60063e Merge branch 'main' into v3.2.6 2025-09-06 17:48:22 +08:00
Toby Chui
dbd795a158 Fixed #799
- Fixed UI bug in loopback options toggle
- Optimized plugin select ui
2025-09-06 13:36:00 +08:00
Toby Chui
df55157221 Merge pull request #789 from james-d-elliott/feat-sso-clear
feat(sso): clear settings
2025-09-06 13:22:49 +08:00
James Elliott
af0641c067 feat(sso): clear settings
This allows clearing the SSO options.
2025-09-06 14:53:13 +10:00
Toby Chui
66ff18c631 Merge pull request #788 from james-d-elliott/feat-forward-auith-original
feat(sso): forward auth body and alternate headers
2025-09-06 12:51:14 +08:00
Toby Chui
14bef4ef98 Added log start flags
- Added log rotate function (experimental)
- Added disable log function #802
- Added log compression for rotated file (experimental)
2025-09-06 00:44:54 +08:00
Anthony Rubick
22d2a0c6ca refactor: move event types into own submodule 2025-08-31 21:27:45 -05:00
Toby Chui
c3afdefe45 Added wip log rotate feature
- Added log rotate function interface
- Added darwin amd64 support in make file (Intel Macs)
- Added log summary and error API
2025-08-31 22:22:45 +08:00