Files
rad168-iptv/mytv/nginx.conf
2025-12-14 18:08:24 +08:00

1055 lines
36 KiB
Nginx Configuration File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 1024; # 提高连接数上限
multi_accept on; # 允许多连接同时接受
}
http {
##
# 基本设置
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL 设置
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
##
# 日志设置
##
set_real_ip_from 0.0.0.0/0; # 允许所有代理传递真实 IP
real_ip_header X-Forwarded-For;
real_ip_recursive on;
log_format custom '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip 压缩设置
##
gzip off;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript video/mp2t;
##
# 缓存路径配置
##
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache_zone:10m max_size=500m inactive=24h use_temp_path=off;
##
# 虚拟主机配置
##
include /etc/nginx/conf.d/*.conf;
#include /etc/nginx/sites-enabled/*;
# 定义 token 来源优先级URL > Cookie
map $arg_token $token_to_check {
default $cookie_token;
~.+ $arg_token;
}
# 定义允许的 token 列表(把第69行的"mytv123"修改为你自己的token)
map $token_to_check $auth_ok {
default 0;
"mytv123" 1;
#"abc" 1; # 可选:支持多个 token
}
# 去除 token 参数,保留其他参数
map $args $args_clean {
default $args;
~^(.*)(^|&)token=[^&]*&?(.*)$ $1$3;
}
# 根据是否有参数构造跳转地址
map $args_clean $redirect_uri {
"" $uri; # 没参数:只保留路径
default $uri?$args_clean; # 有参数:加 ?
}
server {
listen 20000;
listen [::]:20000;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host cdn.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn.veryfast.filegear-sg.me; # 替换为您的源站地址
}
# 针对 .ts 和 .aac 文件的特殊缓存设置
location ~* \.(ts|aac)$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn.veryfast.filegear-sg.me; # 替换为您的源站地址
proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒
expires 60s; # 设置浏览器端缓存 60 秒
}
}
server {
listen 20001;
listen [::]:20001;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host cdn3.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn3.veryfast.filegear-sg.me; # 替换为您的源站地址
}
# 针对 .ts 和 .aac 文件的特殊缓存设置
location ~* \.(ts|aac)$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn3.veryfast.filegear-sg.me; # 替换为您的源站地址
proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒
expires 60s; # 设置浏览器端缓存 60 秒
}
}
server {
listen 20002;
listen [::]:20002;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host smt.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://smt.veryfast.filegear-sg.me; # 替换为您的源站地址
}
# 针对包含 smt2.1.5.php 的 URL设置缓存时间为 60 秒
location ~ smt2\.1\.5\.php {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_cache_valid 200 206 60s; # 缓存 60 秒
expires 60s; # 设置浏览器缓存 60 秒
proxy_pass http://smt.veryfast.filegear-sg.me;
}
}
server {
listen 20003;
listen [::]:20003;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host cdn6.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn6.veryfast.filegear-sg.me; # 替换为您的源站地址
}
# 针对 .ts 和 .aac 文件的特殊缓存设置
location ~* \.(ts|aac)$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn6.veryfast.filegear-sg.me; # 替换为您的源站地址
proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒
expires 60s; # 设置浏览器端缓存 60 秒
}
}
server {
listen 20004;
listen [::]:20004;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host v2h.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://v2h.veryfast.filegear-sg.me; # 替换为您的源站地址
}
# 针对 .ts 和 .aac 文件的特殊缓存设置
location ~* \.(ts|aac)$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://v2h.veryfast.filegear-sg.me; # 替换为您的源站地址
proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒
expires 60s; # 设置浏览器端缓存 60 秒
}
}
server {
listen 20005;
listen [::]:20005;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host live.tvfix.org; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass https://live.tvfix.org; # 替换为您的源站地址
}
# 针对 .ts 和 .aac 文件的特殊缓存设置
location ~* \.(ts|webvtt|key)$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass https://live.tvfix.org; # 替换为您的源站地址
proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒
expires 60s; # 设置浏览器端缓存 60 秒
}
}
server {
listen 20006;
listen [::]:20006;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host cdn5.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn5.veryfast.filegear-sg.me; # 替换为您的源站地址
}
# 针对 .ts 和 .aac 文件的特殊缓存设置
location ~* \.(ts|aac)$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn5.veryfast.filegear-sg.me; # 替换为您的源站地址
proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒
expires 60s; # 设置浏览器端缓存 60 秒
}
}
server {
listen 20007;
listen [::]:20007;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host cdn2.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn2.veryfast.filegear-sg.me; # 替换为您的源站地址
}
# 针对 .ts 和 .aac 文件的特殊缓存设置
location ~* \.(ts|aac)$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn2.veryfast.filegear-sg.me; # 替换为您的源站地址
proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒
expires 60s; # 设置浏览器端缓存 60 秒
}
}
server {
listen 20008;
listen [::]:20008;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host s1.an94tv.cfd; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://s1.an94tv.cfd; # 替换为您的源站地址
}
# 针对 m3u8 文件内容修改
location ~ \.m3u8$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://s1.an94tv.cfd;
# 替换为相对路径
sub_filter 'http://s1.an94tv.cfd/AKTV/stream/' '/AKTV/stream/';
sub_filter_once off;
sub_filter_types application/vnd.apple.mpegurl text/plain;
# 解压 gzip 压缩内容(如源站启用了压缩)
gzip off;
proxy_set_header Accept-Encoding "";
}
# 针对 .ts 和 .aac 文件的特殊缓存设置
location ~* \.(ts|aac)$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://s1.an94tv.cfd; # 替换为您的源站地址
proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒
expires 60s; # 设置浏览器端缓存 60 秒
}
# 针对 m3u 文件内容修改
location ~ \.m3u$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
set $cookie_token "token=$arg_token; Path=/";
}
proxy_pass http://aktv.space;
# 强制标记为纯文本
default_type text/plain;
add_header Content-Type "text/plain; charset=utf-8" always;
add_header Content-Disposition "inline" always;
# 替换为相对路径
sub_filter 'http://s1.an94tv.cfd' 'http://$host:20008';
sub_filter 'AKTV.m3u8' 'AKTV.m3u8?token=$arg_token';
sub_filter_once off;
sub_filter_types *; # 对所有 MIME 类型进行替换
# 解压 gzip 压缩内容(如源站启用了压缩)
gzip off;
proxy_set_header Accept-Encoding "";
}
}
server {
listen 20009;
listen [::]:20009;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host cdn8.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn8.veryfast.filegear-sg.me; # 替换为您的源站地址
}
# 针对 .ts 和 .aac 文件的特殊缓存设置
location ~* \.(ts|aac)$ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn8.veryfast.filegear-sg.me; # 替换为您的源站地址
proxy_cache_valid 200 206 60s; # 缓存 .ts 文件 60 秒
expires 60s; # 设置浏览器端缓存 60 秒
}
}
server {
listen 20010;
listen [::]:20010;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置(测试区网站未设置ts文件缓存)
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://mytv.veryfast.filegear-sg.me; # 替换为您的源站地址
proxy_set_header Host mytv.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
}
# /o12/ 子目录
location /o12/ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://o12.veryfast.filegear-sg.me/;
proxy_set_header Host o12.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
}
# /cdn9/ 子目录
location /cdn9/ {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
return 302 $redirect_uri;
}
proxy_pass http://cdn9.veryfast.filegear-sg.me/;
proxy_set_header Host cdn9.veryfast.filegear-sg.me; # 确保请求的 Host 匹配 Cloudflare 配置
}
}
server {
listen 30001;
listen [::]:30001;
server_name cdn.1678520.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 固定请求头
proxy_set_header User-Agent "TiviMate/5.1.0";
proxy_set_header Referer "https://www.stream-link.org/";
proxy_set_header Host www.stream-link.org;
proxy_set_header Accept "*/*"; # 允许所有类型的内容
proxy_set_header Connection "keep-alive";
# 代理头设置
#proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location / {
proxy_pass https://www.stream-link.org; # 替换为您的源站地址
}
# 针对 m3u 文件内容修改
location ~ \.m3u$ {
proxy_pass https://www.stream-link.org;
# 替换为相对路径
sub_filter 'https://sc2026.stream-link.org' 'http://$host:30002';
sub_filter_once off;
#sub_filter_types application/vnd.apple.mpegurl text/plain;
# 解压 gzip 压缩内容(如源站启用了压缩)
gzip off;
proxy_set_header Accept-Encoding "";
}
}
server {
listen 30002;
listen [::]:30002;
server_name cdn.1678520.xyz;
location / {
proxy_pass https://sc2026.stream-link.org;
proxy_set_header Host sc2026.stream-link.org;
proxy_set_header User-Agent "TiviMate/5.1.0";
proxy_set_header Referer "https://sc2025.stream-link.org/";
proxy_redirect ~https?://[^/]+(/.*) http://$host:30003$1;
}
}
server {
listen 30003;
listen [::]:30003;
server_name cdn.1678520.xyz;
location / {
proxy_pass https://live-edge-02.stream-link.org;
proxy_set_header Host live-edge-02.stream-link.org;
proxy_set_header User-Agent "TiviMate/5.1.0";
proxy_set_header Referer "https://live-edge-02.stream-link.org/";
}
}
server {
listen 30000;
listen [::]:30000;
server_name cdn5.163189.xyz; # 替换为您的域名
# 自定义响应头:缓存命中状态和剩余缓存时间
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-TTL $upstream_http_x_cache_ttl;
# 屏蔽 Cloudflare 响应头
proxy_hide_header Server;
proxy_hide_header CF-Cache-Status;
proxy_hide_header CF-Ray;
proxy_hide_header Alt-Svc;
proxy_hide_header Expect-CT;
proxy_hide_header report-to;
proxy_hide_header Nel;
proxy_hide_header server-timing;
# 代理头设置
proxy_set_header X-Real-IP $remote_addr; # 传递客户端真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 支持多级代理
proxy_set_header Host cdn.veryfast.filegear-sg.me;
# SSL 配置
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 指定 SSL 协议
proxy_ssl_ciphers HIGH:!aNULL:!MD5; # 设置加密套件
proxy_ssl_verify off; # 忽略上游服务器证书验证
proxy_ssl_server_name on;
# 默认缓存配置
proxy_cache cache_zone; # 使用指定的缓存区域
proxy_cache_lock on; # 启用缓存锁
proxy_cache_valid 200 206 5s; # 默认对 200 和 206 状态码缓存 5 秒
proxy_cache_methods GET HEAD; # 仅缓存 GET 和 HEAD 请求
proxy_ignore_headers Cache-Control Expires; # 忽略上游响应的缓存控制头
expires 5s; # 设置浏览器端缓存 5 秒
# 默认 location 配置
location /mytv.m3u {
if ($auth_ok = 0) {
return 302 https://cdn5.163189.xyz/403/?mytv;
}
if ($arg_token) {
add_header Set-Cookie "token=$arg_token; Path=/";
}
proxy_pass http://cdn.veryfast.filegear-sg.me/mytv.m3u; # 替换为您的源站地址
sub_filter '服务器ip' '$host';
sub_filter '.m3u8' '.m3u8?token=$arg_token';
sub_filter 'smt3.2.1.php?' 'smt3.2.1.php?token=$arg_token&';
sub_filter '?u=test' '&u=test';
sub_filter '?163189' '?163189&token=$arg_token';
sub_filter_once off; # 替换所有匹配项
sub_filter_types *; # 对所有 MIME 类型进行替换
# 解压 gzip 压缩内容(如源站启用了压缩)
gzip off;
proxy_set_header Accept-Encoding "";
}
}
}