#tor #exit #ip #identify #node #connect #list

bin+lib istor

检查 IP 是否为 Tor 出口节点

5 个版本

0.2.1 2022年2月19日
0.2.0 2022年2月19日
0.1.2 2022年1月22日
0.1.1 2022年1月19日
0.1.0 2022年1月19日

#10 in #identify


用于 statix

MIT 许可证

40KB
1.5K SLoC

istor

识别 IP 是否为 Tor 出口节点,适用于 Rust。

安装

cargo install istor #You can install as cli tool
#Or as crate
#In your Cargo.toml
[dependencies]
istor = "0.1.0"

命令行使用

istor--ip<IP> [选项]

选项

--connect -> 连接到 Tor 在线节点列表,而不是使用硬编码的值。需要互联网连接 --quiet -> 不显示版本 + 作者信息。如果程序将要读取输出,则很有用

API

istor::istor::get_nodes() -> String
istor::istor::get_nodes_realtime() -> String
istor::istor::istor(ip: String, connect: bool) -> bool

如果您将 connect 设置为 true,API 可能需要更长时间才能响应,因为它需要连接到 https://check.torproject.org/torbulkexitlist 来获取最新的出口节点列表。通常硬编码的列表将是最新的,但始终检查新版本!

use istor::istor;

fn main(){
    println!(istor::get_nodes());
    //=> String with hardcoded list of nodes
    println!(istor::get_nodes_real_time());
    //=> Will check the official up-to-date Tor Project list and print the String
    println!(istor::istor("176.10.99.200", false));
    //=> Will check if this IP is in the hardcoded list; true
    println!(istor::istor("176.10.99.200", true));
    //=> Will check if the Ip is in the online list; also true
}

捐赠

# Wallets to which you can donate :)

  BTC = "3NC14JNuzdLkxJTdNa6bnFXaYzMKMc1Uwt"
  ETH = "0xc41c0f847d58121f552c683e454ddafeb415f25e"
  XMR = "875smxvwbP64MFZnHrHwHcGahoEB4a5ARGCBidr95LqL4GEPiB4T8J74UB5TzrXK3wbTZ1iidfYoV37KZq1vqWCQSNztDAF"  

依赖项

~2MB
~61K SLoC