Support client deploy to everywhere

This commit is contained in:
wweir
2018-11-26 14:15:01 +08:00
parent fa4a23a8af
commit b81fdd3479
3 changed files with 34 additions and 15 deletions
+11 -7
View File
@@ -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
View File
@@ -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
View File
@@ -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
}