"打一枪换一个地方" 一个HTTP代理
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
db
gus feat: socks4 proxy Oct 9, 2018
img
pkg/go-socks4
tools
types
utils
.gitignore
.travis.yml
Dockerfile
LICENSE
Makefile
README.en.md
README.md
VERSION
glide.lock
glide.yaml
main.go
proxyhosts.txt
run.go
version.go

README.md

Gus-Proxy

"gus - 绝命毒师里的大毒枭"

Build Status Go Report Card

README.English


运行

sudo docker run --rm -ti --name gus-proxy \
    -p 8080:8080 \
    -v proxyhosts.txt:/proxyhosts.txt \
    wrfly/gus-proxy

思路

打一枪换一个地方

  1. 每次请求都从代理池中选取一个代理
  2. 但是这样会不会触发server端的验证,即session与IP匹配
  3. 但是如果server端有这种IP验证的话,就没必要用这东西了
  4. 要解决的是server限制某一IP访问频率的问题

没问题。

设计

  1. 程序对上层表现为一个HTTP代理
  2. 程序加载一个代理列表(HTTP/Socks5) [或者默认配置一个代理列表]
  3. 每次的请求都从代理列表中选取一个
  4. 选取的算法可能是轮询、随机、或其他目前没想到的
  5. 要验证proxy的可用性
  6. 每次请求替换UA
  7. 请求资源的时候,查询目标资源地址全部的IP,随机

展示

Gus-Running Curl-test