ProxyCat/ProxyCat-Manual/Operation Manual.md
2025-03-03 11:13:52 +08:00

208 lines
8.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ProxyCat 使用手册
## 源码使用及 Docker 部署
### 源码手册
**Windows&Mac**:浏览器访问位于 Github 的源码存储库并下载:[ProxyCat](https://github.com/honmashironeko/ProxyCat)
![Windows Download](./Operation%20Manual.assets/Windows%20Download.png)
**Linux**:通过 Git 方法拉取项目到本地
```
git clone https://github.com/honmashironeko/ProxyCat.git
```
![Linux Download](./Operation%20Manual.assets/Linux%20Download.png)
安装 Python 依赖(**请尽量保证Python版本为3.8-3.11**
```
pip install -r requirements.txt
# 或使用国内源:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
```
进入 config 文件夹内找到 config.ini 配置文件,按照自己拥有的资源选择不同的代理服务器获取方法
1⃣如果您的代理服务器地址为固定的连接不需要动态更换可以使用本地 ip.txt 的方式提供格式如下所示
```
# 支持 http/https/socks5 三种代理服务器地址,支持账号密码校验
socks5://neko:123456@127.0.0.1:7890
https://neko:123456@127.0.0.1:7890
http://neko:123456@127.0.0.1:7890
socks5://127.0.0.1:7890
https://127.0.0.1:7890
http://127.0.0.1:7890
...
```
2⃣如果您是通过 API 方式获取代理地址,可以在 config.ini 中修改配置(配置后不再读取 ip.txt
```
# config.ini 配置文件中将以下两条配置进行修改
use_getip = True
getip_url = 获取代理地址的 API 接口
# 请注意API 接口所获取的代理地址必须为 IP:PORT 格式且只提供一条地址,如果格式不同请到 getip.py 脚本中修改代码如果您需要指定协议默认为socks5可以进入 getip.py 脚本中修改
```
当您配置完成之后就可以运行工具了
```
python ProxyCat.py
```
![Run](./Operation%20Manual.assets/Run.png)
### Docker 手册
Windows 可以下载 Docker 官方工具:[Docker Desktop](docs.dockerd.com.cn)
![Docker%20Desktop%20Download](./Operation%20Manual.assets/Docker%20Desktop%20Download.png)
Linux 可以通过清华大学源提供的脚本一键安装:[清华大学安装脚本](https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/)
![Docker%20Download](./Operation%20Manual.assets/Docker%20Download.png)
安装完成后请测试docker、docker-compose是否安装成功如果安装失败请百度
Windows&Linux 进入 ProxyCat 文件夹下(**在此之前请根据源码手册中 config.ini 配置部分完成参数修改**)运行以下命令进行部署
```
# 进入ProxyCat文件夹中并构建镜像和启动容器
docker-compose up -d --build
# 停止服务和启动服务(每次修改完配置后需要重启服务)
docker-compose down | docker-compose up -d
# 查看日志信息
docker logs proxycat
# docker端口默认为1080和5000,1080为监听端口5000为web页面管理如需其他端口请对应修改并放行
```
### 配置文件介绍
```
# 日志显示级别(默认为:1)
# 0: 仅显示代理切换和错误信息
# 1: 显示代理切换、倒计时和错误信息
# 2: 显示所有详细信息
display_level = 1
# 本地服务器监听端口(默认为:1080)
# Local server listening port (default:1080)
port = 1080
# Web 管理页面端口(默认为:5000)
web_port = 5000
# 代理地址轮换模式cycle 表示循环使用custom 表示使用自定义模式load_balance 表示负载均衡(默认为:cycle)
# Proxy rotation mode: cycle means cyclic use, custom means custom mode, load_balance means load balancing (default:cycle)
mode = cycle
# 代理地址更换时间(秒),设置为 0 时每次请求都更换 IP(默认为:300)
# Proxy address rotation interval (seconds), when set to 0, IP changes with each request (default:300)
interval = 300
# 是否使用 getip 模块获取代理地址 True or False(默认为:False)
# Whether to use getip module to obtain proxy addresses True or False (default:False)
use_getip = False
# 获取新代理地址的URL
# URL to get new proxy address
getip_url = http://example.com/getip
# 代理服务器认证用户名(如果代理服务器需要认证)
# Proxy server authentication username (if proxy server requires authentication)
proxy_username =
# 代理服务器认证密码(如果代理服务器需要认证)
# Proxy server authentication password (if proxy server requires authentication)
proxy_password =
# 代理地址列表文件(默认为:ip.txt)
# Proxy address list file (default:ip.txt)
proxy_file = ip.txt
# 是否启用代理检测功能 True or False(默认为True)
# Whether to enable proxy detection feature True or False (default:True)
check_proxies = True
# 语言设置 (cn/en)
# Language setting (cn/en)
language = cn
# IP白名单文件路径留空则不启用白名单
# IP whitelist file path (leave empty to disable whitelist)
whitelist_file = whitelist.txt
# IP黑名单文件路径留空则不启用黑名单
# IP blacklist file path (leave empty to disable blacklist)
blacklist_file = blacklist.txt
# IP认证优先级whitelist/blacklist
# IP authentication priority (whitelist/blacklist)
# whitelist: 优先判断白名单在白名单中的IP直接放行
# whitelist: prioritize whitelist check, IPs in whitelist are allowed directly
# blacklist: 优先判断黑名单在黑名单中的IP直接拒绝
# blacklist: prioritize blacklist check, IPs in blacklist are rejected directly
ip_auth_priority = whitelist
# Web 管理页面访问token留空则无需token(默认为:honmashironeko)
token = honmashironeko
# 在[Users]下面是用户管理组,"账号=密码"一行一个,留空时代理无需身份鉴别(默认为:neko=123456)
[Users]
neko=123456
```
### Web 控制面板
采用源码部署的话通过 **python app.py** 启动 Web 控制面板,并根据提示访问 Web
![Clip_2025-02-21_16-23-35](./Operation%20Manual.assets/Clip_2025-02-21_16-23-35.png)
![Clip_2025-03-03_10-54-38](./Operation%20Manual.assets/Clip_2025-03-03_10-54-38.png)
![Clip_2025-03-03_10-55-05](./Operation%20Manual.assets/Clip_2025-03-03_10-55-05.png)
![Clip_2025-03-03_10-55-37](./Operation%20Manual.assets/Clip_2025-03-03_10-55-37.png)
## 问题Q&A
Q为什么运行后我的XXX工具代理还是没换
AProxyCat 并不是全局代理工具需要XXX工具支持使用代理将流量发送到 ProxyCat 的本地监听端口才会经过代理池。
Q为什么倒计时结束后代理没有更换
AProxyCat 为了节约硬件资源和代理服务器资源,特意修改运行逻辑为有流量经过的时候才会更换代理,这样可以减少资源的浪费,同时可以部署一次,长期可用。
Q为什么我用 getip 方式获取代理地址的时候,首次运行会报 None ,没有可用的代理地址?
A为了防止资源浪费通过 getip 获取的情况一般是付费购买静态短效IP运行就获取的话会浪费大量资源从而导致资金损耗为避免这种情况发生首次运行不会主动获取您只需要正常使用发包ProxyCat 会自动获取并发送。
Qgetip.py 当中的appKey和anquanma是做什么的
A这两个参数是用作自动将当前请求IP添加到服务商请查看readme中最下面的第一个推荐的白名单中免去每次IP变更需重新添加的烦恼其中anquanma(安全码)需要到个人中心配置。
Q我自己有静态IP提供地址该怎么用
A将地址填入getip_url如果有账号密码请写在 proxy_username 、proxy_password 。
Q为什么我会遇到 XXX 报错?为什么不能用?
A可先看[《排查手册》](https://github.com/honmashironeko/ProxyCat/blob/main/ProxyCat-Manual/Investigation%20Manual.md)无法修复的情况下可以找作者询问提问前请先支付50元作为时间的购买费用如果您的问题属于百度可查或手册中有的费用将不会返还如果属于工具BUG或功能建议费用将全额返还并将您列入本项目的感谢名单中。实在是太多人多在问一些非常简单且写在帮助中的问题时间被极大的浪费了同时有很多态度非常恶劣的人这不是我所想要的