From a839f8d195ae25b127d4a1fd942ea8385c137705 Mon Sep 17 00:00:00 2001 From: nadoo <287492+nadoo@users.noreply.github.com> Date: Thu, 31 Aug 2017 00:53:24 +0800 Subject: [PATCH] config: add new settings in examples for ver 0.4 --- README.md | 34 ++++++++++++++++++++++++------ config/glider.conf.example | 31 +++++++++++++++++++++++++-- config/rules.d/bypass.rule.example | 6 +++++- config/rules.d/office.list.example | 7 ++++++ config/rules.d/office.rule.example | 30 ++++++++++++++++++-------- 5 files changed, 90 insertions(+), 18 deletions(-) create mode 100644 config/rules.d/office.list.example diff --git a/README.md b/README.md index 176fb38..e41c819 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,8 @@ General: - Periodical proxy checking - Rule proxy based on destinations: [Config Examples](config/examples) - Ipset management + - Add ip/cidrs in rule files on startup + - Add resolved ips for domains in rule files by dns forwarder server TODO: - [ ] UDP Tunnel @@ -171,8 +173,8 @@ verbose # listen on 8443, serve as http/socks5 proxy on the same port. listen=:8443 -# listen on udp port 53, forward dns requests via tcp protocol -listen=dnstun://:53=8.8.8.8:53 +# listen on udp port 5353, forward dns requests via tcp protocol +listen=dnstun://:5353=8.8.8.8:53 # upstream forward proxy forward=socks5://192.168.1.10:1080 @@ -194,13 +196,26 @@ checkwebsite=www.apple.com # check duration checkduration=30 + +# Setup a dns forwarding server +dns://53 +# global remote dns server (you can specify different dns server in rule file) +dnsserver=8.8.8.8:53 + +# Create and mange ipset on linux based on destinations in rule files +# - add ip/cidrs in rule files on startup +# - add resolved ips for domains in rule files by dns forwarder server +# Usually used in transparent proxy mode on linux +ipset=glider + # RULE FILES +rules-dir=rules.d #rulefile=office.rule #rulefile=home.rule ``` See: -- [glider.conf.example](conf/glider.conf.example) -- [examples](conf/examples) +- [glider.conf.example](config/glider.conf.example) +- [examples](config/examples) ## Rule File Rule file, **same as the config file but specify forwarders based on destinations**: @@ -213,6 +228,9 @@ strategy=rr checkwebsite=www.apple.com checkduration=30 +# DNS SERVER for domains in this rule file +dnsserver=208.67.222.222:53 + # YOU CAN SPECIFY DESTINATIONS TO USE THE ABOVE FORWARDERS # matches abc.com and *.abc.com domain=abc.com @@ -222,10 +240,14 @@ ip=1.1.1.1 # matches 192.168.100.0/24 cidr=192.168.100.0/24 + +# we can include a list file with only destinations settings +include=office.list.example + ``` See: -- [office.rule.example](conf/rules.d/office.rule.example) -- [examples](conf/examples) +- [office.rule.example](config/rules.d/office.rule.example) +- [examples](config/examples) ## Service - systemd: [https://github.com/nadoo/glider/blob/master/systemd/](https://github.com/nadoo/glider/blob/master/systemd/) diff --git a/config/glider.conf.example b/config/glider.conf.example index 0d62abb..48f5679 100644 --- a/config/glider.conf.example +++ b/config/glider.conf.example @@ -49,9 +49,10 @@ listen=socks5://:1080 # listen on 1082 as a tcp tunnel, all requests to :1082 will be forward to 1.1.1.1:80 # listen=tcptun://:1082=1.1.1.1:80 -# listen on udp port 53, act as a local dns server, +# a dnstun is a special dns forwarder server with a fixed remote dns +# listen on udp port 5353, act as a local dns server, # forward all requests to 8.8.8.8:53 via tcp protocol -# listen=dnstun://:53=8.8.8.8:53 +# listen=dnstun://:5353=8.8.8.8:53 # FORWARDERS @@ -74,6 +75,7 @@ listen=socks5://:1080 # use comma to separate different upstream forward proxies. #forward=http://1.1.1.1:8080,socks5://2.2.2.2:1080 + # FORWARDE STRATEGY # ----------------- # If we set up multiple forwarders, we can use them in our own strategy. @@ -96,8 +98,33 @@ checkwebsite=www.apple.com checkduration=30 +# DNS FORWARDING SERVER +# ---------------- +# A dns forwarding server listens on UDP and forward dns requests to remote dns server in TCP via forwarders +# we can specify different upstream dns server in rule file for different destinations + +# Setup a dns forwarding server +dns://53 +# global remote dns server (you can specify different dns server in rule file) +dnsserver=8.8.8.8:53 + + +# IPSET MANAGEMENT +# ---------------- +# Create and mange ipset on linux based on destinations in rule files +# - add ip/cidrs in rule files on startup +# - add resolved ips for domains in rule files by dns forwarder server +# Usually used in transparent proxy mode on linux +ipset=glider + + # RULE FILES # ---------- # Specify additional forward rules + +# specify rules folder, so all *.rule files under this folder will be parsed as rule file +rules-dir=rules.d + +# specify a rule file #rulefile=office.rule #rulefile=home.rule diff --git a/config/rules.d/bypass.rule.example b/config/rules.d/bypass.rule.example index 6fba3c9..a7fafa0 100644 --- a/config/rules.d/bypass.rule.example +++ b/config/rules.d/bypass.rule.example @@ -1,3 +1,7 @@ +# Specify destinations in rule file without forwarders, so glider will bypass +# all forwarders and direct connect them instead + ip=127.0.0.1 -cidr=192.168.1.0/24 \ No newline at end of file +cidr=192.168.1.0/24 +domain=bypass.com diff --git a/config/rules.d/office.list.example b/config/rules.d/office.list.example new file mode 100644 index 0000000..cf20b6d --- /dev/null +++ b/config/rules.d/office.list.example @@ -0,0 +1,7 @@ + +domain=mycompany.com +domain=mycompany1.com +ip=4.4.4.4 +ip=5.5.5.5 +cidr=cidr=172.16.101.0/24 +cidr=cidr=172.16.102.0/24 \ No newline at end of file diff --git a/config/rules.d/office.rule.example b/config/rules.d/office.rule.example index 2635c84..fabf3bb 100644 --- a/config/rules.d/office.rule.example +++ b/config/rules.d/office.rule.example @@ -10,27 +10,39 @@ forward=socks5://192.168.1.10:1080 forward=ss://method:pass@1.1.1.1:8443 forward=http://192.168.2.1:8080,socks5://192.168.2.2:1080 +# STRATEGY for multiple forwarders. rr|ha strategy=rr +# FORWARDER CHECK SETTINGS checkwebsite=www.apple.com checkduration=30 +# DNS SERVER for domains in this rule file +dnsserver=208.67.222.222:53 + +# IPSET +# specify a ipset for destinations in this rule file +#ipset=office + # DESTINATIONS # ------------ # ALL destinations matches the following rules will be forward using forwarders specified above -# matches abc.com and *.abc.com -domain=abc.com - -# matches 1.1.1.1 -ip=1.1.1.1 - -# matches 192.168.100.0/24 -cidr=192.168.100.0/24 +# INCLUDE FILE +# we can include a list file with only destinations settings +include=office.list.example +# matches example.com and *.example.com +domain=example.com domain=example1.com domain=example2.com domain=example3.com + +# matches ip +ip=1.1.1.1 ip=2.2.2.2 ip=3.3.3.3 -cidr=172.16.0.0/24 + +# matches a ip net +cidr=192.168.100.0/24 +cidr=172.16.100.0/24