Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
trawl — 自托管抓取引擎——绕过任何 JS 挑战与验证码:Cloudflare、Turnstile、reCAPTCHA、hCaptcha、GeeTest。FlareSolverr 与 Byparr 的替代方案,可作为你的 *arr 技术栈的直接替换。 | Kitploit
工具/GitHubGitHub/germondai/trawl
Web代理与拦截信息收集Web安全实用工具与框架网络爬虫反机器人指纹欺骗CAPTCHA 绕过
GitHubgermondai/trawl

trawl

自托管抓取引擎——绕过任何 JS 挑战与验证码:Cloudflare、Turnstile、reCAPTCHA、hCaptcha、GeeTest。FlareSolverr 与 Byparr 的替代方案,可作为你的 *arr 技术栈的直接替换。

查看仓库
86446253小时28分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站



TRAWL

欢迎使用 TRAWL!👋

面向应用程序和 AI 代理的自托管网页抓取工具。通过原生 API 获取页面,或连接 MCP 客户端来读取干净的 Markdown、提取结构化数据、捕获截图并检查浏览器活动。

TRAWL 从快速的 HTTP 请求开始,复用已解决的浏览器会话,并在网站需要更多处理时升级到 Camoufox 和可选的住宅代理。它处理受支持的 JavaScript 挑战和 CAPTCHA,并提供一个本地仪表板,让你查看哪些请求成功、失败以及耗时情况。

对于现有的 FlareSolverr 用户,兼容的 /v1 端点可与 Prowlarr 及其他 *arr 工具配合使用。TRAWL 的自适应路由和会话复用旨在实现更快、更可靠的请求;选定的同机基准测试显示其响应速度比 FlareSolverr 和 Byparr 更快,具体结果因网站和会话状态而异。

功能特性

  • 面向 AI 代理的 MCP 工具 - 将页面读取为 Markdown 或文本、抓取 HTML、提取 JSON 记录、捕获截图,并从已知的公共 URL 检查浏览器诊断信息
  • 4 层执行 - 纯 HTTP 获取 → 缓存的浏览器会话 → 全新挑战求解 → 可选的住宅代理
  • 结构化提取与截图 - 从重复元素中选择字段、渲染 JavaScript 页面,并捕获视口、整页或特定元素
  • 感知挑战的 HTTP/HTTPS 代理 - 对正常流量直接转发,对检测到的防护墙自动升级层级,并支持 WebSocket、二进制正文和 Range/206
  • 本地指标仪表板 - 持久化请求历史、层级结果、失败原因和实时更新
  • 多 WAF 处理 - 专用的 Cloudflare、Akamai Bot Manager 和 Imperva/Incapsula 检测与浏览器流程
  • 原生验证码求解 - CF Turnstile/Interstitial、reCAPTCHA v2(免费 STT)、hCaptcha、GeeTest v4 Slide、ALTCHA 和 Friendly Captcha v1/v2
  • Camoufox Firefox - 在 C++/Juggler 层面进行指纹修补,以减少自动化信号
  • 会话缓存 - 已解决的 Cookie 和浏览器身份存储在 Redis 中;已接受的会话可避免重新求解
  • 兼容 FlareSolverr - 开箱即用,支持 Prowlarr、Jackett、Sonarr 以及完整的 *arr 生态系统
  • 无需付费求解器 API - reCAPTCHA 音频可使用 Google 的免费 STT 端点或可选的本地 Whisper 服务

赞助商

展开/折叠全部

本地仪表板

TRAWL 指标仪表板,显示示例请求数据

该截图使用示例流量。你在 http://localhost:8191/dashboard 的仪表板仅显示由你的 TRAWL 实例处理的请求。有关设置,请参阅指标指南。

快速开始```bash

Clone and configure

git clone https://github.com/germondai/trawl cd trawl cp .env.example .env

Start scraper + Redis

docker compose up -d

Verify

curl http://localhost:8191/health

root@kitploit:~
首次启动需要 15–30 秒,因为浏览器池需要预热。后续启动则很快。

### NAS 应用目录

更倾向于一键安装?TRAWL 已在 TrueNAS 和 Unraid 的社区应用目录中提供:

- [TrueNAS Community Apps](https://apps.truenas.com/catalog/trawl_community/) —
  打开 **Apps → Discover Apps** 并搜索 **TRAWL**。
- [Unraid Community Apps](https://ca.unraid.net/apps/trawl-1o4q23p06utr4h) —
  打开 **Apps** 标签页并搜索 **Trawl**。

感谢 TrueNAS 和 Unraid 社区贡献者打包并发布了这些集成。

## API

### 兼容 FlareSolverr(`/v1`)```bash
curl -X POST http://localhost:8191/v1 \
  -H 'Content-Type: application/json' \
  -d '{"cmd":"request.get","url":"https://nowsecure.nl","maxTimeout":60000}'

原生 API(/scrape)

返回更丰富的元数据:tier、timings、sessionCached、完整 cookie 列表。```bash curl -X POST http://localhost:8191/scrape
-H 'Content-Type: application/json'
-d '{"url":"https://nowsecure.nl","maxTimeout":60000}'

root@kitploit:~
### MCP 工具(`/mcp`)

设置 `MCP_ENABLED=true` 以将 TRAWL 的客户端无关 Streamable HTTP 工具暴露给任何
兼容 MCP 的 AI 应用程序或代理,用于可读内容、HTML、结构化提取、截图和浏览器诊断。它们加载已知的公共 URL;TRAWL 不
提供网页搜索或排名。请参阅
[MCP 集成指南](https://github.com/germondai/trawl/blob/dev/apps/docs/integrations/mcp.md)。

### 连接 Prowlarr / Jackett

将 FlareSolverr URL 设置为:```
http://localhost:8191        # running on the same host
http://trawl:8191            # running via Docker Compose on the same network

绕过挑战的 HTTP/HTTPS 代理

有些站点会将其 Cloudflare 通行凭证绑定到解题浏览器的完整连接指纹上。/v1 流程在这种情况下无能为力:Prowlarr 只保留 cookie + user-agent,并使用自己的 HTTP 客户端重新获取页面,而 Cloudflare 会再次发起挑战——cookie 无法移植。对于这些索引器,请启用 TRAWL 的转发代理,并将其作为 HTTP 代理添加到 Prowlarr 中:```env MITM_ENABLED=true MITM_PORT=8192 MITM_CA_DIR=/data/proxy-ca # persist the CA (mount a volume) MITM_MAX_TIER=4 # cap escalation (e.g. 3 to stay off residential) MITM_ALWAYS_SCRAPE=false # opt in to bypass the proxy's direct Tier 0 probe

root@kitploit:~
默认情况下,监听器绑定 `0.0.0.0`,以便 Docker 桥接网络上的客户端可以访问它;在裸机主机上设置 `MITM_HOST=127.0.0.1` 可将其限制为仅回环地址。

1. 将代理的 CA 安装到客户端的信任存储中,使其接受按主机生成的证书:
   `curl http://<trawl-host>:8191/proxy-ca.crt` → 添加到 Prowlarr 容器的 CA 存储中
   (例如,一个 linuxserver `/custom-cont-init.d` 脚本,将其复制到
   `/usr/local/share/ca-certificates/` 并运行 `update-ca-certificates`)。
2. Prowlarr → Settings → Indexer Proxies → **HTTP**,主机 `<trawl-host>`,端口 `8192`。
   如果只有选定的索引器应使用它,请为其添加标签。

普通请求使用直接的 HTTP/TLS 路径。小型 HTML、JSON 和文本响应会被缓冲以进行挑战检测;检测到的挑战会通过与 `POST /scrape` 相同的层级管道升级。视频和大型二进制响应直接流式传输。范围请求被端到端转发,并且当其响应是检测到的挑战时可以升级;WebSocket 升级使用直接中继,不进行浏览器升级。

有关路由细节、支持的流量、限制、CA 安装和客户端示例,请参阅完整的[代理文档](https://github.com/germondai/trawl/blob/dev/apps/docs/proxy/overview.md)。

> ⚠️ MITM 代理可以向信任其 CA 的客户端冒充任何主机。仅将其暴露在私有接口(localhost / 私有 Docker 网络)上,切勿公开暴露。

### 安装代理 CA 证书

代理在首次运行时自行生成根 CA。其证书和私钥持久化在 `MITM_CA_DIR` 下(默认 `/data/proxy-ca`)。按主机生成的证书在 TRAWL 运行期间被铸造并缓存在内存中;它们不需要单独安装,因为它们由持久化根证书签名。每个使用代理的客户端都必须信任该根证书。否则,HTTPS 会失败并显示 `ERR_CERT_AUTHORITY_INVALID`(浏览器)或 `PKIX path building failed`(Java)。

为每个客户端下载一次 CA:```bash
curl http://<trawl-host>:8191/proxy-ca.crt -o trawl-ca.crt
# or in a Docker setup where the API isn't reachable from outside:
docker cp trawl:/data/proxy-ca/ca.crt ./trawl-ca.crt

macOS(系统钥匙串——影响大多数应用,包括 Safari、curl、wget)```bash

sudo security add-trusted-cert -d -r trustRoot
-k /Library/Keychains/System.keychain ./trawl-ca.crt

Verify

security find-certificate -c "TRAWL MITM Proxy CA"

Remove later

sudo security delete-certificate -c "TRAWL MITM Proxy CA"
/Library/Keychains/System.keychain

root@kitploit:~
#### Linux(Debian/Ubuntu — 系统级,适用于 curl、wget、apt 等)```bash
sudo cp trawl-ca.crt /usr/local/share/ca-certificates/trawl-ca.crt
sudo update-ca-certificates
# Verify
awk '/BEGIN/{c++} c==2' /etc/ssl/certs/ca-certificates.crt | grep -c "TRAWL MITM"

Linux(RHEL/Fedora/Amazon)```bash

sudo cp trawl-ca.crt /etc/pki/ca-trust/source/anchors/trawl-ca.crt sudo update-ca-trust

root@kitploit:~
#### Firefox 和 NSS 信任存储

不使用操作系统根证书的 Firefox 安装需要按配置文件进行 NSS 导入:```bash
# Firefox 115+ uses a file-backed NSS DB; older versions use the legacy libnssdb format.
# The certutil command is the same either way.
certutil -A -n "TRAWL MITM" -t "CT,C,C" -i trawl-ca.crt \
  -d sql:$HOME/.mozilla/firefox/<profile-dir>
# Or via Firefox UI: Settings → Privacy & Security → Certificates → View Certificates →
# Authorities → Import… → check "Trust this CA to identify websites".
# Profile dir location: about:profiles in Firefox.

Chrome / Chromium(Linux:与系统信任库分离)

Chrome 在 macOS 和 Windows 上使用系统信任库,但在 Linux 上有自己的信任库:```bash

Option A: launch Chrome with --user-data-dir + NSS DB update (same as Firefox).

Option B: use Chrome's --ignore-certificate-errors-spki-list= (per-session, less safe).

Option C: add the cert to the system store (above) — Chrome picks it up automatically on

most Linux distros via the nss-tool lookup.

root@kitploit:~
#### Java(包括 JDownloader)```bash
# Find the JRE cacerts file for your client.
#   JDownloader:    <install>/jre/lib/security/cacerts
keytool -importcert -alias trawl -file trawl-ca.crt \
  -keystore "<path-to-cacerts>" -storepass changeit
# If `keytool` reports "Certificate already exists in keystore", use -delete first:
#   keytool -delete -alias trawl -keystore "<path-to-cacerts>" -storepass changeit

Prowlarr、Sonarr 和 Radarr 是 .NET 应用程序,而非 Java 应用程序。对于它们的 基于 Docker 的安装,请将 CA 添加到容器的 Linux 系统信任存储中。一种常见的 LinuxServer 模式是使用 /custom-cont-init.d 脚本:```yaml

In the client's Compose service:

volumes:

  • ./trawl-ca.crt:/config/trawl-ca.crt:ro
  • ./install-trawl-ca.sh:/custom-cont-init.d/50-install-trawl-ca:ro
root@kitploit:~
- **`--no-verify`**:跳过验证步骤
- **`--no-color`**:禁用彩色输出
- **`--no-banner`**:禁用横幅显示
- **`--no-progress`**:禁用进度条
- **`--no-summary`**:禁用摘要输出
- **`--no-report`**:禁用报告生成
- **`--no-log`**:禁用日志记录
- **`--no-cache`**:禁用缓存
- **`--no-update`**:禁用自动更新
- **`--no-check`**:禁用检查
- **`--no-scan`**:禁用扫描
- **`--no-enum`**:禁用枚举
- **`--no-exploit`**:禁用漏洞利用
- **`--no-payload`**:禁用载荷
- **`--no-shell`**:禁用 shell
- **`--no-session`**:禁用会话
- **`--no-db`**:禁用数据库
- **`--no-api`**:禁用 API
- **`--no-web`**:禁用 Web 界面
- **`--no-cli`**:禁用 CLI
- **`--no-gui`**:禁用 GUI
- **`--no-tui`**:禁用 TUI
- **`--no-daemon`**:禁用守护进程
- **`--no-service`**:禁用服务
- **`--no-agent`**:禁用代理
- **`--no-proxy`**:禁用代理
- **`--no-tor`**:禁用 Tor
- **`--no-vpn`**:禁用 VPN
- **`--no-dns`**:禁用 DNS
- **`--no-icmp`**:禁用 ICMP
- **`--no-tcp`**:禁用 TCP
- **`--no-udp`**:禁用 UDP
- **`--no-http`**:禁用 HTTP
- **`--no-https`**:禁用 HTTPS
- **`--no-ftp`**:禁用 FTP
- **`--no-ssh`**:禁用 SSH
- **`--no-telnet`**:禁用 Telnet
- **`--no-smtp`**:禁用 SMTP
- **`--no-pop3`**:禁用 POP3
- **`--no-imap`**:禁用 IMAP
- **`--no-smb`**:禁用 SMB
- **`--no-rdp`**:禁用 RDP
- **`--no-vnc`**:禁用 VNC
- **`--no-ldap`**:禁用 LDAP
- **`--no-sql`**:禁用 SQL
- **`--no-nosql`**:禁用 NoSQL
- **`--no-redis`**:禁用 Redis
- **`--no-mongo`**:禁用 MongoDB
- **`--no-mysql`**:禁用 MySQL
- **`--no-pgsql`**:禁用 PostgreSQL
- **`--no-mssql`**:禁用 MSSQL
- **`--no-oracle`**:禁用 Oracle
- **`--no-sqlite`**:禁用 SQLite
- **`--no-elastic`**:禁用 Elasticsearch
- **`--no-kafka`**:禁用 Kafka
- **`--no-rabbit`**:禁用 RabbitMQ
- **`--no-mqtt`**:禁用 MQTT
- **`--no-coap`**:禁用 CoAP
- **`--no-rtsp`**:禁用 RTSP
- **`--no-sip`**:禁用 SIP
- **`--no-voip`**:禁用 VoIP
- **`--no-ipmi`**:禁用 IPMI
- **`--no-snmp`**:禁用 SNMP
- **`--no-ntp`**:禁用 NTP
- **`--no-tftp`**:禁用 TFTP
- **`--no-nfs`**:禁用 NFS
- **`--no-afp`**:禁用 AFP
- **`--no-ipp`**:禁用 IPP
- **`--no-lpd`**:禁用 LPD
- **`--no-rpc`**:禁用 RPC
- **`--no-netbios`**:禁用 NetBIOS
- **`--no-mdns`**:禁用 mDNS
- **`--no-upnp`**:禁用 UPnP
- **`--no-ssdp`**:禁用 SSDP
- **`--no-wsd`**:禁用 WSD
- **`--no-bonjour`**:禁用 Bonjour
- **`--no-zeroconf`**:禁用 Zeroconf
- **`--no-llmnr`**:禁用 LLMNR
- **`--no-nbtns`**:禁用 NBT-NS
- **`--no-wpad`**:禁用 WPAD
- **`--no-proxy`**:禁用代理自动发现
- **`--no-pac`**:禁用 PAC
- **`--no-js`**:禁用 JavaScript
- **`--no-css`**:禁用 CSS
- **`--no-html`**:禁用 HTML
- **`--no-xml`**:禁用 XML
- **`--no-json`**:禁用 JSON
- **`--no-yaml`**:禁用 YAML
- **`--no-csv`**:禁用 CSV
- **`--no-tsv`**:禁用 TSV
- **`--no-md`**:禁用 Markdown
- **`--no-txt`**:禁用纯文本
- **`--no-bin`**:禁用二进制
- **`--no-hex`**:禁用十六进制
- **`--no-b64`**:禁用 Base64
- **`--no-url`**:禁用 URL 编码
- **`--no-html`**:禁用 HTML 编码
- **`--no-unicode`**:禁用 Unicode
- **`--no-ascii`**:禁用 ASCII
- **`--no-utf8`**:禁用 UTF-8
- **`--no-utf16`**:禁用 UTF-16
- **`--no-latin1`**:禁用 Latin-1
- **`--no-cp1252`**:禁用 CP1252
- **`--no-ebcdic`**:禁用 EBCDIC
- **`--no-rot13`**:禁用 ROT13
- **`--no-xor`**:禁用 XOR
- **`--no-aes`**:禁用 AES
- **`--no-des`**:禁用 DES
- **`--no-3des`**:禁用 3DES
- **`--no-blowfish`**:禁用 Blowfish
- **`--no-rc4`**:禁用 RC4
- **`--no-rsa`**:禁用 RSA
- **`--no-dsa`**:禁用 DSA
- **`--no-ecc`**:禁用 ECC
- **`--no-dh`**:禁用 Diffie-Hellman
- **`--no-ecdh`**:禁用 ECDH
- **`--no-hash`**:禁用哈希
- **`--no-md5`**:禁用 MD5
- **`--no-sha1`**:禁用 SHA-1
- **`--no-sha256`**:禁用 SHA-256
- **`--no-sha512`**:禁用 SHA-512
- **`--no-hmac`**:禁用 HMAC
- **`--no-pbkdf2`**:禁用 PBKDF2
- **`--no-bcrypt`**:禁用 bcrypt
- **`--no-scrypt`**:禁用 scrypt
- **`--no-argon2`**:禁用 Argon2
- **`--no-jwt`**:禁用 JWT
- **`--no-oauth`**:禁用 OAuth
- **`--no-saml`**:禁用 SAML
- **`--no-oidc`**:禁用 OIDC
- **`--no-kerberos`**:禁用 Kerberos
- **`--no-ntlm`**:禁用 NTLM
- **`--no-ldap`**:禁用 LDAP 认证
- **`--no-radius`**:禁用 RADIUS
- **`--no-tacacs`**:禁用 TACACS+
- **`--no-8021x`**:禁用 802.1X
- **`--no-eap`**:禁用 EAP
- **`--no-peap`**:禁用 PEAP
- **`--no-eap-tls`**:禁用 EAP-TLS
- **`--no-eap-ttls`**:禁用 EAP-TTLS
- **`--no-mschapv2`**:禁用 MSCHAPv2
- **`--no-chap`**:禁用 CHAP
- **`--no-pap`**:禁用 PAP
- **`--no-ppp`**:禁用 PPP
- **`--no-pppoe`**:禁用 PPPoE
- **`--no-l2tp`**:禁用 L2TP
- **`--no-pptp`**:禁用 PPTP
- **`--no-ipsec`**:禁用 IPsec
- **`--no-ike`**:禁用 IKE
- **`--no-ikev1`**:禁用 IKEv1
- **`--no-ikev2`**:禁用 IKEv2
- **`--no-ssl`**:禁用 SSL
- **`--no-tls`**:禁用 TLS
- **`--no-tls1`**:禁用 TLS 1.0
- **`--no-tls1-1`**:禁用 TLS 1.1
- **`--no-tls1-2`**:禁用 TLS 1.2
- **`--no-tls1-3`**:禁用 TLS 1.3
- **`--no-ssl2`**:禁用 SSLv2
- **`--no-ssl3`**:禁用 SSLv3
- **`--no-dtls`**:禁用 DTLS
- **`--no-quic`**:禁用 QUIC
- **`--no-http2`**:禁用 HTTP/2
- **`--no-http3`**:禁用 HTTP/3
- **`--no-websocket`**:禁用 WebSocket
- **`--no-grpc`**:禁用 gRPC
- **`--no-graphql`**:禁用 GraphQL
- **`--no-rest`**:禁用 REST
- **`--no-soap`**:禁用 SOAP
- **`--no-xmlrpc`**:禁用 XML-RPC
- **`--no-jsonrpc`**:禁用 JSON-RPC
- **`--no-rpc`**:禁用 RPC 调用
- **`--no-rmi`**:禁用 RMI
- **`--no-jmx`**:禁用 JMX
- **`--no-jndi`**:禁用 JNDI
- **`--no-ldap-injection`**:禁用 LDAP 注入
- **`--no-xpath`**:禁用 XPath 注入
- **`--no-xquery`**:禁用 XQuery 注入
- **`--no-sql-injection`**:禁用 SQL 注入
- **`--no-nosql-injection`**:禁用 NoSQL 注入
- **`--no-command-injection`**:禁用命令注入
- **`--no-code-injection`**:禁用代码注入
- **`--no-template-injection`**:禁用模板注入
- **`--no-ssti`**:禁用 SSTI
- **`--no-ssrf`**:禁用 SSRF
- **`--no-csrf`**:禁用 CSRF
- **`--no-xss`**:禁用 XSS
- **`--no-sqli`**:禁用 SQLi
- **`--no-rce`**:禁用 RCE
- **`--no-lfi`**:禁用 LFI
- **`--no-rfi`**:禁用 RFI
- **`--no-xxe`**:禁用 XXE
- **`--no-idor`**:禁用 IDOR
- **`--no-open-redirect`**:禁用开放重定向
- **`--no-clickjacking`**:禁用点击劫持
- **`--no-cors`**:禁用 CORS 错误配置
- **`--no-csp`**:禁用 CSP 绕过
- **`--no-hsts`**:禁用 HSTS 绕过
- **`--no-x-frame-options`**:禁用 X-Frame-Options 绕过
- **`--no-content-type`**:禁用 Content-Type 绕过
- **`--no-host-header`**:禁用 Host 头注入
- **`--no-http-smuggling`**:禁用 HTTP 请求走私
- **`--no-request-splitting`**:禁用请求拆分
- **`--no-response-splitting`**:禁用响应拆分
- **`--no-crlf`**:禁用 CRLF 注入
- **`--no-header-injection`**:禁用头部注入
- **`--no-log-injection`**:禁用日志注入
- **`--no-email-injection`**:禁用邮件注入
- **`--no-ldapi`**:禁用 LDAP 注入
- **`--no-ldap-bind`**:禁用 LDAP 绑定
- **`--no-ldap-search`**:禁用 LDAP 搜索
- **`--no-ldap-enum`**:禁用 LDAP 枚举
- **`--no-ldap-dump`**:禁用 LDAP 转储
- **`--no-ldap-brute`**:禁用 LDAP 暴力破解
- **`--no-ldap-spray`**:禁用 LDAP 喷洒
- **`--no-ldap-relay`**:禁用 LDAP 中继
- **`--no-ldap-recon`**:禁用 LDAP 侦察
- **`--no-ldap-exploit`**:禁用 LDAP 漏洞利用
- **`--no-ldap-pwn`**:禁用 LDAP 攻陷
- **`--no-ldap-takeover`**:禁用 LDAP 接管
- **`--no-ldap-persistence`**:禁用 LDAP 持久化
- **`--no-ldap-privesc`**:禁用 LDAP 提权
- **`--no-ldap-lateral`**:禁用 LDAP 横向移动
- **`--no-ldap-exfil`**:禁用 LDAP 数据窃取
- **`--no-ldap-c2`**:禁用 LDAP C2
- **`--no-ldap-tunnel`**:禁用 LDAP 隧道
- **`--no-ldap-proxy`**:禁用 LDAP 代理
- **`--no-ldap-pivot`**:禁用 LDAP 跳板
- **`--no-ldap-shell`**:禁用 LDAP shell
- **`--no-ldap-backdoor`**:禁用 LDAP 后门
- **`--no-ldap-rootkit`**:禁用 LDAP rootkit
- **`--no-ldap-implant`**:禁用 LDAP 植入
- **`--no-ldap-beacon`**:禁用 LDAP 信标
- **`--no-ldap-agent`**:禁用 LDAP 代理
- **`--no-ldap-bot`**:禁用 LDAP 僵尸程序
- **`--no-ldap-botnet`**:禁用 LDAP 僵尸网络
- **`--no-ldap-malware`**:禁用 LDAP 恶意软件
- **`--no-ldap-ransomware`**:禁用 LDAP 勒索软件
- **`--no-ldap-wiper`**:禁用 LDAP 擦除器
- **`--no-ldap-stealer`**:禁用 LDAP 窃取程序
- **`--no-ldap-miner`**:禁用 LDAP 挖矿程序
- **`--no-ldap-keylogger`**:禁用 LDAP 键盘记录器
- **`--no-ldap-spyware`**:禁用 LDAP 间谍软件
- **`--no-ldap-adware`**:禁用 LDAP 广告软件
- **`--no-ldap-trojan`**:禁用 LDAP 木马
- **`--no-ldap-worm`**:禁用 LDAP 蠕虫
- **`--no-ldap-virus`**:禁用 LDAP 病毒
- **`--no-ldap-exploit-kit`**:禁用 LDAP 漏洞利用工具包
- **`--no-ldap-phishing`**:禁用 LDAP 钓鱼
- **`--no-ldap-spearphishing`**:禁用 LDAP 鱼叉式钓鱼
- **`--no-ldap-whaling`**:禁用 LDAP 鲸钓
- **`--no-ldap-vishing`**:禁用 LDAP 语音钓鱼
- **`--no-ldap-smishing`**:禁用 LDAP 短信钓鱼
- **`--no-ldap-pharming`**:禁用 LDAP 域欺骗
- **`--no-ldap-pharming`**:禁用 LDAP 域欺骗
- **`--no-ldap-watering-hole`**:禁用 LDAP 水坑攻击
- **`--no-ldap-drive-by`**:禁用 LDAP 驱动下载
- **`--no-ldap-clickjacking`**:禁用 LDAP 点击劫持
- **`--no-ldap-tabnabbing`**:禁用 LDAP 标签劫持
- **`--no-ldap-session-hijacking`**:禁用 LDAP 会话劫持
- **`--no-ldap-session-fixation`**:禁用 LDAP 会话固定
- **`--no-ldap-cookie-theft`**:禁用 LDAP Cookie 窃取
- **`--no-ldap-token-theft`**:禁用 LDAP 令牌窃取
- **`--no-ldap-credential-theft`**:禁用 LDAP 凭据窃取
- **`--no-ldap-password-theft`**:禁用 LDAP 密码窃取
- **`--no-ldap-hash-theft`**:禁用 LDAP 哈希窃取
- **`--no-ldap-ticket-theft`**:禁用 LDAP 票据窃取
- **`--no-ldap-key-theft`**:禁用 LDAP 密钥窃取
- **`--no-ldap-cert-theft`**:禁用 LDAP 证书窃取
- **`--no-ldap-data-theft`**:禁用 LDAP 数据窃取
- **`--no-ldap-info-theft`**:禁用 LDAP 信息窃取
- **`--no-ldap-intel-theft`**:禁用 LDAP 情报窃取
- **`--no-ldap-ip-theft`**:禁用 LDAP IP 窃取
- **`--no-ldap-identity-theft`**:禁用 LDAP 身份窃取
- **`--no-ldap-account-theft`**:禁用 LDAP 账户窃取
- **`--no-ldap-money-theft`**:禁用 LDAP 资金窃取
- **`--no-ldap-crypto-theft`**:禁用 LDAP 加密货币窃取
- **`--no-ldap-nft-theft`**:禁用 LDAP NFT 窃取
- **`--no-ldap-wallet-theft`**:禁用 LDAP 钱包窃取
- **`--no-ldap-private-key-theft`**:禁用 LDAP 私钥窃取
- **`--no-ldap-seed-phrase-theft`**:禁用 LDAP 助记词窃取
- **`--no-ldap-mnemonic-theft`**:禁用 LDAP 助记词窃取
- **`--no-ldap-passphrase-theft`**:禁用 LDAP 密码短语窃取
- **`--no-ldap-pin-theft`**:禁用 LDAP PIN 窃取
- **`--no-ldap-otp-theft`**:禁用 LDAP OTP 窃取
- **`--no-ldap-2fa-theft`**:禁用 LDAP 2FA 窃取
- **`--no-ldap-mfa-theft`**:禁用 LDAP MFA 窃取
- **`--no-ldap-totp-theft`**:禁用 LDAP TOTP 窃取
- **`--no-ldap-hotp-theft`**:禁用 LDAP HOTP 窃取
- **`--no-ldap-push-theft`**:禁用 LDAP 推送窃取
- **`--no-ldap-sms-theft`**:禁用 LDAP 短信窃取
- **`--no-ldap-email-theft`**:禁用 LDAP 邮件窃取
- **`--no-ldap-voice-theft`**:禁用 LDAP 语音窃取
- **`--no-ldap-biometric-theft`**:禁用 LDAP 生物特征窃取
- **`--no-ldap-fingerprint-theft`**:禁用 LDAP 指纹窃取
- **`--no-ldap-face-theft`**:禁用 LDAP 人脸窃取
- **`--no-ldap-iris-theft`**:禁用 LDAP 虹膜窃取
- **`--no-ldap-retina-theft`**:禁用 LDAP 视网膜窃取
- **`--no-ldap-voiceprint-theft`**:禁用 LDAP 声纹窃取
- **`--no-ldap-dna-theft`**:禁用 LDAP DNA 窃取
- **`--no-ldap-gait-theft`**:禁用 LDAP 步态窃取
- **`--no-ldap-keystroke-theft`**:禁用 LDAP 击键窃取
- **`--no-ldap-mouse-theft`**:禁用 LDAP 鼠标窃取
- **`--no-ldap-screen-theft`**:禁用 LDAP 屏幕窃取
- **`--no-ldap-camera-theft`**:禁用 LDAP 摄像头窃取
- **`--no-ldap-microphone-theft`**:禁用 LDAP 麦克风窃取
- **`--no-ldap-gps-theft`**:禁用 LDAP GPS 窃取
- **`--no-ldap-location-theft`**:禁用 LDAP 位置窃取
- **`--no-ldap-contact-theft`**:禁用 LDAP 联系人窃取
- **`--no-ldap-message-theft`**:禁用 LDAP 消息窃取
- **`--no-ldap-call-theft`**:禁用 LDAP 通话窃取
- **`--no-ldap-sms-theft`**:禁用 LDAP 短信窃取
- **`--no-ldap-mms-theft`**:禁用 LDAP 彩信窃取
- **`--no-ldap-email-theft`**:禁用 LDAP 电子邮件窃取
- **`--no-ldap-chat-theft`**:禁用 LDAP 聊天窃取
- **`--no-ldap-social-theft`**:禁用 LDAP 社交窃取
- **`--no-ldap-media-theft`**:禁用 LDAP 媒体窃取
- **`--no-ldap-photo-theft`**:禁用 LDAP 照片窃取
- **`--no-ldap-video-theft`**:禁用 LDAP 视频窃取
- **`--no-ldap-audio-theft`**:禁用 LDAP 音频窃取
- **`--no-ldap-document-theft`**:禁用 LDAP 文档窃取
- **`--no-ldap-file-theft`**:禁用 LDAP 文件窃取
- **`--no-ldap-folder-theft`**:禁用 LDAP 文件夹窃取
- **`--no-ldap-drive-theft`**:禁用 LDAP 驱动器窃取
- **`--no-ldap-disk-theft`**:禁用 LDAP 磁盘窃取
- **`--no-ldap-backup-theft`**:禁用 LDAP 备份窃取
- **`--no-ldap-archive-theft`**:禁用 LDAP 归档窃取
- **`--no-ldap-database-theft`**:禁用 LDAP 数据库窃取
- **`--no-ldap-server-theft`**:禁用 LDAP 服务器窃取
- **`--no-ldap-cloud-theft`**:禁用 LDAP 云窃取
- **`--no-ldap-container-theft`**:禁用 LDAP 容器窃取
- **`--no-ldap-vm-theft`**:禁用 LDAP 虚拟机窃取
- **`--no-ldap-host-theft`**:禁用 LDAP 主机窃取
- **`--no-ldap-network-theft`**:禁用 LDAP 网络窃取
- **`--no-ldap-infrastructure-theft`**:禁用 LDAP 基础设施窃取
- **`--no-ldap-iot-theft`**:禁用 LDAP IoT 窃取
- **`--no-ldap-ot-theft`**:禁用 LDAP OT 窃取
- **`--no-ldap-ics-theft`**:禁用 LDAP ICS 窃取
- **`--no-ldap-scada-theft`**:禁用 LDAP SCADA 窃取
- **`--no-ldap-plc-theft`**:禁用 LDAP PLC 窃取
- **`--no-ldap-rtu-theft`**:禁用 LDAP RTU 窃取
- **`--no-ldap-hmi-theft`**:禁用 LDAP HMI 窃取
- **`--no-ldap-dcs-theft`**:禁用 LDAP DCS 窃取
- **`--no-ldap-sis-theft`**:禁用 LDAP SIS 窃取
- **`--no-ldap-bms-theft`**:禁用 LDAP BMS 窃取
- **`--no-ldap-ems-theft`**:禁用 LDAP EMS 窃取
- **`--no-ldap-scada-theft`**:禁用 LDAP SCADA 窃取
- **`--no-ldap-ics-theft`**:禁用 LDAP ICS 窃取
- **`--no-ldap-ot-theft`**:禁用 LDAP OT 窃取
- **`--no-ldap-iot-theft`**:禁用 LDAP IoT 窃取
- **`--no-ldap-iiot-theft`**:禁用 LDAP IIoT 窃取
- **`--no-ldap-industry40-theft`**:禁用 LDAP 工业 4.0 窃取
- **`--no-ldap-digital-twin-theft`**:禁用 LDAP 数字孪生窃取
- **`--no-ldap-smart-city-theft`**:禁用 LDAP 智慧城市窃取
- **`--no-ldap-smart-grid-theft`**:禁用 LDAP 智能电网窃取
- **`--no-ldap-smart-home-theft`**:禁用 LDAP 智能家居窃取
- **`--no-ldap-smart-car-theft`**:禁用 LDAP 智能汽车窃取
- **`--no-ldap-smart-device-theft`**:禁用 LDAP 智能设备窃取
- **`--no-ldap-smart-meter-theft`**:禁用 LDAP 智能电表窃取
- **`--no-ldap-smart-sensor-theft`**:禁用 LDAP 智能传感器窃取
- **`--no-ldap-smart-actuator-theft`**:禁用 LDAP 智能执行器窃取
- **`--no-ldap-smart-controller-theft`**:禁用 LDAP 智能控制器窃取
- **`--no-ldap-smart-gateway-theft`**:禁用 LDAP 智能网关窃取
- **`--no-ldap-smart-router-theft`**:禁用 LDAP 智能路由器窃取
- **`--no-ldap-smart-switch-theft`**:禁用 LDAP 智能交换机窃取
- **`--no-ldap-smart-firewall-theft`**:禁用 LDAP 智能防火墙窃取
- **`--no-ldap-smart-ids-theft`**:禁用 LDAP 智能 IDS 窃取
- **`--no-ldap-smart-ips-theft`**:禁用 LDAP 智能 IPS 窃取
- **`--no-ldap-smart-siem-theft`**:禁用 LDAP 智能 SIEM 窃取
- **`--no-ldap-smart-soar-theft`**:禁用 LDAP 智能 SOAR 窃取
- **`--no-ldap-smart-xdr-theft`**:禁用 LDAP 智能 XDR 窃取
- **`--no-ldap-smart-edr-theft`**:禁用 LDAP 智能 EDR 窃取
- **`--no-ldap-smart-mdr-theft`**:禁用 LDAP 智能 MDR 窃取
- **`--no-ldap-smart-ndr-theft`**:禁用 LDAP 智能 NDR 窃取
- **`--no-ldap-smart-tdr-theft`**:禁用 LDAP 智能 TDR 窃取
- **`--no-ldap-smart-ueba-theft`**:禁用 LDAP 智能 UEBA 窃取
- **`--no-ldap-smart-threat-intel-theft`**:禁用 LDAP 智能威胁情报窃取
- **`--no-ldap-smart-threat-hunting-theft`**:禁用 LDAP 智能威胁狩猎窃取
- **`--no-ldap-smart-incident-response-theft`**:禁用 LDAP 智能事件响应窃取
- **`--no-ldap-smart-forensics-theft`**:禁用 LDAP 智能取证窃取
- **`--no-ldap-smart-malware-analysis-theft`**:禁用 LDAP 智能恶意软件分析窃取
- **`--no-ldap-smart-reverse-engineering-theft`**:禁用 LDAP 智能逆向工程窃取
- **`--no-ldap-smart-penetration-testing-theft`**:禁用 LDAP 智能渗透测试窃取
- **`--no-ldap-smart-red-teaming-theft`**:禁用 LDAP 智能红队窃取
- **`--no-ldap-smart-blue-teaming-theft`**:禁用 LDAP 智能蓝队窃取
- **`--no-ldap-smart-purple-teaming-theft`**:禁用 LDAP 智能紫队窃取
- **`--no-ldap-smart-cyber-range-theft`**:禁用 LDAP 智能网络靶场窃取
- **`--no-ldap-smart-simulation-theft`**:禁用 LDAP 智能模拟窃取
- **`--no-ldap-smart-emulation-theft`**:禁用 LDAP 智能仿真窃取
- **`--no-ldap-smart-training-theft`**:禁用 LDAP 智能培训窃取
- **`--no-ldap-smart-awareness-theft`**:禁用 LDAP 智能意识窃取
- **`--no-ldap-smart-education-theft`**:禁用 LDAP 智能教育窃取
- **`--no-ldap-smart-certification-theft`**:禁用 LDAP 智能认证窃取
- **`--no-ldap-smart-compliance-theft`**:禁用 LDAP 智能合规窃取
- **`--no-ldap-smart-governance-theft`**:禁用 LDAP 智能治理窃取
- **`--no-ldap-smart-risk-theft`**:禁用 LDAP 智能风险窃取
- **`--no-ldap-smart-audit-theft`**:禁用 LDAP 智能审计窃取
- **`--no-ldap-smart-assessment-theft`**:禁用 LDAP 智能评估窃取
- **`--no-ldap-smart-testing-theft`**:禁用 LDAP 智能测试窃取
- **`--no-ldap-smart-validation-theft`**:禁用 LDAP 智能验证窃取
- **`--no-ldap-smart-verification-theft`**:禁用 LDAP 智能校验窃取
- **`--no-ldap-smart-accreditation-theft`**:禁用 LDAP 智能认可窃取
- **`--no-ldap-smart-assurance-theft`**:禁用 LDAP 智能保证窃取
- **`--no-ldap-smart-security-theft`**:禁用 LDAP 智能安全窃取
- **`--no-ldap-smart-privacy-theft`**:禁用 LDAP 智能隐私窃取
- **`--no-ldap-smart-data-protection-theft`**:禁用 LDAP 智能数据保护窃取
- **`--no-ldap-smart-cyber-security-theft`**:禁用 LDAP 智能网络安全窃取
- **`--no-ldap-smart-cyber-defense-theft`**:禁用 LDAP 智能网络防御窃取
- **`--no-ldap-smart-cyber-resilience-theft`**:禁用 LDAP 智能网络弹性窃取
- **`--no-ldap-smart-cyber-hygiene-theft`**:禁用 LDAP 智能网络卫生窃取
- **`--no-ldap-smart-cyber-awareness-theft`**:禁用 LDAP 智能网络意识窃取
- **`--no-ldap-smart-cyber-education-theft`**:禁用 LDAP 智能网络教育窃取
- **`--no-ldap-smart-cyber-training-theft`**:禁用 LDAP 智能网络培训窃取
- **`--no-ldap-smart-cyber-exercise-theft`**:禁用 LDAP 智能网络演练窃取
- **`--no-ldap-smart-cyber-range-theft`**:禁用 LDAP 智能网络靶场窃取
- **`--no-ldap-smart-cyber-simulation-theft`**:禁用 LDAP 智能网络模拟窃取
- **`--no-ldap-smart-cyber-emulation-theft`**:禁用 LDAP 智能网络仿真窃取
- **`--no-ldap-smart-cyber-wargaming-theft`**:禁用 LDAP 智能网络兵棋推演窃取
- **`--no-ldap-smart-cyber-competition-theft`**:禁用 LDAP 智能网络竞赛窃取
- **`--no-ldap-smart-cyber-challenge-theft`**:禁用 LDAP 智能网络挑战窃取
- **`--no-ldap-smart-cyber-ctf-theft`**:禁用 LDAP 智能网络 CTF 窃取
- **`--no-ldap-smart-cyber-capture-the-flag```bash
#!/usr/bin/with-contenv bash
cp /config/trawl-ca.crt /usr/local/share/ca-certificates/trawl-ca.crt
update-ca-certificates

LinuxServer 在容器启动时会运行 /custom-cont-init.d/ 中的脚本。诸如 JDownloader 之类的 Java 客户端需要上文所述的单独 keytool 导入。

JDownloader 2(Windows / macOS / Linux — 手动安装)

JDownloader 自带其自己的 JRE;必须将 CA 导入其中。

  1. 找到 JRE:Settings → Advanced → Java Path(在 JDownloader 中)或查看安装目录:
    • Windows:C:\Program Files\JDownloader 2\jre\lib\security\cacerts
    • macOS:/Applications/JDownloader 2.app/Contents/app/jre/lib/security/cacerts
    • Linux:<install>/jre/lib/security/cacerts
  2. 针对该文件运行上面的 keytool -importcert 命令。
  3. 重启 JDownloader。

Windows(系统信任存储)```powershell

Run PowerShell as Administrator.

Import-Certificate -FilePath .\trawl-ca.crt ` -CertStoreLocation Cert:\LocalMachine\Root

Remove later

Get-ChildItem Cert:\LocalMachine\Root | Where-Object { $_.Subject -like "TRAWL MITM" } | Remove-Item

root@kitploit:~
#### 移除 CA(清理)

每种安装方式都有对称的移除路径。在你的信任存储中搜索
`TRAWL MITM Proxy CA`(该 CA 的 CN)并删除该条目。CA 证书和密钥也位于
TRAWL 主机上的 `<MITM_CA_DIR>/ca.crt` 和 `ca.key`。删除其中任意一个都会导致 TRAWL
在下次启动时生成新的根证书,因此现有客户端必须安装新证书。

## 层级```
Request
  │
  ▼
Tier 1: Plain HTTP fetch ────── success ──→ return (< 100ms)
  │ blocked
  ▼
Tier 2: Cached session ─────── success ──→ return (~500ms)
  │ cache miss / expired
  ▼
Tier 3: Fresh challenge solve ─ success ──→ cache + return
  │ IP flagged
  ▼
Tier 4: Residential proxy ──── success ──→ cache + return (15–45s)
  │ failed
  ▼
  error

Docker Compose 文件

文件描述
docker-compose.yml爬虫 + Redis(默认)
docker-compose.minimal.yml仅爬虫,无 Redis
docker-compose.prod.yml生产环境:restart: always、内存限制、健康检查

Docker 镜像(一个 GHCR 包,两个发布变体)

镜像标签构建来源运行时使用场景
ghcr.io/germondai/trawl:latest

所有标签都位于同一个 ghcr.io/germondai/trawl 包上 — 它们共享注册表,但 Dockerfile 来源或构建参数不同。选择适合你的硬件和输出的标签:```yaml

Modern hardware (most users)

image: ghcr.io/germondai/trawl:latest

Older CPUs without AVX2 / Synology / older kernels

image: ghcr.io/germondai/trawl:baseline

root@kitploit:~
Synology 说明:许多 Synology NAS 设备(DSM 7.x 运行在 J4125 / 较旧硬件上)搭载的是 4.4.x 内核,Bun 的现代运行时无法完全处理。标准 Bun 需要内核 5.1+(推荐 5.6+);baseline 构建可优雅降级至内核 3.10。`:baseline` 标签正是为此场景发布的——**已确认可在 Synology DS920+ 上运行**(Celeron J4125、DSM 7.3.2、内核 4.4.302):容器可正常启动,`/health` 报告健康状态,并能通过 `/v1` 解决实时 Cloudflare 挑战(参见 [#1](https://github.com/germondai/trawl/issues/1))。由独立的 GitHub Actions 工作流发布:推送诸如 `v1.7.0` 的发布标签会创建 `:1.7.0`、`:latest`、`:1.7.0-baseline` 和 `:baseline`;每日 02:00 UTC 的 nightly 构建会基于最新的 `dev` 提交创建 `:nightly` 和 `:nightly-<dev-sha>`。

## 发布与版本管理

TRAWL 遵循[语义化版本](https://semver.org/)。推送带 `v` 前缀的 git 标签(例如
`v1.0.0`)会触发 `publish.yml`,该工作流会构建并推送匹配的去掉前缀的 Docker 标签
(`ghcr.io/germondai/trawl:1.0.0`)以及 `:latest`。移动的 `:nightly` 标签和不可变的
`:nightly-<shortsha>` 标签每天 02:00 UTC 或手动触发时基于最新验证过的 `dev` 修订版构建;
分支推送不会发布镜像。
完整版本历史请参见[发布页面](https://github.com/germondai/trawl/releases),每个版本的具体变更请参见 [CHANGELOG.md](https://github.com/germondai/trawl/blob/dev/CHANGELOG.md)。

若要发布某个包含重大修复的特定历史提交,而无需等待下一个 `main` 顶端发布,请为该确切的 SHA 打标签并推送——`publish.yml` 基于标签引用构建,而非基于 `main` 的当前顶端:```bash
git tag -a v1.0.1 <sha> -m "..."
git push origin v1.0.1

配置

TRAWL 支持 HTTP 代理、带认证的 HTTP 代理以及 SOCKS5 代理。标准 Compose 文件从本地 .env 文件读取代理设置:```ini

Optional Tier 3 datacenter proxy

PROXY_URL=http://user:[email protected]:8080

Optional Tier 4 residential proxy

RESIDENTIAL_PROXY_URL=socks5://user:[email protected]:1080

root@kitploit:~
- **`--proxy`**:设置代理(例如 `http://127.0.0.1:8080`)
- **`--timeout`**:设置请求超时时间(秒)
- **`--user-agent`**:设置自定义 User-Agent 字符串
- **`--headers`**:添加自定义请求头(例如 `Header: Value`)
- **`--cookies`**:添加自定义 Cookie(例如 `name=value`)
- **`--follow-redirects`**:跟随 HTTP 重定向
- **`--verify-ssl`**:验证 SSL 证书
- **`--threads`**:设置并发线程数
- **`--delay`**:设置请求之间的延迟(秒)
- **`--random-agent`**:为每个请求使用随机 User-Agent
- **`--retries`**:设置失败请求的重试次数
- **`--output`**:将结果保存到文件
- **`--format`**:指定输出格式(`json`、`csv`、`txt`)
- **`--verbose`**:启用详细输出
- **`--silent`**:抑制所有输出
- **`--no-color`**:禁用彩色输出
- **`--config`**:从文件加载配置
- **`--update`**:检查更新
- **`--version`**:显示版本信息
- **`--help`**:显示帮助信息

### 示例

```bash
# 基本用法
python3 kitploit.py -u https://example.com

# 使用自定义请求头
python3 kitploit.py -u https://example.com -H "Authorization: Bearer token"

# 使用代理和超时
python3 kitploit.py -u https://example.com --proxy http://127.0.0.1:8080 --timeout 30

# 保存输出到文件
python3 kitploit.py -u https://example.com -o results.json -f json

免责声明

本工具仅供教育和道德测试目的使用。未经授权访问系统是违法的。作者对任何滥用行为不承担责任。

许可证

本项目根据 MIT 许可证授权 - 详情请参阅 LICENSE 文件。

贡献

欢迎贡献!请随时提交 Pull Request。

联系方式

  • 作者:Kitploit 团队
  • 网站:https://www.kitploit.com
  • Twitter:@kitploit

免责声明:本工具仅供教育和道德测试目的使用。未经授权访问系统是违法的。作者对任何滥用行为不承担责任。```bash docker compose up -d

root@kitploit:~
将任一值留空即可禁用该代理层级。多个端点可用逗号分隔;更大的代理池可使用对应的 `*_LIST_FILE` 变量。有关代理池和挂载文件示例,请参阅
[配置 → 代理](https://github.com/germondai/trawl/blob/dev/apps/docs/getting-started/configuration.md#proxies)。

| 变量                             | 默认值                   | 描述                                                                                |
| -------------------------------- | ------------------------ | ----------------------------------------------------------------------------------- |
| `BROWSER_POOL_SIZE`              | `1`                      | 预热 Camoufox Firefox 实例;提高该值以支持并发浏览器求解                            |
| `LOG_LEVEL`                      | `info`                   | 运行日志级别:`error`、`warn`、`info`、`debug` 或 `silent`                          |
| `METRICS_DASHBOARD_ENABLED`      | `false`                  | 无需令牌即可显式启用本地仪表盘;将其端口绑定到 `127.0.0.1`                          |
| `METRICS_DASHBOARD_TOKEN`        | —                        | 使用 32 个字符以上的令牌保护仪表盘、JSON 端点和实时流                               |
| `METRICS_DB_PATH`                | `/data/metrics/trawl.sqlite` | 本地指标历史记录的 SQLite 路径(持久挂载 `/data/metrics`)                      |
| `BROWSER_ACQUIRE_TIMEOUT_MS`     | `15000`                  | 在返回 HTTP 429 之前,`acquire()` 轮询空闲浏览器的时长                              |
| `BROWSER_RECYCLE_AFTER_CONTEXTS` | `8`                      | 在达到此数量的 Tier 3/4 上下文后进行滚动替换;设为 `0` 可禁用                       |
| `BROWSER_MAX_CONTENT_PROCESSES`  | `2`                      | 限制每个浏览器的 Firefox 内容进程数(`dom.ipc.processCount`);降低 RAM/CPU 占用    |
| `SCRAPE_MIN_TIER`                | `1`                      | 全局允许的最低层级(`1` HTTP、`2` 缓存浏览器、`3` 全新、`4` 住宅代理)              |
| `SESSION_CACHE_DRIVER`           | `redis`                  | 会话缓存后端:`redis` 或单进程 `memory`                                             |
| `REDIS_SESSION_TTL_SECONDS`      | `3600`                   | Redis 或内存会话 TTL(秒)                                                          |
| `MEMORY_SESSION_CACHE_MAX_ENTRIES` | `1000`                 | 内存驱动的 LRU 限制最大条目数                                                       |
| `REDIS_URL`                      | —                        | Redis 连接字符串;为空或未设置时禁用 Redis 缓存                                     |
| `REDIS_CONNECT_TIMEOUT_MS`       | `5000`                   | 每次 Redis 连接尝试的最长时间                                                       |
| `REDIS_RETRY_DELAY_MS`           | `5000`                   | 启动失败后重新连接前的延迟;`0` 禁用重试                                            |
| `SCRAPE_PROXY_SELECTION`         | `failover`               | 代理池策略:粘性 `failover`、按请求 `roundrobin` 或 `random`                        |
| `PROXY_URL`                      | —                        | 可选的 Tier 3 HTTP 或 SOCKS5 代理,或逗号分隔的代理池                               |
| `PROXY_LIST_FILE`                | —                        | 每行包含一个 Tier 3 代理 URL 的文件                                                 |
| `RESIDENTIAL_PROXY_URL`          | —                        | 启用 Tier 4 代理升级                                                                |
| `RESIDENTIAL_PROXY_LIST_FILE`    | —                        | 每行包含一个 Tier 4 代理 URL 的文件                                                 |
| `STT_URL`                        | —                        | 用于 reCAPTCHA 的本地 Whisper 端点(可选)                                          |
| `PORT`                           | `8191`                   | API 监听端口                                                                        |
| `MITM_ENABLED`                   | `false`                  | 启用绕过挑战的 HTTP/HTTPS 代理                                                      |
| `MITM_PORT`                      | `8192`                   | 正向代理监听端口                                                                    |
| `MITM_HOST`                      | `0.0.0.0`                | 绑定地址;`127.0.0.1` 表示仅限回环                                                   |
| `MITM_CA_DIR`                    | `/data/proxy-ca`         | 持久化根 CA 证书和私钥目录                                                          |
| `MITM_MAX_TIER`                  | `4`                      | 代理使用的升级上限(例如 `3` 表示不使用住宅代理)                                   |
| `MITM_ALWAYS_SCRAPE`             | `false`                  | 跳过代理 Tier 0;禁用直接媒体/大文件流式传输路径                                    |
| `MITM_DEBUG`                     | `false`                  | 每个代理请求记录一行日志(错误始终记录)                                            |

从早期版本升级需要重命名若干环境变量。有关完整的新旧映射和 Redis 选择启用行为,请参阅
[配置迁移指南](https://github.com/germondai/trawl/blob/dev/apps/docs/deployment/configuration-migration.md)。

## 技术栈

构建于现代、默认快速的栈之上:API 使用 Bun + Elysia,缓存使用 Redis,
浏览器自动化使用 Camoufox(加固的 Firefox),Web UI 使用 Nuxt —— 没有遗留的
Node/Express 包袱。

| 层级          | 技术                               |
| ------------- | ---------------------------------- |
| 运行时        | Bun                                |
| API           | Elysia                             |
| 浏览器        | Camoufox Firefox(通过 camoufox-js) |
| 会话缓存      | Redis 8.8                          |
| 落地页        | Nuxt 4                             |
| 文档          | VitePress                          |

## 许可证

[AGPL-3.0](https://github.com/germondai/trawl/blob/dev/LICENSE)

---

<p align="center">
    <span>Made with ❤️ by</span>
    <a href="https://github.com/germondai" target="_blank">@germondai</a>
</p>
下载工具
Birght Data Bright Data - 用于 Web Unlocker、SERP API 和网页抓取工具的最强大平台。

为什么选择 Bright Data?
• Web Unlocker - 绕过任何反机器人保护
• SERP API - 实时 Google、Bing 及更多结果
• 抓取浏览器和专用抓取器
• 庞大的住宅代理网络
• 为规模和可靠性而构建

免费开始使用 Bright Data!
NodeMaven NodeMaven - 用于网页抓取和自动化的最高效代理提供商,拥有市场上最高质量的 IP。

为什么选择 NodeMaven?
• ZIP 定位
• 99.9% 正常运行时间
• IP 过滤:所有代理的欺诈评分 <97%
• 无需 KYC
• 独特的免费工具:代理带宽检查器、Meta 标签检查器、IP 查询等!

TRAWL 用户专属优惠码:
• TRAWL35 - 移动和住宅代理 35% 折扣
• TRAWL40 - ISP(静态)代理 40% 折扣
Thordata Thordata - 用于数据收集的优质住宅代理。

Thordata 帮助开发者利用高质量住宅 IP 构建可靠的抓取、自动化和 AI 数据工作流。

🌍 1 亿+ 真实 IP | 195+ 个国家/地区
🔄 轮换和粘性会话 | 精确地理定位
⚡ 高并发 | 稳定连接

减少封锁,放心地大规模收集数据。

🎁 TRAWL 用户:
• 3 天免费试用 + 10% 折扣码:TRAWL10
apps/api/Dockerfile
Bun 1.4.2(现代,AVX2)
紧凑默认 — Linux 指纹
ghcr.io/germondai/trawl:baselineapps/api/Dockerfile.baselineBun 1.4.2 baseline(无 AVX2)较旧 CPU / 较旧内核(Synology NAS、J4125、Atom 时代)