1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors_Tencent-nohost

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Nohost — это основанная на Whistle система для многопользовательской и многосредовой конфигурации, а также для отладки с перехватом пакетов. Она не только обладает всеми функциями Whistle, но и расширяет их, позволяя нескольким пользователям одновременно использовать её в различных средах. Система предназначена для развёртывания на общих серверах и использования сотрудниками всего отдела или компании.

Основные функции:

  1. Совместное использование среды: разработчикам не нужно настраивать среду друг для друга, а администраторам — среду для разработчиков.
  2. Отладка с перехватом пакетов: удалённая отладка в реальном времени с поддержкой различных правил Whistle и возможностью делиться данными перехвата по ссылке.
  3. История конфигураций и данных перехвата: сохранение конфигураций сред и данных перехвата для последующего просмотра и переключения.
  4. Расширение через плагины: возможность расширения функциональности с помощью таких плагинов, как inspect, vase и autosave.
  5. Внешний интерфейс: предоставление внешнего интерфейса для автоматизации управления конфигурациями сред.

Содержание

Подготовка

Перед установкой Nohost рекомендуется выполнить следующие шаги:

  • Подготовить сервер (например, с IP-адресом 10.1.2.3).
  • Приобрести доменное имя (например, nohost.imweb.io) и настроить DNS так, чтобы он указывал на сервер.
  • Собрать сертификаты, связанные с доменными именами, если они используются (не обязательно, но рекомендуется).

Установка

Для установки Nohost необходимо выполнить следующие действия:

  1. Установить Node (рекомендуется использовать последнюю версию LTS).
  2. Использовать npm для установки nohost: npm i -g @nohost/server --registry=https://r.npm.taobao.org.
  3. Запустить сервер с помощью команды n2 start.

После установки можно перезапустить сервер командой n2 restart или настроить его на работу с определённым доменом с помощью n2 restart -o nohost.imweb.io. По умолчанию порт сервера равен 8080, но его можно изменить с помощью параметра -p. Если команда не работает, проверьте, добавлен ли каталог с командами в переменную окружения PATH.

Чтобы остановить сервер, используйте команду n2 stop. Для сброса администратора используйте n2 restart --reset.

Настройка

После успешного запуска сервера откройте страницу администратора (http://10.1.2.3:8080/admin.html#system/administrator) и войдите с именем пользователя admin и паролем 123456. Затем выполните следующие настройки:

  • Измените имя пользователя и пароль администратора (не рекомендуется использовать значения по умолчанию).
  • Укажите доменное имя сервера (можно добавить несколько доменных имён через запятую или с помощью параметров запуска -o www.xxx.com,www.yyy.com).
  • Загрузите сертификаты и ключи, связанные с доменным именем.

Обратите внимание, что настройка доменного имени должна быть завершена до начала работы с сервером.

Доступ

Nohost действует как прокси-сервер, который можно настроить в браузере или через Nginx. Для удобства пользователей предлагаются различные варианты доступа:

  • Для разработчиков фронтенда: рекомендуется использовать последнюю версию Whistle. Доступ к Nohost можно получить двумя способами:
    • Настроить удалённые правила в Whistle: @http://nohost.imweb.io:8080/whistle.nohost/cgi-bin/plugin-rules.
    • Интегрировать плагин Whistle для автоматического обновления правил.
  • Для бэкенд-разработчиков: рекомендуется использовать Chrome с расширением SwitchyOmega для настройки прокси-сервера. Можно также использовать PAC-скрипты или создать клиентское приложение. На мобильных устройствах можно использовать VPN-приложения. Неразработчики должны по возможности использовать клиент, приложение или пересылку через Интернет, чтобы снизить затраты на подключение. Как упаковать клиент: https://github.com/nohosts/client.

Конфигурация для мобильных устройств и аналогичных бэкэндов разработки.

Доступ через интернет

Обычно Nohost развёртывается во внутренней сети компании, прямой доступ через интернет невозможен, требуется пересылка через слой доступа (например, Nginx).

Раздел 5. Аккаунты

После установки плагина или настройки прокси-сервера откройте соответствующую страницу (домен этих страниц должен быть загружен в сертификат, если нет, необходима дополнительная настройка, см. раздел «Настройка» ниже), вы увидите маленький кружок в левом нижнем углу страницы, нажмите на него, чтобы переключиться между средами:

Сертификат списка

Список плагинов Whistle

Открытие страницы

Нажатие кнопки

Если в левом нижнем углу нет маленького кружка, обратитесь к разделу «Настройка».

В первый раз при открытии маленького кружка будет доступна только одна производственная среда, администратору необходимо добавить аккаунт:

Добавление аккаунта

После добавления аккаунта откройте отдельную страницу выбора среды http://nohost.imweb.io:8080:

Страница выбора среды

Личная страница аккаунта Изображение

Создав среду, вы можете настроить любые правила Whistle в среде, аналогично обычным локальным функциям Whistle и даже больше. Каждый экземпляр может создать сотни аккаунтов, каждый аккаунт может создать сотни сред, в зависимости от производительности вашей машины.

Раздел 6. Настройка

По умолчанию только запросы доменов, указанных в сертификате, будут пересылаться на разные аккаунты, а содержимое HTML будет автоматически внедрять маленький кружок, но в реальных приложениях вы можете столкнуться со следующими проблемами:

Проблемы с сертификатом домена

Некоторые домены касаются только HTTP-запросов, не затрагивают HTTPS-запросы или не могут получить сертификаты для чувствительных и сторонних доменов. Эти домены можно настроить в разделе «Конфигурация → Конфигурация входа»:

Конфигурация входа

Правила входа имеют три вида (#xxx обозначает комментарий):

pattern #переслать на Nohost, если это страница HTML, внедрить маленький кружок
-pattern #переслать на Nohost, не внедрять маленький кружок
--pattern #не пересылать на Nohost и не внедрять маленький кружок
x)-pattern #x — целое число (положительное, отрицательное или ноль), указывает на ручную настройку приоритета, по умолчанию 0

Шаблон соответствует: https://wproxy.org/whistle/pattern.html, порядок сопоставления сверху вниз, каждый запрос будет соответствовать одному из них, приоритет сертификата по умолчанию самый низкий, который можно установить с помощью 1).

Например:

ke.qq.com
-*.url.cn
--localhost.**
-1)**.qq.com

Означает:

  1. Все запросы ke.qq.com будут переадресованы на Nohost, и все HTML будут внедрены с маленьким кружком.
  2. Все запросы xxx.url.cn будут переадресованы на Nohost без внедрения маленького кружка.
  3. Все запросы localhost.xxx.yyy... не будут переадресовываться на Nohost и не будут внедряться с маленьким кружком.
  4. Все дочерние домены qq.com будут перенаправлены на Nohost, но не будут внедрять маленький кружок и установят приоритет -1, чтобы гарантировать, что дочерние домены в сертификате могут нормально внедрять маленький кружок.

Раздел 7. Правила

Это основной процесс Whistle для Nohost, все запросы проходят через этот Whistle, и через плагин whistle.nohost этого процесса осуществляется управление аккаунтами и переадресация запросов. Основной процесс Whistle не может просматривать данные захвата пакетов в производственной среде, его можно использовать для настройки правил и управления глобальными плагинами, такими как блокировка некоторых запросов и т. д., более подробную информацию см. в последующих документах.

Более подробную информацию см. в документации: https://nohost.pro/

Раздел 8. Разработка

Настройка среды разработки:

git clone git@github.com:Tencent/nohost.git
# Переключитесь на ветку dev разработки
git checkout dev
# Установите зависимости
npm install
# Запустите сборку страницы
npm run dev
# Запуск Nohost
npm start

После изменения страницы необходимо обновить вручную.

Раздел 9. Присоединяйтесь к группе

Приглашаем всех присоединиться к группе общения Nohost. Учитывая, что срок действия QR-кода ограничен, пожалуйста, отсканируйте код, чтобы добавить друзей, подтвердите ответ «Nohost», и мы добавим вас в группу. QR-код

Вклад

Если у вас есть хорошие идеи или предложения, добро пожаловать, чтобы подать Issues или Pull Requests, чтобы улучшить опыт отладки захвата пакетов. План поощрения разработчиков Tencent поощряет участие и вклад разработчиков и ждёт вашего участия.

Лицензия

MIT

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Nohost — это система для многопользовательской и многосредовой конфигурации с отладкой пакетов, основанная на Whistle. Она не только имеет все функции Whistle, но и расширяет их, а также поддерживает одновременное использование многими людьми в разных средах. В основном её развёртывают на общем сервере для совместного использования сотрудниками ... Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors_Tencent-nohost.git
git@api.gitlife.ru:oschina-mirror/mirrors_Tencent-nohost.git
oschina-mirror
mirrors_Tencent-nohost
mirrors_Tencent-nohost
master