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