From 64d0874b0c635b36d9c4f14d2a91cf78c367514b Mon Sep 17 00:00:00 2001 From: RomkaZVO Date: Tue, 28 Jul 2026 23:48:58 +0800 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BE=D1=80=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0,=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=D0=B0=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=86=D0=B8=D1=8F,=20=D0=B8=D0=B7=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=20=D0=B4=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 184 +++++- config.ini | 10 + imgs/1.png | Bin 0 -> 185419 bytes imgs/2.png | Bin 0 -> 108636 bytes imgs/3.png | Bin 0 -> 73627 bytes imgs/4.png | Bin 0 -> 17436 bytes src/auth.c | 213 +++++- src/auth.h | 7 + src/check_token.c | 53 ++ src/config.c | 18 + src/config.h | 6 + src/fs.c | 10 +- src/fs.h | 3 +- src/main.c | 211 ++++-- src/render.c | 318 ++++++--- src/render.h | 1 + src/status.c | 55 +- src/utils.c | 5 +- style.css | 1610 ++++++++++++++++++++++++++++----------------- template.html | 155 +++-- 20 files changed, 2021 insertions(+), 838 deletions(-) create mode 100755 imgs/1.png create mode 100755 imgs/2.png create mode 100755 imgs/3.png create mode 100755 imgs/4.png create mode 100644 src/check_token.c diff --git a/README.md b/README.md index 3239f2a..9c83328 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,170 @@ -# 🗂️ Trashbox - Минималистичный файловый сервер +# Trashbox — Минималистичный CGI-файловый сервер + +Легковесный файлообменник на чистом C для Linux/Debian. Работает через связку **Nginx (Reverse Proxy)** + **BusyBox `httpd` (CGI Backend)**. +> **Примечания:**
1) Nginx опционален, нужен только если необходимен Reverse Proxy, например, для SSL.
+> 2) Зачем? Хотелось что-то легковесного, но сам я не погромист, потому был применён вайбкод подход, делал вместе с DeepSeek. Вдохновленно [этим](https://github.com/metalx1000/Directory-Index-for-httpd) проектом, но там есть нюанс, сурсы закрыты, а что-то такое от рута пускать такое себе.
+> 3) [Здесь](https://home.mashup.su) можно потыкать и посмотреть как работает.
+> 4) Нейрокод вряд-ли качественный, да и конечно же без багов никуда, есть issue, PR, кому это инетерсно, конечно.
+> 5) Активно (не очень) какаю в репу в своем [GitLab](https://git.mashup.su/RomkaZVO/Trashbox), а тут скорее просто результат. + +## Скриншоты: +### Главная страница (светлая тема) + +https://home.mashup.su/trashpics/1.png +### Тёмная тема + +https://home.mashup.su/trashpics/2.png +### Мобильная версия + +https://home.mashup.su/trashpics/3.png +### Форма пароля + +https://home.mashup.su/trashpics/4.png +## Полный список возможностей + +### Авторизация и безопасность +| № | Особенность| Примечание | +| :-: | :--- | :--- | +| **1** | **Пароль на папки** | Защита отдельных директорий через `.htpasswd`. | +| **2** | **POST-форма авторизации** | Безопасная передача пароля. | +| **3** | **Токены сессий** | Уникальные токены для доступа к защищённым разделам. | +| **4** | **Токен в localStorage** | Сохранение авторизации в браузере между переходами. | +| **5** | **Время жизни сессии** | Токен валиден **1 час**, после чего автоматически удаляется на сервере. | +| **6** | **Защита от брутфорса** | Лимит в **5 неудачных попыток** ввода пароля. | +| **7** | **Временный бан** | Блокировка доступа на **15 минут** при превышении лимита попыток. | + +### Навигация и работа с файлами +| № | Особенность| Примечание | +| :-: | :--- | :--- | +| **1** | **Навигация** | Удобная (вроде) навигационная цепочка. | +| **2** | **Просмотр директорий** | Наглядное отображение полного содержимого папок. | +| **3** | **Гибкая сортировка** | Сортировка по имени, размеру и дате. | +| **4** | **Поиск файлов** | Рекурсивный поиск по имени внутри текущей директории. | +| **5** | **Скачивание файлов** | Прямая выдача файлов. | +| **6** | **Предпросмотр** | Модальное окно для просмотра картинок, видео, аудио, PDF и текста. | +| **7** | **Копирование ссылок** | Быстрое копирование чистой прямой ссылки на файл или папку. | +| **8** | **Иконки типов файлов** | Наглядные эмодзи-иконки для разграничения форматов. | +| **9** | **Подсчет размера папок** | Рекурсивный расчет и отображение общего объема папки. | +| **10** | **Сводная статистика** | Подсчет количества файлов, папок и их суммарного размера. | + +### Интерфейс и UX +| № | Особенность| Примечание | +| :-: | :--- | :--- | +| **1** | **Адаптивный дизайн** | Полная оптимизация под ПК, планшеты и смартфоны. | +| **2** | **Тёмная / Светлая тема** | Переключение оформления с сохранением выбора. | +| **3** | **Сохранение контекста** | Навигация по хлебным крошкам без потери авторизации. | +| **4** | **Единая высота тулбара** | Одинаковый размер и стиль для элементов поиска и сортировки. | +| **5** | **Увеличенный UI на мобильных устройствах** | Крупные кнопки и элементы для удобного нажатия пальцами. | +| **6** | **Кнопка «Наверх»** | Быстрая прокрутка к началу страницы. | +| **7** | **Фиксированная сетка** | Фиксированная ширина иконок без «прыжков» верстки. | +| **8** | **Папки жирным шрифтом** | Визуальное отличие папок от файлов. | +| **9** | **Модальная авторизация** | Красивое окно запроса пароля при входе в закрытую папку. | + +### Мониторинг и логи +| № | Особенность| Примечание | +| :-: | :--- | :--- | +| **1** | **Статус сервера** | Показывает память BusyBox/Nginx и нагрузку CPU. | +| **2** | **Асинхронные метрики** | Подгрузка статистики без блокировки основного UI и сессии. | + +### Технические особенности +| № | Особенность| Примечание | +| :-: | :--- | :--- | +| **1** | **Чистый C** | Без PHP/Python/Node.js, максимум производительности при минимуме зависимостей. | +| **2** | **Универсальный CGI** | Работает через CGI на любом веб-сервере. | +| **3** | **Оптимизация под BusyBox** | Идеально подходит для встраиваемых систем и домашних серверов. | +| **4** | **~2 МБ RAM** | Минимальное потребление оперативной памяти. | +| **5** | **Хранение токенов в `/tmp`** | Автоматическая очистка сессий при перезагрузке системы. | +| **6** | **Конфигурация `config.ini`** | Гибкая настройка путей и параметров без пересборки. | + +### Оптимизация для мобильных устройств +| № | Особенность| Примечание | +| :-: | :--- | :--- | +| **1** | **Крупные кнопки** | Размер тач-зон 38–44px для удобства клика пальцем. | +| **2** | **Скрытие даты** | На маленьких экранах дата скрыта, отображается только размер. | +| **3** | **Увеличенные иконки** | Значки 32px вместо мелких 20px. | +--- + +## Установка зависимостей -### Установка зависимостей ``` bash sudo apt update -sudo apt install nginx busybox gcc +sudo apt install nginx busybox gcc make ``` -### Настройка структуры -```bash -mkdir -p /home/romkazvo/www/cgi-bin -cd /home/romkazvo/www/cgi-bin -git clone https://git.mashup.su/RomkaZVO/Trashbox.git +--- + +## Настройка структуры и загрузка + +``` bash +mkdir -p /patch/to/www/cgi-bin +cd /patch/to/www/cgi-bin +git clone https://git.mashup.su/RomkaZVO/Trashbox.git . ``` -### Структура +--- + +## Структура + ``` bash cgi-bin/ ├── Makefile ├── config.ini ├── template.html ├── style.css -├── .htpasswd +├── .htpasswd # Файл с паролями для защищенных папок ├── src/ -│ ├── main.c -│ ├── config.c / config.h -│ ├── auth.c / auth.h -│ ├── fs.c / fs.h -│ ├── render.c / render.h -│ ├── utils.c / utils.h -│ ├── style.c -│ └── status.c -├── index.cgi -├── style.cgi -└── status.cgi -403 и 404 опционально в папку уровнем выше, чем cgi-bin +│ ├── main.c # Точка входа главного CGI-скрипта +│ ├── config.c / .h # Парсинг конфигурации (config.ini) +│ ├── auth.c / .h # Авторизация, сессии и защита от брутфорса +│ ├── fs.c / .h # Навигация по файловой системе и операции +│ ├── render.c / .h # Шаблонизатор и генерация HTML +│ ├── utils.c / .h # Вспомогательные функции (URL encoding, escape, форматирование) +│ ├── style.c # Выдача и кэширование CSS +│ └── status.c # Мониторинг системных ресурсов +├── index.cgi # Бинарник списка файлов / навигации +├── style.cgi # Бинарник отдачи стилей +└── status.cgi # Бинарник системной статистики ``` -### Компиляция CGI -```bash +> **Примечание:** Кастомные страницы ошибок 403.html и 404.html опционально размещаются на уровень выше cgi-bin - в /patch/to/www/. + +--- + +## Компиляция и установка +``` bash cd src make sudo make install ``` -### Конфигурация Nginx -Файл конфигурации `/etc/nginx/sites-available/trashbox`:
-Образец здесь [тык](https://git.mashup.su/RomkaZVO/Trashbox/src/branch/main/busybox_nginx_reverse.txt) +--- -### Запуск BusyBox -```bash -busybox httpd -p 127.0.0.1:8050 -h /home/romkazvo/www +## Конфигурация Nginx + +Создайте файл конфигурации /etc/nginx/sites-available/service. +Образец конфигурации доступен по ссылке: +[Конфигурация BusyBox + Nginx](https://git.mashup.su/RomkaZVO/Trashbox/src/branch/main/busybox_nginx_reverse.txt) + +Активация виртуального хоста: +``` bash +sudo ln -s /etc/nginx/sites-available/service /etc/nginx/sites-enabled/ +sudo nginx -t && sudo systemctl reload nginx ``` -### Папки с паролями -Создается папка, а для создания пароля нужно: -```bash -cat > /home/romkazvo/www/cgi-bin/.htpasswd << EOF -secret:mysecretpassword +--- + +## Запуск BusyBox + +Запуск фонового CGI-сервера: +``` bash +busybox httpd -p 127.0.0.1:8050 -h /patch/to/www +``` +--- + +## Настройка папок с паролями (.htpasswd) + +Папка создается обычным образом в файловой системе. Чтобы задать для нее пароль, добавьте запись в файл .htpasswd: +``` bash +cat >> /patch/to/www/cgi-bin/.htpasswd << EOF +secret_folder:mysecretpassword EOF ``` +--- + +### Лицензия +Ну это даже не смешно, это вайбкод проект, делайте что хотите, а если по нормальному, то GPLv3, но не обижусь если что-то и проприектарное будет. diff --git a/config.ini b/config.ini index 0fa3a68..b1086b2 100755 --- a/config.ini +++ b/config.ini @@ -18,3 +18,13 @@ text = txt,md,html,htm,css,js,json,xml,csv audio = mp3,wav,ogg,flac,m4a,aac video = mp4,webm,ogv,mov,avi,mkv pdf = pdf + +[security] +cookie_name = folder_auth +cookie_lifetime = 3600 +max_attempts = 5 +block_time = 900 + +[logging] +enable = 1 +log_file = /home/romkazvo/www/cgi-bin/logs/access.log diff --git a/imgs/1.png b/imgs/1.png new file mode 100755 index 0000000000000000000000000000000000000000..47bd1345e78a5570252c13e0ef7bd78e939a6ee9 GIT binary patch literal 185419 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 H7q0(LMC`y1 literal 0 HcmV?d00001 diff --git a/imgs/2.png b/imgs/2.png new file mode 100755 index 0000000000000000000000000000000000000000..37302931713591049cb619cd56bfd9cead90ec65 GIT binary patch literal 108636 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 literal 0 HcmV?d00001 diff --git a/imgs/3.png b/imgs/3.png new file mode 100755 index 0000000000000000000000000000000000000000..1083fc5a7f4aeb544ca5bd1d6744fe4d52f0d712 GIT binary patch literal 73627 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 Q{0a(v`TC{2i&ppl2g7u-)Bpeg literal 0 HcmV?d00001 diff --git a/src/auth.c b/src/auth.c index 1f8cedb..eba8a51 100644 --- a/src/auth.c +++ b/src/auth.c @@ -1,13 +1,29 @@ #include +#include #include +#include +#include +#include +#include #include "auth.h" #include "config.h" +#include "utils.h" + +#define TOKEN_DIR "/tmp/trashbox_tokens" +#define TOKEN_SALT "TrashBoxSecretSalt2024" + +// ============================================ +// ПРОВЕРКА ПАРОЛЯ +// ============================================ int check_folder_password(const char *folder_name, const char *password) { if (!password || !folder_name || password[0] == '\0') return 0; FILE *f = fopen(g_config.passwd_file, "r"); - if (!f) return 1; + if (!f) { + fprintf(stderr, "DEBUG: cannot open passwd file: %s\n", g_config.passwd_file); + return 0; + } char line[512]; while (fgets(line, sizeof(line), f)) { @@ -19,13 +35,14 @@ int check_folder_password(const char *folder_name, const char *password) { char *pass = colon + 1; const char *last_slash = strrchr(folder_name, '/'); const char *base_name = last_slash ? last_slash + 1 : folder_name; + if (strcmp(folder, folder_name) == 0 || strcmp(folder, base_name) == 0) { fclose(f); return strcmp(pass, password) == 0; } } fclose(f); - return 1; + return 0; } int is_folder_protected(const char *folder_path) { @@ -50,3 +67,195 @@ int is_folder_protected(const char *folder_path) { fclose(f); return 0; } + +// ============================================ +// ЛИМИТ ПОПЫТОК +// ============================================ + +void get_attempts_file(char *buf, size_t size, const char *folder_name, const char *ip) { + char safe_folder[256]; + strncpy(safe_folder, folder_name, sizeof(safe_folder) - 1); + safe_folder[sizeof(safe_folder) - 1] = '\0'; + for (char *p = safe_folder; *p; p++) { + if (*p == '/' || *p == '\\' || *p == '.') *p = '_'; + } + snprintf(buf, size, "/tmp/trashbox_attempts_%s_%s", safe_folder, ip); +} + +int check_attempts(const char *folder_name, const char *ip) { + if (!folder_name || !ip) return 0; + + char attempts_file[256]; + get_attempts_file(attempts_file, sizeof(attempts_file), folder_name, ip); + + FILE *f = fopen(attempts_file, "r"); + if (!f) return 0; + + int attempts; + time_t first_attempt_time; + + if (fscanf(f, "%d %ld", &attempts, &first_attempt_time) != 2) { + fclose(f); + return 0; + } + fclose(f); + + time_t now = time(NULL); + if (now - first_attempt_time > g_config.block_time) { + unlink(attempts_file); + return 0; + } + + return attempts >= g_config.max_attempts; +} + +void add_attempt(const char *folder_name, const char *ip) { + if (!folder_name || !ip) return; + + char attempts_file[256]; + get_attempts_file(attempts_file, sizeof(attempts_file), folder_name, ip); + + int attempts = 0; + time_t first_attempt_time = time(NULL); + + FILE *f = fopen(attempts_file, "r"); + if (f) { + fscanf(f, "%d %ld", &attempts, &first_attempt_time); + fclose(f); + attempts++; + } else { + attempts = 1; + } + + f = fopen(attempts_file, "w"); + if (f) { + fprintf(f, "%d %ld\n", attempts, first_attempt_time); + fclose(f); + } +} + +void clear_attempts(const char *folder_name, const char *ip) { + if (!folder_name || !ip) return; + + char attempts_file[256]; + get_attempts_file(attempts_file, sizeof(attempts_file), folder_name, ip); + unlink(attempts_file); +} + +// ============================================ +// ТОКЕНЫ +// ============================================ + +char* generate_token(const char *path) { + // ============================================ + // ФИНАЛЬНЫЙ ФИКС: очищаем путь от любых нежелательных символов + // ============================================ + char clean_path[1024]; + strncpy(clean_path, path, sizeof(clean_path) - 1); + clean_path[sizeof(clean_path) - 1] = '\0'; + + // Удаляем всё после '%' и другие нежелательные символы + char *p = clean_path; + while (*p) { + if (*p == '%' || *p == '\n' || *p == '\r') { + *p = '\0'; + break; + } + p++; + } + + // Если путь пустой — используем "default" + if (clean_path[0] == '\0') { + strcpy(clean_path, "default"); + } + + mkdir(TOKEN_DIR, 0700); + + time_t now = time(NULL); + char input[1024]; + snprintf(input, sizeof(input), "%ld_%s_%s", now, clean_path, TOKEN_SALT); + + unsigned long hash = 0; + for (int i = 0; input[i]; i++) { + hash = hash * 31 + input[i]; + } + + char token[256]; + snprintf(token, sizeof(token), "%lx_%ld", hash, now); + + char token_file[512]; + snprintf(token_file, sizeof(token_file), "%s/%s", TOKEN_DIR, token); + + FILE *f = fopen(token_file, "w"); + if (!f) return NULL; + fprintf(f, "%s", clean_path); + fclose(f); + + return strdup(token); +} + +int check_token(const char *token, char *path, size_t path_size) { + if (!token || !token[0]) return 0; + + char token_file[512]; + snprintf(token_file, sizeof(token_file), "%s/%s", TOKEN_DIR, token); + + FILE *f = fopen(token_file, "r"); + if (!f) return 0; + + char stored_path[1024]; + if (fgets(stored_path, sizeof(stored_path), f) == NULL) { + fclose(f); + return 0; + } + fclose(f); + + stored_path[strcspn(stored_path, "\n")] = '\0'; + + // Обрезаем % в конце + char *pp = stored_path; + while (*pp) { + if (*pp == '%' || *pp == '\n' || *pp == '\r') { + *pp = '\0'; + break; + } + pp++; + } + + struct stat st; + if (stat(token_file, &st) != 0) return 0; + + time_t now = time(NULL); + if (now - st.st_mtime > 3600) { + unlink(token_file); + return 0; + } + + strncpy(path, stored_path, path_size - 1); + path[path_size - 1] = '\0'; + + return 1; +} + +void cleanup_old_tokens(void) { + DIR *dir = opendir(TOKEN_DIR); + if (!dir) return; + + struct dirent *entry; + time_t now = time(NULL); + + while ((entry = readdir(dir)) != NULL) { + if (entry->d_name[0] == '.') continue; + + char token_file[512]; + snprintf(token_file, sizeof(token_file), "%s/%s", TOKEN_DIR, entry->d_name); + + struct stat st; + if (stat(token_file, &st) == 0) { + if (now - st.st_mtime > 3600) { + unlink(token_file); + } + } + } + closedir(dir); +} \ No newline at end of file diff --git a/src/auth.h b/src/auth.h index f959f56..c5a1b91 100644 --- a/src/auth.h +++ b/src/auth.h @@ -3,5 +3,12 @@ int is_folder_protected(const char *folder_path); int check_folder_password(const char *folder_name, const char *password); +int check_attempts(const char *folder_name, const char *ip); +void add_attempt(const char *folder_name, const char *ip); +void clear_attempts(const char *folder_name, const char *ip); + +char* generate_token(const char *path); +int check_token(const char *token, char *path, size_t path_size); +void cleanup_old_tokens(void); #endif diff --git a/src/check_token.c b/src/check_token.c new file mode 100644 index 0000000..5522524 --- /dev/null +++ b/src/check_token.c @@ -0,0 +1,53 @@ +#include +#include +#include +#include +#include +#include + +#define TOKEN_DIR "/tmp/trashbox_tokens" + +int main() { + char *query_string = getenv("QUERY_STRING"); + if (!query_string) { + printf("Content-type: text/plain\n\ninvalid"); + return 0; + } + + char *token_start = strstr(query_string, "token="); + if (!token_start) { + printf("Content-type: text/plain\n\ninvalid"); + return 0; + } + + token_start += 6; + char *token_end = strchr(token_start, '&'); + int token_len = token_end ? (int)(token_end - token_start) : (int)strlen(token_start); + if (token_len <= 0 || token_len >= 256) { + printf("Content-type: text/plain\n\ninvalid"); + return 0; + } + + char token[256]; + strncpy(token, token_start, token_len); + token[token_len] = '\0'; + + char token_file[512]; + snprintf(token_file, sizeof(token_file), "%s/%s", TOKEN_DIR, token); + + struct stat st; + if (stat(token_file, &st) != 0) { + printf("Content-type: text/plain\n\ninvalid"); + return 0; + } + + time_t now = time(NULL); + if (now - st.st_mtime > 3600) { + unlink(token_file); + printf("Content-type: text/plain\n\ninvalid"); + return 0; + } + + printf("Content-type: text/plain\n\nvalid"); + return 0; +} diff --git a/src/config.c b/src/config.c index 7698fdc..97f6861 100644 --- a/src/config.c +++ b/src/config.c @@ -86,6 +86,18 @@ int load_config(const char *path) { else if (strcmp(key, "video") == 0) strncpy(g_config.preview_video, value, sizeof(g_config.preview_video) - 1); else if (strcmp(key, "pdf") == 0) strncpy(g_config.preview_pdf, value, sizeof(g_config.preview_pdf) - 1); } + else if (strcmp(current_section, "security") == 0) { + if (strcmp(key, "max_attempts") == 0) g_config.max_attempts = atoi(value); + else if (strcmp(key, "block_time") == 0) g_config.block_time = atoi(value); + } + else if (strcmp(current_section, "logging") == 0) { + if (strcmp(key, "enable") == 0) { + g_config.enable_access_log = atoi(value); + } else if (strcmp(key, "log_file") == 0) { + strncpy(g_config.log_file, value, sizeof(g_config.log_file) - 1); + g_config.log_file[sizeof(g_config.log_file) - 1] = '\0'; + } + } } fclose(f); @@ -104,6 +116,12 @@ void set_default_config(void) { strcpy(g_config.preview_audio, "mp3,wav,ogg,flac,m4a,aac"); strcpy(g_config.preview_video, "mp4,webm,ogv,mov,avi,mkv"); strcpy(g_config.preview_pdf, "pdf"); + + g_config.max_attempts = 5; + g_config.block_time = 900; + + strcpy(g_config.log_file, "/home/romkazvo/www/cgi-bin/logs/access.log"); + g_config.enable_access_log = 1; } int is_string_in_list(const char *str, const char *list) { diff --git a/src/config.h b/src/config.h index 8b1dacc..3a07b9a 100644 --- a/src/config.h +++ b/src/config.h @@ -15,6 +15,12 @@ typedef struct { char preview_audio[512]; char preview_video[512]; char preview_pdf[512]; + + int max_attempts; + int block_time; + + char log_file[1024]; + int enable_access_log; } config_t; extern config_t g_config; diff --git a/src/fs.c b/src/fs.c index 0921b70..0971555 100644 --- a/src/fs.c +++ b/src/fs.c @@ -124,8 +124,7 @@ void search_recursive(const char *base_path, const char *display_path, const cha if (stat(full_path, &file_stat) == 0) { if (my_strcasestr(entry->d_name, search_term) != NULL) { entry_t *result = &results[*count]; - strncpy(result->name, entry->d_name, sizeof(result->name) - 1); - result->name[sizeof(result->name) - 1] = '\0'; + snprintf(result->name, sizeof(result->name), "%s", entry->d_name); if (S_ISDIR(file_stat.st_mode)) { result->is_dir = 1; result->size = 0; @@ -135,7 +134,7 @@ void search_recursive(const char *base_path, const char *display_path, const cha strcpy(result->icon, "📁"); result->is_protected = 0; url_encode(display_subpath, result->encoded_path, sizeof(result->encoded_path)); - strncpy(result->file_url, display_subpath, sizeof(result->file_url) - 1); + snprintf(result->file_url, sizeof(result->file_url), "%s", display_subpath); (*count)++; } else if (S_ISREG(file_stat.st_mode)) { result->is_dir = 0; @@ -146,7 +145,7 @@ void search_recursive(const char *base_path, const char *display_path, const cha strcpy(result->icon, get_file_icon(entry->d_name)); result->is_protected = 0; url_encode(display_subpath, result->encoded_path, sizeof(result->encoded_path)); - strncpy(result->file_url, display_subpath, sizeof(result->file_url) - 1); + snprintf(result->file_url, sizeof(result->file_url), "%s", display_subpath); (*count)++; } } @@ -161,8 +160,10 @@ void search_recursive(const char *base_path, const char *display_path, const cha int compare_entries_sorted(const void *a, const void *b) { const entry_t *entryA = (const entry_t *)a; const entry_t *entryB = (const entry_t *)b; + if (entryA->is_dir && !entryB->is_dir) return -1; if (!entryA->is_dir && entryB->is_dir) return 1; + int result = 0; if (strcmp(g_params.sort_by, "size") == 0) { long long sizeA = entryA->is_dir ? entryA->dir_size : entryA->size; @@ -173,5 +174,6 @@ int compare_entries_sorted(const void *a, const void *b) { } else { result = strcasecmp(entryA->name, entryB->name); } + return result * g_params.sort_order; } diff --git a/src/fs.h b/src/fs.h index ee43d6f..1fb901c 100644 --- a/src/fs.h +++ b/src/fs.h @@ -9,7 +9,7 @@ typedef struct { long size; char icon[8]; char encoded_path[1024]; - char file_url[1024]; + char file_url[2048]; int is_protected; time_t mtime; int file_count; @@ -21,6 +21,7 @@ typedef struct { int sort_order; char search[256]; int recursive; + char view[16]; } query_params_t; extern query_params_t g_params; diff --git a/src/main.c b/src/main.c index fa916db..f90d953 100644 --- a/src/main.c +++ b/src/main.c @@ -21,13 +21,146 @@ int main() { g_params.sort_order = 1; g_params.search[0] = '\0'; g_params.recursive = 0; + strcpy(g_params.view, "list"); + char *method = getenv("REQUEST_METHOD"); char *query_string = getenv("QUERY_STRING"); + char *remote_addr = getenv("REMOTE_ADDR"); + if (!remote_addr) remote_addr = "unknown"; + char display_path[1024] = ""; char safe_display_path[1024] = ""; char base_path[1024]; strcpy(base_path, g_config.base_path); + // ============================================ + // ОБРАБОТКА POST (пароль через форму) + // ============================================ + if (method && strcmp(method, "POST") == 0) { + char *content_length_str = getenv("CONTENT_LENGTH"); + if (content_length_str) { + int content_length = atoi(content_length_str); + if (content_length > 0 && content_length < 65536) { + char *post_data = malloc(content_length + 1); + if (post_data) { + int read_len = fread(post_data, 1, content_length, stdin); + post_data[read_len] = '\0'; + + char post_path[1024] = ""; + char post_password[256] = ""; + + char *p = post_data; + while (*p) { + if (strncmp(p, "path=", 5) == 0) { + p += 5; + char *end = strchr(p, '&'); + int len = end ? (int)(end - p) : (int)strlen(p); + if (len > 0 && len < (int)sizeof(post_path) - 1) { + char encoded[1024]; + strncpy(encoded, p, len); + encoded[len] = '\0'; + url_decode_enhanced(encoded, post_path, sizeof(post_path)); + } + p += len; + if (*p == '&') p++; + } else if (strncmp(p, "password=", 9) == 0) { + p += 9; + char *end = strchr(p, '&'); + int len = end ? (int)(end - p) : (int)strlen(p); + if (len > 0 && len < (int)sizeof(post_password) - 1) { + char encoded[256]; + strncpy(encoded, p, len); + encoded[len] = '\0'; + url_decode_enhanced(encoded, post_password, sizeof(post_password)); + } + p += len; + if (*p == '&') p++; + } else { + p++; + } + } + + free(post_data); + + fprintf(stderr, "DEBUG POST: path='%s', password='%s'\n", post_path, post_password); + + if (post_path[0] && post_password[0]) { + if (check_attempts(post_path, remote_addr)) { + char encoded_path[1024]; + url_encode(post_path, encoded_path, sizeof(encoded_path)); + printf("Status: 302 Found\r\n"); + printf("Location: /cgi-bin/index.cgi?path=%s&error=blocked\r\n\r\n", encoded_path); + return 0; + } + + const char *last_slash = strrchr(post_path, '/'); + const char *folder_name = last_slash ? last_slash + 1 : post_path; + + fprintf(stderr, "DEBUG: checking folder='%s'\n", folder_name); + + if (check_folder_password(folder_name, post_password)) { + fprintf(stderr, "DEBUG: password OK!\n"); + clear_attempts(post_path, remote_addr); + + char encoded_path[1024]; + url_encode(post_path, encoded_path, sizeof(encoded_path)); + + char clean_path[1024]; + strncpy(clean_path, post_path, sizeof(clean_path) - 1); + clean_path[sizeof(clean_path) - 1] = '\0'; + + char *pp = clean_path; + while (*pp) { + if (*pp == '%') { + *pp = '\0'; + break; + } + pp++; + } + + fprintf(stderr, "DEBUG: clean_path before token = '%s'\n", clean_path); + + char *token = generate_token(clean_path); + if (token) { + fprintf(stderr, "DEBUG: token generated: %s\n", token); + // ============================================ + // РЕДИРЕКТ С ТОКЕНОМ + // ============================================ + printf("Status: 302 Found\r\n"); + printf("Location: /cgi-bin/index.cgi?path=%s&token=%s\r\n", encoded_path, token); + printf("\r\n"); + free(token); + return 0; + } else { + fprintf(stderr, "DEBUG: token generation failed\n"); + printf("Status: 302 Found\r\n"); + printf("Location: /cgi-bin/index.cgi?path=%s\r\n", encoded_path); + printf("\r\n"); + return 0; + } + } else { + fprintf(stderr, "DEBUG: password FAILED!\n"); + add_attempt(post_path, remote_addr); + + char encoded_path[1024]; + url_encode(post_path, encoded_path, sizeof(encoded_path)); + + printf("Status: 302 Found\r\n"); + printf("Location: /cgi-bin/index.cgi?path=%s&error=1\r\n", encoded_path); + printf("\r\n"); + return 0; + } + } else { + fprintf(stderr, "DEBUG: path or password empty!\n"); + } + } + } + } + } + + // ============================================ + // ОБРАБОТКА GET + // ============================================ if (query_string) { char *path_start = strstr(query_string, "path="); if (path_start) { @@ -61,6 +194,27 @@ int main() { } } + char *order_start = strstr(query_string, "order="); + if (order_start) { + order_start += 6; + if (*order_start == '1') { + g_params.sort_order = 1; + } else if (*order_start == '-') { + g_params.sort_order = -1; + } + } + + char *view_start = strstr(query_string, "view="); + if (view_start) { + view_start += 5; + char *view_end = strchr(view_start, '&'); + int view_len = view_end ? (int)(view_end - view_start) : (int)strlen(view_start); + if (view_len > 0 && view_len < (int)sizeof(g_params.view) - 1) { + strncpy(g_params.view, view_start, view_len); + g_params.view[view_len] = '\0'; + } + } + char *search_start = strstr(query_string, "search="); if (search_start) { search_start += 7; @@ -76,57 +230,16 @@ int main() { } } } - - // Обработка пароля (без кук) - if (strstr(query_string, "password=")) { - char *error = strstr(query_string, "error=1"); - if (!error) { - char folder_name[256] = ""; - if (display_path[0]) { - char *last_slash = strrchr(display_path, '/'); - if (last_slash) strcpy(folder_name, last_slash + 1); - else strcpy(folder_name, display_path); - if (is_folder_protected(folder_name)) { - char *pass_start = strstr(query_string, "password="); - if (pass_start) { - pass_start += 9; - char *pass_end = strchr(pass_start, '&'); - int pass_len = pass_end ? (int)(pass_end - pass_start) : (int)strlen(pass_start); - if (pass_len > 0 && pass_len < 256) { - char pass_buf[256]; - strncpy(pass_buf, pass_start, pass_len); - pass_buf[pass_len] = '\0'; - char decoded_pass[256]; - url_decode_enhanced(pass_buf, decoded_pass, sizeof(decoded_pass)); - if (decoded_pass[0] == '\0') { - char encoded_path[1024]; - url_encode(display_path, encoded_path, sizeof(encoded_path)); - printf("Status: 302 Found\r\n"); - printf("Location: /cgi-bin/index.cgi?path=%s&error=1\r\n\r\n", encoded_path); - return 0; - } - if (!check_folder_password(folder_name, decoded_pass)) { - char encoded_path[1024]; - url_encode(display_path, encoded_path, sizeof(encoded_path)); - printf("Status: 302 Found\r\n"); - printf("Location: /cgi-bin/index.cgi?path=%s&error=1\r\n\r\n", encoded_path); - return 0; - } - } else { - char encoded_path[1024]; - url_encode(display_path, encoded_path, sizeof(encoded_path)); - printf("Status: 302 Found\r\n"); - printf("Location: /cgi-bin/index.cgi?path=%s&error=1\r\n\r\n", encoded_path); - return 0; - } - } - } - } - } - } + } + + static time_t last_cleanup = 0; + time_t now = time(NULL); + if (now - last_cleanup > 3600) { + cleanup_old_tokens(); + last_cleanup = now; } printf("Content-type: text/html; charset=utf-8\n\n"); print_template(base_path, display_path); return 0; -} +} \ No newline at end of file diff --git a/src/render.c b/src/render.c index a4eda9a..644576f 100644 --- a/src/render.c +++ b/src/render.c @@ -32,9 +32,35 @@ void buffer_append(buffer_t *buf, const char *str) { void buffer_free(buffer_t *buf) { free(buf->data); } +void get_token_part(char *buf, size_t size) { + buf[0] = '\0'; + char *query_string = getenv("QUERY_STRING"); + if (!query_string) return; + + char *token_start = strstr(query_string, "token="); + if (!token_start) return; + + token_start += 6; + char *token_end = strchr(token_start, '&'); + int token_len = token_end ? (int)(token_end - token_start) : (int)strlen(token_start); + if (token_len > 0 && token_len < (int)size - 1) { + strncpy(buf, token_start, token_len); + buf[token_len] = '\0'; + } +} + void print_breadcrumb(buffer_t *buf, const char *display_path) { + char token_part[256] = ""; + get_token_part(token_part, sizeof(token_part)); + buffer_append(buf, "
\n"); - buffer_append(buf, " 🏠 Главная"); + buffer_append(buf, " 🏠 Главная"); + if (display_path && display_path[0]) { char temp_path[1024] = ""; char encoded[2048]; @@ -47,9 +73,17 @@ void print_breadcrumb(buffer_t *buf, const char *display_path) { url_encode(temp_path, encoded, sizeof(encoded)); char safe_token[512]; html_escape(token, safe_token, sizeof(safe_token)); - char link[4096]; - snprintf(link, sizeof(link), "%s", encoded, safe_token); - buffer_append(buf, link); + + buffer_append(buf, ""); + buffer_append(buf, safe_token); + buffer_append(buf, ""); + token = strtok(NULL, "/"); } free(path_copy); @@ -58,6 +92,24 @@ void print_breadcrumb(buffer_t *buf, const char *display_path) { } void print_password_form(buffer_t *buf, const char *folder_name) { + char *remote_addr = getenv("REMOTE_ADDR"); + if (!remote_addr) remote_addr = "unknown"; + + if (check_attempts(folder_name, remote_addr)) { + buffer_append(buf, "
\n"); + buffer_append(buf, "
\n"); + buffer_append(buf, "
🚫
\n"); + buffer_append(buf, "

Доступ заблокирован

\n"); + buffer_append(buf, "

Слишком много неудачных попыток. Подождите 15 минут.

\n"); + buffer_append(buf, " ← Вернуться на главную\n"); + buffer_append(buf, "
\n"); + buffer_append(buf, "
\n"); + return; + } + + char encoded_path[1024]; + url_encode(folder_name, encoded_path, sizeof(encoded_path)); + buffer_append(buf, "
\n"); buffer_append(buf, "
\n"); buffer_append(buf, "
🔒
\n"); @@ -67,16 +119,15 @@ void print_password_form(buffer_t *buf, const char *folder_name) { html_escape(folder_name, safe_name, sizeof(safe_name)); buffer_append(buf, safe_name); buffer_append(buf, "

\n"); - buffer_append(buf, "
\n"); + buffer_append(buf, " \n"); buffer_append(buf, " \n"); - buffer_append(buf, " \n"); + buffer_append(buf, " \n"); buffer_append(buf, " \n"); buffer_append(buf, "
\n"); buffer_append(buf, "

"); + char *query_string = getenv("QUERY_STRING"); if (query_string && strstr(query_string, "error=1")) { buffer_append(buf, "❌ Неверный пароль! Попробуйте снова."); @@ -88,60 +139,83 @@ void print_password_form(buffer_t *buf, const char *folder_name) { } void print_content(buffer_t *buf, const char *base_path, const char *display_path) { + fprintf(stderr, "DEBUG: print_content START, display_path='%s'\n", display_path ? display_path : "(null)"); + + // ============================================ + // ОБЪЯВЛЯЕМ entries В НАЧАЛЕ ФУНКЦИИ + // ============================================ DIR *dir; struct dirent *entry; struct stat file_stat; char full_path[1024]; - entry_t *entries = malloc(sizeof(entry_t) * g_config.max_entries); - if (!entries) { - buffer_append(buf, "

Ошибка выделения памяти
"); - return; - } + entry_t *entries = NULL; int entry_count = 0, dir_count = 0, file_count = 0; long long total_size = 0; int is_recursive_search = 0; + char *remote_addr = getenv("REMOTE_ADDR"); + if (!remote_addr) remote_addr = "unknown"; - // === ПАРСИМ ПАРОЛЬ ДО ВСЕГО ОСТАЛЬНОГО === - char folder_name[256] = ""; - char *password = NULL; char *query_string = getenv("QUERY_STRING"); + int is_root = 0; + if (!query_string || !strstr(query_string, "path=")) { + fprintf(stderr, "DEBUG: no path=, rendering root\n"); + is_root = 1; + } - if (query_string) { - char *pass_start = strstr(query_string, "password="); - if (pass_start) { - pass_start += 9; - char *pass_end = strchr(pass_start, '&'); - int pass_len = pass_end ? (int)(pass_end - pass_start) : (int)strlen(pass_start); - if (pass_len > 0 && pass_len < 256) { - char pass_buf[256]; - strncpy(pass_buf, pass_start, pass_len); - pass_buf[pass_len] = '\0'; - char decoded_pass[256]; - url_decode_enhanced(pass_buf, decoded_pass, sizeof(decoded_pass)); - password = decoded_pass; + char token_part[256] = ""; + get_token_part(token_part, sizeof(token_part)); + fprintf(stderr, "DEBUG: token_part='%s'\n", token_part); + + int has_valid_token = 0; + + if (!is_root && query_string) { + char *token_start = strstr(query_string, "token="); + if (token_start) { + token_start += 6; + char *token_end = strchr(token_start, '&'); + int token_len = token_end ? (int)(token_end - token_start) : (int)strlen(token_start); + if (token_len > 0 && token_len < 256) { + char token[256]; + strncpy(token, token_start, token_len); + token[token_len] = '\0'; + + char token_path[1024]; + if (check_token(token, token_path, sizeof(token_path))) { + if (strcmp(token_path, display_path) == 0) { + has_valid_token = 1; + fprintf(stderr, "DEBUG: valid token for '%s'\n", display_path); + } + } } } } - if (display_path && display_path[0]) { + if (!is_root && !has_valid_token && display_path && display_path[0]) { char *last_slash = strrchr(display_path, '/'); - if (last_slash) strcpy(folder_name, last_slash + 1); - else strcpy(folder_name, display_path); - } - - // === ОТЛАДКА === - fprintf(stderr, "DEBUG: folder_name = '%s'\n", folder_name); - fprintf(stderr, "DEBUG: password = '%s'\n", password ? password : "NULL"); - if (password) { - fprintf(stderr, "DEBUG: check_folder_password = %d\n", check_folder_password(folder_name, password)); - } - - if (is_folder_protected(folder_name)) { - if (!password || !check_folder_password(folder_name, password)) { + char *folder_name = last_slash ? last_slash + 1 : (char*)display_path; + + if (query_string && strstr(query_string, "error=1")) { + fprintf(stderr, "DEBUG: error=1, showing password form\n"); print_password_form(buf, folder_name); - free(entries); return; } + + if (is_folder_protected(folder_name)) { + fprintf(stderr, "DEBUG: no valid token, showing password form\n"); + // Добавляем скрипт очистки localStorage + buffer_append(buf, "\n"); + print_password_form(buf, folder_name); + return; + } + } + + // ============================================ + // ВЫДЕЛЯЕМ ПАМЯТЬ ДЛЯ entries + // ============================================ + entries = malloc(sizeof(entry_t) * g_config.max_entries); + if (!entries) { + buffer_append(buf, "
Ошибка выделения памяти
"); + return; } if (g_params.search[0] != '\0') { @@ -184,15 +258,15 @@ void print_content(buffer_t *buf, const char *base_path, const char *display_pat dir = opendir(alt_path); if (!dir) { buffer_append(buf, "
\n"); - buffer_append(buf, "
📁
\n"); - char *display_base = strstr(base_path, "/www/"); - if (!display_base) display_base = (char*)base_path; - buffer_append(buf, "

Ошибка открытия: "); - buffer_append(buf, display_base); - buffer_append(buf, "

\n"); - buffer_append(buf, "

Папка не найдена

\n"); - buffer_append(buf, "

← Вернуться на главную

\n"); - buffer_append(buf, "
\n"); + buffer_append(buf, "
📁
\n"); + char *display_base = strstr(base_path, "/www/"); + if (!display_base) display_base = (char*)base_path; + buffer_append(buf, "

Ошибка открытия директории: "); + buffer_append(buf, display_base); + buffer_append(buf, "

\n"); + buffer_append(buf, "

Папка не найдена

\n"); + buffer_append(buf, "

← Вернуться на главную

\n"); + buffer_append(buf, "
\n"); free(entries); return; } @@ -210,8 +284,7 @@ void print_content(buffer_t *buf, const char *base_path, const char *display_pat if (hidden) continue; snprintf(full_path, sizeof(full_path), "%s/%s", base_path, entry->d_name); if (stat(full_path, &file_stat) == 0) { - strncpy(entries[entry_count].name, entry->d_name, sizeof(entries[0].name) - 1); - entries[entry_count].name[sizeof(entries[0].name) - 1] = '\0'; + snprintf(entries[entry_count].name, sizeof(entries[0].name), "%s", entry->d_name); if (S_ISDIR(file_stat.st_mode)) { entries[entry_count].is_dir = 1; entries[entry_count].size = 0; @@ -240,7 +313,9 @@ void print_content(buffer_t *buf, const char *base_path, const char *display_pat entries[entry_count].is_protected = 0; char encoded_filename[1024]; url_encode(entry->d_name, encoded_filename, sizeof(encoded_filename)); - snprintf(entries[entry_count].file_url, sizeof(entries[0].file_url), "%s%s%s", display_path, display_path[0] ? "/" : "", encoded_filename); + char temp_url[2048]; + snprintf(temp_url, sizeof(temp_url), "%s%s%s", display_path, display_path[0] ? "/" : "", encoded_filename); + snprintf(entries[entry_count].file_url, sizeof(entries[0].file_url), "%s", temp_url); total_size += file_stat.st_size; file_count++; } else { @@ -260,42 +335,92 @@ void print_content(buffer_t *buf, const char *base_path, const char *display_pat return; } } + qsort(entries, entry_count, sizeof(entry_t), compare_entries_sorted); + char encoded_path[1024]; url_encode(display_path, encoded_path, sizeof(encoded_path)); char safe_search[512]; html_escape(g_params.search, safe_search, sizeof(safe_search)); + + int next_order = g_params.sort_order * -1; + char order_str[4]; + snprintf(order_str, sizeof(order_str), "%d", next_order); + + char active_name[64] = ""; + char active_size[64] = ""; + char active_date[64] = ""; + if (strcmp(g_params.sort_by, "name") == 0) { strcpy(active_name, " active"); } + else if (strcmp(g_params.sort_by, "size") == 0) { strcpy(active_size, " active"); } + else if (strcmp(g_params.sort_by, "date") == 0) { strcpy(active_date, " active"); } + + char arrow[8] = ""; + if (g_params.sort_order == 1) strcpy(arrow, "🔽"); + else strcpy(arrow, "🔼"); + + char link_with_token[512]; + if (token_part[0]) { + snprintf(link_with_token, sizeof(link_with_token), "&%s", token_part); + } else { + link_with_token[0] = '\0'; + } + buffer_append(buf, "
\n"); buffer_append(buf, "
\n"); buffer_append(buf, "
\n"); buffer_append(buf, " \n"); - buffer_append(buf, " \n"); + } + buffer_append(buf, " \n"); buffer_append(buf, " \n"); buffer_append(buf, "
\n"); buffer_append(buf, "
\n"); - buffer_append(buf, "
\n"); - buffer_append(buf, " Сортировка:\n"); + buffer_append(buf, "
\n"); + buffer_append(buf, " Сорт.\n"); + buffer_append(buf, " 📝 Имя\n"); + buffer_append(buf, "&sort=name&order="); + buffer_append(buf, order_str); + buffer_append(buf, link_with_token); + buffer_append(buf, "\" class=\"sort-btn"); + buffer_append(buf, active_name); + buffer_append(buf, "\">📝 Имя "); + if (strcmp(g_params.sort_by, "name") == 0) buffer_append(buf, arrow); + buffer_append(buf, "\n"); + buffer_append(buf, " 📊 Размер\n"); + buffer_append(buf, "&sort=size&order="); + buffer_append(buf, order_str); + buffer_append(buf, link_with_token); + buffer_append(buf, "\" class=\"sort-btn"); + buffer_append(buf, active_size); + buffer_append(buf, "\">📊 Размер "); + if (strcmp(g_params.sort_by, "size") == 0) buffer_append(buf, arrow); + buffer_append(buf, "\n"); + buffer_append(buf, " 📅 Дата\n"); + buffer_append(buf, "&sort=date&order="); + buffer_append(buf, order_str); + buffer_append(buf, link_with_token); + buffer_append(buf, "\" class=\"sort-btn"); + buffer_append(buf, active_date); + buffer_append(buf, "\">📅 Дата "); + if (strcmp(g_params.sort_by, "date") == 0) buffer_append(buf, arrow); + buffer_append(buf, "\n"); + buffer_append(buf, "
\n"); buffer_append(buf, "
\n"); + if (is_recursive_search) { buffer_append(buf, "
"); buffer_append(buf, "🔍 Результаты поиска по всему сайту: "); @@ -304,6 +429,7 @@ void print_content(buffer_t *buf, const char *base_path, const char *display_pat buffer_append(buf, tmp); buffer_append(buf, " файлов/папок найдено
\n"); } + buffer_append(buf, "
\n"); } else { buffer_append(buf, "
\n"); - char dir_link[512]; - snprintf(dir_link, sizeof(dir_link), - " \n", - entries[i].encoded_path); - buffer_append(buf, dir_link); + buffer_append(buf, " \n"); buffer_append(buf, " "); buffer_append(buf, entries[i].icon); buffer_append(buf, "\n"); @@ -377,6 +517,10 @@ void print_content(buffer_t *buf, const char *base_path, const char *display_pat buffer_append(buf, "
\n"); buffer_append(buf, " \n"); if (entries[i].dir_size > 0) { char size_str[32]; @@ -473,14 +617,18 @@ void print_content(buffer_t *buf, const char *base_path, const char *display_pat buffer_append(buf, stats); } free(entries); + fprintf(stderr, "DEBUG: print_content END\n"); } void print_template(const char *base_path, const char *display_path) { FILE *file = fopen(g_config.template_path, "r"); if (!file) { + fprintf(stderr, "DEBUG: cannot open template: %s\n", g_config.template_path); printf("Error: Cannot read template\n"); return; } + fprintf(stderr, "DEBUG: template opened successfully\n"); + buffer_t output; buffer_init(&output); char line[4096]; @@ -494,6 +642,16 @@ void print_template(const char *base_path, const char *display_path) { } } fclose(file); + + fprintf(stderr, "DEBUG: output size = %zu bytes\n", output.size); + if (output.size == 0) { + fprintf(stderr, "DEBUG: WARNING! output is empty!\n"); + buffer_free(&output); + return; + } fwrite(output.data, 1, output.size, stdout); + fflush(stdout); + fprintf(stderr, "DEBUG: fwrite done, flushed\n"); + buffer_free(&output); } diff --git a/src/render.h b/src/render.h index 12a0752..0b38b6b 100644 --- a/src/render.h +++ b/src/render.h @@ -13,5 +13,6 @@ void buffer_init(buffer_t *buf); void buffer_append(buffer_t *buf, const char *str); void buffer_free(buffer_t *buf); void print_template(const char *base_path, const char *display_path); +void render_folder(buffer_t *buf, const char *base_path, const char *display_path); #endif diff --git a/src/status.c b/src/status.c index a674bdc..42a82ba 100644 --- a/src/status.c +++ b/src/status.c @@ -1,3 +1,4 @@ +// /home/romkazvo/www/cgi-bin/src/status.c #include #include #include @@ -35,18 +36,62 @@ int get_process_memory(const char *process_name, long *memory_kb) { return result == 1; } +float get_cpu_load() { + FILE *fp = fopen("/proc/loadavg", "r"); + if (!fp) return 0.0f; + + float load; + fscanf(fp, "%f", &load); + fclose(fp); + + return load; +} + +void get_memory_usage(long *used_mb, long *total_mb) { + FILE *fp = fopen("/proc/meminfo", "r"); + if (!fp) { + *used_mb = 0; + *total_mb = 0; + return; + } + + char line[128]; + long total = 0, available = 0; + + while (fgets(line, sizeof(line), fp)) { + if (sscanf(line, "MemTotal: %ld kB", &total) == 1) { + // сохраняем + } else if (sscanf(line, "MemAvailable: %ld kB", &available) == 1) { + break; + } + } + fclose(fp); + + *total_mb = total / 1024; + *used_mb = (total - available) / 1024; +} + int main() { printf("Content-type: text/plain; charset=utf-8\n\n"); long busybox_kb = 0, nginx_kb = 0; - get_process_memory("busybox", &busybox_kb); nginx_kb = get_nginx_memory(); - printf("BusyBox: %ld KB | Nginx: %ld MB | Всего: %.1f MB", - busybox_kb, - nginx_kb / 1024, - (busybox_kb + nginx_kb) / 1024.0); + double busybox_mb = busybox_kb / 1024.0; + double nginx_mb = nginx_kb / 1024.0; + double total_mb = busybox_mb + nginx_mb; + + float cpu_load = get_cpu_load(); + + long used_mb = 0, total_sys_mb = 0; + get_memory_usage(&used_mb, &total_sys_mb); + + // Две строки + printf("BusyBox: %.1f MB | Nginx: %.1f MB | Всего: %.1f MB\n", + busybox_mb, nginx_mb, total_mb); + printf("CPU Load: %.2f | Память: %ld / %ld MB (%.0f%%)", + cpu_load, used_mb, total_sys_mb, total_sys_mb > 0 ? (float)used_mb / total_sys_mb * 100 : 0); return 0; } diff --git a/src/utils.c b/src/utils.c index d1ee12d..b7caffe 100644 --- a/src/utils.c +++ b/src/utils.c @@ -80,6 +80,9 @@ void url_decode_enhanced(const char *src, char *dst, size_t dst_size) { } src += 3; } else { + // ============================================ + // ФИКС: если % не валидный — просто пропускаем его + // ============================================ src++; } } else if (*src == '+') { @@ -92,4 +95,4 @@ void url_decode_enhanced(const char *src, char *dst, size_t dst_size) { } } *p = '\0'; -} +} \ No newline at end of file diff --git a/style.css b/style.css index 7fdade0..98a550f 100755 --- a/style.css +++ b/style.css @@ -1,488 +1,519 @@ +/* ============================================ + БАЗА + ============================================ */ :root { --bg-primary: #f8f9fa; --bg-secondary: #ffffff; - --bg-header: linear-gradient(135deg, #667eea 0%, #764ba2 100%); - --text-primary: #333333; - --text-secondary: #5f6368; - --text-muted: #6c757d; - --border-color: #e9ecef; - --border-light: #f1f3f4; - --accent-blue: #1a73e8; - --accent-green: #188038; - --hover-bg: #f8f9fa; - --shadow: 0 2px 4px rgba(0,0,0,0.1); - /* === ПЕРЕМЕННЫЕ ДЛЯ МОДАЛКИ === */ - --modal-bg: #ffffff; - --modal-text: #333333; - --modal-header-bg: #f8f9fa; - --modal-border: #e9ecef; + --bg-header: linear-gradient(135deg, #2d3436, #636e72); + --text-primary: #2d3436; + --text-secondary: #636e72; + --text-muted: #b2bec3; + --border-color: #dfe6e9; + --border-light: #f1f2f6; + --accent-blue: #0984e3; + --accent-orange: #e17055; + --accent-green: #00b894; + --hover-bg: #f1f2f6; + --shadow: 0 4px 12px rgba(0,0,0,0.04); + --radius: 12px; } .dark-theme { - --bg-primary: #121212; - --bg-secondary: #1e1e1e; - --bg-header: linear-gradient(135deg, #4a5568 0%, #2d3748 100%); + --bg-primary: #1e1e1e; + --bg-secondary: #2d2d2d; + --bg-header: linear-gradient(135deg, #1e1e1e, #2d2d2d); --text-primary: #e0e0e0; - --text-secondary: #a0a0a0; - --text-muted: #888888; - --border-color: #2d3748; - --border-light: #2d3748; - --accent-blue: #63b3ed; - --accent-green: #68d391; - --hover-bg: #2d3748; - --shadow: 0 2px 4px rgba(0,0,0,0.3); - /* === ПЕРЕМЕННЫЕ ДЛЯ МОДАЛКИ В ТЁМНОЙ ТЕМЕ === */ - --modal-bg: #1e1e1e; - --modal-text: #e0e0e0; - --modal-header-bg: #2d3748; - --modal-border: #2d3748; + --text-secondary: #b0b0b0; + --text-muted: #6c6c6c; + --border-color: #3d3d3d; + --border-light: #333333; + --accent-blue: #74b9ff; + --accent-orange: #fdcb6e; + --accent-green: #55efc4; + --hover-bg: #3d3d3d; + --shadow: 0 4px 12px rgba(0,0,0,0.2); + --radius: 12px; } -body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; - background: var(--bg-primary); - color: var(--text-primary); +/* ============================================ + ТЕЛО + ============================================ */ +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background: var(--bg-primary); + color: var(--text-primary); line-height: 1.6; min-height: 100vh; - transition: none; + transition: background 0.25s ease, color 0.25s ease; } body.loaded * { - transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; + transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; } -.container { - max-width: 100%; - margin: 0 auto; - background: var(--bg-secondary); +/* ============================================ + КОНТЕЙНЕР + ============================================ */ +.container { + max-width: 100%; + margin: 0 auto; + background: var(--bg-secondary); min-width: 320px; min-height: 100vh; box-shadow: var(--shadow); + transition: background 0.25s ease, box-shadow 0.25s ease; } @media (min-width: 768px) { - .container { - max-width: 1000px; - margin: 10px auto; + .container { + max-width: 1100px; + margin: 16px auto; min-height: auto; - border-radius: 8px; + border-radius: var(--radius); overflow: hidden; + box-shadow: var(--shadow); } } -.theme-toggle { - position: fixed; - top: 10px; - right: 10px; - background: rgba(255,255,255,0.2); - border: none; - border-radius: 50%; - width: 50px; - height: 50px; - font-size: 1.3rem; - cursor: pointer; - z-index: 1000; - backdrop-filter: blur(10px); - display: flex; - align-items: center; - justify-content: center; - transition: all 0.3s ease; -} - -.dark-theme .theme-toggle { - background: rgba(0,0,0,0.2); - color: var(--text-primary); -} - -.scroll-top { - position: fixed; - bottom: 20px; - right: 20px; - width: 50px; - height: 50px; - background: var(--accent-blue); +/* ============================================ + ШАПКА + ============================================ */ +.header { + background: var(--bg-header); color: white; - border: none; - border-radius: 50%; - font-size: 1.3rem; - cursor: pointer; - opacity: 0; - visibility: hidden; - transition: all 0.3s ease; - z-index: 1000; - box-shadow: 0 2px 10px rgba(0,0,0,0.2); - display: flex; - align-items: center; - justify-content: center; -} - -.scroll-top.visible { - opacity: 1; - visibility: visible; -} - -.scroll-top:hover { - background: var(--accent-green); - transform: translateY(-2px); - box-shadow: 0 4px 15px rgba(0,0,0,0.3); -} - -.theme-toggle:hover { - transform: scale(1.1); - background: rgba(255,255,255,0.3); -} - -.dark-theme .theme-toggle:hover { - background: rgba(0,0,0,0.3); -} - -.header { - background: var(--bg-header); - color: white; - padding: 1.5rem 1rem; - text-align: center; + padding: 2rem 1.5rem; + text-align: center; position: relative; } -h1 { - font-size: 1.8rem; - font-weight: 700; - margin-bottom: 0.5rem; +.header h1 { + font-size: 2rem; + font-weight: 700; + margin: 0; + letter-spacing: -0.5px; } -.content { - padding: 1rem; - min-width: 0; +.header .subtitle { + opacity: 0.85; + font-size: 1.05rem; + margin-top: 0.25rem; + font-weight: 400; } -.breadcrumb { - background: var(--bg-primary); - padding: 1rem; - margin: 0 0 1rem 0; - border-bottom: 1px solid var(--border-color); - font-size: 0.9rem; - overflow-x: auto; +/* ============================================ + ОПИСАНИЕ (НЕ УВЕЛИЧИВАЕМ) + ============================================ */ +.site-description { + text-align: center; + padding: 0.75rem 1.5rem; + font-size: 1rem; + color: var(--text-secondary); + border-bottom: 1px solid var(--border-color); + background: var(--bg-primary); + font-weight: 400; + letter-spacing: 0.2px; +} + +/* ============================================ + ХЛЕБНЫЕ КРОШКИ + ============================================ */ +.breadcrumb { + background: var(--bg-primary); + padding: 0.6rem 1.25rem; + border-bottom: 1px solid var(--border-color); + font-size: 0.85rem; + overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; -} - -.breadcrumb a { - color: var(--accent-blue); - text-decoration: none; - font-weight: 500; - display: inline-block; -} - -.breadcrumb a:hover { - text-decoration: underline; -} - -ul { - list-style: none; - padding: 0; - margin: 0; -} - -li { - padding: 1rem 0.5rem; - border-bottom: 1px solid var(--border-light); - display: flex; + color: var(--text-secondary); + display: flex; align-items: center; + gap: 0.3rem; flex-wrap: nowrap; } -li:last-child { border-bottom: none; } - -li:hover { - background-color: var(--hover-bg); +.breadcrumb a { + color: var(--accent-blue); + text-decoration: none; + font-weight: 500; + transition: color 0.15s ease; + padding: 0.1rem 0.2rem; } -/* Стили для строки файла */ +.breadcrumb a:hover { + color: var(--accent-orange); + text-decoration: underline; +} + +.breadcrumb .separator { + color: var(--text-muted); + user-select: none; + font-weight: 300; + margin: 0 0.1rem; +} + +/* ============================================ + ТУЛБАР + ============================================ */ +.toolbar { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 0.5rem 1rem; + padding: 0.6rem 1.25rem; + background: var(--bg-secondary); + border-bottom: 1px solid var(--border-light); + transition: background 0.2s ease; +} + +/* Поиск */ +.search-box { + flex: 1 1 220px; + min-width: 150px; +} + +.search-box form { + display: flex; + gap: 0.4rem; + align-items: center; +} + +.search-box input[type="text"] { + flex: 1; + padding: 0.5rem 1rem; + border: 1.5px solid var(--border-color); + border-radius: 50px; + background: var(--bg-primary); + color: var(--text-primary); + font-size: 0.85rem; + transition: border-color 0.2s ease, box-shadow 0.2s ease; + outline: none; + min-width: 80px; + height: 38px; + box-sizing: border-box; +} + +.search-box input[type="text"]:focus { + border-color: var(--accent-blue); + box-shadow: 0 0 0 3px rgba(9, 132, 227, 0.12); +} + +.search-box button { + padding: 0 1.2rem; + background: var(--accent-blue); + color: white; + border: none; + border-radius: 50px; + cursor: pointer; + font-weight: 600; + font-size: 0.85rem; + transition: background 0.2s ease, transform 0.15s ease; + white-space: nowrap; + height: 38px; + display: inline-flex; + align-items: center; + justify-content: center; + box-sizing: border-box; +} + +.search-box button:hover { + background: var(--accent-orange); + transform: scale(1.02); +} + +/* Группы настроек */ +.settings-group { + display: flex; + align-items: center; + gap: 0.25rem; + flex-wrap: wrap; +} + +.settings-label { + color: var(--text-muted); + font-weight: 500; + font-size: 0.7rem; + text-transform: uppercase; + letter-spacing: 0.3px; + margin-right: 0.15rem; +} + +/* Разделитель между группами */ +.settings-divider { + width: 1px; + height: 30px; + background: var(--border-color); + margin: 0 0.25rem; +} + +@media (max-width: 768px) { + .settings-divider { + display: none; + } +} + +/* Кнопки вида и сортировки */ +.view-btn, +.sort-btn { + padding: 0 0.9rem; + background: transparent; + border: 1.5px solid var(--border-color); + border-radius: 50px; + color: var(--text-secondary); + font-size: 0.78rem; + cursor: pointer; + transition: all 0.15s ease; + font-weight: 500; + text-decoration: none; + display: inline-flex; + align-items: center; + justify-content: center; + height: 38px; + line-height: 1; + gap: 0.2rem; + box-sizing: border-box; + white-space: nowrap; +} + +.view-btn:hover, +.sort-btn:hover { + background: var(--hover-bg); + border-color: var(--accent-blue); + color: var(--text-primary); +} + +.view-btn.active, +.sort-btn.active { + background: var(--accent-blue); + color: white !important; + border-color: var(--accent-blue); +} + +.view-btn .icon, +.sort-btn .icon { + font-size: 0.85rem; + line-height: 1; +} + +/* Скрываем старый settings-row */ +.settings-row { + display: none !important; +} + +/* ============================================ + СПИСОК ФАЙЛОВ + ============================================ */ +ul { + list-style: none; + padding: 0; + margin: 0; +} + +li { + padding: 0.6rem 1.25rem; + border-bottom: 1px solid var(--border-light); + display: flex; + align-items: center; + flex-wrap: nowrap; + transition: background 0.15s ease; +} + +li:hover { + background: var(--hover-bg); +} + +li:last-child { + border-bottom: none; +} + +li.section-title { + color: var(--text-secondary); + font-size: 0.8rem; + font-weight: 600; + padding: 0.5rem 1.25rem; + border-bottom: 2px solid var(--border-color); + background: var(--bg-primary); + text-transform: uppercase; + letter-spacing: 0.5px; + margin-top: 0.5rem; +} + +li.section-title:first-of-type { + margin-top: 0; +} + +/* ============================================ + ФАЙЛОВАЯ СТРОКА — ФИНАЛЬНЫЙ ФИКС + ============================================ */ .file-row { display: flex; align-items: center; justify-content: space-between; flex-grow: 1; min-width: 0; - gap: 1rem; + gap: 0.75rem; flex-wrap: nowrap; + width: 100%; } -.file-link { - color: var(--accent-blue); - font-weight: 500; - text-decoration: none; - display: flex; - align-items: center; - flex-grow: 1; - min-width: 0; -} - +.file-link, .dir-link { - color: var(--accent-green); - font-weight: 600; - text-decoration: none; display: flex; align-items: center; - flex-grow: 1; + flex: 1 1 auto; + min-width: 0; + gap: 0.6rem; + overflow: hidden; + text-decoration: none; + color: var(--text-primary); +} + +.file-link .file-name { + font-weight: 500; +} + +.dir-link .file-name { + font-weight: 600; +} + +.file-link:hover .file-name { + color: var(--accent-blue); +} + +.dir-link:hover .file-name { + color: var(--accent-orange); +} + +.file-icon { + font-size: 1.3rem; + flex-shrink: 0; + width: 28px; + min-width: 28px; + max-width: 28px; + text-align: center; + line-height: 1; +} + +.file-name { + flex: 1 1 auto; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 0.92rem; + transition: color 0.15s ease; } .file-controls { display: flex; align-items: center; - gap: 0.5rem; + gap: 0.3rem; flex-shrink: 0; flex-wrap: nowrap; + margin-left: auto; } .file-meta { color: var(--text-muted); - font-size: 0.85rem; - font-weight: 600; + font-size: 0.75rem; + font-weight: 500; white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; + flex-shrink: 0; } .file-meta.date { - min-width: 90px; + min-width: 80px; + width: 80px; } .file-meta.size { - min-width: 70px; + min-width: 60px; + width: 60px; + text-align: right; + flex-shrink: 0; } -@media (max-width: 768px) { - .file-meta { - font-size: 0.7rem; - } - .file-meta.date { - min-width: 75px; - } - .file-meta.size { - min-width: 60px; - } -} - -@media (max-width: 480px) { - .file-meta.date { - display: none !important; - } - .file-meta.size { - font-size: 0.65rem; - min-width: 50px; - } -} - -.file-icon { - margin-right: 0.75rem; - font-size: 1.3rem; - flex-shrink: 0; - width: 24px; - text-align: center; -} - -.file-name { - flex-grow: 1; - min-width: 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-size: 0.95rem; -} - -.section-title { - color: var(--text-secondary); - font-size: 0.9rem; - font-weight: 600; - margin: 1.5rem 0 0.5rem 0; - padding: 0.75rem 0.5rem; - border-bottom: 2px solid var(--border-light); - text-transform: uppercase; - letter-spacing: 0.5px; - background: var(--bg-primary); -} - -.stats { - text-align: center; - color: var(--text-secondary); - margin-top: 2rem; - padding-top: 1.5rem; - border-top: 1px solid var(--border-color); - font-size: 0.9rem; -} - -.empty-state { - text-align: center; - padding: 3rem 1rem; - color: var(--text-secondary); -} - -.empty-state .icon { - font-size: 3rem; - margin-bottom: 1rem; - opacity: 0.5; -} - -.footer { - background: var(--bg-primary); - border-top: 1px solid var(--border-color); - padding: 1rem; - text-align: center; - color: var(--text-secondary); - font-size: 0.9rem; -} - -.footer-content { - max-width: 1000px; - margin: 0 auto; - text-align: center; -} - -.footer-content span, -.footer-content a { - display: inline; - vertical-align: baseline; -} - -.footer-link { - color: var(--accent-blue); - text-decoration: none; - font-weight: 500; - transition: opacity 0.2s ease; - margin-left: 0.3rem; -} - -.footer-link:hover { - opacity: 0.8; - text-decoration: underline; -} - -/* ================================================ - ЕДИНЫЙ СТИЛЬ ДЛЯ ВСЕХ КНОПОК - ================================================ */ -.preview-btn, .copy-btn, .download-btn { +/* Кнопки — фиксированный размер */ +.preview-btn, +.copy-btn, +.download-btn { background: transparent; - color: var(--text-secondary); border: 1px solid var(--border-color); border-radius: 6px; width: 32px; height: 32px; + min-width: 32px; + min-height: 32px; + max-width: 32px; + max-height: 32px; cursor: pointer; - font-size: 0.85rem; + font-size: 0.8rem; display: inline-flex; align-items: center; justify-content: center; - transition: all 0.2s ease; - opacity: 0.7; + transition: all 0.15s ease; + opacity: 0.6; + color: var(--text-secondary); + padding: 0; + box-sizing: border-box; flex-shrink: 0; } -.preview-btn:hover, .copy-btn:hover, .download-btn:hover { - background: var(--accent-blue); - color: white; - border-color: var(--accent-blue); +.preview-btn:hover, +.copy-btn:hover, +.download-btn:hover { opacity: 1; transform: scale(1.05); } -/* ================================================ - ТУЛБАР (поиск + сортировка) - ================================================ */ -.toolbar { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 1rem; - padding: 0.75rem 0.5rem; - margin-bottom: 1rem; - background: var(--bg-primary); - border-radius: 0px; - border: 1px solid var(--border-color); -} - -.search-box { - flex: 1 1 200px; - min-width: 150px; -} - -.search-box form { - display: flex; - gap: 0.5rem; -} - -.search-box input[type="text"] { - flex: 1; - padding: 0.5rem 0.75rem; - border: 1px solid var(--border-color); - border-radius: 6px; - background: var(--bg-secondary); - color: var(--text-primary); - font-size: 0.9rem; - min-width: 100px; -} - -.search-box input[type="text"]:focus { - outline: none; +.preview-btn:hover { + background: var(--accent-blue); + color: white; border-color: var(--accent-blue); } -.search-box button { - padding: 0.5rem 1rem; +.copy-btn:hover { background: var(--accent-blue); color: white; - border: none; - border-radius: 6px; - cursor: pointer; - font-weight: 500; - white-space: nowrap; + border-color: var(--accent-blue); } -.search-box button:hover { +.download-btn:hover { background: var(--accent-green); -} - -.sort-buttons { - display: flex; - align-items: center; - gap: 0.3rem; - flex-wrap: wrap; -} - -.sort-label { - font-size: 0.8rem; - color: var(--text-secondary); - font-weight: 500; - margin-right: 0.2rem; - white-space: nowrap; -} - -.sort-btn { - padding: 0.4rem 0.75rem; - background: var(--bg-secondary); - color: var(--text-secondary); - border: 1px solid var(--border-color); - border-radius: 6px; - text-decoration: none; - font-size: 0.8rem; - transition: all 0.2s ease; - white-space: nowrap; -} - -.sort-btn:hover { - background: var(--hover-bg); - border-color: var(--accent-blue); -} - -.sort-btn.active { - background: var(--accent-blue); color: white; - border-color: var(--accent-blue); + border-color: var(--accent-green); } -/* ================================================ - Стили для формы ввода пароля - ================================================ */ +/* ============================================ + СТАТИСТИКА + ============================================ */ +.stats { + text-align: center; + color: var(--text-secondary); + margin-top: 2rem; + padding: 1rem 1.25rem; + border-top: 1px solid var(--border-color); + font-size: 0.9rem; + background: var(--bg-primary); +} + +.empty-state { + text-align: center; + padding: 3rem 1rem; + color: var(--text-secondary); +} + +.empty-state .icon { + font-size: 3rem; + margin-bottom: 1rem; + opacity: 0.5; +} + +/* ============================================ + ПАРОЛЬНАЯ ФОРМА + ============================================ */ .password-form-container { display: flex; justify-content: center; @@ -584,14 +615,13 @@ li:hover { text-decoration: underline; } -/* Стиль для защищенной папки */ .protected-folder { position: relative; } -/* ================================================ - Модальное окно предпросмотра - ================================================ */ +/* ============================================ + МОДАЛКА + ============================================ */ .preview-modal { display: none; position: fixed; @@ -600,31 +630,42 @@ li:hover { top: 0; width: 100%; height: 100%; - background-color: rgba(0,0,0,0.8); + background-color: rgba(0, 0, 0, 0.7); backdrop-filter: blur(5px); + -webkit-backdrop-filter: blur(5px); overflow: auto; } +.preview-modal.open { + display: flex !important; + align-items: center; + justify-content: center; +} + .preview-content { background: var(--bg-secondary); - margin: 2% auto; - padding: 0; - border-radius: 8px; - box-shadow: 0 10px 30px rgba(0,0,0,0.3); + border-radius: 12px; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); display: flex; flex-direction: column; overflow: hidden; - transition: all 0.3s ease; + max-width: 90vw; + max-height: 90vh; + width: auto; + height: auto; + min-width: 320px; + min-height: 200px; } .preview-header { display: flex; justify-content: space-between; align-items: center; - padding: 1rem; + padding: 0.75rem 1rem; border-bottom: 1px solid var(--border-color); background: var(--bg-primary); flex-shrink: 0; + gap: 1rem; } .preview-title { @@ -635,38 +676,37 @@ li:hover { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - padding-right: 1rem; + font-size: 0.95rem; } .close-preview { - background: #dc3545; - color: white; + background: transparent; + color: var(--text-secondary); border: none; - border-radius: 4px; - width: 36px; - height: 36px; + border-radius: 6px; + width: 34px; + height: 34px; cursor: pointer; - font-size: 1.2rem; + font-size: 1.4rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center; - transition: background 0.2s ease; + transition: all 0.15s ease; } .close-preview:hover { - background: #c82333; + background: #dc3545; + color: white; } .preview-iframe { flex-grow: 1; border: none; - background: white; + background: var(--bg-secondary); min-height: 0; -} - -.preview-iframe.pdf { - background: var(--bg-primary); + width: 100%; + height: 100%; } .preview-image-container { @@ -674,7 +714,7 @@ li:hover { align-items: center; justify-content: center; flex-grow: 1; - padding: 10px; + padding: 1rem; background: var(--bg-primary); overflow: hidden; width: 100%; @@ -687,28 +727,130 @@ li:hover { width: auto; height: auto; object-fit: contain; - border-radius: 8px; - box-shadow: 0 4px 20px rgba(0,0,0,0.2); + border-radius: 4px; + box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); display: block; } -.preview-modal::-webkit-scrollbar { - width: 8px; +/* Форма пароля в модалке */ +#passwordFormContainer { + display: flex; + justify-content: center; + align-items: center; + padding: 2rem; + flex-grow: 1; + min-height: 300px; } -.preview-modal::-webkit-scrollbar-track { - background: rgba(255,255,255,0.1); +#passwordFormContainer > div { + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: 12px; + padding: 2rem; + max-width: 400px; + width: 100%; + text-align: center; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); } -.preview-modal::-webkit-scrollbar-thumb { - background: rgba(255,255,255,0.3); - border-radius: 4px; +/* ============================================ + ФУТЕР — НЕ УВЕЛИЧИВАЕМ + ============================================ */ +.footer { + background: var(--bg-primary); + border-top: 1px solid var(--border-color); + padding: 1.5rem 1rem; + text-align: center; + color: var(--text-secondary); + font-size: 0.85rem; } -.preview-modal::-webkit-scrollbar-thumb:hover { - background: rgba(255,255,255,0.5); +.footer a { + color: var(--accent-blue); + text-decoration: none; + font-weight: 500; + transition: opacity 0.15s ease; } +.footer a:hover { + opacity: 0.7; +} + +/* ============================================ + ТЕМА И СКРОЛЛ + ============================================ */ +.theme-toggle { + position: fixed; + top: 12px; + right: 12px; + background: rgba(255,255,255,0.15); + border: 1px solid rgba(255,255,255,0.2); + border-radius: 50%; + width: 48px; + height: 48px; + font-size: 1.3rem; + cursor: pointer; + z-index: 1000; + backdrop-filter: blur(10px); + -webkit-backdrop-filter: blur(10px); + display: flex; + align-items: center; + justify-content: center; + transition: all 0.3s ease; + color: white; +} + +.dark-theme .theme-toggle { + background: rgba(0,0,0,0.3); + border-color: rgba(255,255,255,0.1); + color: var(--text-primary); +} + +.theme-toggle:hover { + transform: scale(1.1); + background: rgba(255,255,255,0.25); +} + +.dark-theme .theme-toggle:hover { + background: rgba(0,0,0,0.4); +} + +.scroll-top { + position: fixed; + bottom: 20px; + right: 20px; + width: 48px; + height: 48px; + background: var(--accent-blue); + color: white; + border: none; + border-radius: 50%; + font-size: 1.3rem; + cursor: pointer; + opacity: 0; + visibility: hidden; + transition: all 0.3s ease; + z-index: 1000; + box-shadow: 0 2px 12px rgba(0,0,0,0.2); + display: flex; + align-items: center; + justify-content: center; +} + +.scroll-top.visible { + opacity: 1; + visibility: visible; +} + +.scroll-top:hover { + background: var(--accent-green); + transform: translateY(-2px); + box-shadow: 0 4px 20px rgba(0,0,0,0.3); +} + +/* ============================================ + УВЕДОМЛЕНИЕ + ============================================ */ #copyNotification { position: fixed; bottom: 80px; @@ -725,243 +867,521 @@ li:hover { opacity: 1; } -/* ================================================ - Адаптивность - ================================================ */ +/* ============================================ + АДАПТИВ — ПЛАНШЕТЫ + ============================================ */ @media (max-width: 768px) { - .preview-content { - margin: 2.5% auto; + .header { + padding: 1.25rem 1rem; } - .preview-header { - padding: 0.75rem; + .header h1 { + font-size: 1.5rem; } - .preview-title { - font-size: 0.9rem; + + .toolbar { + flex-direction: column; + align-items: stretch; + gap: 0.4rem; + padding: 0.6rem 1rem; } - .preview-image-container { - padding: 5px; + + .search-box { + flex: 1 1 100%; + min-width: 0; + } + + .search-box form { + flex-wrap: nowrap; + } + + .search-box input[type="text"] { + min-width: 60px; + font-size: 0.8rem; + padding: 0.4rem 0.8rem; + height: 34px; + } + + .search-box button { + font-size: 0.8rem; + padding: 0 0.9rem; + height: 34px; + } + + .settings-group { + flex-wrap: wrap; + justify-content: center; + min-height: 34px; + align-items: center; + } + + .view-btn, + .sort-btn { + font-size: 0.75rem; + padding: 0 0.7rem; + height: 34px; + } + + .settings-divider { + height: 26px; + } + + .file-controls { + gap: 0.2rem; + } + + .preview-btn, + .copy-btn, + .download-btn { + width: 28px; + height: 28px; + min-width: 28px; + min-height: 28px; + max-width: 28px; + max-height: 28px; + font-size: 0.7rem; + } + + .file-icon { + font-size: 1.2rem; + width: 24px; + } + + .file-name { + font-size: 0.85rem; } li { - padding: 0.5rem 0.25rem !important; - flex-wrap: nowrap !important; - } - .file-row { - flex-wrap: nowrap !important; - gap: 0.3rem !important; - } - .file-controls { - flex-wrap: nowrap !important; - gap: 0.15rem !important; + padding: 0.5rem 0.75rem; } + .file-meta.date { - min-width: 60px !important; + min-width: 60px; + width: 60px; } + .file-meta.size { - min-width: 50px !important; - font-size: 0.65rem !important; + min-width: 50px; + width: 50px; } - .toolbar { - flex-wrap: wrap !important; - gap: 0.5rem !important; - padding: 0.5rem !important; + + .breadcrumb { + padding: 0.5rem 0.75rem; + font-size: 0.8rem; } - .search-box { - flex: 1 1 100% !important; - min-width: 0 !important; + + .preview-content { + max-width: 96vw; + max-height: 92vh; + min-width: auto; + border-radius: 8px; } - .sort-buttons { - flex-wrap: wrap !important; - justify-content: center !important; + + #passwordFormContainer { + padding: 1.5rem; + min-height: 250px; + } + + #passwordFormContainer > div { + padding: 1.5rem; } } +/* ============================================ + АДАПТИВ — МОБИЛКИ (ВСЁ УВЕЛИЧЕНО) + ============================================ */ @media (max-width: 480px) { + .header { + padding: 1.25rem 0.75rem; + } + .header h1 { + font-size: 1.6rem; + } + .header .subtitle { + font-size: 1rem; + } + .toolbar { - flex-direction: column !important; - align-items: stretch !important; - gap: 0.5rem !important; - padding: 0.5rem !important; + flex-direction: column; + align-items: stretch; + gap: 0.6rem; + padding: 0.75rem 0.75rem; } + .search-box { - width: 100% !important; - min-width: 0 !important; - flex: 1 1 auto !important; + width: 100%; + min-width: 0; } + .search-box form { - flex-wrap: nowrap !important; - width: 100% !important; + flex-wrap: nowrap; + width: 100%; + gap: 0.5rem; } + .search-box input[type="text"] { - flex: 1 1 auto !important; - min-width: 60px !important; - font-size: 0.85rem !important; - padding: 0.5rem 0.6rem !important; + font-size: 0.9rem; + padding: 0.6rem 0.8rem; + min-width: 60px; + height: 44px; + flex: 1; } + .search-box button { - flex: 0 0 auto !important; - font-size: 0.8rem !important; - padding: 0.4rem 0.7rem !important; - white-space: nowrap !important; + font-size: 0.9rem; + padding: 0 1rem; + height: 44px; + flex-shrink: 0; } - .sort-buttons { - display: flex !important; - flex-wrap: wrap !important; - justify-content: center !important; - gap: 0.3rem !important; - width: 100% !important; + + .settings-group { + gap: 0.3rem; + flex-wrap: wrap; + justify-content: center; + min-height: 40px; + align-items: center; } - .sort-label { - font-size: 0.65rem !important; - width: 100% !important; - text-align: center !important; - margin-right: 0 !important; + + .settings-label { + font-size: 0.7rem; + flex-shrink: 0; } + + .view-btn, .sort-btn { - flex: 0 1 auto !important; - font-size: 0.65rem !important; - padding: 0.25rem 0.4rem !important; + font-size: 0.8rem; + padding: 0 0.8rem; + height: 38px; + border-width: 1.5px; + flex-shrink: 0; + } + + .view-btn .icon, + .sort-btn .icon { + font-size: 0.85rem; + } + + /* ===== ФАЙЛОВАЯ СТРОКА — ФИКС ===== */ + .file-row { + gap: 0.3rem !important; + flex-wrap: nowrap !important; + } + + .file-link, + .dir-link { + gap: 0.3rem !important; + flex: 1 1 auto !important; + min-width: 0 !important; + } + + .file-icon { + font-size: 1.4rem !important; + width: 32px !important; + min-width: 32px !important; + flex-shrink: 0 !important; + } + + .file-name { + font-size: 0.95rem !important; + flex: 1 1 auto !important; + min-width: 0 !important; + overflow: hidden !important; + text-overflow: ellipsis !important; white-space: nowrap !important; } - .preview-btn, .copy-btn, .download-btn { - width: 26px !important; - height: 26px !important; - font-size: 0.65rem !important; - padding: 0 !important; + + .file-controls { + gap: 0.3rem !important; + flex-shrink: 0 !important; + margin-left: auto !important; } + + .file-meta.size { + font-size: 0.75rem !important; + min-width: 50px !important; + width: auto !important; + flex-shrink: 0 !important; + text-align: right !important; + } + .file-meta.date { display: none !important; } - .file-meta.size { - font-size: 0.55rem !important; - min-width: 35px !important; - } - .file-name { - font-size: 0.75rem !important; - } - .file-icon { - font-size: 1rem !important; - width: 18px !important; - margin-right: 0.3rem !important; - } - .file-controls { - gap: 0.1rem !important; + + .preview-btn, + .copy-btn, + .download-btn { + width: 38px !important; + height: 38px !important; + min-width: 38px !important; + min-height: 38px !important; + max-width: 38px !important; + max-height: 38px !important; + font-size: 0.9rem !important; + flex-shrink: 0 !important; + padding: 0 !important; + border-width: 1.5px !important; + margin: 0 !important; + border-radius: 8px !important; } + li { - padding: 0.3rem 0.15rem !important; + padding: 0.6rem 0.6rem !important; + min-height: 56px !important; } - .file-row { - gap: 0.15rem !important; - } - .theme-toggle { - top: 5px; - right: 5px; - width: 45px; - height: 45px; - font-size: 1.2rem; - } - .scroll-top { - bottom: 15px; - right: 15px; - width: 45px; - height: 45px; - font-size: 1.2rem; - } - .header { - padding: 1rem 0.5rem; - } - h1 { - font-size: 1.5rem; - padding: 0 0.5rem; - } - .content { - padding: 0.5rem; - } - .breadcrumb { - padding: 0.5rem; - font-size: 0.8rem; - } - .section-title { - font-size: 0.8rem; - padding: 0.4rem; - margin: 0.75rem 0 0.25rem 0; - } - .footer { - padding: 0.5rem; - font-size: 0.8rem; - } - .preview-content { - margin: 1% auto; - border-radius: 4px; - } - .preview-image-container { - padding: 2px; - } - .preview-image { - border-radius: 4px; - box-shadow: 0 2px 10px rgba(0,0,0,0.2); - } - #copyNotification { - bottom: 60px; - padding: 8px 16px; + + li.section-title { font-size: 0.85rem; + padding: 0.5rem 0.6rem; + } + + /* ===== ХЛЕБНЫЕ КРОШКИ ===== */ + .breadcrumb { + padding: 0.6rem 0.75rem; + font-size: 0.9rem; + gap: 0.3rem; + } + .breadcrumb a { + padding: 0.2rem 0.3rem; + } + + /* ===== СТАТИСТИКА ===== */ + .stats { + font-size: 0.85rem; + padding: 0.75rem 0.6rem; + } + + /* ===== ТЕМА И СКРОЛЛ ===== */ + .theme-toggle { + top: 8px; + right: 8px; + width: 48px; + height: 48px; + font-size: 1.3rem; + } + + .scroll-top { + bottom: 20px; + right: 20px; + width: 48px; + height: 48px; + font-size: 1.3rem; + } + + /* ===== ФУТЕР (НЕ УВЕЛИЧИВАЕМ) ===== */ + .footer { + padding: 1rem 0.75rem; + font-size: 0.8rem; + } + + /* ===== МОДАЛКА ===== */ + .preview-content { + max-width: 98vw; + max-height: 95vh; + border-radius: 8px; + min-height: 150px; + } + + .preview-header { + padding: 0.6rem 0.8rem; + } + + .preview-title { + font-size: 0.9rem; + } + + .close-preview { + width: 34px; + height: 34px; + font-size: 1.2rem; + } + + .preview-image-container { + padding: 0.5rem; + } + + #passwordFormContainer { + padding: 1rem; + min-height: 200px; + } + + #passwordFormContainer > div { + padding: 1.5rem 1rem; + border-radius: 8px; + } + + /* ===== ФОРМА ПАРОЛЯ ===== */ + .password-form { + padding: 1.5rem 1rem; + } + .password-form .lock-icon { + font-size: 2.5rem; + } + .password-form h2 { + font-size: 1.2rem; + } + .password-form p { + font-size: 0.9rem; + } + .password-form input[type="password"] { + font-size: 1rem; + padding: 0.7rem 0.8rem; + height: 48px; + } + .password-form button { + font-size: 1rem; + padding: 0.7rem; + height: 48px; } } +/* ============================================ + АДАПТИВ — ОЧЕНЬ МАЛЕНЬКИЕ ЭКРАНЫ + ============================================ */ @media (max-width: 360px) { - .container { - min-width: 100%; - margin: 0; - } - .file-name { - font-size: 0.7rem !important; - } - .file-meta.size { - font-size: 0.5rem !important; - min-width: 28px !important; - } - .preview-btn, .copy-btn, .download-btn { - width: 20px !important; - height: 20px !important; - font-size: 0.5rem !important; + .header h1 { + font-size: 1.3rem; } + .search-box input[type="text"] { - font-size: 0.75rem !important; - padding: 0.3rem 0.4rem !important; - min-width: 40px !important; + font-size: 0.8rem; + height: 40px; + padding: 0.4rem 0.6rem; } .search-box button { - font-size: 0.7rem !important; - padding: 0.3rem 0.5rem !important; + font-size: 0.8rem; + height: 40px; + padding: 0 0.7rem; } + + .view-btn, .sort-btn { - font-size: 0.6rem !important; - padding: 0.2rem 0.3rem !important; + font-size: 0.7rem; + padding: 0 0.5rem; + height: 34px; + } + + .file-icon { + font-size: 1.2rem !important; + width: 28px !important; + min-width: 28px !important; + } + + .file-name { + font-size: 0.85rem !important; + } + + .preview-btn, + .copy-btn, + .download-btn { + width: 34px !important; + height: 34px !important; + min-width: 34px !important; + min-height: 34px !important; + max-width: 34px !important; + max-height: 34px !important; + font-size: 0.8rem !important; + border-radius: 6px !important; + } + + .file-meta.size { + font-size: 0.65rem !important; + min-width: 40px !important; + } + + li { + padding: 0.4rem 0.4rem !important; + min-height: 48px !important; + } + + .file-row { + gap: 0.3rem !important; + } + + .theme-toggle { + width: 40px; + height: 40px; + font-size: 1.1rem; + top: 6px; + right: 6px; + } + + .scroll-top { + width: 40px; + height: 40px; + font-size: 1.1rem; + bottom: 16px; + right: 16px; + } + + .password-form input[type="password"] { + height: 42px; + font-size: 0.9rem; + } + .password-form button { + height: 42px; + font-size: 0.9rem; } } -/* ================================================ - ПЕРЕОПРЕДЕЛЕНИЕ МОДАЛКИ (фикс темы) - ================================================ */ -.preview-content { - background: var(--modal-bg) !important; - color: var(--modal-text) !important; - border: 1px solid var(--modal-border) !important; +/* ===== ФАЙЛЫ — МОБИЛКИ ===== */ +.file-row { + gap: 0.3rem !important; } -.preview-header { - background: var(--modal-header-bg) !important; - border-bottom: 1px solid var(--modal-border) !important; +.file-link, +.dir-link { + gap: 0.3rem !important; + flex: 1 1 auto !important; } -.preview-title { - color: var(--modal-text) !important; +.file-icon { + font-size: 1.4rem !important; + width: 32px !important; + min-width: 32px !important; + max-width: 32px !important; + flex-shrink: 0 !important; } -.preview-iframe { - background: var(--bg-primary) !important; +.file-name { + font-size: 0.95rem !important; + flex: 1 1 auto !important; + min-width: 0 !important; } -.preview-image-container { - background: var(--bg-primary) !important; +.file-link .file-name { + font-weight: 500 !important; } + +.dir-link .file-name { + font-weight: 600 !important; +} + +.file-controls { + gap: 0.3rem !important; + flex-shrink: 0 !important; + margin-left: auto !important; +} + +.file-meta.size { + font-size: 0.75rem !important; + min-width: 50px !important; + width: auto !important; + flex-shrink: 0 !important; +} + +.file-meta.date { + display: none !important; +} + +.preview-btn, +.copy-btn, +.download-btn { + width: 38px !important; + height: 38px !important; + min-width: 38px !important; + min-height: 38px !important; + max-width: 38px !important; + max-height: 38px !important; + font-size: 0.9rem !important; + flex-shrink: 0 !important; +} \ No newline at end of file diff --git a/template.html b/template.html index 5ec6651..8d225ae 100644 --- a/template.html +++ b/template.html @@ -130,14 +130,21 @@
@@ -154,7 +161,55 @@
- + \ No newline at end of file