1 个不稳定版本

0.1.0 2024 年 7 月 26 日

#1490 in 异步

Download history 104/week @ 2024-07-21 27/week @ 2024-07-28 1/week @ 2024-08-04

132 每月下载量
用于 bridge_updater

无许可证

76KB
1.5K SLoC

Bridge Updater Lib

轻松获取 Tor 桥

这是一个辅助库,用于从 The Tor Project 的网站上获取桥内容。设计用于与 GUI 或终端界面集成。

示例代码

use bridge_updater_lib::updater::Updater;
use std::{io::Write, fs::OpenOptions};

#[tokio::main]
async fn main() {
    if let Ok(mut upd) = Updater::new() {

        /* Retrieve captcha */
        if upd.retrieve_captcha().await.is_ok() {
            if let Some((_captcha_id, captcha_image)) = upd.captcha.clone() {
                let mut captcha_file = OpenOptions::new().write(true).create(true).truncate(true).open("captcha_image.jpg").unwrap();
                captcha_file.write_all(&captcha_image).unwrap();
                captcha_file.sync_all().unwrap();
            }
        }

        /* Retrieve bridges */
        let input_captcha = "ekGbudf";

        if upd.retrieve_bridges(&input_captcha).await.is_ok() {
            if let Some((bridges_text, bridges_qr)) = upd.bridges.clone() {
                println!("Bridges: {}", bridges_text);
                let mut qrcode_file = OpenOptions::new().write(true).create(true).truncate(true).open("bridges_qrcode.jpg").unwrap();
                qrcode_file.write_all(&bridges_qr).unwrap();
                qrcode_file.sync_all().unwrap();
            }
        }
    }
}

依赖关系

~13–29MB
~467K SLoC