Инструмент правила общего доступа к хостам в Интернете: Сервер удаленных хостов
Инструмент правила общего доступа к хостам в Интернете: Сервер удаленных хостов

«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] Получите на странице двоичный файл, подходящий для вашей операционной среды, и выполните его непосредственно в командной строке, чтобы запустить службу:

Язык кода:javascript
копировать
./remote-hosts-server

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

Язык кода:javascript
копировать
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 в соответствии с установленной частотой обновления данных.

Использование с Docker Compose

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

Язык кода:javascript
копировать
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

boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.
boy illustration
Nomic Embed: воспроизводимая модель внедрения SOTA с открытым исходным кодом.
boy illustration
Улучшение YOLOv8: EMA основана на эффективном многомасштабном внимании, основанном на межпространственном обучении, и эффект лучше, чем у ECA, CBAM и CA. Малые цели имеют очевидные преимущества | ICASSP2023
boy illustration
Урок 1 серии Libtorch: Тензорная библиотека Silky C++
boy illustration
Руководство по локальному развертыванию Stable Diffusion: подробные шаги и анализ распространенных проблем
boy illustration
Полностью автоматический инструмент для работы с видео в один клик: VideoLingo
boy illustration
Улучшения оптимизации RT-DETR: облегченные улучшения магистрали | Support Paddle облегченный rtdetr-r18, rtdetr-r34, rtdetr-r50, rtdet
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | Деформируемое внимание с большим ядром (D-LKA Attention), большое ядро ​​​​свертки улучшает механизм внимания восприимчивых полей с различными функциями
boy illustration
Создано Datawhale: выпущено «Руководство по тонкой настройке развертывания большой модели GLM-4»!
boy illustration
7B превышает десятки миллиардов, aiXcoder-7B с открытым исходным кодом Пекинского университета — это самая мощная модель большого кода, лучший выбор для корпоративного развертывания.
boy illustration
Используйте модель Huggingface, чтобы заменить интерфейс внедрения OpenAI в китайской среде.
boy illustration
Оригинальные улучшения YOLOv8: несколько новых улучшений | Сохранение исходной информации — алгоритм отделяемой по глубине свертки (MDSConv) |
boy illustration
Второй пилот облачной разработки | Быстро поиграйте со средствами разработки на базе искусственного интеллекта
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция с нулевым кодированием и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
Решенная Ошибка | Загрузка PyTorch медленная: TimeoutError: [Errno 110] При загрузке факела истекло время ожидания — Cat Head Tiger
boy illustration
Brother OCR, библиотека с открытым исходным кодом для Python, которая распознает коды проверки.
boy illustration
Новейшее подробное руководство по загрузке и использованию последней демонстрационной версии набора данных COCO.
boy illustration
Выпущен отчет о крупной модели финансовой отрасли за 2023 год | Полный текст включен в загрузку |
boy illustration
Обычные компьютеры также могут работать с большими моделями, и вы можете получить личного помощника с искусственным интеллектом за три шага | Руководство для начинающих по локальному развертыванию LLaMA-3
boy illustration
Одной статьи достаточно для анализа фактора транскрипции SCENIC на Python (4)
boy illustration
Бросая вызов ограничениям производительности небольших видеокарт, он научит вас запускать большие модели глубокого обучения с ограниченными ресурсами, а также предоставит полное руководство по оценке и эффективному использованию памяти графического процессора!
boy illustration
Команда Fudan NLP опубликовала 80-страничный обзор крупномасштабных модельных агентов, в котором в одной статье представлен обзор текущего состояния и будущего агентов ИИ.
boy illustration
[Эксклюзив] Вы должны знать о новой функции JetBrains 2024.1 «Полнострочное завершение кода», чтобы решить вашу путаницу!
boy illustration
Краткое изложение базовых знаний о регистрации изображений 1.0
boy illustration
Новейшее подробное руководство по установке и использованию библиотеки cv2 (OpenCV, opencv-python) в Python.
boy illustration
Легко создайте локальную базу знаний для крупных моделей на основе Ollama+AnythingLLM.
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание решения. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Одна статья поможет вам понять RAG (Retrival Enhanced Generation) | Введение в концепцию и теорию + практику работы с кодом (включая исходный код).
boy illustration
Эволюция архитектуры шлюза облачной разработки
boy illustration
Docker и Kubernetes [Разработка контейнерных приложений с помощью Python]