mirror of
https://github.com/Grasscutters/Cultivation.git
synced 2025-12-12 23:24:35 +01:00
Merge?
This commit is contained in:
1
src-tauri/Cargo.lock
generated
1
src-tauri/Cargo.lock
generated
@@ -723,6 +723,7 @@ dependencies = [
|
||||
"hudsucker",
|
||||
"lazy_static",
|
||||
"open",
|
||||
"rcgen",
|
||||
"registry",
|
||||
"reqwest",
|
||||
"rustls-pemfile",
|
||||
|
||||
@@ -47,6 +47,7 @@ tokio = { version = "1.18.2", features = ["signal"] }
|
||||
rustls-pemfile = "1.0.0"
|
||||
reqwest = { version = "0.11.3", features = ["stream"] }
|
||||
futures-util = "0.3.14"
|
||||
rcgen = { version = "0.9", features = ["x509-parser"] }
|
||||
|
||||
[features]
|
||||
# by default Tauri runs in production mode
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"options": {
|
||||
"game_exec": "Set Game Executable",
|
||||
"grasscutter_jar": "Set Grasscutter Jar",
|
||||
"grasscutter_jar": "Set Grasscutter JAR",
|
||||
"java_path": "Set Custom Java Path",
|
||||
"grasscutter_with_game": "Automatically launch Grasscutter with game",
|
||||
"language": "Select Language (requires restart)",
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
use lazy_static::lazy_static;
|
||||
use std::sync::Mutex;
|
||||
|
||||
use rcgen::*;
|
||||
use hudsucker::{
|
||||
async_trait::async_trait,
|
||||
certificate_authority::RcgenAuthority,
|
||||
@@ -13,18 +14,19 @@ use hudsucker::{
|
||||
*,
|
||||
};
|
||||
|
||||
use std::fs;
|
||||
use std::net::SocketAddr;
|
||||
use registry::{Hive, Data, Security};
|
||||
|
||||
use rustls_pemfile as pemfile;
|
||||
use tauri::http::Uri;
|
||||
|
||||
async unsafe fn shutdown_signal() {
|
||||
async fn shutdown_signal() {
|
||||
tokio::signal::ctrl_c().await
|
||||
.expect("Failed to install CTRL+C signal handler");
|
||||
}
|
||||
|
||||
// Global ver for getting server address
|
||||
// Global ver for getting server address.
|
||||
lazy_static! {
|
||||
static ref SERVER: Mutex<String> = {
|
||||
let m = "localhost:443".to_string();
|
||||
@@ -138,4 +140,33 @@ pub(crate) fn disconnect_from_proxy() {
|
||||
}
|
||||
|
||||
println!("Disconnected from proxy.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a private key and certificate used by the certificate authority.
|
||||
* Source: https://github.com/zu1k/good-mitm/raw/master/src/ca/gen.rs
|
||||
*/
|
||||
pub(crate) fn generate_ca_files() {
|
||||
let mut params = CertificateParams::default();
|
||||
let mut details = DistinguishedName::new();
|
||||
|
||||
// Set certificate details.
|
||||
details.push(DnType::CommonName, "Cultivation");
|
||||
details.push(DnType::OrganizationName, "Grasscutters");
|
||||
details.push(DnType::CountryName, "CN");
|
||||
details.push(DnType::LocalityName, "CN");
|
||||
|
||||
// Set details in the parameter.
|
||||
params.distinguished_name = distinguished_name;
|
||||
// Set other properties.
|
||||
params.is_ca = IsCa::Ca(BasicConstraints::Unconstrained);
|
||||
params.key_usages = vec![
|
||||
KeyUsagePurpose::DigitalSignature,
|
||||
KeyUsagePurpose::KeyCertSign,
|
||||
KeyUsagePurpose::CrlSign,
|
||||
];
|
||||
|
||||
// Create certificate.
|
||||
let cert = Certificate::from_params(params).unwrap();
|
||||
let cert_crt = cert.serialize_pem().unwrap();
|
||||
}
|
||||
@@ -1,17 +1,16 @@
|
||||
|
||||
use std::thread;
|
||||
use tauri;
|
||||
use open;
|
||||
|
||||
#[tauri::command]
|
||||
pub fn run_program(path: String) {
|
||||
// Open the program from the specified path.
|
||||
// match open::that(path) {
|
||||
// Ok(_) => (),
|
||||
// Err(e) => println!("Failed to open program: {}", e),
|
||||
// };
|
||||
match open::with(format!("/c \"{}\"", &path), "C:\\Windows\\System32\\cmd.exe") {
|
||||
Ok(_) => (),
|
||||
Err(e) => println!("Failed to open program: {}", e),
|
||||
};
|
||||
|
||||
// Open in new thread to prevent blocking
|
||||
thread::spawn(move || {
|
||||
open::that(&path).unwrap();
|
||||
});
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
|
||||
Reference in New Issue
Block a user