购买新的服务器后,我也不打算继续续费sakurafrp了,所以反代提供公网IPv4访问的工作需要转移到Claw HK机上,同样地Mumble服务器的IPv4转发也需要迁移到Claw HK机器上。
除了博客本身直接部署,所有需要反代,转发的服务都通过WireGuard组网后虚拟局域网转发完成。

Nginx反代配置

nas.xfox.fun

# HTTPS 强制跳转配置
server {
    listen 80;
    listen [::]:80;
    server_name nas.xfox.fun;
    return 301 https://$host$request_uri;
}

# 主 HTTPS 服务配置
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name nas.xfox.fun;

    # 更新后的SSL证书路径
    ssl_certificate /home/xfox/www/all_xfox.fun/fullchain.pem;
    ssl_certificate_key /home/xfox/www/all_xfox.fun/privkey.pem;

    # SSL 优化配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;
    ssl_session_tickets off;
    add_header Strict-Transport-Security "max-age=63072000" always;

    # 反向代理配置
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        
        proxy_redirect off;
        proxy_pass http://10.10.0.2:5212;

        # 超大文件支持 client_max_body_size 缺省单位->字节 ,k千字节,m兆字节,g千兆字节
        client_max_body_size 16g;
        proxy_request_buffering off;
        proxy_buffering off;
    }
}

Mumble IPv4转发 && 数据库与配置文件同步

我尝试使用iptables转发失败了,然后换了nftables还是失败了,懒得折腾了。
直接把Mumble服务器也迁移到Claw HK上。
后续直接写脚本同步数据库和配置文件。

Mumble数据库和配置文件

两个属于root的文件:

-rwxrwxrwx 1 root root 16K 12月16日 20:26 /etc/mumble-server.ini
-rwxrwxrwx 1 root root 1016K  3月22日 16:06 /var/lib/mumble-server/mumble-server.sqlite

接下来先把家庭服务器的Mumble服务器配置同步到ClawHK服务器

# 同步配置文件
sudo rsync -avz -e "ssh -i /home/xfox/.ssh/id_ed25519 -o StrictHostKeyChecking=no" \
  /etc/mumble-server.ini \
  root@10.10.0.1:/etc/

# 同步数据库文件
sudo rsync -avz -e "ssh -i /home/xfox/.ssh/id_ed25519 -o StrictHostKeyChecking=no" \
  /var/lib/mumble-server/mumble-server.sqlite \
  root@10.10.0.1:/var/lib/mumble-server/

启动Mumble服务器发现:
Mar 22 09:58:29 ClawHK mumble-server[50320]: 2025-03-22 09:58:29.869 Initializing settings from /etc/mumble-server.ini (basepath /etc)
Mar 22 09:58:29 ClawHK mumble-server[50320]: 2025-03-22 09:58:29.870 MetaParams: Failed to read /home/xfox/www/all_xfox.fun/fullchain.pem
看上去Mumble-server没权限读取证书。

sudo chmod +x /home/xfox /home/xfox/www /home/xfox/www/all_xfox.fun

即可。

服务器已完成迁移!

迁移后,本服务器正式开始以IPv4/6双栈模式稳定运行。
服务器快的让我有点不习惯🤣
当前服务器IP信息公开如下:
Name: xfox.fun
IPV4 Address: 47.242.89.175
IPV6 Address: 240b:4001:278:8401:ffff:abb0:2987:aa04
如果你发现你的解析与上文不符,请立即检查当前网络环境是否处于中间人劫持状态!
旧的服务器将在租赁到期后彻底丢失全部数据并永久不可访问,在这一个月的过渡期里,你可以通过go.xfo.fun继续访问旧的服务器。

感谢racknerd的廉价VPS使得本站在我穷困潦倒的时候以综合成本不超过100RMB每年的超低价格稳定运行。

现有问题:

  1. Racknerd 买的特价鸡不支持ipv6网络
  2. 当前服务器位于USA Sanjose 延迟较大且丢包率高,不利于组网。

    目标需求

    未来我希望能有一个稳定的服务器对外提供公网IPv4访问服务,并且延迟尽可能的低和稳定。服务商需要支持设置rDNS和PTR

    准备工作

    昨天已经测试了通过WireGuard/Frp 完成服务器的数据库和网站目录热备份,所以数据安全不愁。
    当前服务器预计5月份到期,我不太打算续费了。

    为了避免过期前迁移手忙脚乱我将在2025年3月20日晚8点开始迁移工作,预计6个小时内完成。

    给racknerd打个Aff广告

    下面我用的同款就是最便宜的了,我不靠这个挣钱,打工才是支撑本站和Linux用户站的主要收入来源。
    本博客同款省钱VPS过去两年一直在用
    你删aff代码racknerd也不会多便宜你一分钱,别问,问就是某人穷困潦倒的时候试过😭

    黑色星期五2022版:

  3. MB KVM VPS
    1个VCPU核心
  4. GB纯SSD RAID-10存储
  5. MB RAM
    1000GB每月高级带宽
    1GBPS公共网络端口
    完整的根级管理员访问
    1个专用IPv4地址
    KVM / SOLUSVM控制面板 - 重新启动,重新安装,管理rDNS等等
    在多个位置可用 每年$ 10.28-哇!
    1 GB 内存 KVM VPS 1x vCPU 核心1 GB 内存 24 GB 固态硬盘2 TB 带宽 价格:11.29 美元/年

应用选型:Mailu

Mailu项目仓库

架构规划

主要设备

服务器名称硬件网络用途
境内Server AEliteDesk800G3 SSF ,G4600,2*8GB RAM无公网IP运行mailu 容器
境外Server BRackNerd VPS,1*Vcpu,768MB RAM有公网IP提供公网IPv4 地址

网络规划

考虑到方案1可能违反SakuraFrp的用户协议,暂定方案2。

方案实施风险
方案1在A上运行FRP,开出公网端口用于与B的通信;在B上运行socat转发必要端口到A,实现A-B双向通信。依赖第三方服务(如FRP)的稳定性,可能存在性能瓶颈或配置复杂性。
方案2在A、B上运行WireGuard,实现10.10.0.0/24虚拟组网。配置较为复杂,涉及跨境组网,网络波动可能导致通信失败。

- 阅读剩余部分 -

Github ISSUE origin page

复现过程

832 conda activate GPTSoVits
833 git clone https://github.com/RVC-Boss/GPT-SoVITS
834 git lfs pull
835 cd GPT-SoVITS/ && git lfs pull
836 conda activate GPTSoVits
python webui.py zh_CN
分割后启用降噪工具:

"/home/xfox/miniconda3/envs/GPTSoVits/bin/python" tools/cmd-denoise.py -i "output/slicer_opt" -o "output/denoise_opt" -p float16
2025-01-03 03:15:39,507 - modelscope - INFO - PyTorch version 2.1.1 Found.
2025-01-03 03:15:39,508 - modelscope - INFO - Loading ast index from /home/xfox/.cache/modelscope/ast_indexer
2025-01-03 03:15:39,535 - modelscope - INFO - Updating the files for the changes of local files, first time updating will take longer time! Please wait till updating done!
2025-01-03 03:15:39,542 - modelscope - INFO - AST-Scanning the path "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope" with the following sub folders ['models', 'metrics', 'pipelines', 'preprocessors', 'trainers', 'msdatasets', 'exporters']
Traceback (most recent call last):
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py", line 466, in _get_single_file_scan_result
output = self.astScaner.generate_ast(file)
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py", line 365, in generate_ast
output = self.scan_import(node, show_offsets=False)
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py", line 164, in scan_import
local_out = _scan_import(el, type(el).name)
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py", line 133, in _scan_import
return self.scan_import(
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py", line 151, in scan_import
attr = getattr(node, field)
AttributeError: 'ClassDef' object has no attribute 'type_params'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/xfox/Apps/GPT-SoVITS/tools/cmd-denoise.py", line 4, in
from modelscope.pipelines import pipeline
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/init.py", line 4, in
from modelscope.utils.import_utils import LazyImportModule
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/init.py", line 1, in
from .hub import create_model_if_not_exist, read_config
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/hub.py", line 12, in
from modelscope.utils.config import Config
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/config.py", line 22, in
from modelscope.utils.import_utils import import_modules_from_file
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/import_utils.py", line 380, in
class LazyImportModule(ModuleType):
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/import_utils.py", line 383, in LazyImportModule
AST_INDEX = load_index()
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py", line 722, in load_index
_update_index(index, files_mtime)
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py", line 638, in _update_index
updated_index = file_scanner.get_files_scan_results(updated_files)
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py", line 532, in get_files_scan_results
decorator_list, import_list = self._get_single_file_scan_result(
File "/home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py", line 469, in _get_single_file_scan_result
raise Exception(
Exception: During ast indexing the file /home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/models/multi_modal/diffusion/unet_generator.py, a related error excepted in the file /home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/utils/ast_utils.py at line: 151: "attr = getattr(node, field)" with error msg: "AttributeError: 'ClassDef' object has no attribute 'type_params'", please double check the origin file /home/xfox/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/modelscope/models/multi_modal/diffusion/unet_generator.py to see whether the file is correctly edited.

原因

参见缓存目录使用混乱,MODELSCOPE_CACHE环境变量在不同位置的作用不一致 #845

解决方案

rm ~/.cache/modelscope/ast_indexer

一问就烦心,一聊就反感。不是因为认知差距,也不是因为时代代沟。
一切的根源,其实是不信任。当你不信任一个人的时候,你不会愿意多谈一句自己的任何事情。
结合身份,这对双方都是一种痛苦。这样的痛苦,还会持续很久,即使一方死亡,另一方也可能仍然痛苦。
剥离情感撰写这篇文章的时候,我对自己和未来感到无比恐惧。
希望一切早点恢复正常吧。

好消息

现在一切向好。