https://github.com/anthropic-experimental/sandbox-runtime
Простая утилита для сэндбоксинга.
Вообще, написана для безопасного запуска агентов.
Но может применяться для любых процессов.
Изначально написана для изолирования AI агентов.
Не использует сложные контейнеры, огораживает все нативным Bubblewrap в linux.
Простая утилита для сэндбоксинга.
# Network restrictions
$ srt "curl anthropic.com"
Running: curl anthropic.com
<html>...</html> # Request succeeds
$ srt "curl example.com"
Running: curl example.com
Connection blocked by network allowlist # Request blocked
# Filesystem restrictions
$ srt "cat README.md"
Running: cat README.md
# Anthropic Sandb... # Current directory access allowed
$ srt "cat ~/.ssh/id_rsa"
Running: cat ~/.ssh/id_rsa
cat: /Users/ollie/.ssh/id_rsa: Operation not permitted # Specific file blocked
Вообще, написана для безопасного запуска агентов.
Но может применяться для любых процессов.
Изначально написана для изолирования AI агентов.
Не использует сложные контейнеры, огораживает все нативным Bubblewrap в linux.
GitHub
GitHub - anthropic-experimental/sandbox-runtime: A lightweight sandboxing tool for enforcing filesystem and network restrictions…
A lightweight sandboxing tool for enforcing filesystem and network restrictions on arbitrary processes at the OS level, without requiring a container. - anthropic-experimental/sandbox-runtime
❤3
https://habr.com/ru/articles/994622/
Как же этого не хватало.
- Цветные кнопки для ботов. Мелочь, а как сильно упрощает взаимодействие с пользователем!
- Темы в тет-а-тет диалогах с ботом.
Как же этого не хватало.
- Цветные кнопки для ботов. Мелочь, а как сильно упрощает взаимодействие с пользователем!
- Темы в тет-а-тет диалогах с ботом.
❤4
Записки древнего вебмастера 📟
https://www.verdaccio.org/ Локальный приватный репозиторий npm пакетов. Кейсы: - Собственные пакеты, которые можно шарить с командой, не покидая локального окружения. - Кеширующий сервер. С доступом к основному npm сейчас бывают проблемы. - Использование…
В свете недоступности зеркал npm, решил все-таки поднять verdaccio для кеширования пакетов.
Естественно, не хотелось бы, чтобы кто попало мог использовать это зеркало.
Ставим по инструкции: https://www.verdaccio.org/docs/docker
Конфиг берем отсюда: https://github.com/verdaccio/verdaccio/blob/master/packages/config/src/conf/docker.yaml
Порт наружу не прокидываем, прячем за nginx.
В nginx делаем allow {Ваш ip}; disallow all;
Таким образом получаем зеркало, которое доступно только с одного айпи.
Естественно, не хотелось бы, чтобы кто попало мог использовать это зеркало.
Ставим по инструкции: https://www.verdaccio.org/docs/docker
Конфиг берем отсюда: https://github.com/verdaccio/verdaccio/blob/master/packages/config/src/conf/docker.yaml
Порт наружу не прокидываем, прячем за nginx.
В nginx делаем allow {Ваш ip}; disallow all;
Таким образом получаем зеркало, которое доступно только с одного айпи.
www.verdaccio.org
Docker | Verdaccio
To pull the latest pre-built docker image:
❤3
Записки древнего вебмастера 📟
https://github.com/mageddo/dns-proxy-server А вот более комплексный вариант для доступа к контейнерам по их имени. ➕ Кастомная конфигурация для своих каких-то доменов ➕ Доступ к контейнерам по их именам ➕ Фолбек в виде обычных dns серверов, если не удалось…
Спустя долгое время использования, выявил такие минусы:
- Периодически происходил "залипание" сервиса. Он ловит внутри себя какие-то Java ошибки и не падает, а просто перестает резолвить
- Если помимо резолвинга докеров нужно еще что-нибудь, могут возникнуть непредвиденные "приколы"
Пришло новое решение:
Есть такой специальный домен *.localhost.
По соглашению, он всегда резолвится на 127.0.0.1 или его v6 альтернативу.
Допустим, у нас есть docker compose с тремя сервисами, которые хотелось бы из браузера по имени получать, а не перебирая порты на локалке.
Добавляем в этот стэк еще caddy server, который биндится на 80 (и 443) порты хостовой машины.
А дальше уже caddy резолвит *.app.localhost на нужные сервисы.
Приятный бонус: браузеры воспринимают этот специальный домен как доверенный, поэтому можно использовать самоподписанные сертификаты.
При такой схеме даже mkcert с его рутовым сертом не нужен.
- Периодически происходил "залипание" сервиса. Он ловит внутри себя какие-то Java ошибки и не падает, а просто перестает резолвить
- Если помимо резолвинга докеров нужно еще что-нибудь, могут возникнуть непредвиденные "приколы"
Пришло новое решение:
Есть такой специальный домен *.localhost.
По соглашению, он всегда резолвится на 127.0.0.1 или его v6 альтернативу.
Допустим, у нас есть docker compose с тремя сервисами, которые хотелось бы из браузера по имени получать, а не перебирая порты на локалке.
Добавляем в этот стэк еще caddy server, который биндится на 80 (и 443) порты хостовой машины.
А дальше уже caddy резолвит *.app.localhost на нужные сервисы.
Приятный бонус: браузеры воспринимают этот специальный домен как доверенный, поэтому можно использовать самоподписанные сертификаты.
При такой схеме даже mkcert с его рутовым сертом не нужен.
❤1
https://github.com/vertti/preflight
Небольшая полезная утилита для докер контейнеров.
Проверяет:
- Наличие команды
- Наличие и правильность переменной окружения
- Наличие файлов и директорий
- Healthcheck api
И многое другое: https://github.com/vertti/preflight/blob/main/docs/usage.md
Для каждого юзкейса описан баш скрипт, который эта команда может заменить.
Небольшая полезная утилита для докер контейнеров.
Проверяет:
- Наличие команды
preflight cmd node # exists and runs
preflight cmd node --min 18.0 # version constraint
preflight cmd ffmpeg --version-cmd -version # custom version flag
- Наличие и правильность переменной окружения
preflight env DATABASE_URL # exists and non-empty
preflight env MODEL_PATH --match '^/models/' # matches pattern
preflight env APP_ENV --one-of dev,staging,prod # allowed values
- Наличие файлов и директорий
preflight file /models/bert.onnx --not-empty # file exists and has content
preflight file /var/log/app --dir --writable # directory is writable
preflight file /app/entrypoint.sh --executable # script is executable
- Healthcheck api
preflight http http://localhost:8080/health # basic health check
preflight http https://api.example.com --status 204 # custom status code
preflight http http://localhost/ready --retry 3 # retry on failure
И многое другое: https://github.com/vertti/preflight/blob/main/docs/usage.md
Для каждого юзкейса описан баш скрипт, который эта команда может заменить.
GitHub
GitHub - vertti/preflight: Validation toolkit for containers and CI. Single binary, zero dependencies.
Validation toolkit for containers and CI. Single binary, zero dependencies. - vertti/preflight
❤2
https://github.com/websockets/wscat
Небольшая утилита для тестирования WebSocket.
Небольшая утилита для тестирования WebSocket.
GitHub
GitHub - websockets/wscat: WebSocket cat
WebSocket cat. Contribute to websockets/wscat development by creating an account on GitHub.
❤1
Forwarded from FrontEndDev
UI паттерны для асинхронных процессов и фоновых задач
Как создавать интуитивно понятные интерфейсы для фоновых задач и конвейеров данных, чтобы пользователи не теряли контроль и понимали, что происходит в приложении.
https://blog.logrocket.com/ui-patterns-for-async-workflows-background-jobs-and-data-pipelines/
Как создавать интуитивно понятные интерфейсы для фоновых задач и конвейеров данных, чтобы пользователи не теряли контроль и понимали, что происходит в приложении.
https://blog.logrocket.com/ui-patterns-for-async-workflows-background-jobs-and-data-pipelines/
❤2
https://requestinspector.com/ - Один из кучи сервисов для перехвата запросов.
Зачем: быстрое тестирование вебхука. Просто чтобы убедиться, что приходит что-то нужное.
Альтернатива, скиданная за пару минут:
Дальше, при помощи localhost.run, делаем адрес доступным извне.
Получаем собственный вариант уловителя запросов.
Зачем: быстрое тестирование вебхука. Просто чтобы убедиться, что приходит что-то нужное.
Альтернатива, скиданная за пару минут:
const http = require('http');
const server = http.createServer(async (req, res) => {
const chunks = [];
for await (const chunk of req) {
chunks.push(chunk);
}
const body = Buffer.concat(chunks).toString();
console.log('=== Request ===');
console.log('URL:', req.url);
console.log('Method:', req.method);
console.log('Headers:', JSON.stringify(req.headers, null, 2));
console.log('Body:', body || '(empty)');
console.log('===============\n');
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('OK');
});
const PORT = process.env.PORT || 3000;
server.listen(PORT, () => {
console.log(`Server running on http://localhost:${PORT}`);
});Дальше, при помощи localhost.run, делаем адрес доступным извне.
Получаем собственный вариант уловителя запросов.
Requestinspector
Web Request Inspector & Probe Service | Request Inspector
Real-time HTTP inspection, thorough breakdowns, and end-to-end transparency for API debugging and monitoring. Ideal for developers and testers
❤1
https://habr.com/ru/articles/1001030/
Раньше go fix занимался починкой очевидных нюансов.
Теперь же это полноценный инструмент по апгрейду кода.
В статье подробно описано что именно он "фиксит".
p.s. Напомню, что для php есть https://github.com/rectorphp/rector. Похожий инструмент, который позволяет поднять версии php, symfony, etc.
Раньше go fix занимался починкой очевидных нюансов.
Теперь же это полноценный инструмент по апгрейду кода.
В статье подробно описано что именно он "фиксит".
p.s. Напомню, что для php есть https://github.com/rectorphp/rector. Похожий инструмент, который позволяет поднять версии php, symfony, etc.
Хабр
Автоматическая модернизация кода на Go при помощи go fix
В релизе 1.26 языка Go, выпущенном в этом месяце, есть полностью переписанная подкоманда go fix . Go fix использует набор алгоритмов для обнаружения возможностей улучшения кода; часто для этого...
❤1
https://webmin.com/
Готовая панель управления сервером для тех, кому лень заморачиваться с девопсингом.
Не стоит ожидать большого спектра ПО. Для веб-сервера там, например, Apache. Который, лично я, уже давно не вижу смысла использовать на каких-либо новых конфигурациях.
Готовая панель управления сервером для тех, кому лень заморачиваться с девопсингом.
Не стоит ожидать большого спектра ПО. Для веб-сервера там, например, Apache. Который, лично я, уже давно не вижу смысла использовать на каких-либо новых конфигурациях.
Webmin
Powerful and flexible web-based server management control panel
❤2
Записки древнего вебмастера 📟
https://webmin.com/ Готовая панель управления сервером для тех, кому лень заморачиваться с девопсингом. Не стоит ожидать большого спектра ПО. Для веб-сервера там, например, Apache. Который, лично я, уже давно не вижу смысла использовать на каких-либо новых…
https://brainycp.com/
Вариант от подписчика. Полностью бесплатная панелька для сервера.
Вариант от подписчика. Полностью бесплатная панелька для сервера.
❤3
Forwarded from Иван Бочкарев
Всем привет!
Я к вам с хорошей новостью: кому не хватало документации переведенной на русский язык по Nuxt и были проблемы с доступом к сайту документации - то теперь можно использовать сайт с актуальной документацией https://nuxt-ru.vercel.app/
Все актуализировано, деплой работает!
Спасибо группе активистов которые помогли с переводом!
Я к вам с хорошей новостью: кому не хватало документации переведенной на русский язык по Nuxt и были проблемы с доступом к сайту документации - то теперь можно использовать сайт с актуальной документацией https://nuxt-ru.vercel.app/
Все актуализировано, деплой работает!
Спасибо группе активистов которые помогли с переводом!
Nuxt
Nuxt: Full-Stack Vue-фреймворк
Создавайте быстрые production-ready веб-приложения на Vue. Файловая маршрутизация, автоимпорты и серверный рендеринг — всё настроено из коробки.
❤1
Записки древнего вебмастера 📟
Всем привет! Я к вам с хорошей новостью: кому не хватало документации переведенной на русский язык по Nuxt и были проблемы с доступом к сайту документации - то теперь можно использовать сайт с актуальной документацией https://nuxt-ru.vercel.app/ Все актуализировано…
Восхитительно! Теперь в доке ориентироваться будет еще проще!
❤1
https://symfony-init.dev/
Инициализатор symfony проектов для самых ленивых.
Подробнее в статье https://habr.com/ru/articles/1003678/
Инициализатор symfony проектов для самых ленивых.
Подробнее в статье https://habr.com/ru/articles/1003678/
❤3
https://github.com/rrd108/vue-mess-detector
Статический анализатор кода для vue проектов.
Может натолкнуть на очень дельные мысли.
p.s. Посмеялся, когда в зависимостях увидел rimraf. Видимо, если твой код достаточно отстойный - он его просто удаляет :D
Статический анализатор кода для vue проектов.
Может натолкнуть на очень дельные мысли.
p.s. Посмеялся, когда в зависимостях увидел rimraf. Видимо, если твой код достаточно отстойный - он его просто удаляет :D
GitHub
GitHub - rrd108/vue-mess-detector: A static code analysis tool for detecting code smells and best practice violations in Vue.js…
A static code analysis tool for detecting code smells and best practice violations in Vue.js and Nuxt.js projects - rrd108/vue-mess-detector
❤2
https://habr.com/ru/articles/1005282/
Когда официальная документация "врёт" - это всегда боль во время работы с такими api.
Когда официальная документация "врёт" - это всегда боль во время работы с такими api.
Хабр
Как я устал дебажить MAX API, отреверсил их вебхуки и отучил Cursor галлюцинировать
Когда я писал своего первого более-менее серьезного бота под Max, случилась классика. Я и мой ИИ-ассистент (Cursor) пишем код, строго опираясь на официальную документацию Max API. Запускаю — падает....
❤1
Forwarded from Golang
ReMemory позволяет шифровать ваши файлы и делить ключи доступа между друзьями с помощью метода Шамира.
Каждый получает автономный инструмент для восстановления, работающий в любом браузере, без необходимости в интернете или серверах.
🚀Основные моменты:
- Шифрование и разделение ключей для безопасности.
- Восстановление работает полностью офлайн.
- Друзья не могут получить доступ к секретам по одиночке.
- Простота использования для не технических пользователей.
📌 GitHub: https://github.com/eljojo/rememory
🚀Max
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
https://habr.com/ru/articles/484886/
Хорошее руководство о реализации RTL на сайте.
Рассмотрены многие важные нюансы.
https://rtlcss.com/index.html
А вот библиотека, которая помогает в полуавтоматическом режиме превратить ltr приложение в rtl.
Хорошее руководство о реализации RTL на сайте.
Рассмотрены многие важные нюансы.
https://rtlcss.com/index.html
А вот библиотека, которая помогает в полуавтоматическом режиме превратить ltr приложение в rtl.
Хабр
RTL Styling 101 — подробное руководство по RTL-стилизации в CSS
Перевод « RTL Styling 101 — An extensive guide on how to style for RTL in CSS » Ахмада Шадида. Более 292 миллионов людей во всём мире говорят на арабском, как на родном языке. К ним отношусь и я,...
❤3