Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wrfly/gus-proxy
"打一枪换一个地方" 一个HTTP代理
https://github.com/wrfly/gus-proxy
golang http-proxy proxy socks-proxy
Last synced: 3 months ago
JSON representation
"打一枪换一个地方" 一个HTTP代理
- Host: GitHub
- URL: https://github.com/wrfly/gus-proxy
- Owner: wrfly
- License: gpl-3.0
- Created: 2017-08-16T13:45:27.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-09-24T08:54:56.000Z (about 1 year ago)
- Last Synced: 2024-06-18T21:44:15.939Z (5 months ago)
- Topics: golang, http-proxy, proxy, socks-proxy
- Language: Go
- Homepage:
- Size: 1.03 MB
- Stars: 177
- Watchers: 7
- Forks: 21
- Open Issues: 5
-
Metadata Files:
- Readme: README.en.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - wrfly/gus-proxy - "打一枪换一个地方" 一个HTTP代理 (Go)
README
# Gus-Proxy
"gus - the heavy-duty drug trafficker in *Breaking Bad*"
[![Build Status](https://travis-ci.org/wrfly/gus-proxy.svg?branch=master)](https://travis-ci.org/wrfly/gus-proxy)
[![Go Report Card](https://goreportcard.com/badge/github.com/wrfly/gus-proxy)](https://goreportcard.com/report/github.com/wrfly/gus-proxy)[README.Chinese](README.md)
---
## Run
```bash
# 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
```## Thoughts
> Change our IP address every request
1. Chose a different proxy in our proxy poll every request
1. If our IP changed, the server side may not auth us because of the session-IP pair
1. No use for session authentication
1. The aim for this tool is to resolve the restrict of IP request limit## Design
1. An top layer HTTP-proxy
1. The program load a proxy list(HTTP or Socks5) during start
1. Chose a proxy every request
1. May have different choose algorithm: round-robin|random|ping
1. Verify the availability of the proxy
1. Change our UA every request(it's an option)
1. Lookup target's all IP address, replace target host per request## Show off
![Gus-Running](img/gus-run.png)
![Curl-test](img/gus-curl.png)