mirror of
https://github.com/YGGverse/aquatic-crawler.git
synced 2026-03-31 09:05:33 +00:00
SSD-friendly FS crawler for the Aquatic BitTorrent tracker, based on librqbit API
https://crates.io/crates/aquatic-crawler
apiaquaticbencodebittorrentbtrackercrawlerdaemoninfo-hashipv6librqbitmagnetparserresolverrqbittorrenttracker
| .github | ||
| src | ||
| .gitignore | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
aquatic-crawler
Crawler/aggregation tool for the Aquatic BitTorrent tracker API.
Note
Project in development!
Roadmap
- Targets supported
- IPv4/IPv6 info-hash JSON/API (requires PR#233)
- local file path
- remote URL
- IPv4/IPv6 info-hash JSON/API (requires PR#233)
- Storage
- File system (dump as
.torrent)- V1
- V2
- Manticore full text search
- SQLite
- File system (dump as
Install
git clone https://github.com/YGGverse/aquatic-crawler.git && cd aquatic-crawlercargo build --releasesudo install target/release/aquatic-crawler /usr/local/bin/aquatic-crawler
Usage
aquatic-crawler --infohash-source /path/to/info-hash-ipv4.json\
--infohash-source /path/to/info-hash-ipv6.json\
--infohash-source /path/to/another-source.json\
--torrent-tracker udp://host:port\
--torrents-path /path/to/storage
- all arguments are optional, to support multiple source and target drivers
- running without arguments does nothing!
Options
-d, --debug <DEBUG>
Debug level
* `e` - error * `i` - info
[default: ei]
-c, --clear
Clear previous index collected on crawl session start
-i, --infohash-source <INFOHASH_SOURCE>
Filepath(s) to the Aquatic tracker info-hash JSON/API
* PR#233 feature
--torrents-path <TORRENTS_PATH>
Directory path to store the `.torrent` files
--torrent-tracker <TORRENT_TRACKER>
Define custom tracker(s) to preload the `.torrent` files info
--disable-dht
Disable DHT resolver (useful with `torrent_tracker`)
--enable-upnp-port-forwarding
Enable UPnP
--enable-upload
Enable upload
--socks-proxy-url <SOCKS_PROXY_URL>
Use `socks5://[username:password@]host:port`
-s <SLEEP>
Crawl loop delay in seconds
[default: 300]
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version