王麑 2025-07-12 04:25 采纳率: 98.2%
浏览 12
已采纳

Windows系统下如何正确配置sing-box的JSON文件?

**问题:** 在Windows系统下,如何正确配置 sing-box 的 JSON 配置文件以实现代理功能?常见配置错误有哪些,如何验证配置文件的正确性?
  • 写回答

1条回答 默认 最新

  • 璐寶 2025-07-12 04:25
    关注

    一、sing-box 简介与配置背景

    sing-box 是一个支持多种协议的现代代理工具,适用于多平台(包括 Windows)。它基于 JSON 格式的配置文件进行服务定义和管理。在 Windows 下,正确配置 sing-box 的关键在于理解其结构化配置方式,并能识别常见错误。

    1. 安装环境准备

    • 下载最新版本的 sing-box:从 GitHub 项目页面获取适用于 Windows 的二进制包。
    • 解压后建议将 sing-box 添加到系统 PATH,或放置于固定目录运行。
    • 创建一个配置文件,例如:sing-box.json

    二、基础配置示例与说明

    以下是一个最简的 sing-box 配置示例,用于建立 SOCKS5 本地代理:

    
    {
      "log": {
        "level": "info",
        "output": "stdout"
      },
      "inbounds": [
        {
          "type": "socks",
          "tag": "socks-in",
          "listen": "127.0.0.1",
          "port": 1080
        }
      ],
      "outbounds": [
        {
          "type": "direct"
        }
      ]
    }
        

    该配置实现了一个监听在本地 1080 端口的 SOCKS5 代理服务,所有流量直接转发。

    2. 扩展配置:使用 VMess 协议连接远程服务器

    
    {
      "log": {
        "level": "info",
        "output": "stdout"
      },
      "inbounds": [
        {
          "type": "socks",
          "tag": "socks-in",
          "listen": "127.0.0.1",
          "port": 1080
        }
      ],
      "outbounds": [
        {
          "type": "vmess",
          "tag": "vmess-out",
          "server": "your.remote.server",
          "server_port": 443,
          "uuid": "your-uuid-here",
          "alter_id": 0,
          "security": "auto",
          "network": "tcp"
        }
      ]
    }
        

    三、常见配置错误与排查方法

    3. 常见配置错误列表

    错误类型表现形式可能原因
    JSON 格式错误程序启动时报错无法解析配置文件缺少逗号、括号不匹配、键名未加引号等
    字段名称拼写错误代理功能异常或无效果如误写为"sever"而非"server"
    端口冲突绑定失败、程序无法启动指定的 listen port 已被占用
    UUID 或密钥错误连接目标服务器失败与远端配置不一致

    4. 排查流程图

    graph TD A[启动 sing-box] --> B{是否报错?} B -- 是 --> C[检查日志输出] C --> D[查看具体错误信息] D --> E[修正 JSON 格式或字段拼写] B -- 否 --> F[测试本地代理是否可用] F --> G[使用浏览器或 curl 测试] G --> H{是否成功访问外网?} H -- 否 --> I[检查 outbound 配置] H -- 是 --> J[配置生效]

    四、验证配置文件的正确性

    5. 使用命令行验证配置

    可以使用如下命令验证配置文件格式是否合法:

    sing-box run -c sing-box.json

    如果配置无误,程序会正常启动并输出日志;如果有错误,会提示具体的错误位置。

    6. 使用在线 JSON 校验工具

    可上传配置文件至 JSONLint 等网站进行语法校验,提前发现格式问题。

    7. 功能性测试方法

    • 设置浏览器或系统代理为 socks5://127.0.0.1:1080
    • 访问 ipinfo.io 查看出口 IP 是否变化
    • 使用命令行测试:curl --socks5-hostname 127.0.0.1:1080 https://example.com

    五、高级配置技巧与最佳实践

    8. 多出站策略配置

    通过设置多个 outbounds 并配合 rule-set 实现分流控制,例如将特定域名走代理,其余直连:

    
    {
      "outbounds": [
        {
          "type": "direct",
          "tag": "direct"
        },
        {
          "type": "vmess",
          "tag": "proxy",
          "server": "your.remote.server",
          "server_port": 443,
          ...
        }
      ],
      "route": {
        "rules": [
          {
            "domain_suffix": ".google.com",
            "outbound": "proxy"
          }
        ]
      }
    }
        

    9. 配置自动更新与守护进程

    在 Windows 上可通过 NSSM(Non-Sucking Service Manager)将 sing-box 注册为系统服务,实现开机自启与自动重启。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 7月12日