|
|
@@ -21,6 +21,7 @@ import (
|
|
|
|
|
|
var (
|
|
|
inboundConfigLoader = NewJSONConfigLoader(ConfigCreatorCache{
|
|
|
+ "tunnel": func() interface{} { return new(DokodemoConfig) },
|
|
|
"dokodemo-door": func() interface{} { return new(DokodemoConfig) },
|
|
|
"http": func() interface{} { return new(HTTPServerConfig) },
|
|
|
"shadowsocks": func() interface{} { return new(ShadowsocksServerConfig) },
|
|
|
@@ -33,8 +34,10 @@ var (
|
|
|
}, "protocol", "settings")
|
|
|
|
|
|
outboundConfigLoader = NewJSONConfigLoader(ConfigCreatorCache{
|
|
|
+ "block": func() interface{} { return new(BlackholeConfig) },
|
|
|
"blackhole": func() interface{} { return new(BlackholeConfig) },
|
|
|
"loopback": func() interface{} { return new(LoopbackConfig) },
|
|
|
+ "direct": func() interface{} { return new(FreedomConfig) },
|
|
|
"freedom": func() interface{} { return new(FreedomConfig) },
|
|
|
"http": func() interface{} { return new(HTTPClientConfig) },
|
|
|
"shadowsocks": func() interface{} { return new(ShadowsocksClientConfig) },
|
|
|
@@ -242,7 +245,7 @@ func (c *InboundDetourConfig) Build() (*core.InboundHandlerConfig, error) {
|
|
|
return nil, errors.New("failed to load inbound detour config for protocol ", c.Protocol).Base(err)
|
|
|
}
|
|
|
if dokodemoConfig, ok := rawConfig.(*DokodemoConfig); ok {
|
|
|
- receiverSettings.ReceiveOriginalDestination = dokodemoConfig.Redirect
|
|
|
+ receiverSettings.ReceiveOriginalDestination = dokodemoConfig.FollowRedirect
|
|
|
}
|
|
|
ts, err := rawConfig.(Buildable).Build()
|
|
|
if err != nil {
|