Skip to content

v0.1.40

Choose a tag to compare

@github-actions github-actions released this 14 Oct 12:25
· 114 commits to main since this release

Xray JSON and sing-box subscriptions

The same subscription link can now hand out two more formats, next to the link list and Mihomo YAML.

Xray JSON is a set of Xray configs, one per server, for v2rayNG, v2rayN and other Xray-based apps.

  • No rule hands it out by default. Add one in Subscriptions → Who gets what, for example v2rayng → Xray JSON.
  • Each config opens a local SOCKS proxy on 127.0.0.1:10808. Some apps' VPN checks look for that port.

sing-box JSON is one profile for the official sing-box apps (SFA, SFI, SFM), with every server in one switch and TUN only. It needs sing-box 1.12 or newer.

  • Panels get the rule sing-box → sing-box JSON once, at the end of the list.
  • sing-box is now in the list of known apps, with a one-tap add link.

Who gets what does not change for anyone else:

  • Happ stays on the link list.
  • Hiddify stays on Mihomo YAML: its User-Agent says ClashMeta, and the clash rule comes first.

How both formats behave:

  • Both carry the person's DNS preset. The Routing header now goes out with the link list only.
  • An active person never gets an empty document. When none of their servers fit the app, the app shows one entry that says so and points to the subscription page.
  • ?format=xray-json or ?format=sing-box at the end of a link picks the format for that one request, so you can try an app before writing a rule. It grants nothing a rule cannot.

Some servers cannot go into every format:

  • sing-box has no XHTTP and cannot pin a self-signed Hysteria2 certificate.
  • Gecko and AmneziaWG go out only in Mihomo YAML.

A server a format cannot carry is left out of that format. Docs: Subscriptions.

Formats of a profile

  • Every profile card and the profile editor show Subscription formats, the formats the profile works in.
    • Where a server drops out, a mark gives the reason, for example "not in sing-box: XHTTP".
    • In the editor the line follows the transport as you change it.
  • The user card marks the person's profiles that drop out of a format.
  • MCP user_get and subscription_preview show the same for each profile.
  • Docs: Profiles.

Smaller changes

  • Happ 6 is shown as "Happ 6.0.0", and the admin's device line now starts with the system ("iOS 27.0 · Happ 6.0.0"), as on the person's page.
  • The DNS editor lists what Xray JSON and sing-box get from a preset.

Full Changelog: v0.1.39...v0.1.40


Подписки Xray JSON и sing-box

Одна и та же ссылка подписки теперь отдаёт ещё два формата, кроме списка ссылок и Mihomo YAML.

Xray JSON — набор конфигов Xray, по одному на сервер, для v2rayNG, v2rayN и других приложений на Xray.

  • По умолчанию его не отдаёт ни одно правило. Добавьте правило в Подписки → Кому что отдавать, например v2rayng → Xray JSON.
  • Каждый конфиг открывает локальный SOCKS-прокси на 127.0.0.1:10808. Некоторые проверки VPN в чужих приложениях ищут этот порт.

sing-box JSON — один профиль для официальных приложений sing-box (SFA, SFI, SFM): все серверы в одном переключателе, только TUN. Нужен sing-box 1.12 или новее.

  • Панели один раз получают правило sing-box → sing-box JSON в конец списка.
  • sing-box появился в списке известных приложений, со ссылкой «добавить одним нажатием».

Для всех остальных ничего не меняется:

  • Happ остаётся на списке ссылок.
  • Hiddify остаётся на Mihomo YAML: в его User-Agent есть ClashMeta, а правило clash стоит выше.

Как работают оба формата:

  • Оба несут DNS-пресет человека. Заголовок Routing теперь уходит только со списком ссылок.
  • Активный человек никогда не получает пустой документ. Если ни один его сервер не подходит приложению, оно показывает одну запись об этом со ссылкой на страницу подписки.
  • ?format=xray-json или ?format=sing-box в конце ссылки выбирают формат для одного запроса, чтобы попробовать приложение до того, как писать правило. Больше, чем правило, параметр не даёт.

Не каждый сервер попадает в каждый формат:

  • в sing-box нет XHTTP, и он не умеет проверять самоподписанный сертификат Hysteria2 по отпечатку;
  • Gecko и AmneziaWG уходят только в Mihomo YAML.

Сервер, который формат нести не может, в этом формате просто отсутствует. Документация: Подписки.

Форматы профиля

  • На каждой карточке профиля и в редакторе видна строка Форматы подписки: в каких форматах профиль работает.
    • Там, где сервер выпадает, метка называет причину, например «не sing-box: XHTTP».
    • В редакторе строка меняется сразу при смене транспорта.
  • В карточке пользователя отмечены его профили, которые выпадают из какого-то формата.
  • MCP user_get и subscription_preview показывают то же для каждого профиля.
  • Документация: Профили.

Мелкие изменения

  • Happ 6 показывается как «Happ 6.0.0», а строка устройства в админке начинается с системы («iOS 27.0 · Happ 6.0.0»), как на странице человека.
  • Редактор DNS показывает, что получат из пресета Xray JSON и sing-box.

Full Changelog: v0.1.39...v0.1.40


Xray JSON 与 sing-box 订阅

同一个订阅链接现在除了链接列表和 Mihomo YAML,还能下发两种格式。

Xray JSON 是一组 Xray 配置,每台服务器一份,适用于 v2rayNG、v2rayN 和其他基于 Xray 的应用。

  • 默认没有规则下发它。请在订阅 → 下发规则中添加,例如 v2rayng → Xray JSON。
  • 每份配置都会在 127.0.0.1:10808 打开本地 SOCKS 代理。部分应用的 VPN 检测会查找这个端口。

sing-box JSON 是供官方 sing-box 应用(SFA、SFI、SFM)使用的单个配置:所有服务器在同一个选择器中,只用 TUN。需要 sing-box 1.12 或更高版本。

  • 面板会在规则列表末尾添加一次规则 sing-box → sing-box JSON。
  • sing-box 已加入已知应用列表,并附带一键添加链接。

其他人的下发方式不变:

  • Happ 仍使用链接列表。
  • Hiddify 仍使用 Mihomo YAML:它的 User-Agent 含有 ClashMeta,而 clash 规则排在前面。

两种格式的行为:

  • 两种格式都带上用户的 DNS 预设。Routing 头现在只随链接列表发送。
  • 正常使用的用户不会收到空文档。如果用户的服务器都不适用于该应用,应用会显示一条说明,并指向订阅页面。
  • 在链接末尾加上 ?format=xray-json 或 ?format=sing-box,可为单次请求指定格式,便于在写规则前先试用应用。它不会给出规则给不了的东西。

并非每台服务器都能进入每种格式:

  • sing-box 没有 XHTTP,也无法按指纹校验自签名的 Hysteria2 证书;
  • Gecko 和 AmneziaWG 只通过 Mihomo YAML 下发。

格式无法承载的服务器不会出现在该格式中。文档:订阅。

协议配置的格式

  • 每张协议配置卡片和编辑器都会显示订阅格式:该协议配置可在哪些格式中使用。
    • 服务器被排除时,标记会说明原因,例如「sing-box:不可用(XHTTP)」。
    • 在编辑器中切换传输方式时,这一行会随之更新。
  • 用户卡片会标出该用户在某种格式中被排除的协议配置。
  • MCP user_get 和 subscription_preview 会为每个协议配置显示相同信息。
  • 文档:协议配置。

其他改动

  • Happ 6 显示为「Happ 6.0.0」,后台的设备行现在以系统开头(「iOS 27.0 · Happ 6.0.0」),与用户页面一致。
  • DNS 编辑器会列出 Xray JSON 和 sing-box 从预设中获得的内容。

Full Changelog: v0.1.39...v0.1.40