You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.5 KiB

package main
import (
"XProxy/cmd/asset"
"XProxy/cmd/common"
"XProxy/cmd/config"
"XProxy/cmd/network"
"XProxy/cmd/proxy"
log "github.com/sirupsen/logrus"
)
func loadAsset(settings *config.Config) {
asset.Load(assetFile, assetDir)
asset.AutoUpdate(&settings.Update, assetDir)
}
func loadProxy(settings *config.Config) {
proxy.Load(configDir, exposeDir, proxy.Config{
Sniff: settings.EnableSniff,
Redirect: settings.EnableRedirect,
V4TProxyPort: v4TProxyPort,
V6TProxyPort: v6TProxyPort,
LogLevel: settings.LogLevel,
HttpInbounds: settings.HttpInbounds,
SocksInbounds: settings.SocksInbounds,
AddOnInbounds: settings.AddOnInbounds,
})
}
func loadNetwork(settings *config.Config) {
v4Settings := network.Config{
RouteTable: v4RouteTable,
TProxyPort: v4TProxyPort,
Address: settings.V4Address,
Gateway: settings.V4Gateway,
Bypass: settings.V4Bypass,
}
v6Settings := network.Config{
RouteTable: v6RouteTable,
TProxyPort: v6TProxyPort,
Address: settings.V6Address,
Gateway: settings.V6Gateway,
Bypass: settings.V6Bypass,
}
network.Load(settings.DNS, v4Settings, v6Settings)
}
func runScript(settings *config.Config) {
for _, script := range settings.Script {
log.Infof("Run script command -> %s", script)
common.RunCommand("sh", "-c", script)
}
}