Тихо и незаметно вышел Arti на расте, добавили поддержку onion адресов.
Энжой, как говорится.
Энжой, как говорится.
C++:
use anyhow::Result;
use arti_client::{StreamPrefs, TorClient, TorClientConfig};
use futures::io::{AsyncReadExt, AsyncWriteExt};
use tokio_crate as tokio;
#[tokio::main]
async fn main() -> Result<()> {
let mut prefs = StreamPrefs::new();
prefs.connect_to_onion_services(arti_client::config::BoolOrAuto::Explicit(true));
let config = TorClientConfig::default();
let tor_client = TorClient::create_bootstrapped(config).await?;
let mut stream = tor_client
.connect_with_prefs(
"xssforum7mmh3n56inuf2h73hvhnzobi7h2ytb3gvklrfqm7ut3xdnyd.onion:80",
&prefs,
)
.await?;
stream
.write_all(b"GET / HTTP/1.1\r\nHost: xssforum7mmh3n56inuf2h73hvhnzobi7h2ytb3gvklrfqm7ut3xdnyd.onion\r\nConnection: close\r\n\r\n")
.await?;
stream.flush().await?;
let mut buf = Vec::new();
stream.read_to_end(&mut buf).await?;
println!("{}", String::from_utf8_lossy(&buf));
Ok(())
}