Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
cmd
 
 
 
 
db
 
 
gus
 
 
img
 
 
pkg
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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:pass@127.0.0.1:1081
# socks4://127.0.0.1:1082
# direct://0.0.0.0
# ss://AEAD_CHACHA20_POLY1305:passw0rd@127.0.0.1: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