| 1.1, Аноним (1), 17:58, 06/09/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
осталось выложить баш-скрипт на сайте, админу корпорации выполнить его через судо и готов удобный интерфейс для хакеров в корпоративные базы...
| | |
| |
| 2.2, Аноним (2), 18:14, 06/09/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
проще вместо веб-редактора на этой страничке выложить логин и пароль от ssh/rdp
| | |
| 2.8, libredb (ok), 21:52, 06/09/2026 [^] [^^] [^^^] [ответить]
| +5 +/– |
Автор проекта. По существу, без спора с шуткой.
Есть: без аутентификации не открывается ни один маршрут (локальные учётки или OIDC/SSO), RBAC admin/user, ограничение частоты на логине и на запросах к БД, проверка Origin на изменяющих запросах, CSP и сопутствующие заголовки, сравнение пароля за постоянное время, пароли к базам шифруются в серверном хранилище, каждое событие аудита, отдельной JSON-строкой в stdout.
Нет, и написано у нас же: копия учётных данных в браузере не шифруется, агентский режим и часть аудита помечены как partial. Список , docs/SECURITY.md, там у каждой строки указан файл, который её реализует, и тест, который падает, если её сломать.
И да, голым в интернет это ставить не надо. Инструмент внутренний, за вашим периметром.
| | |
| |
| 3.11, ананим.orig (?), 22:01, 06/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
А браузеру клиента доверяете?
Т.е. в одной вкладке порнохаб, в другой госуслуги,.. и в следующей сабж?
| | |
| |
| 4.13, libredb (ok), 22:18, 06/09/2026 [^] [^^] [^^^] [ответить]
| +4 +/– |
Не доверяю, и не должен: соседняя вкладка не читает localStorage чужого origin, это граница самого браузера. Если она пробита, вместе с сабжем уходят и госуслуги, прикладной код там не спасает никого.
Реальный риск не соседняя вкладка, а XSS в нашем же origin: только он до этого localStorage и добирается. Поэтому строки 0.1 и 1.1 в таблице самые важные. Вывод модели никогда не становится HTML-строкой, строковый путь убран, а не экранирован, так что его нельзя вернуть правкой правил разметки. Плюс CSP и остальные заголовки, на каждое есть тест.
Чего не делаем: localStorage не шифруем. Это источник рендера, шифрование потребует мастер-пароля и процедуры восстановления, а это уже другой продукт. Написано у нас же, docs/SECURITY.md, раздел Known limits.
Против вредоносного расширения или уже скомпрометированной машины ответа нет ни у нас, ни у любого веб-приложения: расширение читает localStorage любого origin. Если это в вашей модели угроз, веб-клиент вам не подходит.
Так честнее, чем обещать обратное.
| | |
| |
| 5.19, Аноним (19), 22:43, 06/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
Учитывая, что на базе Монако, то не проще было завернуть в Электрон тогда и не использовать браузеры?
| | |
| |
| 6.21, libredb (ok), 23:01, 06/09/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не проще: обёртка есть, и она не Electron, а Tauri v2.
Сервер она не заменяет, а запускает его же, тот самый standalone-payload как sidecar, ждёт 200 на /api/db/health и открывает системный webview на 127.0.0.1.
Под Linux desktop-AppImage собирается в релизном CI на каждую архитектуру. Под macOS и Windows пока нет, и упирается это в платные подписи, а не в технику.
Electron не взяли осознанно: ~5-10 МБ против ~85-120 МБ, системный webview вместо своего Chromium, а Node-in-renderer, ради которого его обычно и берут, нам не нужен, весь UI отдаёт сам сервер. Сравнение и причины целиком: docs/DESKTOP_WRAPPER_SPIKE.md.
Браузер это не отменяет: продукт серверный.
Ставит админ, доступ раздаётся ролями, пароли к базам не расходятся по машинам. Обёртка — для случая «одна машина, один человек».
| | |
|
| 5.23, ананим.orig (?), 23:18, 06/09/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Так честнее, чем обещать обратное.
Так и я об этом.
Не, поймите правильно, я рад сабжу.
Для кучи сайто писателей, хоммэйд и прочего оутсорс вполне себе.
Но что за мода все пихать в/через веб до сих пор шокирует?
| | |
| |
| 6.24, libredb (ok), 23:28, 06/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
Мода эта раздражает и меня, честно.
Причина тут не в ней: в веб ушла не «удобность», а то, что учётные данные к базам остаются на сервере и не расходятся по тридцати машинам, а доступ и журнал живут в одном месте.
Толстый клиент это тоже умеет, только его потом надо раздавать и обновлять.
Спасибо за вопросы, они были по делу.
| | |
| |
| 7.36, Аноним (36), 11:45, 07/09/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> учётные данные к базам остаются на сервере
Т.е. вся эта вебня ради единственной параноидальной идейки "всё на сервере"? Вам не кажется, что вы на защиту потратили больше ресурсов, чем на собственно СУБД? :)
Веб - это маразм В ЛЮБОМ виде, чем вы его ни оправдывайте. Не говоря о том, что как правило люди работают в ОДНОЙ системе. Нужен виновозный клиент - пишем Win32 приложение. Нужен Линукс - вообще тысячи языков и ГУЁв. Но вот так лабать вебню чисто потому, что вам лень или потому что неспособны писать под Оффтопик - такое себе развлечение, это уже не опенсорс, а лизание яиц.
| | |
|
|
|
| 4.17, Норм (?), 22:37, 06/09/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Вы забыли про (бульен) АйАй в этой штуке.
То есть чел который это юзает доверяет бомжу на улице, базу данных, очень ценную наверное. Вкладки бравзер...
| | |
| |
| 5.22, libredb (ok), 23:09, 06/09/2026 [^] [^^] [^^^] [ответить]
| +3 +/– |
ИИ здесь необязателен, и это не оборот речи.
Без конфигурации LLM_* провайдер по умолчанию требует ключа, availability отвечает NO_MODEL_CONFIGURED, панель не рендерится, обращений к модели не происходит вообще.
Если включать, вы выбираете куда. Ollama на своей машине: ничего не покидает сеть.
Внешний провайдер: наружу уходит и схема, и строки того, что прочитано.
Мы это не смягчаем, что именно уходит по каждой поверхности, с указанием места вызова, в docs/AGENT_DATA_FLOW.md, и отдельным пунктом в Known limits.
Запрос модель только предлагает: режим только для чтения,
выполняется после подтверждения человеком.
| | |
|
|
|
| 2.56, Meta (?), 20:29, 08/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
Ты што? Там же SSO. Как ты скрипт удаленно собрался выполнять?
| | |
|
| 1.4, Аноним (5), 19:22, 06/09/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Казалось бы что может пойти не так. Программа от китайцев на дырявом языке.
| | |
| |
| |
| 3.44, Аноним (44), 14:44, 07/09/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> А что с TypeScript не так?
поделие мелкослопа, что тут может быть еще не так?
| | |
|
| 2.18, Аноним (19), 22:42, 06/09/2026 [^] [^^] [^^^] [ответить]
| +4 +/– |
В топе контрибьютеров одни турки и Claude. Откуда взялись китайцы?
| | |
|
| 1.6, Норм (?), 20:31, 06/09/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Адмнистратор запускает на своей машине а клиенты подключаются?
К редактору баз данных? Чтобы что?
Зачем редактору клиенты?
| | |
| |
| 2.9, libredb (ok), 21:54, 06/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
Затем же, зачем в конторе один bastion, а не тридцать ноутбуков с боевыми паролями. Ставит админ, доступ раздаёт ролями, пароли к базам не расходятся по машинам, кто какой запрос выполнил, видно в журнале
Если вы один и база локальная, вам это не нужно, берите psql или DBeaver. Это не замена им
| | |
| |
| 3.14, Норм (?), 22:30, 06/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Затем же, зачем в конторе один bastion, а не тридцать ноутбуков с
> боевыми паролями. Ставит админ, доступ раздаёт ролями, пароли к базам не
> расходятся по машинам, кто какой запрос выполнил, видно в журнале
> Если вы один и база локальная, вам это не нужно, берите psql
> или DBeaver. Это не замена им
В базе обычно свои юзеры с ролями.
Пароли к базам не расходятся, а расходятся пароли к тулзе для доступа к базам - найс.
Ну допустим. 🤷♀️ Чего в мире только не бывает.
| | |
| |
| 4.29, Аноним (29), 03:36, 07/09/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> расходятся пароли к тулзе для доступа к базам
Про SSO в вашей деревне, полагаю, не слышали.
> Ну допустим. 🤷♀️ Чего в мире только не бывает. | | |
| |
| 5.33, User (??), 07:59, 07/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
Да вот как бы тебе сказать? Проще через ldap2pg+kerberos один раз настроить, чем с вебней всю жисть маяться. Это в том (очень и очень) нечастом случае, когда толпе народа нужен доступ к боевым базам.
| | |
|
|
|
|
| 1.7, Аноним (7), 21:31, 06/09/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
> Для запуска достаточно команды "docker run
Звиздец. А без этого прям уже никак не сделать в 2026?
| | |
| |
| 2.10, libredb (ok), 22:00, 06/09/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Docker не обязателен, это просто самая короткая строчка для новости.
Нативно, без контейнера: deb/rpm, AppImage, snap, tar.gz с релизов, Homebrew. Все они несут свой Node внутри, ставить его отдельно не нужно. Через npm, npx @libredb/studio, там Node ваш. Под Windows есть winget и choco.
Кому нужен контейнер или кластер, образ и Helm-чарт тоже есть, но это выбор, а не условие.
| | |
| |
| 3.15, Норм (?), 22:32, 06/09/2026 [^] [^^] [^^^] [ответить]
| –2 +/– | |
> Все они несут свой Node внутри
Замечательно! Вот это самое необходимое на машине админа для ковыряния в бд.
| | |
| |
| 4.20, libredb (ok), 22:44, 06/09/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Претензию понимаю, но это не «ещё один Node в системе».
В deb/rpm рантайм лежит внутри пакета: /usr/lib/libredb-studio/node/bin/node, в PATH его нет,
системный node не трогается и не нужен.
npm во время работы не запускается вообще, зависимости уже внутри пакета, ставится и сносится одной командой пакетного менеджера.
Дальше это обычный пакет: юнит /usr/lib/systemd/system/libredb-studio.service, конфиг /etc/libredb-studio/env, состояние /var/lib/libredb-studio.
Прямой запуск, без systemd, по умолчанию слушает 127.0.0.1.
Состав зависимостей не на слово: SBOM публикуется с каждым релизом.
| | |
|
|
| 2.16, Норм (?), 22:33, 06/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> Для запуска достаточно команды "docker run
> Звиздец. А без этого прям уже никак не сделать в 2026?
Низя, там хтонический ужас в виде нмп лефтпадов и прочих жаваскриптов.
| | |
| 2.32, User (??), 07:51, 07/09/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Можно. Но полинтернета для ноды качать тебе не понравится.
| | |
|
| 1.27, vasuikoff (?), 02:04, 07/09/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Я считаю что это очень нужная и полезная в работе вещь. Автору желаю терпения и неукротимой веры в то, что делает он все правильно.
| | |
| |
| 2.45, libredb (ok), 14:45, 07/09/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Нет, и в трекере у меня было написано «не будем»: Firebird лежал в одном списке с Db2 и Sybase, причина, дорогие нативные клиенты
Пошёл проверять после вашего вопроса, а драйвер оказался чистый JS, без нативщины вообще, и лицензия тут ни при чём.
Отписка была ленивая, и написал её я сам. Перенёс Firebird в открытые вопросы, к тому, что можем сделать
ref: https://github.com/libredb/libredb-studio/issues/424
| | |
|
| 1.31, User (??), 07:50, 07/09/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Уф. Мало нам pgadmin'а так ещё и для других бидэ тех же щщщей да погуще лей за грехи наши...
| | |
| |
| 2.38, Аноним (36), 11:54, 07/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
Пусть расцветают тысячи клиентов СУБД :)) Лишь бы писали на нормальных языках, с адекватным UI (в отличии от вебни в топике) и внятными целями "почему этот проект должен жить и чем он лучше остальных наклёпаных клиентов".
| | |
|
| 1.37, Аноним (36), 11:52, 07/09/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
> Поддерживается 16 движков
Каким образом? Там реально написан UI для каждого вида? Редактирование таблицы, колонок...
| | |
| |
| 2.39, libredb (ok), 13:48, 07/09/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
UI один, отдельного интерфейса под каждый движок нет.
Есть один абстрактный класс с 13 обязательными методами (query, getSchema, getOverview, getTableStats, getIndexStats и так далее) и по файлу на каждый id в src/lib/db/providers. UI по типу базы не ветвится: он читает то, что провайдер о себе публикует, семь флагов возможностей и набор подписей. Поэтому у MongoDB в дереве Collection и document, у Redis — Key Pattern и key, у Elasticsearch Index, а редактор Cassandra подписан «CQL, без JOIN, без подзапросов, без OFFSET».
Про правку конкретно. Форма создания таблицы есть там, где провайдер объявляет supportsCreateTable: Postgres, MySQL, MSSQL, Oracle, SQLite, DuckDB, libSQL, Trino.
У ClickHouse, Druid, Cassandra, Elasticsearch, OpenSearch, MongoDB, Redis и Couchbase кнопки просто нет, а не есть и падает.
Правка строки на месте — семь движков: Postgres, MySQL, MSSQL, Oracle, SQLite, DuckDB, libSQL.
Формы ALTER COLUMN нет ни для одного движка, и это осознанно: изменения схемы выводятся как SQL, применяет человек.
Шестнадцать — это движки, к которым подключаются; в union DatabaseType семнадцать id, семнадцатый это встроенный libredb. На каждый id в репозитории есть docs/providers/<id>.md и интеграционный тест, это правило, а не пожелание.
| | |
| |
| 3.48, Аноним (36), 10:43, 08/09/2026 [^] [^^] [^^^] [ответить] | +1 +/– | Не совсем понял правка строки Вы могли бы где-то показать конкретный скрин... большой текст свёрнут, показать | | |
| |
| 4.49, libredb (ok), 12:21, 08/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
Скрин можно не рисовать, можно пощупать: trial.libredb.org, admin@libredb.org / Admin!2026.
Спасибо, ваш вопрос нашёл у нас баг, а не только пробел.
вы попали точно в дырку. Issue: https://github.com/libredb/libredb-studio/issues/648
Если возьмётесь или просто допишете туда свои случаи, буду рад.
Формы "создание колонки" не существует вообще, DDL-форма в продукте одна, та самая.
Правка строки: в сетке результатов правятся ячейки, на подтверждение генерируется UPDATE на строку. Колонка ключа определяется по имени, id или *_id (src/hooks/use-inline-editing.ts), а не из метаданных первичного ключа. Составной ключ или другое имя, правки нет.
Почему так вышло, без отмазок: цель проекта не "писать SQL удобнее", а сделать доступ к базам управляемым и подотчётным на своём сервере. Поэтому работа шла в редактор, доступ и журнал, а DDL-формы получили меньше всего внимания. Сам я таблицы через формы почти не делаю, и по результату это видно.
Одно про формы вообще, из опыта. Форма, которая кавычит идентификаторы за вас, потом отвечает "table does not exist" на то же имя в другом регистре, а человек так и не увидел, что именно она сгенерировала. Поэтому у нас идентификаторы не кавычатся вообще, поле имени сводится к [a-z0-9_], и SQL показан до кнопки. Форму выше это не оправдывает, но выбор был осознанный.
| | |
| 4.51, libredb (ok), 13:26, 08/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
Забыл ответить на вторую половину. Формы ALTER нет, но diff двух схем генерирует миграцию с ветвлением по диалекту: 'src/lib/schema-diff/migration-generator.ts'. Где движок не может, там отказ с причиной, а не кривой стейтмент. Цепочку drop FK, rename, тип он за вас не выстроит, порядок за человеком.
| | |
| 4.53, libredb (ok), 16:24, 08/09/2026 [^] [^^] [^^^] [ответить]
| +/– |
Возвращаюсь с результатом: баг, в который вы попали, закрыт. #648 взял внешний участник, PR #651.
Проверено на живых движках, а не по документации: postgres 18, mysql 26.7, mssql 2022, oracle 23, sqlite 3.53, libsql, duckdb 1.5.5, trino 476.
| | |
|
|
|
| 1.41, OpenEcho (?), 13:49, 07/09/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Т.е. кроме как без слива в SSO (OIDC) зайти не получится без больших "братьев"...
И про песни как поднять свой OIDC и про два пальца, конечно же по плечу всем, тоже верю
| | |
| |
| 2.42, libredb (ok), 14:17, 07/09/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Про демо вы правы, и это наша недоработка в новости: в ней стоит одна ссылка, на app.libredb.org, а он действительно OIDC-only, через Auth0 с гуглом и гитхабом. Второй демо-хост, без всякого SSO, в новость не попал: trial.libredb.org, вход admin@libredb.org / Admin!2026.
В продукте SSO не обязателен и не является режимом по умолчанию.
По умолчанию 'NEXT_PUBLIC_AUTH_PROVIDER=local', это свой логин и пароль, при входе наружу не уходит ни одного запроса, а если переменные не заданы, пароль администратора генерируется при первом запуске и печатается в лог один раз.
OIDC включается отдельно, и IdP может быть свой: Keycloak и Zitadel описаны в docs/OIDC.md наравне с Auth0 и Okta.
Честный минус local-режима: это две учётные записи из переменных окружения, admin и, если задан пароль, user.
Группы, много людей, отзыв доступа — за этим придётся идти к IdP. Так что скепсис не пустой, он просто про масштаб, а не про обязательность
| | |
| |
| 3.52, OpenEcho (?), 14:17, 08/09/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> В продукте SSO не обязателен и не является режимом по умолчанию
ИМХО, это должно быть в описании, инструмент явно для low level access к ДБ и доступ как правило дается маленькой группе девелоперов в small businesses. OIDC это определенно плюс для больших контор, но будет PITA для временных и малых сетапов, которые как правило закрыты от доступа с инета.
Спасибо за разьяснение и удачи !
| | |
|
|
| 1.55, Аноним (54), 19:39, 08/09/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Спасибо что используете github, а не какой-нибудь, прости Господи, gitflic/gitverse.
| | |
|