«1024» создал небольшой инструмент, который может сделать Switch Hosts более удобным в использовании. Как сам программный инструмент, так и контейнер Docker имеют размер всего 5 МБ и поддерживают несколько архитектур ЦП.
Когда нам нужно синхронизировать правила Hosts на нескольких устройствах или поделиться правилами Hosts с членами команды, использование этого инструмента может значительно улучшить процесс обмена.
до того, как в《Для местного развитияиспользоватьиз DNS План[1]》в одной статье,делитьсяиз Содержание включает в себяиспользовать С интерфейсомиз "dnsmasq", используйте «go-dnsmasq» и неудобное использование DNS режиме используйте инструменты для редактирования «системного Hosts” метод.
Когда я недавно разбирал хранилище, я увидел проект, который использует Nginx в качестве удаленной конфигурации SwitchHosts. Хотя производительность работы и использование ресурсов у решения хорошие, если вы время от времени захотите обновить конфигурацию, вам нужно использовать файл . локальный редактор для обновления, а затем использовать Git для внесения изменений в хранилище. Всегда сложно снова запустить процесс обновления развертывания CI/CD.
Чтобы в следующий раз не лениться, я создал простой инструмент, поддерживающий онлайн-редактирование и изменение конфигурации хостов, и поделился им с программным обеспечением, включая SwitchHosts.
Примеры использования сервера удаленных хостов
Полный код доступен на GitHub с открытым исходным кодом: https://github.com/soulteary/remote-hosts-server.
Это приложение очень простое в использовании: от GitHub Releases[2] Получите на странице двоичный файл, подходящий для вашей операционной среды, и выполните его непосредственно в командной строке, чтобы запустить службу:
./remote-hosts-server
Если вам нравится использовать Docker, вы можете использовать следующий метод для быстрого запуска службы контейнера:
docker run --rm -it -v `pwd`/data:/data -p 8080:8080 soulteary/remote-hosts-server
Сервисный порт программы по умолчанию: 8080
,Если вы хотите изменить номер порта,Можетиспользовать PORT=8090 ./remote-hosts-server
чтобы изменить номер порта. использовать Docker режиме вы можете использовать тот же метод для установки переменных среды для настройки номера порта (добавьте -e "PORT=8090"
),Или измените сопоставленный порт напрямую(-p 8090:8080
),Что касается того, как это сделать,Просто делайте все, что вам нравится.
После запуска сервиса открываем браузер и посещаем http://localhost:8080
,Вы увидите следующий интерфейс редактора,После корректировки контента в соответствии с реальными потребностями,Нажмите кнопку «Отправить»,Просто сохраните контент.
Создание или обновление данных хостов
После нажатия кнопки отправить данные,Процедура будет основана на реальной ситуации.,Подскажите нам, что данные были сохранены нормально,Или может потребоваться ручное вмешательство для «проведения дополнительного подтверждения»,Убедитесь, что изменения данных соответствуют ожиданиям.,Избегайте ошибок и изменений, вызванных другим программным приложением. Хосты. Есть проблема с правилами.
Перед изменением данных подтвердите изменения
Если вы не хотите, чтобы этот интерфейс «дополнительного подтверждения» появлялся при использовании программы, вы можете его настроить. MODE=simple
(использовать Docker При добавлении переменных среды -e "MODE=simple"
),чтобы закрыть этот интерфейс.
Когда мы закончим сохранение и обновление данных, Hosts После правила вы можете получить к нему доступ через http://${IP}:{PORT}/api/hosts чтобы получить все настройки, которые мы установили Hosts правило. Взяв в качестве примера приведенный выше адрес запуска программы по умолчанию, вы можете посетить: http://localhost:8080/api/hosts. этот адрес.
Мы добавляем указанный выше адрес в интерфейс удаленной настройки Switch Hosts, устанавливаем разумное время обновления правил, а затем нажимаем кнопку «Обновить данные», чтобы просто проверить, доступен ли интерфейс, если нет проблем. Затем нажмите кнопку «Подтвердить», чтобы закрыть интерфейс, и вы сможете начать использовать его в обычном режиме.
Используется с SwitchHosts, которые наверняка могут обновлять правила.
Switch Hosts автоматически синхронизирует и обновляет наши правила Hosts в соответствии с установленной частотой обновления данных.
Если вы привыкли использовать Compose, вы можете обратиться к следующей конфигурации для использования программного обеспечения:
version: '2'
services:
remote-hosts-server:
image: soulteary/remote-hosts-server
ports:
- "8080:8080"
environment:
# same with ports
- PORT=8080
# mode: normal or simple
- MODE=normal
volumes:
- ./data:/data
Раньше я использовал схему Nginx из AutoIndex функция для завершения Hosts Правила из акции. Если вы хотите таким образом решить свои потребности, вы можете обратиться к этой статье, чтобы быстро создать относительно красивый интерфейс. AutoIndex страница:《использовать Docker и Nginx Реализация простой службы индексирования каталогов[3]》。
Следовать за,Я потрачу время на обновление функционала этого гаджета,Сделайте поддержку простойиз ACL, различные серверы хранения, такие как S3、NFS и т. д. Если у вас есть хорошие идеи и предложения, вы также можете добавить их в проект. Issue предложено в.
Счастливых праздников и надеюсь, что этот гаджет вам поможет.
--EOF
[1]
Для местного развитияиспользоватьиз DNS план: https://soulteary.com/2021/08/19/dns-for-local-development.html
[2]
GitHub Releases: https://github.com/soulteary/remote-hosts-server/releases
[3]
использовать Docker и Nginx Реализуйте простой сервис индексирования каталогов: https://soulteary.com/2018/12/16/implement-a-simple-directory-indexing-service-using-docker-and-nginx.html