Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login
    Introducing Netgate Nexus: Multi-Instance Management at Your Fingertips.

    Пакет Xray-core для pfSense CE (VLESS + Reality, selective routing)

    Scheduled Pinned Locked Moved Russian
    13 Posts 2 Posters 579 Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K Offline
      kingpin
      last edited by

      Всем привет.

      Хочу поделиться своим аддоном для pfSense CE:
      https://github.com/pdazcom/pfSense-pkg-xray

      Это пакет для интеграции Xray-core в pfSense CE с нормальным GUI в веб-интерфейсе.
      Основная задача — удобно поднимать VLESS + Reality и использовать selective routing через стандартные механизмы pfSense: Aliases / Firewall Rules / Gateway.

      Что уже есть:

      • GUI для настройки подключений и инстансов
        поддержка VLESS + Reality
      • multi-instance
      • группы подключений
      • подписки с автообновлением
      • ротация соединений с выбором рабочего узла
      • диагностика, URL test, логирование
      • watchdog и автоподнятие

      По сути, трафик маршрутизируется штатными средствами pfSense через policy-based routing, без необходимости городить сложную routing-логику внутри самого xray-core.

      Проект вырос из идеи порта os-xray из OPNsense в pfSense, но с адаптацией под pfSense CE.

      Если кому интересно — буду рад фидбеку, тестам и замечаниям:
      https://github.com/pdazcom/pfSense-pkg-xray

      С 1 Reply Last reply Reply Quote 1
      • K kingpin referenced this topic
      • С Offline
        Сергей 3 @kingpin
        last edited by

        Установил v1.2.7
        Интерфейс по умолчанию proxytun0.
        Создал шлюз на этот интерфейс. Статус шлюза "В ожидании".
        Пытался переименовать интерфейс: знак "_" (tun_3000) не воспринимает.
        Остановил Xray Instances. Обозвал tun3000.
        После запуска оказалось два дополнительных интерфейса в разделе "Интерфейсы" главного меню. Удалил лишний. Подкорректировал шлюз на новый интерфейс - статус сменился на "В сети".
        Может у меня что-то не так пошло. Ставил начисто.

        K 1 Reply Last reply Reply Quote 0
        • K Offline
          kingpin @Сергей 3
          last edited by

          @Сергей-3 в шлюзе нужно установить галку "Disable Gateway Monitoring"
          b91aa26c-23af-41ab-b34d-eae19e27f081-image.png

          тогда он будет всегда онлайн и, главное, чтобы IP шлюза совпадал с TUN IP

          С 1 Reply Last reply Reply Quote 0
          • С Offline
            Сергей 3 @kingpin
            last edited by

            @kingpin При этой галочке непонятно: отвалился ли КВН или нет.

            K 1 Reply Last reply Reply Quote 0
            • K Offline
              kingpin @Сергей 3
              last edited by

              @Сергей-3 да, но т.к. poxy/socks не позволяет пинговать, то и мониторинг не будет работать. Можно в из /30 взять broadcast IP и пинговать на него, но какой в этом смысл? все равно это не реальный пинг КВНа

              С 1 Reply Last reply Reply Quote 0
              • С Offline
                Сергей 3 @kingpin
                last edited by

                @kingpin Я понимаю, что пинг не реальный. Просто видно статус доступа. Если у провайдера КВН попадает в блок, то я сразу вижу. Выставляю в мониторинге шлюза IP, который недоступен без КВН

                K 2 Replies Last reply Reply Quote 0
                • K Offline
                  kingpin @Сергей 3
                  last edited by

                  @Сергей-3 приходится чем-то жертвовать, к сожалению..

                  может быть можно будет какой-то кастомный чекер придумать, я не знаю пока. ICMP пакеты работают на L3, а Socks на L5

                  1 Reply Last reply Reply Quote 0
                  • K Offline
                    kingpin @Сергей 3
                    last edited by

                    @Сергей-3 said in Пакет Xray-core для pfSense CE (VLESS + Reality, selective routing):

                    Если у провайдера КВН попадает в блок, то я сразу вижу.

                    я попытался частично это решить через ротацию "соединений", т.е. заводишь группу соединений, затем кидаешь туда разные соединения (разные сервера или протоколы), потом в инстансе в настройках Connection Mode - выставляешь Auto Rotation.

                    Признаться честно, я это не тестил. Но задумка такая, что pfSense будет чекать соединение по HTTP, если не ок, то брать следующее соединение, и так по кругу, пока не найдет "ок" или не закончаться соединения. И в конце если все "НЕ ОК", то дергает web-hook (там же в настройках указывается), для уведомления или мониторинга, хз.

                    С 1 Reply Last reply Reply Quote 0
                    • С Offline
                      Сергей 3 @kingpin
                      last edited by

                      @kingpin said in Пакет Xray-core для pfSense CE (VLESS + Reality, selective routing):

                      Auto Rotation

                      Классная фича. Удобно с несколькими ключами. Поюзаю её.

                      Можно ли сделать функцию импорта ключей vless из подписки?

                      K 1 Reply Last reply Reply Quote 0
                      • K Offline
                        kingpin @Сергей 3
                        last edited by

                        @Сергей-3 said in Пакет Xray-core для pfSense CE (VLESS + Reality, selective routing):

                        Можно ли сделать функцию импорта ключей vless из подписки?

                        да, при создании группы, нужно указать, что это подписка
                        0ddc5a77-21a4-4eac-b61a-1747c2ad97f1-image.png

                        С 1 Reply Last reply Reply Quote 0
                        • С Offline
                          Сергей 3 @kingpin
                          last edited by

                          @kingpin Спасибо. С группой я не пробовал.
                          Ещё бы встроить поддержку подписок с HWID. Где можно HWID указать вручную или автоматом сгенерировать.
                          Вот ссыль где можно почитать как из такой подписки импортировать ключи.
                          P.S.: большое спасибо за труд.

                          K 1 Reply Last reply Reply Quote 0
                          • K Offline
                            kingpin @Сергей 3
                            last edited by kingpin

                            @Сергей-3 никогда не сталкивался, немного не понял, что именно нужно реализовать? просто добавить заголовок HWID при запросе подписки? или нужно реализовать весь конвертер с веб-сервером и прочим, описанный в gist?

                            можешь создать issue?

                            С 1 Reply Last reply Reply Quote 0
                            • С Offline
                              Сергей 3 @kingpin
                              last edited by

                              @kingpin скорее всего можно в заголовке запроса добавить, но точно не знаю.
                              Создал issue

                              1 Reply Last reply Reply Quote 0
                              • K kingpin referenced this topic
                              • First post
                                Last post
                              Copyright 2026 Rubicon Communications LLC (Netgate). All rights reserved.