mirror of
https://github.com/honmashironeko/ProxyCat.git
synced 2025-11-05 10:51:06 +00:00
Update
This commit is contained in:
parent
fd77064143
commit
0d799759eb
85
ProxyCat-Manual/logs.md
Normal file
85
ProxyCat-Manual/logs.md
Normal file
@ -0,0 +1,85 @@
|
||||
### 2025/01/07
|
||||
|
||||
- 引入连接池机制提高性能。
|
||||
- 优化部分错误处理和日志记录。
|
||||
- 代理切换机制优化。
|
||||
|
||||
### 2025/01/03
|
||||
|
||||
- 集中配置参数到配置文件中管理,提升维护便利。
|
||||
- 修复部分已知BUG,并提升稳定性和并发能力。
|
||||
|
||||
### 2025/01/02
|
||||
|
||||
- 重构软件结构,更加整洁易用。
|
||||
- 新增支持黑白名单机制进行身份认证。
|
||||
- 在使用GetIP方式的时候,需要先收到一次请求才会获取代理,防止每次运行都浪费资金。
|
||||
- 语言配置逻辑更改,不再分为两个版本,通过config.ini文件中的语言配置参数进行显示。
|
||||
- 配置信息面板更新,不配置账号密码的情况下也能直接复制地址使用。
|
||||
- 新增docker方式部署。
|
||||
|
||||
### **2024/10/23**
|
||||
|
||||
- 重构代码结构,将部分代码分割成单独文件。
|
||||
- 支持代理过程中,遇到代理服务器突然失效,自动请求更换新的代理服务器,并重置更换计时器。
|
||||
|
||||
### 2024/09/29
|
||||
|
||||
- 去除使用较少的单次循环,更换为自定义模式,可根据需求自定义更换代理的逻辑。
|
||||
- 对代理有效性检测修改为异步,提高速度。
|
||||
- 去除问题较多的 SOCKS4 协议的代理支持。
|
||||
- 对日志系统进行美化。
|
||||
- 改进异常处理逻辑。
|
||||
- 增加对代理格式的校验,确保格式正确。
|
||||
|
||||
### 2024/09/10
|
||||
|
||||
- 优化并发效率,支持在未收到响应包的情况下提前进行下一个请求,提高效率。
|
||||
- 增加负载均衡模式,该模式下将随机向代理地址发送请求,并利用并发代理的方式,提高请求效率。
|
||||
- 代理有效性检测修改为异步,提高效率。
|
||||
|
||||
### 2024/09/09
|
||||
|
||||
- 增加功能,可设置首次启动时是否对 `ip.txt` 中的代理地址进行有效性校验,并只使用有效的代理地址。
|
||||
- 函数降级,支持更低版本的 Python。
|
||||
|
||||
### 2024/09/03
|
||||
|
||||
- 增加本地 SOCKS5 监听,适配更多软件。
|
||||
- 部分函数更换,适配更低版本的 Python。
|
||||
- 美化回显内容。
|
||||
|
||||
### 2024/08/31
|
||||
|
||||
- 项目大结构调整。
|
||||
- 美化显示,持续提示下一次更换代理地址的时间。
|
||||
- 支持 `Ctrl+C` 停止运行。
|
||||
- 大幅度调整为异步请求,并发效率提升,实测 **1000** 并发,共 **5000** 包,丢包约 **50** 包,稳定性约 **99%**,**500** 并发无丢包。
|
||||
- 不再采取运行时指定参数方案,修改为从本地 `ini` 配置文件中读取,易用性更高。
|
||||
- 支持本地无认证,适配更多软件代理方式。
|
||||
- 增加版本检测功能,自动提示版本信息。
|
||||
- 增加代理服务器地址的身份鉴别功能,仅支持本地读取,因大多数 API 需白名单,未提供重复。
|
||||
- 增加功能,仅在收到新请求的情况下才使用 `getip` 更新,减少 IP 消耗。
|
||||
- 增加自识别代理服务器地址协议,以适配更多代理商。
|
||||
- 增加支持 HTTPS、SOCKS4 代理协议,目前已覆盖 HTTP、HTTPS、SOCKS5、SOCKS4 协议。
|
||||
- 修改 `asyncio.timeout()` 为 `asyncio.wait_for()`,适配更低的 Python 版本。
|
||||
|
||||
### 2024/08/25
|
||||
|
||||
- 读取 `ip.txt` 时自动跳过空行。
|
||||
- 将 `httpx` 更换为并发池,提高性能。
|
||||
- 增加缓冲字典,相同站点降低延迟。
|
||||
- 每次请求更换 IP 逻辑修改为随机选择代理。
|
||||
- 采用更高效的结构和算法,优化请求处理逻辑。
|
||||
|
||||
### 2024/08/24
|
||||
|
||||
- 采用异步方案提高并发能力和减少超时。
|
||||
- 重复代码封装,提高代码复用性。
|
||||
|
||||
### 2024/08/23
|
||||
|
||||
- 修改并发逻辑。
|
||||
- 增加身份鉴别功能。
|
||||
- 增加 IP 获取接口,永久更换 IP。
|
||||
- 增加每次请求更换 IP 功能。
|
||||
0
ProxyCat-Manual/排查手册.md
Normal file
0
ProxyCat-Manual/排查手册.md
Normal file
@ -98,4 +98,4 @@ A:为了防止资源浪费,通过 getip 获取的情况一般是付费购买
|
||||
|
||||
|
||||
Q:为什么我会遇到 XXX 报错?为什么不能用?
|
||||
A:可先看《报错排查手册》,无法修复的情况下可以找作者询问,提问前请先支付50元作为时间的购买费用,如果您的问题属于百度可查或手册中有的,费用将不会返还;如果属于工具BUG或功能建议,费用将全额返还并将您列入本项目的感谢名单中。(实在是太多人多在问一些非常简单且写在帮助中的问题,时间被极大的浪费了,同时有很多态度非常恶劣的人,这不是我所想要的)
|
||||
A:可先看《排查手册》,无法修复的情况下可以找作者询问,提问前请先支付50元作为时间的购买费用,如果您的问题属于百度可查或手册中有的,费用将不会返还;如果属于工具BUG或功能建议,费用将全额返还并将您列入本项目的感谢名单中。(实在是太多人多在问一些非常简单且写在帮助中的问题,时间被极大的浪费了,同时有很多态度非常恶劣的人,这不是我所想要的)
|
||||
260
README.md
260
README.md
@ -11,18 +11,10 @@
|
||||
- [开发缘由](#开发缘由)
|
||||
- [功能特点](#功能特点)
|
||||
- [安装与使用](#安装与使用)
|
||||
- [依赖安装](#依赖安装)
|
||||
- [运行工具](#运行工具)
|
||||
- [手动录入代理地址](#iptxt-手动录入代理地址)
|
||||
- [配置文件](#配置文件)
|
||||
- [演示效果](#演示效果)
|
||||
- [使用接口自动获取代理地址](#使用接口自动获取代理地址)
|
||||
- [Docker方式部署](#Docker方式部署)
|
||||
- [性能表现](#性能表现)
|
||||
- [免责申明](#免责申明)
|
||||
- [更新日志](#更新日志)
|
||||
- [开发计划](#开发计划)
|
||||
- [鸣谢](#鸣谢)
|
||||
- [特别鸣谢](#特别鸣谢)
|
||||
- [赞助开源](#赞助开源)
|
||||
- [代理推荐](#代理推荐)
|
||||
|
||||
@ -49,154 +41,13 @@
|
||||
- **配置灵活**:通过 config.ini 文件自定义端口、模式和认证信息等。
|
||||
- **版本检测**:自动检查软件更新,保证版本最新。
|
||||
|
||||
## 安装与使用
|
||||
## 工具使用
|
||||
|
||||
### 依赖安装
|
||||
[ProxyCat操作手册](.\ProxyCat-Manual\操作手册.md)
|
||||
|
||||
工具基于 Python 实现,建议使用 **Python 3.8** 以上版本。在使用前,请使用以下命令配置依赖:
|
||||
## 报错排查
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
# 或推荐使用国内源:
|
||||
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
|
||||
```
|
||||
|
||||
### 运行工具
|
||||
|
||||
在项目目录下运行以下命令,查看帮助信息以确认配置成功:
|
||||
|
||||
```bash
|
||||
python3 ProxyCat.py -h
|
||||
```
|
||||
|
||||
回显如下信息即表示配置成功:
|
||||
|
||||
```
|
||||
|\ _,,,---,,_ by 本间白猫
|
||||
ZZZzz /,`.-'`' -. ;-;;,_
|
||||
|,4- ) )-,_. ,\ ( `'-'
|
||||
'---''(_/--' `-'\_) ProxyCat
|
||||
|
||||
用法: ProxyCat.py [-h] [-c]
|
||||
|
||||
参数:
|
||||
-h, --help 显示此帮助信息并退出
|
||||
-c C 指定配置文件名(默认config.ini)
|
||||
```
|
||||
|
||||
### ip.txt 手动录入代理地址
|
||||
|
||||
按照以下格式 (`socks5://127.0.0.1:7890` 或 `http://127.0.0.1:7890`),一行一个填入 `ip.txt` 文件中:
|
||||
|
||||
```txt
|
||||
socks5://127.0.0.1:7890
|
||||
https://127.0.0.1:7890
|
||||
http://127.0.0.1:7890
|
||||
...
|
||||
```
|
||||
|
||||
> 如果您缺少合适的国内代理地址,且有几块钱预算,可以查看微信公众号:樱花庄的本间白猫。菜单页面长期更新,获取多家低价代理购买地址,为作者带来几毛钱的推荐收益~
|
||||
|
||||
### 配置文件
|
||||
|
||||
在 `config.ini`(或自定义配置文件)中配置参数:
|
||||
|
||||
```ini
|
||||
[SETTINGS]
|
||||
# 本地服务器监听端口(默认为:1080)
|
||||
port = 1080
|
||||
|
||||
# 代理地址轮换模式:cycle 表示循环使用,custom 表示使用自定义模式,load_balance 表示负载均衡(默认为:cycle)
|
||||
mode = cycle
|
||||
|
||||
# 代理地址更换时间(秒),设置为 0 时每次请求都更换 IP(默认为:300)
|
||||
interval = 300
|
||||
|
||||
# 本地服务器端口认证用户名((默认为:neko)当为空时不需要认证
|
||||
username = neko
|
||||
|
||||
# 本地服务器端口认证密码(默认为:123456)当为空时不需要认证
|
||||
password = 123456
|
||||
|
||||
# 是否使用 getip 模块获取代理地址 True or False(默认为:False)
|
||||
use_getip = False
|
||||
|
||||
# 获取新代理地址的URL
|
||||
getip_url = http://example.com/getip
|
||||
|
||||
# 代理地址列表文件(默认为:ip.txt)
|
||||
proxy_file = ip.txt
|
||||
|
||||
# 是否启用代理检测功能 True or False(默认为True)
|
||||
check_proxies = True
|
||||
|
||||
# 语言设置 (cn/en)
|
||||
language = cn
|
||||
|
||||
# IP白名单文件路径(留空则不启用白名单)
|
||||
whitelist_file = whitelist.txt
|
||||
|
||||
# IP黑名单文件路径(留空则不启用黑名单)
|
||||
blacklist_file = blacklist.txt
|
||||
|
||||
# IP认证优先级(whitelist/blacklist)
|
||||
# whitelist: 优先判断白名单,在白名单中的IP直接放行
|
||||
# blacklist: 优先判断黑名单,在黑名单中的IP直接拒绝
|
||||
ip_auth_priority = whitelist
|
||||
```
|
||||
|
||||
配置对应参数后即可使用:
|
||||
|
||||
```bash
|
||||
python3 ProxyCat.py
|
||||
```
|
||||
|
||||
### 演示效果
|
||||
|
||||
**固定代理地址(默认)**:
|
||||
|
||||
```
|
||||
http://neko:123456@127.0.0.1:1080
|
||||
http://127.0.0.1:1080
|
||||
socks5://neko:123456@127.0.0.1:1080
|
||||
socks5://127.0.0.1:1080
|
||||
```
|
||||
|
||||
如果您是部署在公网,将 `127.0.0.1` 替换为您的公网IP即可。
|
||||
|
||||

|
||||
|
||||
### 使用接口自动获取代理地址
|
||||
|
||||
工具支持直接调用代理地址获取的API接口。当您配置 `use_getip = True` 时,工具将不再从本地 `ip.txt` 中读取代理地址,而是通过执行 **getip.py** 脚本来获取新的代理地址(请确保您的IP已加白名单,并且格式为IP:端口,每次只能使用一个代理地址)。
|
||||
|
||||
此时,您需要保证 **getip.py** 获取到的地址信息格式为 `IP:PORT`。默认为 `socks5` 协议,如需使用 `http`,请手动更改。
|
||||
|
||||
## Docker方式部署
|
||||
|
||||
请提前安装好Docker和Docker-compose,具体安装方法可自行百度查询。
|
||||
|
||||
```
|
||||
# 拉取项目源码到本地
|
||||
git clone https://github.com/honmashironeko/ProxyCat.git
|
||||
|
||||
# 修改config文件夹中的config.ini中的内容
|
||||
|
||||
# 进入ProxyCat文件夹中并构建镜像和启动容器
|
||||
docker-compose up -d --build
|
||||
|
||||
# 停止服务和启动服务(每次修改完配置后需要重启服务)
|
||||
docker-compose down | docker-compose up -d
|
||||
|
||||
# 查看日志信息
|
||||
docker logs proxycat
|
||||
```
|
||||
|
||||
## 性能表现
|
||||
|
||||
经过实际测试,在代理地址服务器性能充足的情况下,ProxyCat 能够处理 **1000** 并发连接且不丢包,基本可以覆盖大部分扫描和渗透测试需求。
|
||||
|
||||

|
||||
[ProxyCat排查手册]()
|
||||
|
||||
## 免责申明
|
||||
|
||||
@ -209,113 +60,19 @@ docker logs proxycat
|
||||
|
||||
## 更新日志
|
||||
|
||||
### 2025/01/07
|
||||
|
||||
- 引入连接池机制提高性能。
|
||||
- 优化部分错误处理和日志记录。
|
||||
- 代理切换机制优化。
|
||||
|
||||
### 2025/01/03
|
||||
|
||||
- 集中配置参数到配置文件中管理,提升维护便利。
|
||||
- 修复部分已知BUG,并提升稳定性和并发能力。
|
||||
|
||||
### 2025/01/02
|
||||
|
||||
- 重构软件结构,更加整洁易用。
|
||||
- 新增支持黑白名单机制进行身份认证。
|
||||
- 在使用GetIP方式的时候,需要先收到一次请求才会获取代理,防止每次运行都浪费资金。
|
||||
- 语言配置逻辑更改,不再分为两个版本,通过config.ini文件中的语言配置参数进行显示。
|
||||
- 配置信息面板更新,不配置账号密码的情况下也能直接复制地址使用。
|
||||
- 新增docker方式部署。
|
||||
|
||||
### **2024/10/23**
|
||||
|
||||
- 重构代码结构,将部分代码分割成单独文件。
|
||||
- 支持代理过程中,遇到代理服务器突然失效,自动请求更换新的代理服务器,并重置更换计时器。
|
||||
|
||||
### 2024/09/29
|
||||
|
||||
- 去除使用较少的单次循环,更换为自定义模式,可根据需求自定义更换代理的逻辑。
|
||||
- 对代理有效性检测修改为异步,提高速度。
|
||||
- 去除问题较多的 SOCKS4 协议的代理支持。
|
||||
- 对日志系统进行美化。
|
||||
- 改进异常处理逻辑。
|
||||
- 增加对代理格式的校验,确保格式正确。
|
||||
|
||||
### 2024/09/10
|
||||
|
||||
- 优化并发效率,支持在未收到响应包的情况下提前进行下一个请求,提高效率。
|
||||
- 增加负载均衡模式,该模式下将随机向代理地址发送请求,并利用并发代理的方式,提高请求效率。
|
||||
- 代理有效性检测修改为异步,提高效率。
|
||||
|
||||
### 2024/09/09
|
||||
|
||||
- 增加功能,可设置首次启动时是否对 `ip.txt` 中的代理地址进行有效性校验,并只使用有效的代理地址。
|
||||
- 函数降级,支持更低版本的 Python。
|
||||
|
||||
### 2024/09/03
|
||||
|
||||
- 增加本地 SOCKS5 监听,适配更多软件。
|
||||
- 部分函数更换,适配更低版本的 Python。
|
||||
- 美化回显内容。
|
||||
|
||||
### 2024/08/31
|
||||
|
||||
- 项目大结构调整。
|
||||
- 美化显示,持续提示下一次更换代理地址的时间。
|
||||
- 支持 `Ctrl+C` 停止运行。
|
||||
- 大幅度调整为异步请求,并发效率提升,实测 **1000** 并发,共 **5000** 包,丢包约 **50** 包,稳定性约 **99%**,**500** 并发无丢包。
|
||||
- 不再采取运行时指定参数方案,修改为从本地 `ini` 配置文件中读取,易用性更高。
|
||||
- 支持本地无认证,适配更多软件代理方式。
|
||||
- 增加版本检测功能,自动提示版本信息。
|
||||
- 增加代理服务器地址的身份鉴别功能,仅支持本地读取,因大多数 API 需白名单,未提供重复。
|
||||
- 增加功能,仅在收到新请求的情况下才使用 `getip` 更新,减少 IP 消耗。
|
||||
- 增加自识别代理服务器地址协议,以适配更多代理商。
|
||||
- 增加支持 HTTPS、SOCKS4 代理协议,目前已覆盖 HTTP、HTTPS、SOCKS5、SOCKS4 协议。
|
||||
- 修改 `asyncio.timeout()` 为 `asyncio.wait_for()`,适配更低的 Python 版本。
|
||||
|
||||
### 2024/08/25
|
||||
|
||||
- 读取 `ip.txt` 时自动跳过空行。
|
||||
- 将 `httpx` 更换为并发池,提高性能。
|
||||
- 增加缓冲字典,相同站点降低延迟。
|
||||
- 每次请求更换 IP 逻辑修改为随机选择代理。
|
||||
- 采用更高效的结构和算法,优化请求处理逻辑。
|
||||
|
||||
### 2024/08/24
|
||||
|
||||
- 采用异步方案提高并发能力和减少超时。
|
||||
- 重复代码封装,提高代码复用性。
|
||||
|
||||
### 2024/08/23
|
||||
|
||||
- 修改并发逻辑。
|
||||
- 增加身份鉴别功能。
|
||||
- 增加 IP 获取接口,永久更换 IP。
|
||||
- 增加每次请求更换 IP 功能。
|
||||
[更新日志记录]()
|
||||
|
||||
## 开发计划
|
||||
|
||||
- [x] 增加本地服务器身份鉴别功能,保证在公网使用过程中不被恶意盗用。
|
||||
- [x] 增加每次请求更换 IP 功能。
|
||||
- [x] 增加静态代理自动获取更新模块,从而永久运行。
|
||||
- [x] 增加负载均衡模式,同时使用大量代理地址发送,提高并发效率,减少单一服务器负载。
|
||||
- [x] 增加版本检测功能。
|
||||
- [x] 增加代理地址身份鉴别支持。
|
||||
- [x] 增加功能,仅在收到新请求的情况下才使用 `getip` 更新,减少 IP 消耗。
|
||||
- [x] 首次启动时批量对 `ip.txt` 中的代理服务器进行有效性检查。
|
||||
- [x] 增加本地监听 SOCKS 协议,或全面改成 SOCKS,以适配更多软件。
|
||||
- [ ] 增加详细日志记录,记录所有连接 ProxyCat 的 IP 身份,支持多用户。
|
||||
- [ ] 增加Web UI,提供更加强大易用的界面。
|
||||
- [x] 增加docker一键部署,简单易用。
|
||||
- [ ] 开发 babycat 模块,可将 babycat 在任意服务器或主机上运行,即可变成一台代理服务器。
|
||||
|
||||
如果您有好的创意,或在使用过程中遇到bug,请通过以下方式联系作者反馈!
|
||||
|
||||
微信公众号:**樱花庄的本间白猫**
|
||||
|
||||
## 鸣谢
|
||||
## 特别鸣谢
|
||||
|
||||
本排名不分先后,感谢为本项目提供帮助的师傅们。
|
||||
|
||||
@ -326,8 +83,6 @@ docker logs proxycat
|
||||
- qianzai(千载)
|
||||
- ziwindlu
|
||||
|
||||

|
||||
|
||||
## 赞助开源
|
||||
|
||||
开源不易,如果您觉得工具不错,或许可以试着赞助一下作者的开发哦~
|
||||
@ -340,3 +95,4 @@ docker logs proxycat
|
||||
- [各大运营商流量卡](https://172.lot-ml.com/ProductEn/Index/0b7c9adef5e9648f)
|
||||
- [国外匿名代理](https://www.ipmart.io?source=Shironeko)
|
||||
|
||||

|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user