Compare commits
2 Commits
40bda207e1
..
nginx
| Author | SHA1 | Date | |
|---|---|---|---|
| 669ea6a41b | |||
| 8057cdb44d |
@@ -1,4 +1,3 @@
|
|||||||
.vscode
|
.vscode
|
||||||
__pycache__
|
__pycache__
|
||||||
test.mp4
|
test.mp4
|
||||||
secrets.env
|
|
||||||
+1
-6
@@ -15,12 +15,7 @@
|
|||||||
|
|
||||||
:80 {
|
:80 {
|
||||||
#nl.u2b.cx u2b.cx {
|
#nl.u2b.cx u2b.cx {
|
||||||
tls {
|
log
|
||||||
dns porkbun {
|
|
||||||
api_key {env.PORKBUN_API_KEY}
|
|
||||||
api_secret_key {env.PORKBUN_API_SECRET}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
handle_path /proxy/* {
|
handle_path /proxy/* {
|
||||||
@gv path_regexp gvurl ^\/([a-z0-9-]+\.googlevideo\.com)
|
@gv path_regexp gvurl ^\/([a-z0-9-]+\.googlevideo\.com)
|
||||||
handle @gv {
|
handle @gv {
|
||||||
|
|||||||
+1
-3
@@ -1,6 +1,4 @@
|
|||||||
FROM caddy:2.6-builder AS builder
|
FROM caddy:2.6-builder AS builder
|
||||||
RUN xcaddy build \
|
RUN xcaddy build --with github.com/caddyserver/transform-encoder
|
||||||
--with github.com/caddyserver/transform-encoder \
|
|
||||||
--with github.com/caddy-dns/porkbun
|
|
||||||
FROM caddy:2.6
|
FROM caddy:2.6
|
||||||
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
|
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
|
||||||
+15
-7
@@ -11,18 +11,26 @@ services:
|
|||||||
- PORT=8080
|
- PORT=8080
|
||||||
- PROXY=/proxy/
|
- PROXY=/proxy/
|
||||||
command: python server.py
|
command: python server.py
|
||||||
caddy:
|
# caddy:
|
||||||
build: caddy
|
# image: caddy:2.6
|
||||||
|
# restart: always
|
||||||
|
# ports:
|
||||||
|
# - "80:80"
|
||||||
|
# - "443:443"
|
||||||
|
# - "443:443/udp"
|
||||||
|
# volumes:
|
||||||
|
# - ./Caddyfile:/etc/caddy/Caddyfile
|
||||||
|
# - caddy_data:/data
|
||||||
|
# - caddy_config:/config
|
||||||
|
nginx:
|
||||||
|
image: nginx:1.25
|
||||||
restart: always
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
- "443:443"
|
- "443:443"
|
||||||
- "443:443/udp"
|
- "443:443/udp"
|
||||||
volumes:
|
|
||||||
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
|
|
||||||
- caddy_data:/data
|
|
||||||
- caddy_config:/config
|
|
||||||
env_file: secrets.env
|
|
||||||
volumes:
|
volumes:
|
||||||
caddy_data:
|
caddy_data:
|
||||||
caddy_config:
|
caddy_config:
|
||||||
+56
@@ -0,0 +1,56 @@
|
|||||||
|
user nginx;
|
||||||
|
worker_processes auto;
|
||||||
|
error_log /var/log/nginx/error.log notice;
|
||||||
|
pid /var/run/nginx.pid;
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
log_format main '$time_local $remote_addr "$request" $status "$http_user_agent"';
|
||||||
|
access_log /var/log/nginx/access.log main;
|
||||||
|
resolver 8.8.8.8 ipv6=off;#until I can get ipv6 on the new host
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
|
||||||
|
location /proxy/ {
|
||||||
|
limit_except GET { deny all; }
|
||||||
|
location ~^/proxy/([a-z0-9-]+)\.googlevideo\.com/videoplayback {
|
||||||
|
#return 200 "$uri\n\n$request_uri\n\n$query_string\n\nhttps://$1/$2";
|
||||||
|
proxy_pass https://$1.googlevideo.com/videoplayback?$query_string;
|
||||||
|
#proxy_redirect ~https://([a-z0-9-]+).googlevideo.com/ /proxy/$1.googlevideo.com/;
|
||||||
|
proxy_redirect https:// /proxy/;
|
||||||
|
}
|
||||||
|
return 403;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = / {
|
||||||
|
return 301 https://www.u2b.cx/;
|
||||||
|
}
|
||||||
|
location = /favicon.ico {
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
location /. {
|
||||||
|
return 403;
|
||||||
|
}
|
||||||
|
location = /robots.txt {
|
||||||
|
add_header Content-Type text/plain;
|
||||||
|
return 200 "User-agent: *\nDisallow: /\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($request_method != GET) {
|
||||||
|
return 403;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Connection "";
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_pass http://app:8080;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -70,7 +70,7 @@ class Handler(BaseHTTPRequestHandler):
|
|||||||
'event': Event(),
|
'event': Event(),
|
||||||
'expire': datetime.now() + timedelta(hours=5)
|
'expire': datetime.now() + timedelta(hours=5)
|
||||||
}
|
}
|
||||||
with YoutubeDL({'extractor_args': {'youtube': {'skip': ['dash', 'hls']}}}) as ydl:
|
with YoutubeDL() as ydl:
|
||||||
info = ydl.extract_info(query, download=False)
|
info = ydl.extract_info(query, download=False)
|
||||||
|
|
||||||
selection = info
|
selection = info
|
||||||
|
|||||||
Reference in New Issue
Block a user