Added more stuff

This commit is contained in:
2024-06-22 16:54:12 -06:00
parent be43b49838
commit f4d7cc157b
7 changed files with 177 additions and 27 deletions

View File

@ -1,37 +1,32 @@
use std::fs::File;
use std::io::{Read, Write};
use std::io::{Cursor, Read, Seek, Write};
use std::env::temp_dir;
use std::path::Path;
use std::path::{Path, PathBuf};
use serde_json::{Result, Value};
use suppaftp::{FtpError, NativeTlsConnector, NativeTlsFtpStream};
use suppaftp::native_tls::{Certificate, TlsConnector};
use std::process::Command;
use std::process::Child;
mod ftp;
mod prism;
mod system_dirs;
mod java;
mod util;
fn main() {
println!("test");
let ftp_stream = NativeTlsFtpStream::connect("gitea.piwalker.net:21").unwrap_or_else(|err|
panic!("{}", err)
);
let cert = include_bytes!("../res/vsftpd.crt");
let cert = Certificate::from_pem(cert).unwrap();
let mut ftp_stream = ftp_stream.into_secure(NativeTlsConnector::from(TlsConnector::builder().add_root_certificate(cert).build().unwrap()), "gitea.piwalker.net").unwrap();
assert!(ftp_stream.login("anonymous", "anonymous@").is_ok());
assert!(ftp_stream.size("test").is_ok());
println!("test");
let data = ftp_stream.retr_as_buffer("fcs7/versions.json").unwrap();
println!("test");
let v: Value = serde_json::from_reader(data).unwrap();
println!("fcs7/{}",v[0]["File"].as_str().unwrap());
let mut data = ftp_stream.retr_as_buffer(format!("fcs7/{}",v[v.as_array().unwrap().len()-1]["File"].as_str().unwrap()).as_str()).unwrap_or_else(|err| panic!("Unable to download file"));
println!("{}", temp_dir().join("pack.mrpack").display());
let mut file = File::create(temp_dir().join("pack.mrpack")).unwrap();
std::io::copy(&mut data, &mut file).unwrap();
println!("{}",temp_dir().display());
prism::install_prism().unwrap();
//let mut data = Cursor::new(vec![]);
//ftp::ftpRetr(PathBuf::new().join("fcs7").join("versions.json"), &mut data, |_| return).unwrap();
//data.seek(std::io::SeekFrom::Start(0)).unwrap();
//let v: Value = serde_json::from_reader(data).unwrap();
//println!("fcs7/{}",v[v.as_array().unwrap().len()-1]["File"].as_str().unwrap());
//println!("{}", temp_dir().join("pack.mrpack").display());
//let mut file = File::create(temp_dir().join("pack.mrpack")).unwrap();
//ftp::ftpRetr(PathBuf::new().join("fcs7").join(v[v.as_array().unwrap().len()-1]["File"].as_str().unwrap()),file, |data| println!("Transferred {} Bytes", data)).unwrap();
//let output = Command::new("prismlauncher").arg("-I").arg(temp_dir().join("pack.mrpack")).spawn();
assert!(ftp_stream.quit().is_ok());
}
pub fn test(){}