mirror of
https://github.com/Grasscutters/Cultivation.git
synced 2025-12-13 15:44:35 +01:00
Add CLI flag
This commit is contained in:
@@ -49,6 +49,7 @@ async fn parse_args(inp: &Vec<String>) -> Result<Args, ArgsError> {
|
|||||||
args.flag("h", "help", "Print various CLI args");
|
args.flag("h", "help", "Print various CLI args");
|
||||||
args.flag("p", "proxy", "Start the proxy server");
|
args.flag("p", "proxy", "Start the proxy server");
|
||||||
args.flag("G", "launch-game", "Launch the game");
|
args.flag("G", "launch-game", "Launch the game");
|
||||||
|
args.flag("o", "other-redirects", "Redirect other certain anime games");
|
||||||
args.flag(
|
args.flag(
|
||||||
"A",
|
"A",
|
||||||
"no-admin",
|
"no-admin",
|
||||||
@@ -142,6 +143,10 @@ async fn parse_args(inp: &Vec<String>) -> Result<Args, ArgsError> {
|
|||||||
pathbuf.push("cultivation");
|
pathbuf.push("cultivation");
|
||||||
pathbuf.push("ca");
|
pathbuf.push("ca");
|
||||||
|
|
||||||
|
if args.value_of("other_redirects")? {
|
||||||
|
proxy::set_redirect_more();
|
||||||
|
}
|
||||||
|
|
||||||
connect(8035, pathbuf.to_str().unwrap().to_string()).await;
|
connect(8035, pathbuf.to_str().unwrap().to_string()).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,6 +212,7 @@ fn main() -> Result<(), ArgsError> {
|
|||||||
system_helpers::run_un_elevated,
|
system_helpers::run_un_elevated,
|
||||||
proxy::set_proxy_addr,
|
proxy::set_proxy_addr,
|
||||||
proxy::generate_ca_files,
|
proxy::generate_ca_files,
|
||||||
|
proxy::set_redirect_more,
|
||||||
release::get_latest_release,
|
release::get_latest_release,
|
||||||
unzip::unzip,
|
unzip::unzip,
|
||||||
file_helpers::rename,
|
file_helpers::rename,
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ async fn shutdown_signal() {
|
|||||||
|
|
||||||
// Global ver for getting server address.
|
// Global ver for getting server address.
|
||||||
static SERVER: Lazy<Mutex<String>> = Lazy::new(|| Mutex::new("http://localhost:443".to_string()));
|
static SERVER: Lazy<Mutex<String>> = Lazy::new(|| Mutex::new("http://localhost:443".to_string()));
|
||||||
|
static REDIRECT_MORE: Lazy<Mutex<bool>> = Lazy::new(|| Mutex::new(false));
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
struct ProxyHandler;
|
struct ProxyHandler;
|
||||||
@@ -52,6 +53,11 @@ pub fn set_proxy_addr(addr: String) {
|
|||||||
println!("Set server to {}", SERVER.lock().unwrap());
|
println!("Set server to {}", SERVER.lock().unwrap());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tauri::command]
|
||||||
|
pub fn set_redirect_more() {
|
||||||
|
*REDIRECT_MORE.lock().unwrap() = true;
|
||||||
|
}
|
||||||
|
|
||||||
#[async_trait]
|
#[async_trait]
|
||||||
impl HttpHandler for ProxyHandler {
|
impl HttpHandler for ProxyHandler {
|
||||||
async fn handle_request(
|
async fn handle_request(
|
||||||
@@ -61,7 +67,13 @@ impl HttpHandler for ProxyHandler {
|
|||||||
) -> RequestOrResponse {
|
) -> RequestOrResponse {
|
||||||
let uri = req.uri().to_string();
|
let uri = req.uri().to_string();
|
||||||
|
|
||||||
match get_config().redirect_more {
|
let mut more = get_config().redirect_more;
|
||||||
|
|
||||||
|
if *REDIRECT_MORE.lock().unwrap() {
|
||||||
|
more = Some(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
match more {
|
||||||
Some(true) => {
|
Some(true) => {
|
||||||
if uri.contains("hoyoverse.com")
|
if uri.contains("hoyoverse.com")
|
||||||
|| uri.contains("mihoyo.com")
|
|| uri.contains("mihoyo.com")
|
||||||
|
|||||||
Reference in New Issue
Block a user