mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 17:14:02 +03:00
Add public-ipv4/public-ipv6 config options for manual IP override
On some servers ifconfig.co is unreachable (e.g. Hetzner, AdGuard DNS blocklists), causing 'mtg doctor' SNI-DNS check and 'mtg access' link generation to fail. New config options allow specifying public IPs manually, with automatic detection as fallback. Fixes #405
This commit is contained in:
@@ -42,6 +42,32 @@ func (suite *ConfigTestSuite) TestParseMinimalConfig() {
|
||||
suite.Equal("0.0.0.0:3128", conf.BindTo.String())
|
||||
}
|
||||
|
||||
func (suite *ConfigTestSuite) TestParsePublicIP() {
|
||||
conf, err := config.Parse(suite.ReadConfig("public_ip.toml"))
|
||||
suite.NoError(err)
|
||||
suite.Equal("203.0.113.1", conf.PublicIPv4.Get(nil).String())
|
||||
suite.Equal("2001:db8::1", conf.PublicIPv6.Get(nil).String())
|
||||
}
|
||||
|
||||
func (suite *ConfigTestSuite) TestParsePublicIPv4Only() {
|
||||
conf, err := config.Parse(suite.ReadConfig("public_ip_v4_only.toml"))
|
||||
suite.NoError(err)
|
||||
suite.Equal("203.0.113.1", conf.PublicIPv4.Get(nil).String())
|
||||
suite.Nil(conf.PublicIPv6.Get(nil))
|
||||
}
|
||||
|
||||
func (suite *ConfigTestSuite) TestParsePublicIPInvalid() {
|
||||
_, err := config.Parse(suite.ReadConfig("public_ip_invalid.toml"))
|
||||
suite.Error(err)
|
||||
}
|
||||
|
||||
func (suite *ConfigTestSuite) TestParsePublicIPNotSet() {
|
||||
conf, err := config.Parse(suite.ReadConfig("minimal.toml"))
|
||||
suite.NoError(err)
|
||||
suite.Nil(conf.PublicIPv4.Get(nil))
|
||||
suite.Nil(conf.PublicIPv6.Get(nil))
|
||||
}
|
||||
|
||||
func (suite *ConfigTestSuite) TestString() {
|
||||
conf, err := config.Parse(suite.ReadConfig("minimal.toml"))
|
||||
suite.NoError(err)
|
||||
|
||||
Reference in New Issue
Block a user