Python, Node.js, PHP и Bash в изолированной среде.
Одна песочница.
Не только для сайтов.
Datanode — изолированное рабочее пространство в браузере. Храните и редактируйте файлы, запускайте Python, Node.js, PHP и Bash, собирайте прототипы, тестируйте Telegram-ботов и публикуйте веб-проекты.
Разработка интеграций, обработчиков и автоматизации.
Static, PHP, Node.js и Python на собственном домене.
От Telegram до первой запущенной команды
Весь цикл проходит в браузере. VPS, SSH и ручная настройка Linux для старта не нужны.
- 1Откройте @datanodehostbot
Нажмите Start. Бот создаст привязанный аккаунт и выдаст имя и ключ доступа. Это не публичный API-токен.
- 2Войдите в панель
Откройте ссылку из бота, введите выданные данные и пройдите проверку Telegram или Authenticator, если она включена.
- 3Выберите профиль и запустите Sandbox
Clean подходит для своей структуры; Static, Node.js, Python и PHP создают стартовые файлы. После запуска откроются Files, Editor и Terminal.
- 4Откройте VS Code в браузере
Перейдите в Editor. Он работает с теми же файлами, что Files и Terminal, поэтому копировать проект не нужно.
- 5Запустите Python
В Terminal выполните
python3 --version, затем создайтеhello.pyи запуститеpython3 hello.py. - 6Добавьте или импортируйте проект
Загрузите файлы до 50 МБ, создайте их в Files или импортируйте публичный GitHub-репозиторий.
- 7Опубликуйте сайт, если это нужно
В Domain выберите Files для Static/PHP или Worker HTTP для Node.js/Python, затем выполните показанную DNS-настройку.
Песочница подходит для кода, утилит и экспериментов. Домен нужен только тогда, когда результат должен открываться как веб-сайт.
Выберите удобную отправную точку
Минимальная структура: src/, public/, assets/ и README.
Готовые HTML, CSS и JavaScript для лендинга, портфолио или документации.
Express-проект с маршрутами, API, статикой и package.json.
Flask-приложение, requirements, шаблоны, статика и пример теста.
Классический PHP-проект с публичной папкой, конфигурацией и bootstrap.
Профиль создаёт стартовые файлы, но не ограничивает проект: после создания можно менять структуру и использовать другие установленные инструменты.
Управление проектом без FTP
Файловое дерево показывает содержимое workspace и поддерживает основные операции прямо в браузере.
При остановленном Sandbox файлы и терминал недоступны. Само содержимое workspace при остановке сохраняется.
Полноценный редактор в браузере
Editor открывается на editor.datanode.host и работает с тем же workspace, что и Files и Terminal.
- подсветка синтаксиса и работа с несколькими файлами;
- поиск и навигация по проекту;
- единые изменения: сохранённый файл сразу виден в Files и Terminal;
- быстрое открытие конкретного файла из файлового дерева.
Запускайте инструменты в изоляции
Терминал выполняет установленные программы внутри Bubblewrap-контейнера. Рабочая директория доступна как /workspace; временные файлы и кэши — как /tmp.
python3 --version
node --version
php -v
python3 script.py
python3 -m pip install -r requirements.txt
npm install$ python3 --version
Python 3.10.16
$ node --version
v24.13.0
$ php -r 'echo PHP_VERSION;'
8.4.23Встроенные команды
pwd, cd, ls, tree, cat, head, tail, wc, du, mkdir, touch, rm, rmdir, mv, cp и clear.
Один запуск ограничен по времени примерно 10 секундами и CPU-лимитом. Для ботов, серверов и других постоянных процессов используйте Воркеры.
Постоянные процессы в Sandbox
Воркеры запускают один долгоживущий процесс на workspace, перезапускают его по выбранной политике и сохраняют отдельный вывод. Sandbox должен оставаться запущенным.
on-failure, always или never./workspace.python3 bot.py# Node.js template
npm install
npm start
# Python template
python3 -m pip install -r requirements.txt
python3 app.pyПосле повторного запуска Sandbox откройте Воркеры и запустите процесс снова, если его состояние запуска было сброшено.
Вывод воркера и события машины
Откройте Ещё → Логи. Вкладка объединяет stdout/stderr воркера и журнал действий Sandbox без смешивания с файлами проекта.
Точки восстановления workspace
Каждый аккаунт может хранить до пяти снимков, скачать ZIP-копию, восстановить workspace или удалить ненужную точку.
- 1Создайте снимок
Откройте Ещё → Снимки, укажите понятную метку и нажмите «Создать снимок».
- 2Восстановите при необходимости
Воркер будет остановлен, а workspace атомарно заменён проверенным содержимым архива.
- 3Переустановите зависимости
node_modules,vendor, виртуальные окружения, runtime-кэши и секретные.env-файлы намеренно не входят в снимок.
Снимки создаются пользователем вручную и не являются резервными копиями по расписанию или гарантией хранения.
Автоматизация через API и SSH
Публичный API
Создайте токен в Ещё → Доступ. Секрет показывается один раз; каждому токену назначаются отдельные scopes: account, storage, files, execute, logs, workers и snapshots.
export DATANODE_API_TOKEN='dn_live_...'
curl https://datanode.host/api/v1/account \
-H "Authorization: Bearer $DATANODE_API_TOKEN"API v1 предоставляет account, storage, files, files/content, execute, logs, worker и snapshots. Отзывайте неиспользуемые токены в разделе Доступ.
SSH по публичному ключу
Добавьте Ed25519, ECDSA P-256 или security-key public key. SSH использует тот же Bubblewrap-контур и workspace, не выдаёт host-root и запрещает forwarding.
Публикация веб-проекта
Раздел Domain связывает собственный домен со статическими файлами, PHP-проектом или HTTP-приложением, запущенным через Воркеры.
- 1Выберите источник
Files публикует Static/PHP из выбранной папки. Worker HTTP направляет запросы в приложение Node.js или Python.
- 2Подготовьте проект
Для Files добавьте
index.htmlилиindex.php. Для Worker HTTP сохраните команду приложения в Воркеры и запустите её. - 3Добавьте домен
Укажите имя без протокола и создайте показанные в панели DNS-записи.
- 4Проверьте публикацию
После DNS-проверки откройте домен. Для приложения индикатор HTTP endpoint должен перейти в состояние Ready.
В режиме Worker HTTP runtime передаёт DATANODE_HTTP_SOCKET и PORT. Стартовые Node.js и Python-шаблоны используют endpoint автоматически; собственное приложение должно слушать один из этих параметров.
Worker HTTP поддерживает обычные HTTP-запросы. WebSocket upgrade пока не проксируется; размер запроса ограничен 16 МБ, ответа — 32 МБ.
Разработка Telegram-ботов
Sandbox можно использовать для полного цикла работы с ботом: создать проект, установить библиотеку, проверить обработчики и запустить long polling как постоянный worker.
aiogram, python-telegram-bot или собственный HTTP-клиент.
grammY, Telegraf и другие npm-библиотеки.
Команды, клавиатуры, обработка сообщений, API-интеграции и тесты.
telegram-bot/
├── bot.py
├── handlers/
├── requirements.txt
├── .env.example
└── README.mdБезопасное хранение токена
Создайте настоящий .env через Files или Editor, добавьте его в .gitignore и храните в репозитории только .env.example без секретов. Стартовые Node.js и Python-шаблоны загружают .env автоматически.
Секретные .env, .env.local и другие .env.* исключаются из новых snapshots. .env.example, .env.sample и .env.template сохраняются; при восстановлении текущие секретные env-файлы остаются в workspace.
Сохраните команду python3 bot.py или node bot.js, выберите политику перезапуска и следите за процессом во вкладке Логи.
Что ещё можно делать в Sandbox
Небольшие Python-, Node.js- и Bash-задачи, преобразование JSON/CSV, генераторы файлов.
Проверка HTTP-запросов, прототипирование логики API и обработка ответов.
npm-зависимости, генерация статики и подготовка файлов к публикации.
Небольшие программы, алгоритмы, тесты библиотек и учебные проекты.
Markdown, статические страницы, документация проекта и портфолио.
Импорт проекта, чтение кода, правки и локальная проверка.
Как запрос доходит до Sandbox
Архитектура специально остаётся короткой: каждый слой отвечает за одну понятную задачу.
Terminal, Воркеры, выполнение через API и SSH работают без host-root. Системные каталоги доступны read-only; запись ограничена workspace и runtime-кэшами.
Подробности о сети, логах, удалении и бэкапах опубликованы на странице безопасности. Статус компонентов — на Status.
Границы окружения
Постоянные файлы проекта. Они сохраняются между сессиями.
Временное изолированное хранилище. Не используйте его для важных данных.
Типичный предел одной команды Terminal; также действует CPU-лимит.
Объём workspace зависит от квоты, указанной в вашей панели.
Один независимо управляемый постоянный процесс на workspace.
До пяти ручных точек восстановления; зависимости, кэши и секретные env-файлы исключаются.
- песочница не имеет прямого доступа к файловой системе хоста;
- системные директории подключены только для чтения;
- доступ на изменение ограничен workspace, временной директорией и runtime-кэшами;
- не публикуйте токены, пароли, приватные ключи и резервные коды.
Если что-то не работает
Files или Terminal недоступны
Вернитесь на Main и запустите Sandbox. После перехода в состояние Online обновите нужную вкладку.
Команда завершилась по timeout
Разбейте задачу на короткие шаги. Dev-сервер, long polling или бесконечный цикл запускайте через Воркеры, а не Terminal.
Домен показывает пустой проект
Для Files проверьте выбранную папку и точку входа. Для Worker HTTP проверьте состояние worker, HTTP endpoint и последние логи. В обоих режимах DNS-проверка должна быть завершена.
Сайт не обновился после правки
Сохраните файл в Editor, убедитесь, что редактируется нужный workspace, и выполните жёсткое обновление страницы в браузере.
Воркер не запускается
Проверьте, что Sandbox Online, команда и рабочий каталог существуют. Для режима Контейнер проверьте Dockerfile, затем откройте Логи.
После восстановления не найдены зависимости
Это ожидаемо: снимки исключают каталоги зависимостей и кэши. Повторно выполните npm install, composer install или установку Python requirements.
SSH не подключается
Проверьте, что публичный ключ добавлен в разделе Доступ, а Sandbox находится в состоянии Online.