适用:Windows + Git Bash + hexo + butterfly 主题

场景:本地电脑当相册服务器(需 24 小时开机),手机流量访问


一、前提条件

  • 本地 hexo 已添加相册并跑通(5 个文件 + 相册页已生成)
  • 博客已部署 GitHub(https://xxx.github.io/ 可访问,可选)
  • 宽带已开启 IPv6(光猫/路由器)
  • 手机用流量(移动/联通/电信 4G/5G)测试

二、需要替换的占位符

占位符 说明
[DYNV6域名] 你在 dynv6 创建的域名,如 abc123-pc.dynv6.net
[DYNV6_TOKEN] dynv6 网站里该域名对应的 token
[端口] 5000(可自定义,下面三处要一致)

三、第一部分:IPv6 设置

第1步:确认电脑有公网 IPv6

Git Bash 执行:

1
ipconfig

找到「以太网适配器」或「无线局域网适配器」里的 IPv6 地址:

1
IPv6 地址 . . . . . : 2409:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
  • ✅ 2409: 开头(电信/移动/联通公网 IPv6)
  • ❌ fe80: 开头是链路本地地址,不能用

如果只有 fe80: 地址,说明宽带没有 IPv6,先到路由器/光猫开启 IPv6

电脑重启 / 路由器重启后 IPv6 会变,这是正常的,靠 ddns 自动更新


四、第二部分:dynv6 域名设置

第2步:dynv6 创建域名

  1. 打开 https://dynv6.com(可用 GitHub 账号直接登录)
  2. 创建域名:如 abc123-pc.dynv6.net(前缀可自定)
  3. 进入该域名的管理页,My Zones → Instructions → Benutzername,复制 token

保存好:[DYNV6域名] 和 [DYNV6_TOKEN]

第3步:安装 ddns-go 自动更新 IPv6

ddns-go 会每 5 分钟把域名解析到你电脑的最新 IPv6,IP 变了不用手动改

  1. 下载 Windows 版:打开 https://github.com/jeessy2/ddns-go/releases/latest ,下载 ddns-go_windows_x86_64.zip(64 位系统),GitHub 下载慢可加镜像前缀:https://gh-proxy.com/,或者这里下载
  2. 解压到 D:\ddns-go\(或任意目录),得到 ddns-go.exe
  3. 在 ddns-go 目录打开 Git Bash,启动:
1
./ddns-go.exe -l :9876
  1. 浏览器打开 http://localhost:9876 进入配置页
  2. ddns-go 的登录界面,没有默认账号密码—— 用户名和密码是你第一次打开时自己设置的(”登录并配置为管理员账号” 就是首次设置
  • DNS 服务商:选 Dynv6
  • 填入 [DYNV6_TOKEN] 和 [DYNV6域名]填在IPV6 → Domains
  • IPv6 获取方式:选「通过网卡获取」(选你正在上网的网卡)
  • 保存
  1. 看到「更新成功」后,打开 dynv6 网站该域名管理页,确认 AAAA 记录 = 你电脑的 IPv6 地址

开机自启(设置一次,以后开机自动更新):

1
./ddns-go.exe -s install -l :9876

之后关掉当前 ddns-go 窗口即可,它会在后台运行


五、第三部分:启动相册服务

第4步:Windows 防火墙放行端口

以管理员身份打开 PowerShell,执行([端口] 默认 5000):

1
netsh advfirewall firewall add rule name="album5000" dir=in action=allow protocol=TCP localport=5000

第5步:启动相册服务

在 hexo 目录 Git Bash 执行:

1
node server.js 5000

看到「拾光小本 · 博客+媒体服务已启动」即可(server.js 已监听 IPv6+IPv4,手机流量可直接访问)

电脑重启后自动启动(24 小时开机场景强烈建议用 pm2):

1
2
3
4
npm install -g pm2
pm2 start server.js --name hexo-album
pm2 save
pm2 startup

pm2 startup 会输出一条命令,按提示复制粘贴执行即可


六、第四部分:验证

第6步:手机流量验证

  1. 手机关闭 WiFi,用流量打开:
1
http://[DYNV6域名]:5000/相册/

例:http://abc123-pc.dynv6.net:5000/相册/

  1. 输入全局密码 → 看到相册列表(有封面)→ 点进相册
  2. 输入相册密码 → 照片正常显示,视频可拖动播放 ✅

七、常见问题排查

问题 排查方法
手机打不开 dynv6 地址 ① 手机用流量不是 WiFi(家里 WiFi 一般没有公网 IPv6)② dynv6 后台 AAAA 记录 = 电脑当前 IPv6(IPv6 会变,ddns 每 5 分钟更新)③ 电脑上先自测 http://localhost:5000/相册/ ④ 换个运营商流量测试
防火墙已放行还是不通 ① 放行端口和 server.js 启动端口一致(都是 5000)② server.js 显示已启动、没报 EADDRINUSE(端口被占)
dynv6 域名解析不到 ① ddns-go 配置页是否显示「更新成功」② dynv6 管理页 AAAA 记录是否 = 电脑 IPv6 ③ 电脑 IPv6 是否变了(重启路由/电脑会变,等 ddns 下次更新即可)

八、注意事项

  1. 电脑必须 24 小时开机、不能休眠,否则相册打不开(电源计划设「从不休眠」,定期重启一次电脑保持稳定)
  2. 一个 dynv6 域名同时只能指向一台设备,如果以后 N1 也要做相册,必须另建一个域名,不能共用
  3. 端口三处要一致:server.js 启动参数、防火墙放行、菜单地址(都写 5000)
  4. 相册密码 / 输错锁定只在 server.js 上生效,GitHub 上的相册静态页没有密码(菜单已指向 dynv6,正常走不到)
  5. 手机只能通过流量访问;想家里 WiFi 也能访问,需在路由器开启 IPv6 并放行对应端口
  6. 断电 / 断网 / 电脑故障 → 相册不可用(GitHub 博客不受影响),重要照片建议再拷一份到移动硬盘
  7. 照片不要推 GitHub(仓库建议 <1GB),照片永远只放电脑本地