Skip to content

V3.3.2-rc1#1041

Open
tobychui wants to merge 36 commits intomainfrom
v3.3.2
Open

V3.3.2-rc1#1041
tobychui wants to merge 36 commits intomainfrom
v3.3.2

Conversation

@tobychui
Copy link
Owner

@tobychui tobychui commented Feb 13, 2026

This pull request introduces several new features and improvements, including enhanced trusted proxy management, more flexible configuration via startup flags, and updates to documentation and Docker workflow. The most notable changes are the addition of trusted proxy APIs, dynamic path initialization based on startup flags, and improvements to ACME certificate renewal logic.

Notes: Unlike previous rc-1 which finalize the new feature sets, this release only contains a subset of new features and introduce a new implementation to dpcore which some users might find really helpful. More features will be added in rc-2 after the Lunar New Year holiday.

Trusted Proxy Management:

  • Added a new set of API endpoints and handlers for managing trusted proxies, including listing, adding, removing, and updating trusted proxies, as well as toggling the TrustProxyHeadersOnly setting in src/accesslist.go and registering these APIs in src/api.go. [1] [2]
  • Introduced a TrustProxyHeadersOnly field to the default access rule in src/mod/access/access.go.

Configuration and Startup Improvements:

  • Refactored configuration path constants to be initialized dynamically from startup flags, allowing users to specify paths for configuration, database, and temporary folders at runtime. Updated related usages and removed hardcoded paths in src/def.go and initialized them in src/main.go. [1] [2] [3] [4] [5] [6]
  • Updated the admin account reset logic to use the configurable database path in src/main.go.
  • Changed the backup logic to use the dynamic database path in src/config.go.

ACME Certificate Renewal Logic:

  • Improved ACME certificate renewal to more robustly restore only those settings that were changed during the process, clarifying and fixing the logic for temporary changes to HTTP/HTTPS redirect and port 80 listener in src/acme.go. [1] [2] [3]

API and Feature Updates:

  • Added new API endpoint for toggling PROXY protocol support and for WebDAV server controls, while removing the file manager APIs from the static web server API registration in src/api.go. [1] [2]

Documentation and Workflow Updates:

  • Updated the Docker workflow to support environment variable overrides for Docker account, repo, cache, platforms, and runner, making it more flexible for different environments in .github/workflows/docker.yml.
  • Expanded the README.md with new command-line options, configuration flags, and a section for community-contributed features. [1] [2] [3] [4]

kjagosz and others added 30 commits January 12, 2026 22:02
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@8e8c483...de0fac2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…ons/checkout-6.0.2

Bump actions/checkout from 6.0.1 to 6.0.2
Sync v3.3.1-rc3 changes to v3.3.2
Replaces hardcoded paths with variables initialized from start flags
Make it more like kuma
Removed the legacy web file manager and related APIs, and introduced a WebDAV server for managing files in the web directory.
- Replaces the old trie node structure with a sorted range-based approach for supporting binary search
- Add more test cases
Removed invalid restart implementation in ACME module
Fixed restart stuck bug
and removed start flags for PROXY PROTOCOL
Added logic to wait for graph ready before data fetching
Fix typo, change from "Any acess requesting" to "Any access requesting"
Update rules.html
Fix typo, change from "Any acess requesting" to "Any access requesting"
Fix typo, change from "Any acess requesting" to "Any access requesting"
- Added experimental trust proxy implementation in access rule module
- Added tools to update default trusted proxy ip list (CF only)
- Added comments to plugin_api.go and api.go so devs don't mix them up
Add device type based redirection filter, so site owner can now redirect m.example.com to example.com if mobile site is opened with desktop browser and vise versa
Added singleton implementation of http.Transport per dpcore instance
- Updated webdev server UI
- Fixed double scroll bar issue on HTTP proxy rule
@tobychui
Copy link
Owner Author

Btw, I am still thinking where to place the Trusted Proxy editor.

Currently I place it under the whitelist > advanced settings, but technically it is an access controller global / shared list. Adding another tab to the editor will make it too wide for mobile devices so that I can't do it that way. Anyone got any UX ideas on this?

圖片 圖片

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants