Awesome Open Source
Awesome Open Source

Gus-Proxy

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

Build Status Go Report Card

README.English


运行

# prepare the proxies
mkdir -p data
touch data/proxies.txt
# put your proxies in data/proxies.txt
# the format could be:
# socks5://127.0.0.1:1080
# http://user:[email protected]:1081
# socks4://127.0.0.1:1082
# direct://0.0.0.0
# ss://AEAD_CHACHA20_POLY1305:[email protected]:1083

# then:
sudo docker run --rm -ti --name gus-proxy \
    -p 8080:8080 \
    -v `pwd`/data:/data \
    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


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
go (15,400
golang (3,973
proxy (567
http-proxy (79
socks-proxy (23