Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
143d55880e | ||
|
|
8eafe19a1d |
@@ -1,6 +1,6 @@
|
||||
# Trashbox — Минималистичный CGI-файловый сервер
|
||||
|
||||
Легковесный файлообменник на чистом C для Linux/Debian. Работает через связку **Nginx (Reverse Proxy)** + **BusyBox `httpd` (CGI Backend)**.
|
||||
Легковесный файлообменник на чистом C для GNU/Linux. Работает через связку **Nginx (Reverse Proxy)** + **BusyBox `httpd` (CGI Backend)**.
|
||||
> **Примечания:**<br> 1) Nginx опционален, нужен только если необходимен Reverse Proxy, например, для SSL.<br>
|
||||
> 2) Зачем? Хотелось что-то легковесного, но сам я не погромист, потому был применён вайбкод подход, делал вместе с DeepSeek. Вдохновленно [этим](https://github.com/metalx1000/Directory-Index-for-httpd) проектом, но там есть нюанс, сурсы закрыты, а что-то такое от рута пускать такое себе.<br>
|
||||
> 3) [Здесь](https://home.mashup.su) можно потыкать и посмотреть как работает.<br>
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
server {
|
||||
listen 443 ssl;
|
||||
http2 on;
|
||||
server_name home.mashup.su www.home.mashup.su;
|
||||
ssl_certificate /etc/letsencrypt/live/home.mashup.su/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/home.mashup.su/privkey.pem;
|
||||
server_name domain.com www.domain.com;
|
||||
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
|
||||
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
|
||||
|
||||
root /home/romkazvo/www;
|
||||
|
||||
# === КАСТОМНЫЕ СТРАНИЦЫ ОШИБОК ===
|
||||
error_page 404 =404 /404.html;
|
||||
location = /404.html {
|
||||
root /home/romkazvo/www;
|
||||
@@ -23,31 +22,12 @@ server {
|
||||
allow all;
|
||||
}
|
||||
|
||||
# === СТАТИКА ===
|
||||
location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg|webp)$ {
|
||||
expires 1y;
|
||||
add_header Cache-Control "public, immutable";
|
||||
try_files $uri =404;
|
||||
}
|
||||
|
||||
# === СТРИМ /gachi ===
|
||||
location = /gachi {
|
||||
proxy_pass http://127.0.0.1:8001/;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
proxy_read_timeout 3600;
|
||||
proxy_send_timeout 3600;
|
||||
add_header X-Stream-Name "Gachi Stream" always;
|
||||
add_header Access-Control-Allow-Origin "*" always;
|
||||
add_header Access-Control-Allow-Methods "GET, OPTIONS, HEAD" always;
|
||||
add_header Access-Control-Allow-Headers "Range, Accept-Encoding" always;
|
||||
}
|
||||
|
||||
# === CGI (с перехватом ошибок) ===
|
||||
location /cgi-bin/ {
|
||||
proxy_pass http://127.0.0.1:8050;
|
||||
proxy_set_header Host $host;
|
||||
@@ -62,7 +42,6 @@ server {
|
||||
proxy_intercept_errors on;
|
||||
}
|
||||
|
||||
# === ВСЁ ОСТАЛЬНОЕ ===
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8050;
|
||||
proxy_set_header Host $host;
|
||||
@@ -78,9 +57,8 @@ server {
|
||||
}
|
||||
}
|
||||
|
||||
# HTTP → HTTPS
|
||||
server {
|
||||
listen 80;
|
||||
server_name home.mashup.su www.home.mashup.su;
|
||||
server_name domain.com www.domain.com;
|
||||
return 301 https://$server_name$request_uri;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
test folder:123456
|
||||
Reference in New Issue
Block a user