{"id":14963823,"url":"https://github.com/gyverlibs/settings","last_synced_at":"2026-02-02T23:54:54.548Z","repository":{"id":246912626,"uuid":"824149569","full_name":"GyverLibs/Settings","owner":"GyverLibs","description":"Простой конструктор вебморды для настроек esp8266/esp32","archived":false,"fork":false,"pushed_at":"2025-01-05T22:01:10.000Z","size":1124,"stargazers_count":43,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-31T05:33:18.887Z","etag":null,"topics":["arduino","esp32","esp8266","gui","settings","settings-gyver","settingsesp","settingsgyver","ui","webface"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GyverLibs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-04T13:12:05.000Z","updated_at":"2025-01-21T19:01:13.000Z","dependencies_parsed_at":"2024-08-13T12:35:52.689Z","dependency_job_id":"f6404bf2-5524-4299-9f2c-0f17e50a05d4","html_url":"https://github.com/GyverLibs/Settings","commit_stats":{"total_commits":89,"total_committers":2,"mean_commits":44.5,"dds":"0.011235955056179803","last_synced_commit":"c713139636ded72b4aa8aa4db205c0d5262eaeb2"},"previous_names":["gyverlibs/settings"],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GyverLibs%2FSettings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GyverLibs%2FSettings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GyverLibs%2FSettings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GyverLibs%2FSettings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GyverLibs","download_url":"https://codeload.github.com/GyverLibs/Settings/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238071135,"owners_count":19411600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","esp32","esp8266","gui","settings","settings-gyver","settingsesp","settingsgyver","ui","webface"],"created_at":"2024-09-24T13:32:11.415Z","updated_at":"2025-10-25T03:30:46.955Z","avatar_url":"https://github.com/GyverLibs.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![latest](https://img.shields.io/github/v/release/GyverLibs/Settings.svg?color=brightgreen)](https://github.com/GyverLibs/Settings/releases/latest/download/Settings.zip)\n[![PIO](https://badges.registry.platformio.org/packages/gyverlibs/library/Settings.svg)](https://registry.platformio.org/libraries/gyverlibs/Settings)\n[![Foo](https://img.shields.io/badge/Website-AlexGyver.ru-blue.svg?style=flat-square)](https://alexgyver.ru/)\n[![Foo](https://img.shields.io/badge/%E2%82%BD%24%E2%82%AC%20%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D1%82%D1%8C-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B0-orange.svg?style=flat-square)](https://alexgyver.ru/support_alex/)\n[![Foo](https://img.shields.io/badge/README-ENGLISH-blueviolet.svg?style=flat-square)](https://github-com.translate.goog/GyverLibs/Settings?_x_tr_sl=ru\u0026_x_tr_tl=en)  \n\n[![Foo](https://img.shields.io/badge/ПОДПИСАТЬСЯ-НА%20ОБНОВЛЕНИЯ-brightgreen.svg?style=social\u0026logo=telegram\u0026color=blue)](https://t.me/GyverLibs)\n\n# Settings\nБиблиотека для создания простого веб-интерфейса настроек на esp8266/esp32\n- Веб-приложение весит около 20кб и вшивается в программу в бинарном gzip виде без возни с файлами\n- Удобный билдер панели управления из скетча\n- Два десятка типовых виджетов с возможностью объединения в группы и вложенные меню, в том числе вывод графиков + кастомные виджеты\n- Система авторизации с разными правами для авторизованных юзеров и гостей\n- Файловый менеджер и OTA (обновление по воздуху)\n- Интеграция с библиотекой [GyverDB](https://github.com/GyverLibs/GyverDB) для полностью автоматического хранения данных\n- Компактный бинарный протокол связи\n- Легко адаптируется под любую библиотеку HTTP сервера, из коробки реализовано три версии: GyverHTTP, стандартный esp-WebServer, ESPAsyncWebserver\n- Из коробки поддерживает вебсокет со сторонними библиотеками\n- Исходник веб-приложения [здесь](https://github.com/GyverLibs/Settings-web)\n\n\u003e [!TIP]\n\u003e Есть приложение для поиска устройств с библиотекой в локальной сети:\n\u003e - [Android](https://github.com/GyverLibs/Settings-discover)\n\u003e - [Windows](https://github.com/TonTon-Macout/APP-for-AlexGyver-Settings)\n\u003e - iOS: [AppStore](https://apps.apple.com/us/app/gyver-settings/id6751504764) | [Репозиторий](https://github.com/Vl-VSV/Gyver-Settings)\n\n![promo](/img/promo.png)\n\n## Документация\nНаходится в [папке docs](https://github.com/GyverLibs/Settings/tree/main/docs/1.main.md)\n\n## Совместимость\nESP8266, ESP32\n\n\u003e [!CAUTION]\n\u003e **ESP8266** Подключение в проект библиотеки FastLED версии старше [3.7.8](https://github.com/GyverLibs/Settings/issues/35#issuecomment-2691839527) ломает вебсервер! Ждём фиксов со стороны ESP или FastLED\n\n### Зависимости\n- [GTL](https://github.com/GyverLibs/GTL) v1.3.0+\n- [GyverDB](https://github.com/GyverLibs/GyverDB) v1.3.0+\n- [StringUtils](https://github.com/GyverLibs/StringUtils) v1.4.30+\n- [GyverHTTP](https://github.com/GyverLibs/GyverHTTP) v1.0.26+\n- [BSON](https://github.com/GyverLibs/BSON) v2.1.0+\n- [Stamp](https://github.com/GyverLibs/Stamp) v1.4.0+\n- [Table](https://github.com/GyverLibs/Table) v1.2.0+\n- [StreamIO](https://github.com/GyverLibs/StreamIO) v1.0.5+\n\n\u003e [!TIP]\n\u003e При установке из реестра PIO или Arduino IDE все зависимости установятся автоматически!\n\nДополнительно (ставится вручную):\n- [arduinoWebSockets](https://github.com/Links2004/arduinoWebSockets) для версии SettingsGyverWS/SettingsESPWS\n- [ESPAsyncTCP](https://github.com/esphome/ESPAsyncTCP) для версии SettingsAsync/SettingsAsyncWS\n- [ESPAsyncWebServer](https://github.com/esphome/ESPAsyncWebServer) для версии SettingsAsync/SettingsAsyncWS\n\n## Версии\n- v1.0\n- v1.0.2\n  - Добавлен виджет Confirm (всплывающее окно подтверждения)\n  - Кастомные всплывающие окна для Input (Input теперь работает на просмотре AP WiFi точки на Xiaomi)\n\n- v1.0.5\n  - Добавлен виджет LED\n  - Добавлен файловый менеджер\n  - Добавлено ОТА обновление\n  - Добавлена авторизация и гостевой фильтр виджетов\n  - Новый стиль для Select\n\n- v1.1.0\n  - Добавлен виджет Number\n  - Создание виджета без ID (автоматический ID)\n  - Создание виджета без лейбла (будет равен типу виджета)\n  - Привязка внешней переменной к виджету на чтение и запись\n  - Редактор текстовых файлов в менеджере файлов\n  - Убран лаг с прошлым состоянием вебморды при обновлении страницы\n  - Возможность полностью убрать поддержку GyverDB дефайном\n  - Мелкие фиксы стилей\n  - Методы build(), value(), id() теперь являются членами (build, value, id) для краткости\n\n- v1.1.4\n  - У виджета Slider теперь кликабельный результат, можно ввести число\n  - Виджеты DateTime и Date теперь выводят и отправляют unix время с учётом часового пояса браузера\n\n- v1.1.5\n  - Виджету LED добавлена настройка цвета включенный/выключенный\n  - Виджету Confirm добавлена возможность подключить bool переменную для результата\n  - Добавлена возможность отправить всплывающее окно в Update\n\n- v1.1.6\n  - Добавлен виджет LabelNum для чисел\n  - Добавлены настройки вебморды (таймаут соединения, слайдеров, апдейтов)\n\n- v1.1.8\n  - Разбивка на пакеты для меньшего использования памяти\n  - Добавлен LabelFloat\n\n- v1.1.12\n  - Добавлена поддержка цвета виджетам Slider и Switch\n\n- v1.2.0\n  - Добавлен двойной слайдер\n  - Добавлен логгер (Web Serial)\n  - Добавлена поддержка кастомных виджетов на JS\n  - Добавлены обработчики скачивания и загрузки файлов\n\n- v1.2.5\n  - Добавлена очистка в Logger\n  - Умная автопрокрутка в Log\n  - Изменён дизайн Password\n  - Редизайн кнопок\n  - Обработка события и состояния подключения браузера\n  - Два стиля разделителя для Row\n  - Добавлен виджет HTML\n  - Добавлен виджет кнопки с событиями нажатия и отпускания\n  - Виджету Input добавлен regex + ограничение длины (для char[])\n  - Виджетам Date и DateTime можно задать часовой пояс для отображения\n  - Добавлена синхронизация времени с браузера\n  - Добавлен виджет вывода изображения из интернета или с флешки\n  - Добавлен виджет стрима с камеры ESP32-CAM\n  - Добавлен виджет \"Вкладки\"\n  - Обновление с цветом\n  - Настройка цветовой схемы всей вебморды\n  - Расширена документация, добавлены примеры\n\n- v1.3.0\n  - Добавлена поддержка websocket во все три версии сервера\n  - Добавлена поддержка SD карты одновременно с Flash памятью\n  - Отправка обновлений из любого места в программе (по websocket)\n  - Добавлен виджет графиков: 4 типа графиков с поддержкой бинарных таблиц и csv\n  - Добавлен виджет джойстик\n  - В логгер добавлена подсветка цветом строк с учётом их статуса (ошибка, предупреждение, инфо)\n  - Добавлена группировка опций в виджет Select\n  - При запросе перезагрузки Reload теперь сохраняется текущее открытое меню, если иерархия и названия меню не изменились\n  - Добавлен виджет Ссылка\n  - Добавлен минимум и максимум в Number\n  - Мелкие исправления и улучшения\n\n## Баги и обратная связь\nПри нахождении багов создавайте **Issue**, а лучше сразу пишите на почту [alex@alexgyver.ru](mailto:alex@alexgyver.ru)  \nБиблиотека открыта для доработки и ваших **Pull Request**'ов!\n\nПри сообщении о багах или некорректной работе библиотеки нужно обязательно указывать:\n- Версия библиотеки\n- Какой используется МК\n- Версия SDK (для ESP)\n- Версия Arduino IDE\n- Корректно ли работают ли встроенные примеры, в которых используются функции и конструкции, приводящие к багу в вашем коде\n- Какой код загружался, какая работа от него ожидалась и как он работает в реальности\n- В идеале приложить минимальный код, в котором наблюдается баг. Не полотно из тысячи строк, а минимальный код\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgyverlibs%2Fsettings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgyverlibs%2Fsettings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgyverlibs%2Fsettings/lists"}