Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hidu/proxy-manager
manager http、socks4、socks4a、socks5、shadowsocks
https://github.com/hidu/proxy-manager
Last synced: about 1 month ago
JSON representation
manager http、socks4、socks4a、socks5、shadowsocks
- Host: GitHub
- URL: https://github.com/hidu/proxy-manager
- Owner: hidu
- License: mit
- Created: 2014-08-27T04:40:02.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-09-17T06:59:16.000Z (over 1 year ago)
- Last Synced: 2024-06-18T21:41:42.377Z (6 months ago)
- Language: Go
- Homepage: http://hidu.github.io/proxy_man/
- Size: 406 KB
- Stars: 130
- Watchers: 18
- Forks: 43
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
proxy-manager
============
v0.3.0## 概述
1. 统一管理 http、https、socks4、socks4a、socks5、shadowsocks 代理
2. 自动检查代理是否可用
3. 对外统一提供http代理服务
4. 对外代理服务支持http basic认证
5. 支持通过接口添加代理## 安装
### 使用源码安装
需要安装[Go](https://golang.org/dl/ "下载安装")
```
go install github.com/hidu/proxy-manager@master
```## 配置
### 初始化配置
```
proxy-manager -init
```
### 配置文件
文件名
说明
proxy.toml
主配置文件
pool.conf
代理池,每行配置一个代理,每次启动都会加载检查
pool_checked.list
程序生成,当前检查可用的代理结果
pool_bad.list
程序生成,不可用的代理列表
## 运行
```bash
proxy-manageror
proxy-manager -conf ./conf/proxy.toml
```## 使用流程
假设服务监听地址为:`127.0.0.1:8128`### As Proxy Server
支持访问 http URL,暂不支持 https URL。
```
curl -x http://$name:[email protected]:8128 'http://hidu.github.io/hello.md'
```### As Gateway Server
支持访问 http 和 https URL 。
```bash
# 发送 GET 请求
curl 'http://$name:[email protected]:8128/query?url=https://hidu.github.io/hello.md# 发送 POST 请求,并且有设置自定义 Header 以及 Body
curl 'http://$name:[email protected]:8128/query?method=POST&url=https://hidu.github.io/hello.md&headers={"a":["a"]}' \
-X POST --data "request body"
```获取一个 Proxy
```bash
curl 'http://$name:[email protected]:8128/fetch'
```成功的 Response:
```json
{
"ErrNo": 0,
"Proxy": "http://127.0.0.1:8101"
}
```## 外部接口
### 添加代理接口
```
curl 命令示例:
curl --data "user_name=admin&psw_md5=7bb483729b5a8e26f73e1831cde5b842&proxy=http://10.0.1.9:3128" http://127.0.0.1:8128/add
```### 服务状态接口
http://127.0.0.1:8128/status