diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/net/emissary_i2p.rs | 60 | ||||
| -rw-r--r-- | src/net/mod.rs | 4 |
2 files changed, 64 insertions, 0 deletions
diff --git a/src/net/emissary_i2p.rs b/src/net/emissary_i2p.rs new file mode 100644 index 0000000..b9e5967 --- /dev/null +++ b/src/net/emissary_i2p.rs @@ -0,0 +1,60 @@ +use emissary_core::{ + I2cpConfig, + Ntcp2Config +}; + + +use crate::pkgtoolkit::pkgtools::Package; +use crate::Config; + +use indicatif::{ProgressBar, ProgressStyle}; +use std::{collections::HashMap, path::Path}; +use tokio::io::{AsyncReadExt, AsyncWriteExt, BufReader}; + +pub struct I2PPackage { + pub config: Config, + pub i2p_config: emissary_core::Config, + pub index_packages: Option<HashMap<String, Package>>, +} + +impl I2PPackage { + pub fn new(cfg: Config, i2p_cfg: emissary_core::Config) -> Self { + I2PPackage { + config: cfg, + i2p_config: i2p_cfg, + index_packages: None, + } + } + + pub async fn fetch_index(&mut self) -> Result<(), Box<dyn std::error::Error>> { + let cfg = Config::parse()?; + + let repo_url = &self.config.repo.repo_url; + let cache_dir = &self.config.paths.cache_dir; + + let utl = url::Url::parse(repo_url).unwrap(); + let host = utl.host_str().ok_or("No host in URL")?; + + let request_path = utl.path(); + let request_path = if request_path.ends_with(".tar.gz") { + request_path.to_string() + } else { + format!("{}/INDEX.tar.gz", request_path.trim_end_matches('/')) + }; + + + let StorageBundle { + ntcp2_iv, + ntcp2_key, + profiles, + router_info, + routers, + signing_key, + static_key, + ssu2_intro_key, + ssu2_static_key, + } = storage.load().await; + + Ok(()) + } +}
\ No newline at end of file diff --git a/src/net/mod.rs b/src/net/mod.rs index 1a04189..20a050e 100644 --- a/src/net/mod.rs +++ b/src/net/mod.rs @@ -1,2 +1,6 @@ pub mod http_package; pub mod i2p_package; +// unimplemented +// now i rewritting with emissary, SAMv3 not for download files btw +// but yosemite one of docemented lib for i2p (SAMv3 only), it-s better i try to use it +// pub mod emissary_i2p;
\ No newline at end of file |
