RouterAgent

see https://github.com/RouterScript/

# TODO
## local proxy
- [x] HTTP server
- [x] Socks4/4a/5 server
## proxy client
- [x] DIRECT, REJECT, BLACKHOLE
- [x] HTTP/HTTPS client
- [x] Socks4/4a/5 client
- [x] Shadowsocks client
- [x] SSH agent
- [ ] VMess client
## proxy pool
- [ ] strategy
  - [ ] manual
  - [x] load balance
    - [x] hash
    - [x] random
    - [x] round-robin
  - [ ] high availability
  - [ ] choose by statistics
## routing engine
- [ ] rule manager
  - [ ] cache hits
  - [x] DOMAIN-MATCH rule
  - [x] DOMAIN-PREFIX rule
  - [x] DOMAIN-SUFFIX rule
  - [x] DOMAIN-KEYWORD rule
  - [x] IP-MATCH rule
  - [ ] IP-ASN rule
  - [ ] IP-GEO rule
  - [x] IP-CIDR rule
- [ ] rule learn
  - [ ] connection reset
  - [ ] connection read timeout
  - [ ] create connection timeout
- [ ] user script
## DNS resolver
- [ ] cache hits
- [x] system DNS
- [x] local DNS
- [x] multi DNS servers
- [x] edns supported
## MitM
- [ ] packet detect
- [ ] packet capture
- [ ] packet filter
## statistics
- [x] flow stats
- [ ] data rate stats
- [ ] http request stats
- [ ] active proxy
- [ ] active connection
- [ ] real-time inbound speed
- [ ] real-time outbound speed
- [ ] connection error
- [ ] connection timeout
- [ ] proxy
  - [ ] package loss
  - [ ] average latency
  - [ ] average response
  - [ ] min latency
  - [ ] min response
  - [ ] min inbound speed
  - [ ] min outbound speed
  - [ ] average inbound speed
  - [ ] max latency
  - [ ] max response
  - [ ] max inbound speed
  - [ ] max outbound speed
  - [ ] average outbound speed
## configure
- [ ] auto reload configure
- [ ] surge configure support