代理软件这阵子涌现了不少，除了老牌的几个之外，新应用里体验下来最值得推荐的就是Karing这个软件，这里是它的官网 https://karing.app/ 这个代理软件最大的优势是全平台提供，操作UI保持一致，学习成本很低，并且默认配置下可以做到杜绝WebRTC和DNS泄露，这一点是Stash和Shadowrocket很难做到的 下面用iOS举例说明一下配置过程，安卓、Windows都是一样的 首先下载由Supernova Nebula LLC开发的Karing iOS第一次打开应用会提示给予联网权限，请点击第一行“无线局域网与蜂窝网络” 接下来接受隐私条款并选择语言后点击下一步选择国家与地区，这里选择cn 之后会看到预置[自定义分流组]页面，把所有默认勾选的项目关闭，原因是订阅里已经包括了所有的分流规则 点击下一步后会看到默认勾选了新手模式，关闭后继续，点击添加配置链接 复制粘贴订阅地址进去，并把备注写一下 注意要在页面下方把保留[机场]分流规则打开，建议勾选配置更新后重新加载，点击右上角对勾确定 回到默认的首页，点击分流规则 把禁用[机场]分流规则的开关关闭，下方会出现刚才添加的订阅和备注名，打开后就能看到规则组 回到首页下方，点击右下角的箭头 在选择服务器页面点击右上角齿轮图标，开启上方三个开关 回到选择服务器页面，这时会看到清爽很多，点击订阅左侧的向下箭头展开节点，之后选择需要的节点 这时不管iOS还是安卓，设备都会跳出是否要添加VPN配置，选择允许 输入设备锁屏密码后即可添加成功，此时可以看到下方绿色对勾表示代理已经启用，点击绿色对勾可以切换代理开关 Apple用户为了屏幕镜像正常工作需要多做一个步骤，首先点击首页左上角齿轮图标进入设置页面，找到TUN，点击进入 然后点击进入排除路由 开启组播开关即可
免费额度用起来！既然上一篇文章跑起了自建节点，那利用下手里的其他资源，增加一些可选节点锦上添花 首先在Oracle控制台中 建立虚拟云网络 action-开始导引 选择建立VCN with internet链接 一路下一步，完成 进去选择子网 选择public子网-安全选项卡 点击默认安全列表 点击安全规则卡片，添加必要端口 然后建立免费实例，一路默认即可，预装系统可以选择自己熟悉的，记得下载私钥 用putty的话， 下载的私钥需要用puttygen.exe转换成ppk文件，然后在SSH-Auth的认证页面中指定这个ppk文件后连接即可 实例建立完成后进入ssh sudo apt update sudo apt upgrade 设置系统时间 sudo timedatectl set-timezone Asia/Shanghai 查看 timedatectl 清空规则 停止防火墙 sudo ufw disable 清空所有Oracle自带的iptables 规则 sudo iptables -F sudo iptables -X sudo iptables -t nat -F sudo iptables -t nat -X sudo iptables -t mangle -F sudo iptables -t mangle -X 验证 sudo iptables -L 结果应该是三行 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 启用 UFW 开启默认选项 sudo ufw default allow outgoing sudo ufw default deny incoming 开放必要端口 sudo ufw allow 22 sudo ufw allow 80 sudo ufw allow 443 sudo ufw allow 34567 激活防火墙 sudo ufw enable 查看状态 sudo ufw status 重启系统 sudo reboot 安装面板 sudo bash -c "$(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)" 安装官方内核（支持 fq、支持 BBR2） sudo apt update sudo apt install -y linux-image-generic sudo reboot 确认新内核在GRUB菜单中的位置 grep menuentry /boot/grub/grub.cfg 根据内核排序切换到Ubuntu官方内核 sudo nano /etc/default/grub 找到GRUB_DEFAULT=0，改为GRUB_DEFAULT="1>4" 更新 GRUB sudo update-grub 重启后即可切换到官方内核，检查确认 uname -r 查看vps网卡 tc qdisc show 手动给网卡加fq（注意ens3可能替换成其他名称） sudo tc qdisc replace dev ens3 root fq 开启bbr sudo bash -c 'cat > /etc/sysctl.d/99-bbr.conf << EOF # ----------------------------- # One-click BBR Enable Script # Auto-detect BBR / BBR2 # ----------------------------- # 使用 fq 队列调度器 net.core.default_qdisc=fq # 自动选择 BBR / BBR2 net.ipv4.tcp_congestion_control=bbr # TCP 优化 net.ipv4.tcp_fastopen=3 net.ipv4.tcp_syncookies=1 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_mtu_probing=1 # 缓冲区优化 net.core.rmem_max=67108864 net.core.wmem_max=67108864 net.ipv4.tcp_rmem=4096 87380 6291456 net.ipv4.tcp_wmem=4096 65536 6291456 EOF' # 加载模块（如果存在） sudo modprobe tcp_bbr 2>/dev/null # 应用配置 sudo sysctl --system 使用这个工具扫描适合的域名 .\RealiTLScanner-windows-64.exe -addr 1.1.1.1 -port 443 -thread 100 进入Oracle实例中的X3-ui面板，挑选上面合适的域名填写入站信息 回到上一篇文章建立的X3-UI主面板，在节点中增加Oracle实例中的入站信息，之后在客户端页面中编辑现有客户端，可以看到关联入站中出现了新节点，至此一个订阅包括多处节点已经完成，手机电脑刷新后即可出现新的可选节点 附：低内存服务器开启bbr（512内存） sudo bash -c 'cat > /etc/sysctl.d/99-bbr-lowmem.conf << EOF # ============================================ # 低内存 VPS 专用温和版 BBR 配置（512MB内存推荐） # 重点：降低 buffer，减少内存压力 + 降低 bufferbloat 风险 # ============================================ # 核心：BBR + fq net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr # 重要参数：让优先级更及时 net.ipv4.tcp_notsent_lowat = 16384 # TCP 基础优化 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mtu_probing = 1 net.ipv4.tcp_slow_start_after_idle = 0 # ========== 缓冲区设置（低内存优化版）========== # 最大 8MB net.core.rmem_max = 8388608 net.core.wmem_max = 8388608 net.ipv4.tcp_rmem = 4096 65536 8388608 net.ipv4.tcp_wmem = 4096 65536 8388608 EOF' 设置wireguard中转 在需要被中转的日本VPS上添加入站，协议选择wireguard，之后创建 添加一个中转节点的临时客户端，之后入站节点会生成入站信息 在设置为中转的美国VPS上添加入站，自定义个备注名比如JP-US-中转 然后在出站里新建一个出站，协议选wireguard，地址填写10.0.0.2/32，私钥被中转的VPS入站链接中的私钥，之后点开Peer，端点填写被中转的VPS的IP:端口、公钥填写被中转的VPS入站链接中的公钥，自定义个标签比如JP中转US，创建后可以点击右侧闪电符号测试是否通了，有延迟出现即表示OK 之后点击路由设置，添加路由规则，在入站标签中选择刚刚添加的入站JP-US-中转，出站标签选择刚才添加的出站JP中转US，创建 最后把这个入站JP-US关联到客户端即可 设置Socks5中转 在需要被中转的日本VPS上添加入站，协议选择mixed，之后创建 在设置为中转的美国VPS上添加入站，自定义个备注名比如JP-US，协议任选 然后在出站里新建一个出站，协议选socks，地址填写被中转的VPS IP，端口、用户名密码均保持和上面被中转的VPS入站相同，自定义个标签比如JP中转US，创建后可以点击右侧闪电符号测试是否通了，有延迟出现即表示OK 之后点击路由设置，添加路由规则，在入站标签中选择刚刚添加的入站JP-US，出站标签选择刚才添加的出站JP中转US，创建 最后把这个入站JP-US关联到客户端即可
以前自己曾经用几个VPS建过基于Shadowsocks的线路用来翻墙，因为IP或者端口经常被封搞得苦不堪言。于是转投机场，稳定了很久，但兜兜转转了几年，最近的形势让我还是决定搞一个备用线路。 以下步骤基于Debian 1、安装x3-ui面板 bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) 询问是否自定义端口的时候建议自定义一个高一些的端口号比如34567 之后会询问是基于域名还是IP来加密面板入口，这里可以根据自己需要选择，不输入的话默认是基于IP（可以在面板控制里切换） 记下输出的登录信息 等待安装完毕 2、安装防火墙并打开对应端口 apt install ufw 定义默认规则拦截所有入站端口 ufw default deny incoming 定义默认规则放行所有出站端口 ufw default allow outgoing 打开必要端口 ufw allow 2096 #默认订阅端口号 ufw allow 34567 #面板端口号 ufw allow 443 #SSL端口 ufw allow 22 #SSH端口 开启防火墙 ufw enable 2、登录面板 先填写入站信息，协议选择vless，端口443，其他默认，安全选择reality，目标那里填写一个和你VPS IP相近的符合条件的域名及端口号，比如www.lovelive-anime.jp:443，之后点击扫描会看到是否可用，可用的话会是全绿结果 点击下面获取新证书，点击创建 再填写客户端，关联入站那里点击全选，凭据页面下方的Flow选择xtls-rprx-vision，点击创建 在客户端操作菜单里点击二维码或者叹号即可获取订阅信息 以上一套下来即可拥有一个目前最不易被GFW嗅探到的翻墙线路，其他几点需要注意的有： 面板设置-订阅设置中，建议把默认的URI路径/sub/更改为其他的地址，比如/2E3kjw8Tm/以用来减少被扫描的几率，打开Clash/Mihomo订阅开关增加订阅的兼容性。 入站信息的安全选项卡里填写的目标地址可以从这里github下载工具，替换1.1.1.1为你VPS的地址，扫描1、2分钟，然后从结果中选取合适的网站地址就可以了，比填写google这种知名大厂的地址从行为上看会更合理 .\RealiTLScanner-windows-64.exe -addr 1.1.1.1 -port 443 -thread 100 开启BBR脚本（1g内存）： sudo bash -c 'cat > /etc/sysctl.d/99-bbr-lowmem.conf << EOF net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr # 让 HTTP/2 优先级和视频流更及时 net.ipv4.tcp_notsent_lowat = 16384 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mtu_probing = 1 net.ipv4.tcp_slow_start_after_idle = 0 # 缓冲区设置（12MB） net.core.rmem_max = 12582912 net.core.wmem_max = 12582912 net.ipv4.tcp_rmem = 4096 131072 12582912 net.ipv4.tcp_wmem = 4096 65536 12582912 EOF' # 加载模块（如果存在） sudo modprobe tcp_bbr 2>/dev/null # 应用配置 sudo sysctl --system 查看流媒体解锁情况 bash <(curl -L -s check.unlock.media) -M 4 或 bash <(curl -sL https://run.NodeQuality.com) 测试 VPS 带宽上限（安装iperf3） apt update && sudo apt install iperf3 -y 从 iperf3serverlist.net中找当前可用的公共服务器 或者本地安装服务后直接测本地IP iperf3 -c xxx.xxx.xx.xxx -p 5201 -t 10 -P 4 -R 其他安装措施： 防止WebRTC泄露 Chrome去安装官方插件WebRTC Network Limiter Edge安装对应插件比如WebRTC Control、 防止DNS泄露 Windows版ClashVerge 必须开tun模式，在订阅中扩展覆写配置中粘贴下面内容： dns: enable: true ipv6: false enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 listen: 0.0.0.0:1053 respect-rules: true use-system-hosts: false default-nameserver: - 223.5.5.5 - 119.29.29.29 nameserver: - https://dns.cloudflare.com/dns-query - https://dns.google/dns-query - https://1.1.1.1/dns-query fallback: - https://dns.google/dns-query - tls://8.8.8.8:853 - https://1.0.0.1/dns-query fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0.0.0/4 proxy-server-nameserver: - 223.5.5.5 - 119.29.29.29 nameserver-policy: 'geosite:cn,private': - https://doh.pub/dns-query - https://dns.alidns.com/dns-query '+.apple.com': - https://doh.pub/dns-query - https://dns.alidns.com/dns-query '+.weixin.qq.com': - https://doh.pub/dns-query - https://dns.alidns.com/dns-query 'vod.hdmc.fun': - 223.5.5.5 '+.stash.ws': - https://doh.pub/dns-query fake-ip-filter: - '*.lan' - '*.local' - '*.localdomain' - 'localhost.ptlogin2.qq.com' - '+.apple.com' - '+.weixin.qq.com' - '+.msftconnecttest.com' - '+.msftncsi.com' tun: enable: true stack: mixed dns-hijack: - any:53 - tcp://any:53 auto-route: true auto-detect-interface: true strict-route: true iOS：Shadowrocket，开全局或者在做好以下配置后选择“配置” 首页下面第二个“配置”，选中对应的.conf，点右边蓝色叹号-最上面“通用” 勾选私有IP应答，蓝了就对了 删除下面DNS覆写内的所有内容，增加以下两条 https://1.1.1.1/dns-query https://dns.google/dns-query 长按配置，[General] 部分更改为以下内容： [General] yaml = true bypass-system = true udp-policy-not-supported-behaviour = REJECT skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local, captive.apple.com tun-excluded-routes = 239.255.255.250/32 dns-server = https://1.1.1.1/dns-query, https://dns.google/dns-query private-ip-answer = true ipv6 = false dns-direct-system = false dns-fallback-system = false always-real-ip = *.lan, localhost, *.local, captive.apple.com, time.apple.com, time.windows.com, time.nist.gov wifi中的DNS设置为 8.8.8.8 iOS:Stash：很遗憾，clash系只有开全局才能完全避免DNS泄露 [collapse title="未完成内容：" status="false"] 蜂窝网络下安装描述文件没有成功 [/collapse] VPS安全措施：更改SSH默认端口启用密钥登录并禁止密码登录 第一步：用PuTTYgen生成密钥 打开PuTTYgen 在界面下方Parameters部分： 选择Ed25519 点击Generate，然后不停移动鼠标，直到进度条走完 生成完成后： 在Key comment里可以写vps-xxyyzz（可选）。 Key passphrase 以留空（设置密码等于登录时需要密码及密钥双重认证） 点击Save private key，把私钥保存到一个安全的地方 复制公钥： 在PuTTYgen上方大文本框里（Public key for pasting into OpenSSH authorized_keys file），用鼠标全选并复制整段内容（以 ssh-ed25519 或 ssh-rsa 开头） 第二步：把公钥上传到服务器 使用PuTTY通过用户名和密码登录服务器，复制粘贴下面命令 mkdir -p ~/.ssh chmod 700 ~/.ssh echo "这里粘贴刚才从PuTTYgen复制的完整公钥" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys exit 回车后PuTTY会自动退出 第三步：修改服务器SSH配置 重新打开PuTTY，左侧列表中Connection → SSH → Auth → Credentials，加载刚才保存的私钥 登录服务器，此时依然需要输入用户名和密码 复制粘贴下面命令 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F) nano /etc/ssh/sshd_config 找到配置中这些行，更改和下面一致 Port 34567 #可选，更改默认22的SSH端口（建议用10000以上） PubkeyAuthentication yes #开启密钥登录 PasswordAuthentication no #禁止密码登录 PermitRootLogin prohibit-password #root用户必须用密钥登录 ChallengeResponseAuthentication no #关闭所有挑战应答式认证方式 UsePAM no #SSH登录时不再使用PAM参与认证 修改完后： Ctrl + O → 回车保存 Ctrl + X 退出 第四步：开放新端口 复制粘贴下面命令 ufw allow 34567 #放行更改后的SSH端口 ufw reload #重新加载防火墙 第五步：重启 SSH 服务 复制粘贴下面命令 systemctl restart sshd || service ssh restart 执行后，原来的端口密码登录已经失效 以后就可以用新端口+密钥登录了 第六步：收尾 复制粘贴下面命令 ufw delete allow 22 ufw reload ufw status 删掉暴露的22端口 配置Faile2ban 通过X-UI命令可以看到已经默认安装了fail2ban，默认配置是 SSH防护：10分钟内5次失败后封禁10分钟 面板防护：32秒内1次失败封禁30分钟 修改SSH防护需要打开文件 sudo nano /etc/fail2ban/jail.d/defaults-debian.conf 更改[sshd]下面对应的时间 [sshd] enabled = true maxretry = 5 findtime = 600 bantime = 600 修改面板防护需要打开文件 sudo nano /etc/fail2ban/jail.d/3x-ipl.conf 更改[3x-ipl]下面对应的时间 [3x-ipl] enabled = true maxretry = 1 findtime = 32 bantime = 1800 更改保存后重新加载 sudo fail2ban-client reload 验证结果 # 验证 sshd sudo fail2ban-client get sshd maxretry sudo fail2ban-client get sshd findtime sudo fail2ban-client get sshd bantime # 验证 3x-ipl sudo fail2ban-client get 3x-ipl maxretry sudo fail2ban-client get 3x-ipl findtime sudo fail2ban-client get 3x-ipl bantime 添加主面板IP为白名单 编辑配置文件 nano /etc/fail2ban/jail.local 复制粘贴下面内容 [DEFAULT] ignoreip = 127.0.0.1/8 ::1 123.123.123.123 #你的主面板IP [sshd] enabled = true [3x-ipl] enabled = true 重启 fail2ban 让配置生效 systemctl restart fail2ban 验证是否生效 fail2ban-client get sshd ignoreip fail2ban-client get 3x-ipl ignoreip 防止扫描 创建 Filter： cat > /etc/fail2ban/filter.d/xui-tls.conf << 'EOF' [Definition] failregex = ^.*http: TLS handshake error from <HOST>:\d+ ignoreregex = EOF 创建 Jail： cat > /etc/fail2ban/jail.d/xui-tls.conf << 'EOF' [xui-tls] enabled = true filter = xui-tls backend = systemd journalmatch = _SYSTEMD_UNIT=x-ui.service maxretry = 8 findtime = 60 bantime = 172800 action = iptables-allports[name=xui-tls] ignoreip = 127.0.0.1/8 ::1 123.123.123.123 234.234.234.234 EOF 参数说明： maxretry = 8：1 分钟内 8 次 findtime = 60：统计窗口 60 秒 bantime = 172800：封禁 2 天 ignoreip = IP白名单，可以用空格添加更多 重新加载并查看状态 fail2ban-client reload fail2ban-client status xui-tls 其他VPS全新安装步骤： 更新软件源并安装 sudo apt update sudo apt install fail2ban -y 启动并设置开机自启 sudo systemctl enable --now fail2ban 检查是否运行正常 sudo systemctl status fail2ban 快速设置自定义配置 # 创建 sshd 配置 sudo tee /etc/fail2ban/jail.d/defaults-debian.conf > /dev/null <<EOF [sshd] enabled = true maxretry = 2 findtime = 300 bantime = 48h EOF # 重新加载 sudo fail2ban-client reload TCP调优 bash <(curl -fsSL https://raw.githubusercontent.com/Kylin010/tcpfit/main/tcpfit.sh)
远程桌面从微软的RDP到各种第三方，陆续用了不少，用的时间最长的最开始是Teamview，体验很好，被商业化后陆续短时间尝试过向日葵、qq远程协助、Anydesk、Rustdesk、jumpdesk，均因为延迟太大和没有移动客户端这些问题被放弃，期间用了很长时间的Todesk，体验也不错，但不幸的是之后也商业化了，对个人使用的限制越来越过分。再之后很长一段时间都在使用Parsec，这个是目前我用下来强推的远程桌面应用，延迟低到个位毫秒。但最大的缺点是需要翻墙环境认证，另外没有ios客户端。 随着春暖花开万物复苏，手不禁又开始犯贱，捡起之前的Rustdesk尝试本地自建服务，结果令人吃惊，3ms的延迟和本地操作几无区别。这里记录下部署过程，总体来说还是很简单的。 首先我的网络环境是联通家宽，有公网ip。接下来ssh到一台N100的ubuntu主机 运行以下命令安装Docker sudo apt update sudo apt install docker.io docker-compose -y 在 Ubuntu 中创建一个用于存放 RustDesk 数据的目录： mkdir -p ~/rustdesk-server && cd ~/rustdesk-server 创建 docker-compose.yml 配置文件： nano docker-compose.yml 将以下内容复制并粘贴到文件中。注意：其中我的域名需要替换为实际的域名或公网IP： version: '3' services: hbbs: container_name: hbbs image: rustdesk/rustdesk-server:latest command: hbbs -r xxxxx.hdmc.fun:21117 -k _ volumes: - ./data:/root network_mode: "host" restart: always hbbr: container_name: hbbr image: rustdesk/rustdesk-server:latest command: hbbr -k _ volumes: - ./data:/root network_mode: "host" restart: always 保存并退出（在 nano 中按 Ctrl + O 保存，Enter 确认，Ctrl + X 退出）。 有墙环境下现在启动服务大概率会因为超时失败，建议直接将加速源写入 /etc/docker/daemon.json： sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.1ms.run", "https://docker.xuanyuan.me", "https://docker.m.daocloud.io" ] } EOF 新加载配置并重启 Docker 服务 sudo systemctl daemon-reload sudo systemctl restart docker 重新拉取并启动 RustDesk： cd ~/rustdesk-server sudo docker-compose up -d 等待几秒后会显示 Creating hbbr ... done Creating hbbs ... done 此时服务就已经跑起来了 接下来运行以下命令查看Key cat data/id_ed25519.pub 屏幕上会输出一串很长的字符（例如 ..JRq+j1Vz++ic1ZwF0u5cEHiyRq4=），请复制并保存这串字符，稍后配置客户端时会用到。 在Ubuntu系统上放行端口 sudo ufw allow 21115/tcp sudo ufw allow 21116/tcp sudo ufw allow 21116/udp sudo ufw allow 21117/tcp sudo ufw reload 路由器上设置端口映射 把公网访问的这些端口转发到局域网内的N100主机 到此大功告成
感谢AI时代，手搓代码实现优雅的切换Ubuntu服务器代理
我一直用AppleTV（192.168.1.175）中的Stash作为家庭网络的代理网关使用，几年下来感觉非常稳定，通过一个命令就可以简单的切换Plex服务器的网关地址 route add default gw 192.168.1.175 route del default gw 192.168.1.175 因为Stash会强制劫持所有经过的53端口DNS请求，所以只需要切换网关，DNS请求自然就被Stash截获了，从而实现设备翻墙，同理，我的Xbox也只需要设置下网关为175，DNS默认就可以实现游戏机翻墙 但最近由于机房拔线导致基本所有中转线路都举步维艰，不少机场改为直连线路，同时升级了最新的代理协议和强推机场专属客户端，这就造成了我的机场对Stash的支持直线下降，同样的机场和订阅，用Shadowrocket就正常使用，换成Stash则节点全部超时 不得已我只好放弃在AppleTV上的Stash而改为Shadowrocket。但Shadowrocket在AppleTV作为网关时，需要客户端将其DNS指向它内置的虚拟DNS服务器（即198.18.0.2），才能正确触发FakeIP机制，而在Ubuntu里随时更改DNS的几个方法对我来说显然没有上面两个命令切换来的方便 感谢AI，问了Gemini之后它给了我以下步骤，完美解决了我的痛点 以下是完整步骤，直接复制粘贴执行 第一步：添加快捷命令到配置文件 直接在终端中运行以下这段代码（它会自动把配置追加到 ~/.bashrc 文件里，不需要手动打开编辑器）： cat << 'EOF' >> ~/.bashrc # 开启代理 (网关指向 1.175, DNS 指向 Fake IP) alias proxy-on='ip route add default via 192.168.1.175 2>/dev/null; resolvectl dns enp2s0 198.18.0.2 && resolvectl domain enp2s0 "~." && echo -e "\033[32m[+] 代理开启 (网关:1.175, DNS:198.18.0.2)\033[0m"' # 关闭代理 (网关和 DNS 强制恢复为主路由 1.3) alias proxy-off='ip route del default via 192.168.1.175 2>/dev/null; resolvectl revert enp2s0; resolvectl dns enp2s0 192.168.1.3 && echo -e "\033[33m[-] 代理关闭 (网关已恢复 1.3, DNS已恢复 1.3)\033[0m"' EOF 第二步：让配置立即生效 输入以下命令刷新环境变量： source ~/.bashrc 完工！之后就可以通过下面两条命令丝滑切换翻墙模式和正常模式了 proxy-on 会有绿色字体提示。此时路由和DNS会瞬间指向AppleTV和Shadowrocket proxy-off 会有黄色字体提示。此时网关瞬间恢复为192.168.1.3也就是我的主路由，DNS劫持也被撤销，彻底恢复正常状态 如果需要验证是否真的走代理了，可以通过这个命令 curl ipinfo.io 如果输出的IP和国家是海外节点，说明切换成功 留个记录
手里几个传家宝都是10g的硬盘，简单跑几个服务就占用超过70%，检查后发现系统日志占用900多m，为了秉承蚊子肉也是肉的原则，两条命令解决下日志占用问题： 清理 2 周前的日志 sudo journalctl --vacuum-time=2weeks 限制日志最大占用 100MB sudo journalctl --vacuum-size=100M 除此之外还有一些常用的清理命令供参考： 查看占用 du -sh /var/cache/apt 清理缓存 sudo apt-get clean sudo apt-get autoclean 清理不再需要的依赖 sudo apt-get autoremove 清理 /var/log 下其他日志 查看哪些日志最大 sudo du -sh /var/log/* 清空某个日志（不删除文件） sudo truncate -s 0 /var/log/xxx.log 清理临时文件 手动清理 sudo rm -rf /tmp/* sudo rm -rf /var/tmp/* 自动清理（systemd-tmpfiles） sudo systemd-tmpfiles --clean
话不多说，插件名：PhoenixAdult 直接甩链接 插件仓库直达 这个插件可以很方便的搜刮很多常见的欧美成人网站元数据，包括并不限于：海报、演员头像、影片简介、标签、合集等信息 安装方法和其他第三方插件一样，下载后放到Plex插件目录即可 效果如视频： [vplayer url="https://blog.hdmc.fun/usr/uploads/2024/11/3148379302.mp4" /] 简单方便，扫描库之后等着就可以了，有个别命名问题没有自动刮好的稍后用推荐格式重新匹配一下就可以了。
Plex搜刮无效的解决方法-2024年底重大更新
感谢Plex群里土著大佬的解决方案，折腾了一天总算把我的问题也解决了，原帖：猛击直达 这里记录下过程，总体思路是放弃Plex官方的解析方案，利用Plex自带的自定义域名连接功能 先说明下我的实际环境： Plex的服务安装在N100的小主机内，用appleTV作为翻墙网关给N100提供无墙网络，利用局域网内另一台Windows小主机nuc7来运行一个基于Linux的虚拟机，上面跑一个Nginx的反向代理服务，把自定义域名的访问提供给N100的Plex服务器，从而实现了Plex服务器本身通过appleTV的网关无墙搜刮元数据的同时，外网的播放请求连接全部通过nuc7的反向代理转到了N100的Plex服务 各位可以根据自己的实际情况有选择的参考我的解决步骤 首先是在nuc7上安装VMware 之后安装debian虚拟机 更新系统 apt update apt upgrade 安装必备软件 apt install curl -y apt install vim -y 可选操作：打开SSH远程root登录 vi /etc/ssh/sshd_config 去掉以下字段#号注释及更改值为yes PermitRootLogin yes 一键安装docker curl -fsSL https://get.docker.com | bash 设置日志大小，在daemon.json文件中增加以下内容 vi /etc/docker/daemon.json { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } 建立目录并安装Nginx Proxy Manager（NMP） cd / cd /npm/compose docker compose up 访问本机地址:81设置NMP 默认用户名admin@example.com 密码changeme 在SSL Certificates页面添加自定义域名，这里我用的通配符+域名 输入邮箱并选择DNS服务商，本例根据域名所在选择的阿里云 [scode type="red"]亲身经历，不要用godaddy，狗爹的api只能在你拥有10个域名以上的时候才可以用，后面的哥们不要踩坑了[/scode] 替换掉api的key，勾选同意后申请加密证书 接下来配置网页代理，选择Host页面中的Proxy Host 填写自定义域名，选择https，填写Plex服务器ip（192.168.1.80）和Plex的web服务端口32400 打开全部可选开关后保存 至此基本工作已完成，下面步骤为可选操作，主要是为了家宽ip变化后能自动同步到域名托管商的dns解析。如果固定ip或者喜欢手动同步的话可以跳过 安装ddns-go docker run -d --name ddns-go --restart=always -p 9876:9876 -v /opt/ddns-go:/root jeessy/ddns-go 完毕后访问本机地址:9876设置ddns-go 默认用户名密码为administrator:administrator DNS Provider页面 根据你的域名托管商勾选，这里是阿里云，所以填入阿里云的api key IPV4页面 填写自定义域名 其他选项可以保持默认，需要的话建议更改登录名及密码 最后点击下方的save即可生效，通过顶部的log按钮可以查看工作状态 之后在路由器的端口转发中设置个自定义的访问端口，转发给局域网内的NMP主机（192.168.1.45）443端口（图中的192.168.1.99地址应该是192.168.1.45） 比如 plex.test.com:45678 转发给 192.168.1.45:443 Plex的网络设置中确定不要勾选启用中转的选项，然后在下面填写自定义域名及端口号，比如 https://plex.test.com:45678 之后关掉Plex设置页面中的远程访问 至此一切设置就完成了，这种方式的缺点是：在Plex被墙的情况下，客户端首次连接需要无墙网络，登陆后就可以在有墙网络条件下连接了。安卓设备可以在卡logo的时候切换飞行模式正常使用，ios设备首次登陆后无需其他操作即可正常使用 其他疑问可以进群讨论：复制链接到QQ打开 完结撒花，再次感谢土著大佬 [collapse title="24年8月份不太完美的旧版解决方案：" status="false"] 不知道国内是有什么大病，放着网上大把Emby付费服不管，基本自用或者家人用的Plex居然被墙了。 最近几天Plex的搜刮可以说是时好时坏，如果你的Plex Server服务器可以设置代理的话就会发现可以正常刮削，但我的N100服务器装的是Ubuntu，不太方便装Clash这类的代理软件，正好家里的AppleTV有Stash作为网关给其他设备提供翻墙线路，于是可以按照下面操作实现刮削正常： 首先用局域网内的其他设备ssh到N100，比如我用的是运行win10的NUC 运行Putty，ssh到N100的服务器 输入命令增加AppleTV的网关（192.168.1.175） route add default gw 192.168.1.175 之后就可以扫库了，扫描到新增加的片子后会自动刮削信息，结束后需要恢复原来的默认网关 输入命令删除AppleTV的网关 route del default gw 192.168.1.175 任务完成 简单的两个命令即可解决无法搜刮的问题。 至于为何要恢复网关，是因为，这么设置后等于N100这台机器全局走的代理，会造成Plex双重NAT而无法远程链接，只能在局域网内使用 [/collapse]
数码宝贝02：最初的召唤 简体中文特效字幕
这部片子下了好久，媳妇一直催让我找到字幕，找了好几天，发现精研出了Hami Video的官方台式繁中字幕，用繁化姬中国话后做了简单的特效。 效果如图： 因为意外原因，已停止分享本字幕
我的N100小主机上部署了个Komga漫画服务，但每次重启主机后都需要进到桌面中手动点击应用图标才能启动，这几天研究了Ubuntu的几种自启动方式，尝试了下手打命令成功实现重启主机后服务自启动，记录下过程 1、首选打开文本文档制作启动脚本 [Unit] Description=Komga Service After=network.target [Service] ExecStart=/usr/lib/gotson/komga/bin/komga Restart=always [Install] WantedBy=multi-user.target 里面的Komga Service可以自定义 2、将上面的脚本保存为komga.service文件，如命名不同以下操作均要更改对应的脚本名称 3、把保存的komga.service文件移至/etc/systemd/system目录下作为服务 sudo mv komga.service /etc/systemd/system/ 4、授予komga.service文件权限 sudo chmod 644 /etc/systemd/system/komga.service 5、重新载入服务 sudo systemctl daemon-reload 6、开启服务 sudo systemctl start komga.service 7、设置为开机自启动 sudo systemctl enable komga.service 8、输入以下命令可以查看服务状态 sudo systemctl status komga.service 至此设置完毕