Skip to content

Releases: Screamshow/forkop-x

2.3.7

Choose a tag to compare

@github-actions github-actions released this 18 Oct 22:18

Подписки

  • Обновление подписок на Xrust применяется без перезапуска ядра и разрыва установленных соединений. Добавленные серверы появляются в выборе, текущий выбор сохраняется, если сервер остался в группе.
  • Если конфигурация не изменилась, обновление не затрагивает работающие соединения.
  • Для sing-box без поддержки hotreload применения сохранён обычный перезапуск.
  • При ошибке hotreload восстанавливаются предыдущая конфигурация, выбранные серверы и данные дашборда.

Выбор серверов

  • Исправлен сброс ручного выбора на первый сервер после обновления подписки.
  • Выбранные селекторы вручную сохраняются при перезапуске Forkop X.

Уведомления

  • Добавлен явный алерт при ошибке применения подписки и результата восстановления.
  • После успешного применения он снимается.

Совместимость

  • Для полного набора исправлений необходимо обновить Forkop X и Xrust.
  • Сохранение выбора между запусками ядра использует RAM-кеш. После полной перезагрузки роутера выбор сбрасывается.

2.3.6

Choose a tag to compare

@github-actions github-actions released this 18 Oct 03:36

Подписки

  • Добавлена поддержка отпечатков TLS-сертификатов из подписок и ссылок для нового ядра.
  • Серверы, требующие этой функции, не поддерживаются на несовместимых ядрах (sing-box).

DNS

  • Исправлен ответ на DNS-запросы типа HTTPS при их подавлении.

2.3.5

Choose a tag to compare

@github-actions github-actions released this 16 Oct 01:04

Маршрутизация и DNS

  • Добавлена настройка «Использовать реальные IP-адреса для WhatsApp». При её включении домены WhatsApp исключаются из выдачи FakeIP. Для работы нужны загруженные списки подсетей Meta в активной секции маршрутизации без фильтров устройств и портов. Устройства должны использовать DNS роутера.
  • Добавлена проверка настроек WhatsApp при сохранении. Если включена выдача реальных IP-адресов, LuCI предупреждает при удалении или изменении последней подходящей секции Meta.

Блокировка QUIC

  • Добавлена отдельная настройка блокировки QUIC только для трафика, направляемого через секцию connection.
  • Глобальная блокировка QUIC имеет более высокий приоритет.

Смена ядра

  • Кеши FakeIP разных семейств ядер сохраняются после переключения. При возврате к прежнему ядру или откате его кеш остаётся доступен.

Tailscale

  • Добавлен цветной индикатор состояния подключения.

Отдельное огромное спасибо @No_####_Z_V

2.3.4

Choose a tag to compare

@github-actions github-actions released this 15 Oct 15:15

Tailscale

  • Добавлена вкладка Tailscale для удалённого доступа к роутеру. Подключение работает через Rust X без установки отдельного пакета Tailscale.
  • Доступ к LuCI, SSH и локальной сети настраивается отдельно. Для доступа к локальной сети требуется одобрить маршрут в панели Tailscale.
  • Добавлены статус подключения и журнал событий. Идентификатор подключения сохраняется при перезапуске.
  • Нативный Tailscale работает отдельно от временной Lite-поддержки. Функция экспериментальная, для всех возможностей нужен Rust X 0.0.17 или новее.

Интерфейс и дашборд

  • Устранено зависание открытия LuCI при ожидании информации о возможностях ядра.
  • Исправлена мобильная вёрстка: названия секций больше не сжимаются в столбик, кнопки и информация о подписке корректно переносятся на узких экранах, обновлена вкладка диагностики.
  • Исправлена проверка задержки в группах Priority.
  • Добавлены подсказки элементов управления на вкладке компонентов при наведении.

Работа ядра

  • Исправлено применение повышенного лимита файловых дескрипторов к пакетной службе ядра, чтобы избежать отказов при большом количестве соединений.

2.3.4-canary.2

2.3.4-canary.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Oct 00:56

Forkop X 2.3.4-canary.2

  • Добавлена отдельная настройка «Разрешить SSH» для нативного Tailscale с Rust X 0.0.17. По умолчанию выключена.
  • Обновление локализации
  • Добавлены подсказки Packet Steering, прямого прокси и прямого TorrServer.

2.3.4-canary.1

2.3.4-canary.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Oct 23:25

Forkop 2.3.4 canary 1

  • Добавлена вкладка Tailscale: подключение роутера по ключу, доступ к LuCI и дополнительное разрешение доступа к локальной сети. Отдельный пакет Tailscale не требуется.
  • Обязателен Rust X 0.0.16+. С sing-box и несовместимым Rust X функция недоступна.
  • Подключение сохраняет идентификатор при перезапуске.
  • При откате Forkop X ниже 2.3.4 удаляются сетевые правила и прекращается нативный удалённый доступ.
  • Пользовательский Tailscale работает отдельно от временной Lite-поддержки.

Для доступа к LAN требуется одобрение маршрута в панели Tailscale.

2.3.3

Choose a tag to compare

@github-actions github-actions released this 14 Oct 02:17

Маршрутизация и DNS

  • При перезапуске Forkop X сохраняется локальная настройка DNS. Убрано временное переключение на внешние DNS-серверы, из-за которого клиенты могли кешировать реальные адреса вместо FakeIP.
  • При явной остановке Forkop X или неудачном перезапуске восстанавливаются прежние настройки DNS.

Дашборд и мониторинг

  • Для правил, направляющих весь трафик устройства в выбранную секцию, теперь отображается пояснение «Весь трафик устройства» с IP-адресом или подсетью.

Применение настроек

  • Убрано фиксированное ожидание LuCI перед подтверждением изменений, если меняются только настройки Forkop. Для смешанных изменений и при ошибке проверки сохранена штатная задержка.

2.3.2

Choose a tag to compare

@github-actions github-actions released this 13 Oct 22:15

Rust X

  • Добавлено экспериментальное ядро Rust X. Установка и обновление доступны в разделе «Компоненты».
  • При обновлении Forkop X сохраняется выбранное ядро. Новые установки по-прежнему используют Sing-Box X.
  • На Rust X изменения списков и правил применяются без перезапуска ядра. При ошибке восстанавливается прежняя конфигурация.

Секции и списки

  • Добавление, удаление и перенос списков между секциями применяются за один reload. Уже загруженные исправные источники используются из кеша, скачиваются только недостающие или повреждённые.
  • Новые списки загружаются и проверяются до применения настроек. Если список недоступен или повреждён, сохраняется прежняя рабочая конфигурация, а LuCI показывает предупреждение.
  • Исправлено восстановление после неудачного изменения списков. После отмены или исправления настроек изменения можно применить повторно.
  • Исправлен откат при удалении списков. Прежние файлы сохраняются до успешного применения, затем неиспользуемые данные очищаются с флеш и из RAM.
  • Исправлен учёт TCP/UDP и ограничений портов секции при применении списков через nftables.

Подписки

  • Убраны лишние перезапуски ядра при обновлении подписок: если итоговая конфигурация не изменилась, активные соединения сохраняются.
  • Кеш подписок и метаданные сохраняются при перестановке источников и переносе между секциями.
  • Исправлено использование сохранённых подписок после обновления или смены ядра, в том числе при запуске без доступа к источнику подписки.

Маршрутизация и DNS

  • Настройка «Отключить QUIC» теперь блокирует также прямой UDP/443 клиентов для IPv4 и IPv6.
  • Исправлена совместимость обхода собственного трафика Forkop X с mwan3. Исходящий UDP ядра больше не захватывается повторно правилами FakeIP.
  • Сокращены лишние проверки nftables для прямого трафика и трафика с уже назначенной маркировкой.
  • Исправлена обработка запросов на отдельных DNS-входах: они направляются в DNS до определения протокола.
  • После запуска и обновления подписок проверяется готовность сетевых входов ядра. При неудачном обновлении восстанавливается прежняя конфигурация.
  • Убраны преждевременные переключения DNS во время запуска ядра.

Обновление и смена ядра

  • Исправлена ошибка загрузки пакетов для отката из репозитория, из-за которой обновление Forkop X или смена ядра могли прерываться.
  • Исправлен автоматический запуск после смены ядра, когда его API временно недоступен.
  • Кеш FakeIP разделён между семействами ядер. При обновлении внутри одного семейства кеш сохраняется.
  • Добавлена очистка оставшихся временных каталогов обновления и незавершённых загрузок.
  • Зависшие загрузки компонентов и списков прерываются. Медленные загрузки продолжаются, пока поступают данные.
  • Исправлена доступность кнопки «Перезапустить Forkop X» при сбое работающей службы.

Дашборд и мониторинг

  • Добавлено отображение памяти процессов Forkop X и выбранного ядра.
  • Задержки серверов обновляются без полной перерисовки карточек. Убраны лишние обновления неизменившихся элементов интерфейса.
  • Убрано автозаполнение поля одноразового ключа Tailscale менеджерами паролей.

Rust X остаётся экспериментальным. Hot Reload требует поддерживаемой версии Rust X, для Sing-Box X сохраняется применение с перезапуском ядра.

2.3.1-canary.1

2.3.1-canary.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 19:52

Forkop X 2.3.1-canary.1

  • Skip subscription reload when the complete generated runtime configuration is unchanged, preserving active connections while refreshing the section cache. Changes to proxies, selectors, URLTest, DNS or routing still follow the existing validation and recovery path.
  • Preserve subscription caches and their metadata when sources are reordered or moved between sections, including offline startup after a core upgrade or a switch between Sing-Box X and Rust X. Keep URL, explicit User-Agent and HWID identity checks.
  • Retain the existing Rust X acknowledged reload and connection revalidation integration, the installed core variant and exact rollback package checks.

Built from main b13d4f5.

2.3.0-canary.1

2.3.0-canary.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Oct 14:24

Forkop X 2.3.0-canary.1

  • Fix repository fallback during Forkop release changes and core transitions: preparing rollback packages no longer fails with a ucode Type error.
  • Preserve exact package-version checks when preparing rollback. If the installed build is unavailable in the release archive and repository, stop before changing installed packages.
  • Preserve configuration, the installed core variant and compatibility with historical unsigned rollback packages.

Built from main d3d1650.