服务器 #教程 #dns #流媒体 搭建一个dnsproxy并发查询上游dns,并实现流媒体解锁 特别感谢小一佬 @xream… — Luca的VPS瞎折腾日记 — TG.ME

#服务器 #教程 #dns #流媒体
搭建一个dnsproxy并发查询上游dns,并实现流媒体解锁
特别感谢小一佬 @xream 编写的download.js!以及提供实惠优质的dns解锁服务的1stream @ottdns2

前期准备:
购买1stream解锁服务:@ottdns2 ,绑定好使用解锁的ip,保存好想使用的dns类型和else解锁地址

开始部署服务端:
先安装好docker(自行安装,置顶一条龙也有),再准备一个docker-compose.yml文件(自行创建),放在/root/dnsproxy文件夹(或任何你想要放的位置,如更改,请自行修改路径映射和后续的所有相关路径),但不要启动:
services:
dp:
image: adguard/dnsproxy
container_name: dp
restart: always
volumes:
- ./config.yaml:/opt/dnsproxy/config.yaml
- ./unlock.conf:/opt/dnsproxy/unlock.conf
- ./elseunlock.conf:/opt/dnsproxy/elseunlock.conf
- /etc/localtime:/etc/localtime:ro
ports:
- 127.0.0.1:53:53/udp
- 8053:8053/udp


再新建一个config.yaml:
listen-addrs:
- "0.0.0.0"
listen-ports:
- 53
- 8053
max-go-routines: 0
ratelimit: 0
udp-buf-size: 1232
boostrap:
- "1.1.1.1"
upstream:
- "/opt/dnsproxy/unlock.conf"
- "/opt/dnsproxy/elseunlock.conf"
- "1.1.1.1"
- "8.8.8.8"
all_servers: true
fastest-addr: true
cache: true
cache-size: 10485760
cache-optimistic: true
cache-min-ttl: 120
cache-max-ttl: 86400
ipv6-disabled: false


然后再安装nodejs 19.x版本
curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash -

sudo apt install -y nodejs

将download.js(文件在评论区)放入/root,修改其中的以下内容(仅HK SG US地区有else解锁,且只有HK US解锁TikTok):
// 用法示例:
// 包含这些的, 连 dns 一起写入 此文件
{ file: '/root/dnsproxy/elseunlock.conf', include: ['Tiktok', 'Youtube'], dns: 'else解锁' },
// 不包含这些的, 连 dns 一起写入 此文件
{ file: '/root/dnsproxy/unlock.conf', exclude: ['Tiktok', 'Youtube'], dns: '主解锁' }


并运行它:
node download.js

这样就可以生成包含主解锁可用的域名列表和else解锁可用的域名列表到/root/dnsproxy

这时候可以启动dnsproxy了(因为所需文件已经备齐):
cd /root/dnsproxy && docker compose up -d

修改系统dns为127.0.0.1(这一步请自行谷歌)

重启(非必要,如果发现没有使用到dnsproxy,就重启一下服务器)

enjoy~
👍4
June 2, 2024 2.8K 1 42