受 proxy_pool 启发完成的 IP 代理池
需要 nightly 版本 (谁让 rocket 只能在 nightly 下工作呢...
cargo install --git https://github.com/Aloxaf/ppool
RUST_LOG=INFO ppool
注: 可通过环境变量 ROCKET_PORT
来控制端口, 默认 8000
主要配置, 可通过 ppool -C > config.toml
生成默认配置,
ppool -c config.toml
使用指定配置
服务器配置, 完整示例如下
实际使用中只需要列出要修改的值即可
[production]
address = "0.0.0.0"
port = 80
workers = 10
log = "critical"
secret_key = "8Xui8SN4mI+7egV/9dlfYYLGQJeEx4+DwmSQLwDVXJg="
limits = { forms = 32768 }
- 功能更全面: 记录代理的质量, 类型等数据. 接口更完善
- 依赖少, 资源消耗更少 (大概
- 更高性能 (大概
- 只有一个 elf/exe, 不觉得很 coooool 吗! (这就是我最开始的想法
- 扩展麻烦了点...复杂的规则目前只能硬编码进代码
- 代理太多目测遭不住
- 基本框架
- 记录进度
- 更多代理
- 更多注释
- 更多参数 / 配置文件
- 更多代理的信息
(响应速度?) - 更多线程
- 更完善的错误处理(现在到处都是unwrap)
- 更完善的接口(能够根据需求预筛选)
- 更少 clone (更高性能)
- 更高并发性能
- 更好看的变量名 (
- 更方便地修改配置 (reload api)
- 异步 (其实没用过, 只是先放在这里
- 通过代理爬取代理
- 通过配置文件定义一些简单的爬虫
- 使用嵌入式数据库 (不可能的, 顶天几千个代理, 要啥数据库
- 代码写得太丑了啥时候重构下 (不可能的, 能跑就行