The Surge client configuration currently uses the relay server's raw IP address (ansible_host) for the Shadowsocks proxy definition. Using a domain name instead of a raw IP provides better flexibility (e.g., IP changes, CDN, TLS/SNI requirements) and consistency with how the landing server is configured.
relay_domain variable in group_vars/relay.yml for the relay server's domain namerelay_domain instead of the raw ansible_host for the relay proxy entryshadowsocks-relay: The relay server now has a configurable domain name used in Surge client config generation, replacing the raw IP referencesurge-config-gen: The generated config uses a domain name for the relay instead of an IP addressgroup_vars/relay.yml — adds relay_domain variablegroup_vars/relay.yml.example — adds relay_domain placeholdertemplates/surge-client.conf.j2 — changes relay proxy to use relay_domain variable instead of ansible_host