Skip to content

NB4A 配置

这是 NekoBox for Android 的详细说明书,跟随软件更新,阅读前请保证您使用的是最新版

协议说明

自定义 JSON

自定义功能,适用于任何类型的服务器,请在「服务器配置」界面点击右上角的三个点。

需要先保存服务器。否则点击右上角菜单无反应。

参考这里的说明

自定义配置

可以填写完整配置,也可以填写一个 outbound

如果填写完整配置,则需注意:

  • outbound tag 等属性需要与 GUI 生成的配置保持一致 (如 proxy bypass), GUI 路由配置等功能失效
  • VPN 相关配置完全由 GUI 控制, tun inbound 只需保持 IP 一致即可 (172.19.0.1/28)

Shadowsocks

  • 如果服务器是 sing-box 则支持 multiplex uot
  • multiplexuot 冲突,同时只能开一个

HTTP

部分情况下与 v2ray 等服务器存在兼容性问题。

  • 截至 2023 年 6 月 sing-box HTTP 出站未支持 HTTP/2 CONNECT (HTTP+TLS) 代理,此类代理无法使用(表现为 EOF 错误)
  • 截至 2023 年 6 月 sing-box 未支持 v2ray "TCP Header 伪装 HTTP" (VMESS+TCP+HTTP+TLS) 类型代理,此类代理无法使用(表现为 EOF 错误)

VMess

  • 对于像 ALPN 这样的列表选项,格式是每行一个。1.1.7 版本后也可以用 , 分割。

Wireguard

  • 本地地址 每行一个。 格式如 10.0.0.1/24 2001:db8::1/32
  • 支持 reseved 字段,请填 base64 字符串。

Hysteria1

对于 sing-box 不支持的类型(比如 wechat-video),需要安装 Matsuri Hysteria 插件 1.3.3+

多端口 / 端口跳跃

  1. (1.2.0之前的旧格式) 需要使用多端口时,「服务器」按照 example.com:1145,5144-10240 格式填写,「服务器端口」随意填写。
  2. (1.2.0新格式) 服务器和端口分开填写,端口可以填写字符串,格式: 11451(单端口)/ 114-514,1919(多端口)。旧配置自动升级,但不可再写旧的格式。
  3. 不使用多端口时,「服务器」和「服务器端口」按照原来的方式填写。
  4. 不能作为链式代理的非入口节点。

Hysteria2

Hysteria2 使用 sing-box 内置实现,暂不支持使用端口跳跃。

TUIC

因为一些用户报告了被 GFW 封锁,以及使用与维护方面的不便,Tuic v4 v5 Plugin (基于 https://github.com/EAimTY/tuic) 客户端已在 1.2.4 版本被彻底废弃。

v5 协议 (1.2.0之后)

1.2.0+ 支持无需插件的 TUIC,由 sing-box 实现。

如果需要使用 udp_over_stream 一项(场景:可能对某些软件的实时UDP视频串流有帮助),请使用 sing-box 作为 TUIC 服务器。

ShadowTLS

通常需要与 ShadowSocks 类型服务器组成链式代理才能上网。顺序为 ShadowTLS -> ShadowSocks

sing-box ShadowTLS 与原版的兼容性未知。

sing-box 私有协议

注意

  • 这是一些私有协议,通常随 VMess Trojan 等协议使用。
  • 如果服务器不支持(通常是因为不是 sing-box 或者版本不同),则可能导致无法上网。

按 sing-box 的出站分:

  • vmess/vless/trojan: V2Ray Transport (http/ws/grpc/quic)
  • vmess/vless: packetaddr xudp
  • ss/vmess/vless/trojan: multiplex
  • ss: uot

Note

  • ws 地址支持 ?ed=2048 这种 earlydata 形式(与 Xray 兼容)

TLS 安全设置

封锁提示

2022 年 10 月开始,TLS Tunnel 易受封锁。

  • 允许不安全连接:启用后安全性相当于明文。有些节点不开这个无法使用,原因是服务器证书配置有误。
  • 证书(链):应填入证书内容,通常是 PEM 格式。
  • 如果 SNI 留空,且 服务器地址 为域名,则使用 服务器地址 填充 SNI。(v2ray & sing-box 行为)
  • 本项目不会使用 ws host 等字段填充 SNI,这可能会使一些客户端(V2RayNG)共享的 ws tls 等配置无法使用,请自行检查。

TLS 伪装设置

  • uTLS
  • Reality (先决条件是开启 uTLS,不支持 SpiderX,ShortId 可留空)

Note

  • sing-box Reality 目前与 Xray-core 兼容性欠佳,建议服务器和客户端使用相同的实现。

功能说明

导入 / 导出 / 订阅

NekoBox for Android 支持的格式:

  • 「Clash格式」一般带有流量信息,本项目支持解析其节点(推荐使用)
  • 「Clash Meta格式」 VLESS & Hysteria & TUIC(NB4A 1.1.4+ 支持,推荐使用)
  • 「V2rayN格式」一般不带流量信息,本项目支持解析
  • 「Shadowsocks格式」本项目支持解析
  • 一些通用的分享链接及其 Base64 编码后的格式

NekoBox for Android 不支持的格式:

  • 「某些苹果应用自创的格式」
  • 「SSR格式」
  • 「SIP008/OOCv1」
  • 各种较少使用/不标准的格式

另见 分组和订阅

导入

目前支持从链接导入和从文件导入。程序会自动识别链接。

Wireguard .conf 配置文件可以导入。

sing-box .json 配置文件可以导入(导入为自定义配置)。

包含分享链接的文件可以导入。

如果需要导入多个文件,可以压缩为 zip 文件,程序会尝试解压并识别其中的配置文件。

导出/分享

导出配置:导出软件生成的 sing-box config.json 等配置文件。

分享链接:标准 / SN Link,不同节点分享格式以分享菜单为准。

SN Link 格式 (sn://) 为程序内部的存储格式,包含的信息最完全,但跨版本兼容性没有保证。

请勿尝试导入其他软件(或本软件较旧版本)的 sn:// 链接和备份信息。

分享链接说明

vmess vless trojan 的分享链接非常混乱,在 NekoBox for Andoird 0.7+,采用如下的分享链接策略。

导入尽量兼容常用软件的格式。

导出(基本与 nekoray v2rayN 等软件的行为兼容)

  • VMess 导出的链接为 v2rayN/G 的格式 vmess://(base64)
  • VLESS & Trojan 导出的格式参考 https://github.com/XTLS/Xray-core/discussions/716 ,其中:

  • 遇到 http 1.1 的传输类型时,设置 type=tcp&headerType=http 以及 host=xxxx

  • 为 VLESS 设置 encryption=none flow=xxx, Trojan 不设置
  • 允许设置 allowInsecure=1
  • v2fly ws earlydata: ed=2048&eh=xxx

代理链

  • 代理链由客户端实现,所以会有一些性能损失
  • 流量顺序是从上到下(最后一个配置为流量的出口)
  • 列表中的配置可以长按拖动,向左滑动删除

多路复用(multiplex)

减少新建连接时因为各种握手而导致的延迟,但对下载等场景会有反效果。

  • 目前可以为 vmess vless trojan shadowsocks 等协议启用 multiplex
  • 是否能用取决于服务端,请以节点实际为准。若服务端不支持 multiplex(约等于不是 sing-box),则开启后无法上网。

padding

(1.1.5)+ 客户端开启 padding 可以缓解 TLS in TLS 包长度分布特征。

请在 mux 协议中勾选 padding 一项,服务器版本要求 sing-box 1.3.0+

分应用代理 / 路由

分应用代理仅对 VPN 模式生效。此功能决定某应用的流量是否会由 NekoBox VPN 处理,而「路由」功能决定 NekoBox 如何处理。

更多请看 路由与 DNS

绕过局域网

可以在 IP 层面(绕过局域网) 或 sing-box 路由层面(在 Core 中绕过局域网)绕过,一般开启前者即可。

LineageOS 等系统的 VPN 热点功能与前者冲突,需要开启后者。

DNS

可以使用的 DNS 服务器类型请参考这里 (DHCP & FakeIP 除外)

详细的 DNS 配置说明请看 路由与 DNS

Note

  • 直连 DNS 建议填写 local 使用本机的 DNS(一般由运营商提供),如果有问题再换其他 DNS 服务器。支持的 DNS 服务器类型
  • For some Iran users, you may consider prefer using DoH instead of local DNS, because of the DNS poisoning & MITM attack.

FakeDns

减少打开应用时 DNS 查询走代理而造成的延迟,但会有一定副作用,比如开关 VPN 造成域名解析失效,某些应用不兼容等。

  • FakeDNS 会劫持 DNS 返回 198.18 开头的 FakeIP, NekoBox tun 收到目标 IP 为这种类型的请求后,会把它还原为域名。
  • 对于 1.1.8 之前的版本, FakeIP 下无法代理 UDP 流量。
  • 对于 1.1.8 及之后的版本, FakeIP + UDP 会抹去远端地址信息,造成类似 v2ray 假 full cone 的效果。
  • 对于「绕过」的流量, FakeDNS 不生效,所以没有以上问题。

Tun 实现 / Stack

主要用于实现 Tun TCP 数据流重组,对应配置中的 stack 项。

  • 由 sing-box 实现,目前有 gVisor System Mixed
  • System 复用内核的 TCP 协议栈。对于 TCP 为主的流量,使用 System 一般比 gVisor 省电
  • gVisor 为纯用户空间实现,兼容性更好
  • 1.2.x 版本起默认使用 Mixed (SystemTCP + gVisorUDP)

追加 HTTP 代理

对于能使用 Socks / HTTP 代理的应用,建议手动为其设置 Socks / HTTP 代理,或开启 追加 HTTP 代理到 VPN 选项,不走 Tun 更省电。

这种用法存在的问题请看白话文-国内外分流 进阶:DNS 部分

MTU

最大传输单元

根据 CFA 的实践经验,默认设置为 9000,可节省CPU并提高速度。如果遇到不兼容的软件(表现为 UDP 包丢失),可以调回 1500。

sing-box Dashboard

本质是一个 Clash Dashboard Web 界面,目前内置了 yacd-meta,也可以点右上角菜单自行更换 URL 以使用其他面板。

  • 需要打开 Clash API 才能使用。
  • 可以和 selector 分组配合使用,以获得更好的效果。
  • 如果显示白屏,请更新 System Webview 或使用支持的浏览器打开 http://127.0.0.1:9090/ui/

分组配置: selector 模式

伪 clash selector 模式,主要优点实现是分组内免重载切换配置。

  • 开启时,出站的 tag 将生成人类可读的名字。
  • 不建议为包含 需要插件的服务器 的分组启用,因为这样会一次性启动所有插件。
  • 切换节点时会重置连接,但不会清除旧的 DNS 记录,在节点物理距离过大时可能会影响访问速度。
  • 开启时,"重启代理" 按钮无效。

Root CA 侧加载

1.1.2+支持,用以应对低版本安卓设备不认可已过期的DST Root CA X3证书且系统CA没有ISRG Root X1的情况。

侧加载步骤:

  1. 把 CA 证书文件,放到 /sdcard/Android/data/moe.nb4a/files/ca.pem
  2. 重启,程序启动时将自动加载这个文件中的证书(替换system证书)

检验方法:开启 loglevel ,在日志中可查看是否加载成功。

NAT 类型测试

此工具基于 go-stun 修改,进行 RFC3489 RFC5389 两种测试。

额外添加:针对 VMess VLESS 协议的 "Fake FullCone" (远端 IP 不变化) 检测。

检测结果仅供参考,结果可能因网络丢包等原因不准确。

Windows 电脑上可以使用此软件进行 NAT 类型测试: https://github.com/HMBSbige/NatTypeTester