Compare commits

..

No commits in common. "222021382fbe401469b5e2659c783478d852696f" and "b082def65c259644c61c1d026c89b62fda75d23a" have entirely different histories.

10 changed files with 387 additions and 611 deletions

926
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,30 +1,30 @@
[package]
name = "ew"
version = "1.0.0"
edition = "2024"
edition = "2021"
[dependencies]
actix-web = { version = "4.10.2" }
rusqlite = { version = "0.35.0", features = ["bundled"] }
actix-web = { version = "4.9.0" }
rusqlite = { version = "0.32.1", features = ["bundled"] }
openssl = { version = "0.10", features = ["vendored"] }
reqwest = { version = "0.12", features = ["blocking"] }
clap = { version = "4.5.37", features = ["derive"]}
clap = { version = "4.5.21", features = ["derive"]}
base64 = "0.22.1"
json = "0.12.4"
rand = "0.9.1"
rand = "0.8.5"
lazy_static = "1.5.0"
chrono = "0.4.41"
chrono = "0.4.38"
hex = "0.4.3"
hmac = "0.12.1"
md5 = "0.7.0"
urlencoding = "2.1.3"
sha1 = "0.10.6"
substring = "1.4.5"
uuid = { version = "1.16.0", features = ["v7"] }
rsa = "0.9.8"
uuid = { version = "1.11.0", features = ["v7"] }
rsa = "0.9.6"
mime = "0.3.17"
sha2 = "0.10.9"
sha2 = "0.10.8"
include-flate-codegen = "0.3.0"
libflate = "2.1.0"
serde_json = "1.0.140"
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.133"
serde = { version = "1.0.215", features = ["derive"] }

View file

@ -47,7 +47,7 @@ pub fn encrypt_packet(input: &str) -> Result<String, ErrorStack> {
}
fn generate_random_iv() -> Vec<u8> {
let mut rng = rand::rng();
let mut rng = rand::thread_rng();
let mut bytes = vec![0u8; IV_LENGTH];
rng.fill(&mut bytes[..]);
bytes

View file

@ -51,8 +51,8 @@ fn save_event_data(key: &str, event_id: u32, data: JsonValue) {
}
fn get_random_song() -> JsonValue {
let mut rng = rand::rng();
let random_number = rng.random_range(0..=databases::LIVES.len());
let mut rng = rand::thread_rng();
let random_number = rng.gen_range(0..=databases::LIVES.len());
object!{
song: databases::LIVES[random_number]["masterMusicId"].clone(),
score: (databases::LIVES[random_number]["scoreC"].as_f64().unwrap() * 1.75).round() as i64

View file

@ -52,11 +52,10 @@ pub fn recommend(req: HttpRequest, body: String) -> Option<JsonValue> {
let mut rv = array![];
for uid in random.members() {
let mut user = global::get_user(uid.as_i64().unwrap(), &friends, false);
let user = global::get_user(uid.as_i64().unwrap(), &friends, false);
if user["user"]["friend_request_disabled"] == 1 || user.is_empty() {
continue;
}
user["user"]["last_login_time"] = global::set_time(user["user"]["last_login_time"].as_u64().unwrap_or(0), user_id, false).into();
rv.push(user).unwrap();
}

View file

@ -106,11 +106,11 @@ pub fn timestamp_since_midnight() -> u64 {
unix_timestamp.as_secs() - midnight
}
fn init_time(current_time: u64, server_data: &mut JsonValue, token: &str, max_time: u64, max: bool) {
fn init_time(data: &JsonValue, server_data: &mut JsonValue, token: &str, max_time: u64) {
let mut edited = false;
let default_time = 1709272800;
if max_time > 10 && max_time < current_time && server_data["server_time"].as_u64().unwrap_or(0) < max_time && max {
if max_time > 10 && max_time < data["server_time"].as_u64().unwrap_or(0) && server_data["server_time"].as_u64().unwrap_or(0) < max_time {
server_data["server_time_set"] = timestamp().into();
edited = true;
}
@ -123,37 +123,36 @@ fn init_time(current_time: u64, server_data: &mut JsonValue, token: &str, max_ti
server_data["server_time"] = default_time.into();
edited = true;
}
if edited && max {
if edited {
userdata::save_server_data(token, server_data.clone());
}
}
pub fn set_time(current_time: u64, uid: i64, max: bool) -> u64 {
fn set_time(data: &mut JsonValue, uid: i64) {
let max_time = crate::get_args().max_time;
if uid == 0 {
if max_time > 10 && max_time < current_time {
return max_time;
} else {
return timestamp();
if max_time > 10 && max_time < data["server_time"].as_u64().unwrap_or(0) {
data["server_time"] = max_time.into();
}
return;
}
let token = userdata::get_login_token(uid);
let mut server_data = userdata::get_server_data(&token);
init_time(current_time, &mut server_data, &token, max_time, max);
init_time(data, &mut server_data, &token, max_time);
let time_set = server_data["server_time_set"].as_u64().unwrap_or(timestamp());
let server_time = server_data["server_time"].as_u64().unwrap_or(0);//1711741114
if server_time == 0 {
return current_time;
return;
}
let time_since_set = current_time - time_set;
return server_time + time_since_set;
let time_since_set = timestamp() - time_set;
data["server_time"] = (server_time + time_since_set).into();
}
pub fn send(mut data: JsonValue, uid: i64, headers: &HeaderMap) -> HttpResponse {
//println!("{}", json::stringify(data.clone()));
data["server_time"] = set_time(data["server_time"].as_u64().unwrap_or(0), uid, true).into();
set_time(&mut data, uid);
if !data["data"]["item_list"].is_empty() || !data["data"]["updated_value_list"]["item_list"].is_empty() {
items::check_for_region(&mut data, headers);

View file

@ -244,7 +244,7 @@ fn random_number(lowest: usize, highest: usize) -> usize {
}
assert!(lowest < highest);
rand::rng().random_range(lowest..highest + 1)
rand::thread_rng().gen_range(lowest..highest + 1)
}
pub fn gift_item_basic(id: i32, value: i64, ty_pe: i32, reason: &str, user: &mut JsonValue) -> JsonValue {

View file

@ -34,7 +34,7 @@ fn random_number(lowest: usize, highest: usize) -> usize {
}
assert!(lowest < highest);
rand::rng().random_range(lowest..highest + 1)
rand::thread_rng().gen_range(lowest..highest + 1)
}
pub fn guest(req: HttpRequest, body: String) -> Option<JsonValue> {

View file

@ -46,7 +46,7 @@ fn get_random_card(item: &JsonValue, rv: &mut JsonValue, rng: &mut rand::rngs::T
let mut random_id = 0;
while random_id == 0 {
let card = rng.random_range(1..databases::POOL[lottery_id.to_string()][databases::POOL[lottery_id.to_string()].len() - 1].as_i64().unwrap() + 1);
let card = rng.gen_range(1..databases::POOL[lottery_id.to_string()][databases::POOL[lottery_id.to_string()].len() - 1].as_i64().unwrap() + 1);
if get_card_master_id(lottery_id.to_string(), card.to_string()).is_some() {
random_id = card;
break;
@ -63,7 +63,7 @@ fn get_random_card(item: &JsonValue, rv: &mut JsonValue, rng: &mut rand::rngs::T
fn get_random_cards(id: i64, mut count: usize) -> JsonValue {
let total_ratio: i64 = databases::RARITY[id.to_string()].members().map(|item| if item["ensured"].as_i32().unwrap() == 1 { 0 } else { item["ratio"].as_i64().unwrap() }).sum();
let mut rng = rand::rng();
let mut rng = rand::thread_rng();
let mut rv = array![];
let mut promised = false;
@ -80,7 +80,7 @@ fn get_random_cards(id: i64, mut count: usize) -> JsonValue {
count -= 1;
}
for _i in 0..count {
let random_number: i64 = rng.random_range(1..total_ratio + 1);
let random_number: i64 = rng.gen_range(1..total_ratio + 1);
let mut cumulative_ratio = 0;
for item in databases::RARITY[id.to_string()].members() {
cumulative_ratio += item["ratio"].as_i64().unwrap();

View file

@ -94,8 +94,8 @@ fn get_key(auth_key: &str) -> i64 {
}
fn generate_uid() -> i64 {
let mut rng = rand::rng();
let random_number = rng.random_range(100_000_000_000_000..=999_999_999_999_999);
let mut rng = rand::thread_rng();
let random_number = rng.gen_range(100_000_000_000_000..=999_999_999_999_999);
//the chances of this...?
if acc_exists(random_number) {
return generate_uid();
@ -301,7 +301,7 @@ pub fn save_acc_sif(auth_key: &str, data: JsonValue) {
}
fn generate_salt() -> Vec<u8> {
let mut rng = rand::rng();
let mut rng = rand::thread_rng();
let mut bytes = vec![0u8; 16];
rng.fill(&mut bytes[..]);
bytes