doc: update README file format

This commit is contained in:
nadoo 2018-08-01 00:47:43 +08:00
parent 04c6f74343
commit 8d20331096

View File

@ -8,14 +8,17 @@
glider is a forward proxy with multiple protocols support, and also a dns forwarding server with ipset management features(like dnsmasq). glider is a forward proxy with multiple protocols support, and also a dns forwarding server with ipset management features(like dnsmasq).
we can set up local listeners as proxy servers, and forward requests to internet via forwarders. we can set up local listeners as proxy servers, and forward requests to internet via forwarders.
```
```bash
|Forwarder ----------------->| |Forwarder ----------------->|
Listener --> | | Internet Listener --> | | Internet
|Forwarder --> Forwarder->...| |Forwarder --> Forwarder->...|
``` ```
## Features ## Features
Listen (local proxy server): Listen (local proxy server):
- Socks5 proxy(tcp&udp) - Socks5 proxy(tcp&udp)
- Http proxy(tcp) - Http proxy(tcp)
- SS proxy(tcp&udp) - SS proxy(tcp&udp)
@ -25,6 +28,7 @@ Listen (local proxy server):
- UDP over TCP tunnel - UDP over TCP tunnel
Forward (local proxy client/upstream proxy server): Forward (local proxy client/upstream proxy server):
- Socks5 proxy(tcp&udp) - Socks5 proxy(tcp&udp)
- Http proxy(tcp) - Http proxy(tcp)
- SS proxy(tcp&udp&uot) - SS proxy(tcp&udp&uot)
@ -34,17 +38,22 @@ Forward (local proxy client/upstream proxy server):
- Websocket, use it together with above proxy protocols(tcp) - Websocket, use it together with above proxy protocols(tcp)
DNS Forwarding Server (udp2tcp): DNS Forwarding Server (udp2tcp):
- Listen on UDP and forward dns requests to remote dns server in TCP via forwarders - Listen on UDP and forward dns requests to remote dns server in TCP via forwarders
- Specify different upstream dns server based on destinations(in rule file) - Specify different upstream dns server based on destinations(in rule file)
- Tunnel mode: forward to a fixed upstream dns server - Tunnel mode: forward to a fixed upstream dns server
- Add resolved IPs to proxy rules - Add resolved IPs to proxy rules
- Add resolved IPs to ipset - Add resolved IPs to ipset
- DNS cache
- Custom dns record
IPSet Management: IPSet Management:
- Add ip/cidrs from rule files on startup - Add ip/cidrs from rule files on startup
- Add resolved ips for domains from rule files by dns forwarding server - Add resolved ips for domains from rule files by dns forwarding server
General: General:
- Http and socks5 on the same port - Http and socks5 on the same port
- Forward chain - Forward chain
- HA or RR strategy for multiple forwarders - HA or RR strategy for multiple forwarders
@ -52,44 +61,53 @@ General:
- Rule proxy based on destinations: [Config Examples](config/examples) - Rule proxy based on destinations: [Config Examples](config/examples)
TODO: TODO:
- [ ] IPv6 support
- [ ] Transparent UDP proxy (iptables tproxy) - [ ] Transparent UDP proxy (iptables tproxy)
- [ ] DNS Cache
- [ ] Performance tuning - [ ] Performance tuning
- [ ] TUN/TAP device support - [ ] TUN/TAP device support
- [ ] IPv6 support - [ ] SSH tunnel support (maybe)
- [ ] SSH tunnel support
## Install ## Install
Binary: Binary:
- [https://github.com/nadoo/glider/releases](https://github.com/nadoo/glider/releases) - [https://github.com/nadoo/glider/releases](https://github.com/nadoo/glider/releases)
Go Get (requires **Go 1.10+** ): Go Get (requires **Go 1.10+** ):
```bash ```bash
go get -u github.com/nadoo/glider go get -u github.com/nadoo/glider
``` ```
ArchLinux: ArchLinux:
```bash ```bash
sudo pacman -S glider sudo pacman -S glider
``` ```
## Run ## Run
command line: command line:
```bash ```bash
glider -listen :8443 -verbose glider -listen :8443 -verbose
``` ```
config file: config file:
```bash ```bash
glider -config CONFIGPATH glider -config CONFIGPATH
``` ```
command line with config file: command line with config file:
```bash ```bash
glider -config CONFIGPATH -listen :8080 -verbose glider -config CONFIGPATH -listen :8080 -verbose
``` ```
## Usage ## Usage
```bash ```bash
glider v0.6.5 usage: glider v0.6.5 usage:
-checkduration int -checkduration int
@ -248,6 +266,7 @@ Examples:
``` ```
## Advanced Usage ## Advanced Usage
- [ConfigFile](config) - [ConfigFile](config)
- [glider.conf.example](config/glider.conf.example) - [glider.conf.example](config/glider.conf.example)
- [office.rule.example](config/rules.d/office.rule.example) - [office.rule.example](config/rules.d/office.rule.example)
@ -256,9 +275,11 @@ Examples:
- [transparent proxy without dnsmasq](config/examples/9.transparent_proxy_without_dnsmasq) - [transparent proxy without dnsmasq](config/examples/9.transparent_proxy_without_dnsmasq)
## Service ## Service
- systemd: [https://github.com/nadoo/glider/blob/master/systemd/](https://github.com/nadoo/glider/blob/master/systemd/) - systemd: [https://github.com/nadoo/glider/blob/master/systemd/](https://github.com/nadoo/glider/blob/master/systemd/)
## Links ## Links
- [go-ss2](https://github.com/shadowsocks/go-shadowsocks2): ss protocol support - [go-ss2](https://github.com/shadowsocks/go-shadowsocks2): ss protocol support
- [conflag](https://github.com/nadoo/conflag): command line and config file parse support - [conflag](https://github.com/nadoo/conflag): command line and config file parse support
- [ArchLinux](https://www.archlinux.org/packages/community/x86_64/glider): a great linux distribution with glider pre-built package - [ArchLinux](https://www.archlinux.org/packages/community/x86_64/glider): a great linux distribution with glider pre-built package