Surge can update a config file from an URL automatically. If the config starts with
#!MANAGED-CONFIG http://test.com/surge.conf interval=60 strict=true
The config can only be updated when Surge main application is running.
Note: The new config in remote should also contain #!MANAGED-CONFIG line. Otherwise this config will become a regular one.
interval: Optional, s (Default: 86400s).
Determine how long the config will be updated.
strict: true or false (Default: false).
If strict is true, Surge will require a force update after the interval arrives. Otherwise if the update fails the user may still use the outdated config.
Note: Even when strict is true, the user still can start Surge by widget or VPN switch in Settings.
Supported from Surge Mac Build 419. It might be modified or deprecated in the future version.
Since managed configuration can't be edited. You may want to adjust some settings but don't want to lose auto-updating. You may use the patch file to achieve.
Create a file named "[config-name].conf.patch". And place in the same directory to the managed config file. Only [General] section can be patched in the currently version.
[General] ipv6 = true
You may find description of most options from here.