database64128 / swgp-go

🐉 Simple WireGuard proxy with minimal overhead for WireGuard traffic.
GNU Affero General Public License v3.0
224 stars 23 forks source link

Add support for ddns (dynamic domain names) #47

Closed jueti closed 4 months ago

jueti commented 4 months ago

I am using WireGuard as a server on Windows, and with the PersistentKeepalive setting, I can use a script to determine if the last connection time in the wg command has timed out, and then try to re-resolve the dynamic DNS (DDNS).

After adopting the swgp-go proxy, my old script is no longer working. I understand that dynamic domain resolution can be achieved by restarting the swgp-go service, but there is a delay in domain resolution in the config file due to TTL (Time To Live) and system caching.

In my original script, I was getting the latest IP directly from the domain hosting provider's name server and updating the IP via WireGuard's hot reload feature. It seems that swgp-go does not currently support configuring hot reload.

Is there any plan to add support for DDNS in the future?

database64128 commented 4 months ago

There's no need for swgp-go to implement this feature. Your script can simply update the server address in swgp-go's config, and restart swgp-go.

Doing so won't add any extra downtime, because swgp-go simply provides a UDP tunnel, and restarting it won't bring down the WireGuard interface, so your TCP connections should survive just fine.