https://github.com/AbelChe/rabbithole
🦀️ 一个完全使用Rust编写的代理池工具,从网络搜索socks5代理,检测可用性之后开启socks5代理服务。A proxy pool tool completely written in Rust, which searches for SOCKS5 proxies from the network, and after checking their availability, starts a SOCKS5 proxy service.
https://github.com/AbelChe/rabbithole
fofa free proxy quake rust socks5 zoomeye
Last synced: 30 days ago
JSON representation
🦀️ 一个完全使用Rust编写的代理池工具,从网络搜索socks5代理,检测可用性之后开启socks5代理服务。A proxy pool tool completely written in Rust, which searches for SOCKS5 proxies from the network, and after checking their availability, starts a SOCKS5 proxy service.
- Host: GitHub
- URL: https://github.com/AbelChe/rabbithole
- Owner: AbelChe
- Created: 2023-03-20T06:27:30.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-20T11:14:20.000Z (about 2 years ago)
- Last Synced: 2024-11-05T15:49:52.449Z (6 months ago)
- Topics: fofa, free, proxy, quake, rust, socks5, zoomeye
- Language: Rust
- Homepage:
- Size: 2.26 MB
- Stars: 77
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
- awesome-hacking-lists - AbelChe/rabbithole - 🦀️ 一个完全使用Rust编写的代理池工具,从网络搜索socks5代理,检测可用性之后开启socks5代理服务。A proxy pool tool completely written in Rust, which searches for SOCKS5 proxies from the network, and after checking their availability, starts (Rust)
README
![]()
![]()
![]()
# 🦀 rabbithole 兔子洞
[中文](./Readme.md) | [English](./Readme_en.md)
🦀一个完全使用Rust编写的代理池工具,从网络搜索socks5代理,检测可用性之后开启socks5代理服务。
易于使用
```shell
rabbithole -L socks5://user:[email protected]:45678
```# 🗃 数据来源说明
1. fofa、360quake、zoomeye空间搜索引擎
2. 互联网上公开的代理地址# 🌟 使用
```
$ rabbithole -hSearching public socks5 agents on the Internet, and start proxy pool service.
Examples:
# Searching socks5 proxy from fofa, zoomeye, quake and all others, and open proxy pool service on 0.0.0.0:7777 with authentication.
rabbithole -L socks5://user:[email protected]:7777 --fofa-email --fofa-token --zoomeye_token --quake-token# Just searching socks5 proxy from free, and open socks5 proxy pool server on 0.0.0.0:7777 WITHOUT authentication.
rabbithole -L socks5://0.0.0.0:7777
# Open socks5 proxy pool server on 0.0.0.0:7777 WITH authentication.
rabbithole -L socks5://user:[email protected]:7777# Of course, '--search-proxy' param could be set for searching from APIs.
rabbithole --search-proxy socks5://127.0.0.1:7890Usage: rabbithole [OPTIONS]
Options:
--fofa-email
Fofa email used by fofa api searching,
--fofa-token
Fofa API-token used by fofa api searching
--fofa-size
How many pieces of data to search on fofa [default: 300]
--zoomeye-token
Zoomeye token used by zoomeye api searching
--zoomeye-page-size
How many pages to search on zoomeye, 20 pieces of data per page [default: 5]
--quake-token
Quake API-token used by quake api searching
--quake-size
How many pieces of data to search on quake [default: 200]
-L, --listen
Proxy setting, need to be set as socks5://[user:[password@]]proxyhost:port [default: socks5://0.0.0.0:7777]
-l, --level
Log level (debug, info, warn, error, trace) [default: info]
--search-proxy
Proxy for Searching from APIs
--check-url
Checking URL for availability testing
-z, --zone
Zone of proxy, such as [0]inland-CN, [1]outside-CN(just HK,TW and MO), [2]exclude-CN(exclude CN,HK,TW and MO), [3]all-CN, [4]all [default: 4]
--delay-test-address
Delay testing address [default: http://httpbin.org/ip]
--delay-test-timeout
Delay testing timeout, in milliseconds, such as `--delay-test-timeout 2000` [default: 5000]
-h, --help
Print help
-V, --version
Print version
```

# 🔨 TODO
1. ~~**境**内外IP划分~~
1) ~~提供 `-z --zone [0(defult), 1, 2]` 参数划分为获取的代理是 所有 、 境内 还是 境外。这是给API搜索的时候提供筛选项~~
2) ~~在可用性检测的时候同时记录出口IP的位置,根据 `-z --zone [0(defult), 1, 2]` 参数指定的区域进行划分~~2. 增加API搜索的时效性
3. 增加从文件获取代理地址的功能 `-f --file [filename]`
4. 增加导出文件功能,将搜索获取到的代理地址保存到文件中 `-o --output [filename]`
5. ~~增加 `--delay-test-address [url(defult httpbin.org)]` 参数指定可用性检测地址,`--delay-test-timeout [time(default 5000ms)]`参数指定检测超时时间~~
6. 增加重连功能,当前请求的代理无法使用时候,再使用其他随机代理进行重连,可以使用 `--reconnect [times]` 指定次数