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
Toby Chui
d9fd38260f
Changed LogView tool type
...
- Changed logview representation form from snippet to new tab
2025-08-31 14:29:20 +08:00
Toby Chui
bf5ffa100c
Update logview.html
...
Added more logview logic
2025-08-31 14:02:58 +08:00
Toby Chui
a175c258c9
Added support for MacOS WebSSH
...
- Added MacOS webssh feature
- Fixed bug on no proxy rule will cause tls option null exception
2025-08-31 12:35:11 +08:00
Toby Chui
7c3a1a9cfc
Added wip new log viewer
...
- Added DNS challenge maintainer tag
- Added wip log viewer
2025-08-31 11:17:07 +08:00
Toby Chui
471e94c893
Merge pull request #795 from zen8841/v3.2.6
...
Update lego to v4.25.2
2025-08-30 14:54:10 +08:00
Zen Wen
19fd6057e0
Update lego to v4.25.2
2025-08-30 14:39:32 +08:00
Zen Wen
3ad8e5acb3
Remove acmedns file inside .gitignore
2025-08-30 14:38:31 +08:00
Zen Wen
dda922cb64
Update code-gen tools
...
Add dnshomede and myaddr to excluded dns provider list
2025-08-30 14:29:26 +08:00
Zen Wen
d4d0adb297
Update acme code-gen Script: update.sh
...
Change the pull branch to latest version tags
Avoid generating config that not include in the latest lego release
2025-08-30 14:28:10 +08:00
Zen Wen
e4950bbbe6
Add Shebang for tools Script
2025-08-30 14:26:07 +08:00
Zen Wen
e1fd28f595
Add execute permission for tools script
2025-08-30 14:24:09 +08:00
Anthony Rubick
f45d5f46b4
refactor(events): extract event system to own module and generalize subscriber handling
2025-08-24 18:46:03 -05:00
Toby Chui
cfd8f988fd
Update CODEOWNERS
2025-08-25 06:58:07 +08:00
Toby Chui
e4a12b27a6
Update CODEOWNERS
...
Added forward-auth module owner
2025-08-25 06:56:44 +08:00
Toby Chui
abcd550261
Merge pull request #792 from AnthonyMichaelTDM/codeowners
...
add CODEOWNERS file
2025-08-25 06:54:54 +08:00
Anthony Rubick
e718ff1c72
add CODEOWNERS file
2025-08-24 17:34:00 -05:00
James Elliott
e477a40299
feat(sso): forward auth body and alternate headers
...
This implements a minor modification to the forward authz sso where the body can be copied to the auth server and the X-Original-* implementations can be used.
2025-08-23 21:53:25 +10:00
Anthony Rubick
d74ecb2444
fix: event deserialization
2025-08-19 19:09:50 -05:00
Anthony Rubick
fe2db92392
test: event deserialization
2025-08-19 19:09:50 -05:00
Anthony Rubick
ac3f12718a
feat: add event subscription details to plugin info page
2025-08-19 19:09:49 -05:00