Bot
00f5777112
Merge branch 'upstream/master' into master and preserve domain extensions
2026-08-31 02:46:42 +08:00
77-QiQi
28d731265c
improve: skip empty addresses during DDNS updates ( #1231 )
2026-08-17 11:54:39 +08:00
naiba and naiba/CloudCode
ea7ad67f03
fix(ddns): apply SSRF defense to webhook provider
...
GHSA-6x26-5727-rrm9: a low-privilege member could point a DDNS webhook
at internal or loopback hosts and the dashboard would dial them with the
unrestricted utils.HttpClient.
Extract the notification SSRF defenses (CIDR blocklist, IP-pin DialContext,
SNI preservation, redirect rejection) into reusable helpers in pkg/utils
(NewRestrictedHTTPClient / ResolveAllowedHTTPURL / buildRestrictedHTTPClient)
and route the DDNS webhook through the same path. Replace the notification
inline implementation with a thin wrapper to keep behaviour identical.
Side improvements collected by the refactor:
- prepareRequest now resolves DNS once and returns the paired client, so
the dialer's pinned IP and the validated URL stay in sync (no more
double resolution between prepareRequest and SetRecords).
- response body is drained and closed.
- HttpClient / HttpClientSkipTlsVerify are explicitly tagged unsafe for
attacker-controlled URLs.
Tests cover: hermetic SNI preservation, redirect rejection, dial pin to
the vetted IP, the full blocked-CIDR list at the webhook entry point,
and the verifyTLS↔skipVerifyTLS inversion in the notification wrapper.
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-05-18 15:14:27 +00:00
Bot
c606fd99f6
chore: optimize and fix github actions (cleanup, CI fixes, security scanner tuning)
2026-04-26 22:25:00 +08:00
naiba
3b2cefdd07
feat: binding ip with session
...
🛡️ staying safe even your frontend was hacked
2025-10-09 21:36:59 +08:00
naiba
540c1cb1e7
feat: binding ip with session
...
🛡️ staying safe even your frontend was hacked
2025-10-09 21:36:59 +08:00
UUBulb
04d7651f58
update dependencies ( #1077 )
...
* update dependencies
ddns: update libdns to 1.0.0
* rename var
2025-05-02 00:25:23 +08:00
UUBulb
bcc4104bde
update dependencies ( #1077 )
...
* update dependencies
ddns: update libdns to 1.0.0
* rename var
2025-05-02 00:25:23 +08:00
UUBulb
5c27259439
chore: cleanup some code ( #1069 )
...
* chore
* modernize loop
* ddns: simpify Provider struct
2025-04-26 18:28:21 +08:00
UUBulb
4871211f93
chore: cleanup some code ( #1069 )
...
* chore
* modernize loop
* ddns: simpify Provider struct
2025-04-26 18:28:21 +08:00
UUBulb
b3377127a4
update ddns on server update ( #1050 )
2025-03-31 19:41:04 +08:00
UUBulb
67c129635e
update ddns on server update ( #1050 )
2025-03-31 19:41:04 +08:00
UUBulb
49c68f0da4
ddns: retreive dns servers from context ( #1034 )
2025-03-17 23:11:40 +08:00
UUBulb
38c2374bad
ddns: retreive dns servers from context ( #1034 )
2025-03-17 23:11:40 +08:00
UUBulb
ea068d4db1
refactor: simplify server & service manipulation ( #993 )
...
* refactor: simplify server & service manipulation
* update
* fix
* update for nat, ddns & notification
* chore
* update cron
* update dependencies
* use of function iterators
* update default dns servers
2025-02-21 23:08:12 +08:00
UUBulb
91bef2882a
refactor: simplify server & service manipulation ( #993 )
...
* refactor: simplify server & service manipulation
* update
* fix
* update for nat, ddns & notification
* chore
* update cron
* update dependencies
* use of function iterators
* update default dns servers
2025-02-21 23:08:12 +08:00
UUBulb
eeb96caf4d
feat: batch set server config ( #983 )
...
* feat: batch set server config
* run in parallel
* fix route
* fix
* return some information
* fix order
2025-02-04 11:25:49 +08:00
UUBulb
a41f623dd2
feat: batch set server config ( #983 )
...
* feat: batch set server config
* run in parallel
* fix route
* fix
* return some information
* fix order
2025-02-04 11:25:49 +08:00
UUBulb
2a6206f1a9
ddns: allow overriding domains per configuration ( #979 )
2025-01-30 12:19:40 +08:00
UUBulb
82d40d49fd
ddns: allow overriding domains per configuration ( #979 )
2025-01-30 12:19:40 +08:00
UUBulb
ff4fd31ec4
small improvements ( #958 )
...
* small improvements
* fix: return empty iterator if no json present
* use time.Tick
* changes
2025-01-19 21:22:00 +08:00
UUBulb
4b1af369e3
small improvements ( #958 )
...
* small improvements
* fix: return empty iterator if no json present
* use time.Tick
* changes
2025-01-19 21:22:00 +08:00
naiba
a7e4fe0909
rename repo
2024-11-28 19:38:54 +08:00
naiba
3cce7ebf01
rename repo
2024-11-28 19:38:54 +08:00
UUBulb
643c6dd3a1
ddns: remove ipv6 nameservers, support custom nameservers ( #439 )
2024-10-18 22:06:01 +08:00
UUBulb
f6531a52bd
ddns: remove ipv6 nameservers, support custom nameservers ( #439 )
2024-10-18 22:06:01 +08:00
UUBulb
6ce6c036e0
fix(ddns): handle second-level domain correctly ( #438 )
2024-10-18 12:26:43 +08:00
UUBulb
fc9f1b6bcc
fix(ddns): handle second-level domain correctly ( #438 )
2024-10-18 12:26:43 +08:00
UUBulb
2ee92ed956
fix(ddns): add missing field WebhookRequestType ( #436 )
...
* fix(ddns): add missing field WebhookRequestType
* add missing placeholders
2024-10-17 23:35:28 +08:00
UUBulb
be7b6e9c5e
fix(ddns): add missing field WebhookRequestType ( #436 )
...
* fix(ddns): add missing field WebhookRequestType
* add missing placeholders
2024-10-17 23:35:28 +08:00
UUBulb and nap0o
bf9c6d669a
ddns: store configuation in database ( #435 )
...
* ddns: store configuation in database
Co-authored-by: nap0o <144927971+nap0o@users.noreply.github.com >
* feat: split domain with soa lookup
* switch to libdns interface
* ddns: add unit test
* ddns: skip TestSplitDomainSOA on ci
network is not steady
* fix error handling
* fix error handling
---------
Co-authored-by: nap0o <144927971+nap0o@users.noreply.github.com >
2024-10-17 21:03:03 +08:00
UUBulb and nap0o
a503f0cf40
ddns: store configuation in database ( #435 )
...
* ddns: store configuation in database
Co-authored-by: nap0o <144927971+nap0o@users.noreply.github.com >
* feat: split domain with soa lookup
* switch to libdns interface
* ddns: add unit test
* ddns: skip TestSplitDomainSOA on ci
network is not steady
* fix error handling
* fix error handling
---------
Co-authored-by: nap0o <144927971+nap0o@users.noreply.github.com >
2024-10-17 21:03:03 +08:00
UUBulb
427e0e5449
feat: description file for custom theme; use gjson ( #433 )
...
* feat: description file for custom theme; use gjson
* fix gosec
* remove outdated stuff
2024-10-10 00:08:16 +08:00
UUBulb
55f5c89c1c
feat: description file for custom theme; use gjson ( #433 )
...
* feat: description file for custom theme; use gjson
* fix gosec
* remove outdated stuff
2024-10-10 00:08:16 +08:00
UUBulb
911bce71ff
refactor: ddns ( #414 )
...
* refactor ddns
* update webhook
2024-08-24 11:11:06 +08:00
UUBulb
eb6dd2855e
refactor: ddns ( #414 )
...
* refactor ddns
* update webhook
2024-08-24 11:11:06 +08:00
UUBulb
a80b40c2aa
ddns: improve performance ( #385 )
2024-07-07 10:19:58 +08:00
UUBulb
4df60c6955
ddns: improve performance ( #385 )
2024-07-07 10:19:58 +08:00
UUBulb
3e51bce224
Add DDNS Profiles, use publicsuffixlist domain parser ( #350 )
...
* Add DDNS Profiles, use publicsuffixlist domain parser
* Add Tencent Cloud DNS Provider
* Restore validate DDNS provider function
* chore: fmt & upgrade dependencies
2024-04-27 13:36:36 +08:00
UUBulb
5c7652f047
Add DDNS Profiles, use publicsuffixlist domain parser ( #350 )
...
* Add DDNS Profiles, use publicsuffixlist domain parser
* Add Tencent Cloud DNS Provider
* Restore validate DDNS provider function
* chore: fmt & upgrade dependencies
2024-04-27 13:36:36 +08:00
Darc Z
357155cb90
Fix DDNS bugs and split up ddns module ( #326 )
...
* fix: webhook retry logic
fix: adjust record type based on ipv4 ipv6
refract: move ddns providers to a new module
* refract: move ddns module to pkg/
2024-02-26 11:49:28 +08:00
Darc Z
cf9d9bd248
Fix DDNS bugs and split up ddns module ( #326 )
...
* fix: webhook retry logic
fix: adjust record type based on ipv4 ipv6
refract: move ddns providers to a new module
* refract: move ddns module to pkg/
2024-02-26 11:49:28 +08:00