use std::{env, error::Error, io::Read};
use pimalaya_stream::{
proxy::Proxy,
stream::{Stream, TlsConnectOptions},
tls::Tls,
};
fn main() -> Result<(), Box<dyn Error>> {
env_logger::init();
let host = env::var("HOST")?;
let port: u16 = env::var("PORT").unwrap_or_else(|_| "993".into()).parse()?;
let proxy = match env::var("PROXY") {
Ok(url) => Proxy::from_url(&url)?,
Err(_) => Proxy::System,
};
let opts = TlsConnectOptions {
tls: Tls::default(),
proxy,
..Default::default()
};
let mut stream = Stream::connect_tls(&host, port, opts)?;
let mut buf = [0u8; 4096];
let n = stream.read(&mut buf)?;
print!("{}", String::from_utf8_lossy(&buf[..n]));
Ok(())
}