mirror of
https://github.com/wweir/sower.git
synced 2024-04-21 12:42:15 +00:00
Support client deploy to everywhere
This commit is contained in:
+11
-7
@@ -2,6 +2,7 @@ package conf
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"net"
|
||||
"strconv"
|
||||
|
||||
"github.com/BurntSushi/toml"
|
||||
@@ -10,12 +11,14 @@ import (
|
||||
)
|
||||
|
||||
var Conf = struct {
|
||||
ConfigFile string
|
||||
ServerPort string `toml:"server_port"`
|
||||
ServerAddr string `toml:"server_addr"`
|
||||
DnsServer string `toml:"dns_server"`
|
||||
BlockList []string `toml:"blocklist"`
|
||||
Verbose int `toml:"verbose"`
|
||||
ConfigFile string
|
||||
ServerPort string `toml:"server_port"`
|
||||
ServerAddr string `toml:"server_addr"`
|
||||
DnsServer string `toml:"dns_server"`
|
||||
ClientIP string `toml:"client_ip"`
|
||||
ClientIPNet net.IP `toml:"-"`
|
||||
BlockList []string `toml:"blocklist"`
|
||||
Verbose int `toml:"verbose"`
|
||||
}{}
|
||||
|
||||
func init() {
|
||||
@@ -23,6 +26,7 @@ func init() {
|
||||
flag.StringVar(&Conf.ServerPort, "P", "5533", "server mode listen port")
|
||||
flag.StringVar(&Conf.ServerAddr, "s", "", "server IP (run in client mode if set)")
|
||||
flag.StringVar(&Conf.DnsServer, "d", "114.114.114.114", "client dns server")
|
||||
flag.StringVar(&Conf.ClientIP, "c", "127.0.0.1", "client dns service redirect IP")
|
||||
|
||||
if !flag.Parsed() {
|
||||
flag.Parse()
|
||||
@@ -41,7 +45,7 @@ var OnRefreash = []func() error{func() error {
|
||||
if _, err := toml.DecodeFile(Conf.ConfigFile, &Conf); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Conf.ClientIPNet = net.ParseIP(Conf.ClientIP)
|
||||
// for glog
|
||||
if err := flag.Set("v", strconv.Itoa(Conf.Verbose)); err != nil {
|
||||
return err
|
||||
|
||||
+21
-6
@@ -1,17 +1,32 @@
|
||||
server_port="5533"
|
||||
server_addr="127.0.0.1:5533"
|
||||
server_addr="127.0.0.1:5533" # replce it to server "IP"
|
||||
dns_server="114.114.114.114"
|
||||
# client_ip="192.168.0.1"
|
||||
blocklist=[
|
||||
"*.google.com", # google
|
||||
"*.googleusercontent.com",
|
||||
"*.youtube.com", # youtube
|
||||
"*.ytimg.com",
|
||||
"*.ggpht.com",
|
||||
"*.googlevideo.com",
|
||||
"golang.org", # golang
|
||||
"*.googlesource.com",
|
||||
"zh.wikipedia.org", # wikipeida
|
||||
"*.vimeo.com",
|
||||
"*.facebook.com", # facebook
|
||||
"static.xx.fbcdn.net",
|
||||
"*.xx.fbcdn.net",
|
||||
"*.twitter.com", # twitter
|
||||
"*.twimg.com",
|
||||
"*.*.blogspot.com", # blogspot
|
||||
"www.blogger.com",
|
||||
"www.feedburner.com",
|
||||
"img1.blogblog.com",
|
||||
"*.golang.org", # golang
|
||||
"go.googlesource.com",
|
||||
"*.wikipedia.org", # wikipeida
|
||||
"*.wikimedia.org",
|
||||
"*.wikisource.org",
|
||||
"lookup-api.apple.com",
|
||||
"lookup-api.apple.com.edgekey.net",
|
||||
"e16991.b.akamaiedge.net",
|
||||
"*.web.telegram.org", # telegram
|
||||
"cloud.feedly.com", # feedly
|
||||
]
|
||||
verbose=1
|
||||
verbose=0
|
||||
+2
-2
@@ -78,8 +78,8 @@ func localA(r *dns.Msg, domain string) *dns.Msg {
|
||||
m := new(dns.Msg)
|
||||
m.SetReply(r)
|
||||
m.Answer = []dns.RR{&dns.A{
|
||||
Hdr: dns.RR_Header{Name: domain, Rrtype: dns.TypeA, Class: dns.ClassINET, Ttl: 0},
|
||||
A: net.IPv4(127, 0, 0, 1),
|
||||
Hdr: dns.RR_Header{Name: domain, Rrtype: dns.TypeA, Class: dns.ClassINET, Ttl: 720},
|
||||
A: conf.Conf.ClientIPNet,
|
||||
}}
|
||||
return m
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user