Поднимаем CloudFlare туннель с zero trust и публикуем сервисы одной командой.
Мне надоело настраивать Cloudflare Zero Trust вручную, поэтому я создал 15-секундную обёртку для CLI. Каждый раз, когда мне нужно было безопасно открыть доступ к новому локальному сервису (например, Grafana или API для разработчиков), процедура всегда была одинаковой:
- Открыть панель управления Cloudflare.
- Создать новый туннель
- Настроить правила входящего трафика
- Добавить запись DNS CNAME
- Перейти на панель Zero Trust
- Настроить политику доступа
Как это работает сейчас:
Когда мне нужно поделиться или открыть доступ к локальному сервису, я просто запускаю:zt up grafana 3000Примерно за 15 секунд он автоматически обрабатывает всю цепочку: Создает туннель Cloudflare, настраивает DNS и Ingress, вешает его за Cloudflare Access, запускает cloudflared в фоновом режиме и сохраняет состояние локально.
Если мне нужно, чтобы он был полностью публичным (например, конечная точка веб-хука), я просто передаю флаг: zt up api 8080 --public Если я хочу поделиться им с конкретными коллегами: --allow mail@example.com Когда я закончил, zt down grafana очищает все и останавливает процесс. Это единственный бинарник, написанный на Go, использующий официальный пакет Cloudflare API. Конфигурация и состояние хранятся локально в ~/.zt-config.json и ~/.zt-state.json (защищены правами 0600).
Я использую его ежедневно в своей домашней лаборатории и среде разработки, и это сэкономило мне часы на кликах по веб-морде клаудфлейр. Если вы управляете селф-хостед приложениями или часто нуждаетесь в безопасном открытии локальных портов, не стесняйтесь проверить тулзу, открыть issue или поставить звездочку. Я буду рад обратной связи.