https://github.com/hidu/proxy-manager
manager http、socks4、socks4a、socks5、shadowsocks
https://github.com/hidu/proxy-manager
Last synced: 3 months 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 (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2026-04-13T04:16:14.000Z (3 months ago)
- Last Synced: 2026-04-13T05:23:18.666Z (3 months ago)
- Language: Go
- Homepage: http://hidu.github.io/proxy_man/
- Size: 452 KB
- Stars: 135
- Watchers: 15
- Forks: 45
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# proxy-manager
[中文](https://github.com/hidu/proxy-manager) |
[Deutsch](https://zdoc.app/de/hidu/proxy-manager) |
[English](https://zdoc.app/en/hidu/proxy-manager) |
[Español](https://zdoc.app/es/hidu/proxy-manager) |
[français](https://zdoc.app/fr/hidu/proxy-manager) |
[日本語](https://zdoc.app/ja/hidu/proxy-manager) |
[한국어](https://zdoc.app/ko/hidu/proxy-manager) |
[Português](https://zdoc.app/pt/hidu/proxy-manager) |
[Русский](https://zdoc.app/ru/hidu/proxy-manager)
## 概述
1. 统一管理 http、https、socks4、socks4a、socks5、shadowsocks 代理
2. 自动检查代理是否可用
3. 对外统一提供 HTTP/HTTPS 代理服务
4. 对外代理服务支持 HTTP Basic 认证
5. 支持通过接口添加代理地址、获取可用代理
## 安装
使用源码安装:
```
go install github.com/hidu/proxy-manager@master
```
或者在 [ releases 页面](https://github.com/hidu/proxy-manager/releases) 下载编译好的二进制。
## 配置
### 配置文件
参考项目 [conf](./conf) 目录内的配置。
## 运行
```bash
proxy-manager
or
proxy-manager -conf ./conf/app.yml
```
## 使用
1. 将固定的代理配置添加到 `conf/proxies.yml` 文件中 (每次重启后都会加载)
2. 在 `conf/users.yml` 中配置用户 (登录管理页面 和 使用代理时会用)
3. 启动服务,服务监听地址默认为:`127.0.0.1:8128`
4. 在浏览器中访问 `http://127.0.0.1:8128` 可以进入管理页面
`http://127.0.0.1:8128` 即提供了管理页面,同时也提供了 HTTP / HTTPS 代理功能。
### 作为 HTTP / HTTPS 代理
比如:
```
# 在 conf/app.yml 中配置了 AuthType="no" (不需要代理认证)时:
curl -x http://127.0.0.1:8128 'https://hidu.github.io/hello.md'
```
或者
```
# 在 conf/app.yml 中配置了 AuthType="basic" 或 "basic_any" (需要代理认证)时:
curl -x http://$name:$psw@127.0.0.1:8128 'https://hidu.github.io/hello.md'
```
### API
#### /query: 作为普通服务,转发请求
```bash
# 发送 GET 请求
curl 'http://$name:$psw@127.0.0.1:8128/query?url=https://hidu.github.io/hello.md
# 发送 POST 请求,并且有设置自定义 Header 以及 Body
curl 'http://$name:$psw@127.0.0.1:8128/query?method=POST&url=https://hidu.github.io/hello.md&header={"k1":"v1"}' \
-X POST --data "request body"
```
#### /fetch: 返回一个可用的代理服务器
```bash
curl 'http://$name:$psw@127.0.0.1:8128/fetch'
```
#### /add: 添加代理
```bash
curl --data "user_name=admin&psw_md5=7bb483729b5a8e26f73e1831cde5b842&proxy=http://10.0.1.9:3128" http://127.0.0.1:8128/add
```
#### /status: 服务状态接口
```bash
curl http://127.0.0.1:8128/status
```