mirror of
https://github.com/EasyTier/EasytierGame.git
synced 2025-05-19 10:27:56 +00:00
优化对githubApi的请求,减少被过滤无法获取的情况发生
This commit is contained in:
+1
-1
@@ -3,7 +3,7 @@
|
||||
"private": true,
|
||||
"author": "leizi97",
|
||||
"description": "A simple network initiator based on Easytier",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.2",
|
||||
"scripts": {
|
||||
"dev": "nuxt dev --dotenv env/.env.dev --host 0.0.0.0",
|
||||
"build": "nuxt generate --dotenv env/.env.prod",
|
||||
|
||||
Generated
+2
-1
@@ -1227,10 +1227,11 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
|
||||
|
||||
[[package]]
|
||||
name = "easytier-game"
|
||||
version = "1.3.1"
|
||||
version = "1.3.2"
|
||||
dependencies = [
|
||||
"log",
|
||||
"planif",
|
||||
"rand 0.8.5",
|
||||
"reqwest",
|
||||
"serde",
|
||||
"serde_json",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "easytier-game"
|
||||
version = "1.3.1"
|
||||
version = "1.3.2"
|
||||
homepage = "https://github.com/EasyTier/EasyTier"
|
||||
repository = "https://github.com/EasyTier/EasytierGame"
|
||||
description = "A simple network initiator based on Easytier"
|
||||
@@ -40,6 +40,7 @@ planif = { git = "https://github.com/mattrobineau/planif", tag = "1.0.1" }
|
||||
whoami = "1.5.2"
|
||||
tauri-plugin-fs = "2"
|
||||
tauri-plugin-clipboard-manager = "2.0.2"
|
||||
rand = "0.8.5"
|
||||
tokio = { version = "1.41.1", features = ["process"] }
|
||||
# prost = "0.13"
|
||||
# prost-types = "0.13"
|
||||
|
||||
+27
-4
@@ -26,6 +26,29 @@ use windows::Win32::System::Power::{
|
||||
};
|
||||
|
||||
use tokio::process::Command as tokioCommand;
|
||||
use rand::Rng;
|
||||
|
||||
fn generate_random_user_agent() -> String {
|
||||
let user_agents = vec![
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{version} Safari/537.36",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/{version} Safari/605.1.15",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/{version} Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (Linux; Android 10; SM-G973F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{version} Mobile Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:{version}) Gecko/20100101 Firefox/{version}",
|
||||
];
|
||||
|
||||
let mut rng = rand::thread_rng();
|
||||
let template = user_agents[rng.gen_range(0..user_agents.len())];
|
||||
|
||||
// 生成随机版本号
|
||||
let version_major: u8 = rng.gen_range(70..90);
|
||||
let version_minor: u8 = rng.gen_range(0..10);
|
||||
let version_patch: u8 = rng.gen_range(0..10);
|
||||
let version = format!("{}.{}.{}", version_major, version_minor, version_patch);
|
||||
|
||||
// 替换模板中的版本号占位符
|
||||
template.replace("{version}", &version)
|
||||
}
|
||||
|
||||
#[tauri::command(rename_all = "snake_case")]
|
||||
fn prevent_sleep() -> bool {
|
||||
@@ -67,11 +90,11 @@ pub async fn fetch_releases() -> Result<Vec<Release>, Error> {
|
||||
let client = Client::new();
|
||||
// 构建请求的URL
|
||||
let url = format!("https://api.github.com/repos/easytier/easytier/releases",);
|
||||
|
||||
let user_agent = generate_random_user_agent();
|
||||
// 发送HTTP GET请求
|
||||
let response = client
|
||||
.get(&url)
|
||||
.header("User-Agent", "Tauri-fetch")
|
||||
.header("User-Agent", user_agent)
|
||||
.send()
|
||||
.await?;
|
||||
// 反序列化响应体为Release列表
|
||||
@@ -84,11 +107,11 @@ async fn fetch_game_releases() -> [String; 2] {
|
||||
let client = Client::new();
|
||||
// 构建请求的URL
|
||||
let url = format!("https://api.github.com/repos/Easytier/EasytierGame/releases",);
|
||||
|
||||
let user_agent = generate_random_user_agent();
|
||||
// 发送HTTP GET请求
|
||||
if let Ok(response) = client
|
||||
.get(&url)
|
||||
.header("User-Agent", "Tauri-fetch")
|
||||
.header("User-Agent", user_agent)
|
||||
.send()
|
||||
.await
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
|
||||
"productName": "easytier-game",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.2",
|
||||
"identifier": "com.tauri.easytier-game",
|
||||
|
||||
"build": {
|
||||
@@ -13,7 +13,7 @@
|
||||
"app": {
|
||||
"windows": [
|
||||
{
|
||||
"title": "easytier-game 1.3.1",
|
||||
"title": "easytier-game 1.3.2",
|
||||
"label": "main",
|
||||
"minWidth": 340,
|
||||
"width": 340,
|
||||
|
||||
Reference in New Issue
Block a user