Skip to content

Commit 0c39412

Browse files
committed
Пацаны ваще ребята. (я потом коммит дропну)
1 parent d50f255 commit 0c39412

File tree

6 files changed

+54
-20
lines changed

6 files changed

+54
-20
lines changed

Cargo.toml

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11

22
[package]
3-
name = "change_me"
3+
name = "cdn"
44
version = "0.0.1"
55
edition = "2024"
66
authors = ["TOwInOK <60252419+TOwInOK@users.noreply.github.com>"]
7-
repository = "change_me"
7+
repository = "https://github.com/PulseClient-ddnet/cdn"
88
license = "MIT" #"Apache-2.0"
99

1010
[dependencies]
11-
# serde = { version = "^1", features = ["derive"] }
12-
# serde_json = { version = "1" }
13-
# ron = "^0.10"
14-
# tracing = "^0.1"
15-
# tracing-subscriber = "^0.3"
16-
# anyhow = "^1"
17-
# tokio = { version = "^1", features = ["full"] }
18-
# thiserror = "^2"
19-
11+
ohkami = { version = "0.24.2", features = ["openapi", "rt_tokio"] }
12+
tokio = { version = "1.48.0", features = ["full"] }
13+
tracing = "^0.1"
14+
tracing-subscriber = "^0.3"
15+
serde = { version = "^1", features = ["derive"] }
16+
serde_json = { version = "1" }
17+
thiserror = "^2"
2018

2119
[profile.dev]
2220
opt-level = 0
@@ -31,7 +29,7 @@ codegen-units = 256
3129
rpath = false
3230

3331
[profile.release]
34-
opt-level = 'z'
32+
opt-level = 3
3533
debug = false
3634
lto = true
3735
codegen-units = 24
@@ -48,9 +46,3 @@ debug = true
4846
[profile.bench]
4947
opt-level = 3
5048
debug = false
51-
52-
[profile.wasm-release]
53-
inherits = "release"
54-
opt-level = 'z'
55-
lto = true
56-
codegen-units = 1

rust-toolchain.toml

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/app.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
//! ФУНДАМЕНТ, ОСНОВА, БАЗА
2+
//!
3+
//! Хендлеры такие (сосал?):
4+
//! - `GET` /skin
5+
//! Options ->
6+
//! - body (цвет бадика в ddnet value) Optional
7+
//! - feet (цвет бадика в ddnet value) Optional
8+
//! - name (название скинчика) Optional (разделять пока не буду, ибо нахуй, так как там нет повторений)
9+
//! Если нихуя не будет, то шлём нахуй. ошибка 400 Bad Request
10+
//! - `GET` /uvs выдаём папку со всеми uvишками, пусть кайфуют, зеркало же хули
11+
//! - `GET` /health выписывает инфу о: Когда был и будет rsync, текущие TTL с названием, цветом
12+
//!
13+
//! Пример запроса:
14+
//! https:://cdn.sasno.tv/skin?&body=322&feet=322&name=пацан_ваще_качает
15+
//!
16+
//! почему не /skin/{name}, а хули нет?
17+
//!
18+
//! Промежуточные слои...
19+
//! - Сбор статистики, кто, зачем
20+
//! - Мб рейтлимит
21+
//! - Бан лист (:))

src/cache.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
//! Кэш, чтобы постоянно не генерить одну и туже тишку. TTL (время жизни) 15 минут
2+
//!
3+
//! Запускаем таску, которая раз в 15 минут коллектит. Юзаем CONDVAR
4+
//!
5+
//! Храним не в опере, а на диске или ты богатый? Ничё потерпят 20 мс, не опухнут.
6+
//!
7+
//! Папка - .cache
8+
//!
9+
//! В коде храним DashMap с <(name,Option<body_color>, Option<feet_color>): Path (absolut)>

src/main.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
pub mod app;
2+
pub mod cache;
3+
pub mod rsync;
4+
15
fn main() {
26
println!("bruh...");
37
}

src/rsync.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//! Таска для синхронизации скинов DDNet
2+
//!
3+
//! Спавним и синхронизируем раз в день, юзаем CONDVAR
4+
//!
5+
//! Папка - .store
6+
//!
7+
//! Нужно фетчить только сам skin и community, только файлы с mime - png, либо просто спарси эту страницу апатча
8+
//!
9+
//! https://ddnet.org/skins/skin/
10+
//! https://ddnet.org/skins/skin/community/

0 commit comments

Comments
 (0)