🚜 Linux по четвергам
🔒 Управление правами доступа
🔻
chmod - Изменение прав доступа файлов в восьмеричной или символьной записиchmod 755 script.sh # rwxr-xr-x
chmod u+x,g-w,o-r file.txt # символьная запись
755: владелец полные, группа/остальные чтение+выполнениеu/g/o: пользователь/группа/остальные🔻
chown - Изменение владельца файла и группы рекурсивноchown -R user:group /path/to/directory
-R: рекурсивноuser:: изменить только пользователя:group: изменить только группу🔻
chgrp - Изменить группу-владельца для файла или каталогаchgrp -R my_group folder
-R: рекурсивно🔻
umask - Установка прав доступа по умолчанию для создаваемых файловumask 022 # файлы: 644, каталоги: 755
umask -S # отображение в символьной форме
🔻
sudo -l - Список разрешенных sudo команд для текущего пользователяsudo -l -U username # проверка для конкретного пользователя
-l: список прав-U: для определенного пользователя💡 Несколько твиков
▫️
chmod --reference=file1.txt file2.txt для быстрого назначения прав одного файла на другой.▫️
chown --reference=file1.txt file2.txt для быстрого назначения владельца одного файла на другой.▫️
find / -perm -u+s -type f для поиска всех файлов с установленным SUID битом (потенциальные угрозы безопасности), начиная с корня файловой системы.#linuxthursday #linux #шпаргалка
👍5🔥2
‼️ Начудил немного с ботом для мониторинга под вечер. В базе было несколько пользователей, видимо кто-то попал под баг вместе со мной.
Настроил ежедневные проверки всех указанных адресов пользователей с уведомлением о результатах в виде отчета. В итоге, когда наступило время проверки, бот зациклился и давай спамить уведомлениями.
🛠 Экстренно отловил и внес корректировки.
#monitoring #проекты #fail
Настроил ежедневные проверки всех указанных адресов пользователей с уведомлением о результатах в виде отчета. В итоге, когда наступило время проверки, бот зациклился и давай спамить уведомлениями.
🛠 Экстренно отловил и внес корректировки.
#monitoring #проекты #fail
👍6
📝 Changelog бота для мониторинга веб-ресурсов
Третья версия бота. Уже куда более приятная к использованию (не считая неотработанного бага 🫤) за счет автоматизации основной функциональности.
✅ Автоматическая проверка списка адресов дважды в день.
✅ Отчет в закрепе чата.
✅ Вместо постоянной отправки новых сообщений бот редактирует закрепленный отчет, таким образом пользователь всегда видит актуальную информацию.
✅ Уведомление на важные изменения в результатах проверки (просроченный / недоступный сертификат, скоро истекающий сертификат, восстановление ресурса после найденных ранее проблем). Уведомления улетают отдельными сообщениями.
✅ Сбор внутренней статистики по базе на основе количества ресурсов, запросов, результатов проверок.
⚒️ Дальнейшие перспективы
✨ В комментариях предложили проводить проверку факта доступности сервиса с ip адресов разной географии, что может быть актуально в связи с различными блокировками.
✨ Переезд с файловой базы на
✨ Служебные команды для администратора.
✨ Мониторинг работы системы.
🌐 Исходники на gitverse
🔭 Бот @monid_bot
#monitoring #проекты
Третья версия бота. Уже куда более приятная к использованию (не считая неотработанного бага 🫤) за счет автоматизации основной функциональности.
✅ Автоматическая проверка списка адресов дважды в день.
✅ Отчет в закрепе чата.
✅ Вместо постоянной отправки новых сообщений бот редактирует закрепленный отчет, таким образом пользователь всегда видит актуальную информацию.
✅ Уведомление на важные изменения в результатах проверки (просроченный / недоступный сертификат, скоро истекающий сертификат, восстановление ресурса после найденных ранее проблем). Уведомления улетают отдельными сообщениями.
✅ Сбор внутренней статистики по базе на основе количества ресурсов, запросов, результатов проверок.
⚒️ Дальнейшие перспективы
✨ В комментариях предложили проводить проверку факта доступности сервиса с ip адресов разной географии, что может быть актуально в связи с различными блокировками.
✨ Переезд с файловой базы на
PostgresSQL.✨ Служебные команды для администратора.
✨ Мониторинг работы системы.
🌐 Исходники на gitverse
🔭 Бот @monid_bot
#monitoring #проекты
Telegram
DeSoft.ru
🔥 Подготовил первую версию бота для мониторинга доступности веб-ресурсов и проверки актуальности сертификатов.
Основные функции
✅ Добавление/удаление веб-ресурсов
🔍 Проверка доступности HTTP/HTTPS ресурсов
🛡 Мониторинг SSL-сертификатов (срок действия, валидность)…
Основные функции
✅ Добавление/удаление веб-ресурсов
🔍 Проверка доступности HTTP/HTTPS ресурсов
🛡 Мониторинг SSL-сертификатов (срок действия, валидность)…
🔥3👍1
💡 Собранное ранее в
Логичным продолжением является
📌 В контексте задачи подготовил
🔥 VideoDB - opensource платформа, способная закрыть широкий перечень потребностей
▫️ Репа
▫️ Нода для n8n
▫️ Self hosted версия с подключением к разным провайдерам
🔹 AI Studio - студия от гугла с Gemini под капотом (просто в чате с Gemini анализ видео недоступен)
🔹 Готовый n8n workflow сборщика summary из видео с использование Gemini
🔹 memories.ai - платформа для анализа, обработки и сопровождения видео
🔹 twelvelabs.io - еще одна площадка с широкими возможностями анализа видео
#ai #n8n #automation #tools #полезное
n8n решение задачи для генерации статей по youtube видео ([1], [2], [3]) работает только с извлеченными субтитрами.Логичным продолжением является
анализ видеоряда, чтобы дополнить результаты, сопроводить пояснениями, скриншотами, ссылками на важные фрагменты и т.д., что может сделать итоговую статью более полноценной.📌 В контексте задачи подготовил
подборку систем для автоматизированного анализа и обработки видео▫️ Репа
▫️ Нода для n8n
▫️ Self hosted версия с подключением к разным провайдерам
🔹 AI Studio - студия от гугла с Gemini под капотом (просто в чате с Gemini анализ видео недоступен)
🔹 Готовый n8n workflow сборщика summary из видео с использование Gemini
🔹 memories.ai - платформа для анализа, обработки и сопровождения видео
🔹 twelvelabs.io - еще одна площадка с широкими возможностями анализа видео
#ai #n8n #automation #tools #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👏1
🙈 Собирать заметки под разные платформы - та еще рутинная работа. Хочется охватить как можно больше основных каналов, однако, как начинаешь тратить на это дополнительные часы - все желание пропадает.
🦾 Но в арсенале же теперь есть система
#ai #n8n #automation
🦾 Но в арсенале же теперь есть система
n8n! Поэтому следующей задачей для автоматизации будет переформатирование и постинг из Telegram, например, в ВК. Дальше больше, начну с одной платформы, а там по нарастающей, если результат будет стоить того.#ai #n8n #automation
👍6👏1
🎉 Пару месяцев назад шумел ИИ-агент для разработки
Отлично! Надо попробовать, может проект какой набросать с его помощью, думаю я. Как дошли руки - вижу новость -
А тут и Китай со своим
#ai #news
ChatGPT Codex - "убийца Claude Code" и все в этом духе. Codex и правда показывал результаты довольно внушительные, во многом опередив конкурента, судя по многочисленным разборам и тестам.Отлично! Надо попробовать, может проект какой набросать с его помощью, думаю я. Как дошли руки - вижу новость -
Anthropic выпустила Claude Code 2.0 - "убийцу убийц", всего 2-3 месяца и ответка прилетела🤷♂️. Изменения интересные и в vscode встроили полноценно (CHANGELOG).А тут и Китай со своим
DeepSeek старается не отставать. Поле битв так называемого ИИ не остывает ни на секунду. Глаза разбегаются. Когда-нибудь я обязательно соберу агентскую систему...#ai #news
GitHub
claude-code/CHANGELOG.md at main · anthropics/claude-code
Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflo...
👍3
🎁
Забираем "best practice" для повседневной работы с чат-ботами на официальном сайте академии🎉
#ai #полезное
OpenAI Academy опубликовала 300+ промптов на все случаи жизни. В подборке как общие запросы, так и целевые, под разные профессии: руководители, специалисты по продажам, маркетологи, разработчики, инженеры, эйчары и прочее.Забираем "best practice" для повседневной работы с чат-ботами на официальном сайте академии
#ai #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🚜 Linux по четвергам
📊 Мониторинг системы и производительности
🔻
iotop - Мониторинг использования дискового I/O по процессам в реальном времениiotop -o -d 2
-o: показывать только процессы с I/O-d: задержка между обновлениями🔻
vmstat - Отображение системной статистики (CPU, память, I/O)vmstat 2 5 # интервалы 2 секунды, 5 раз
Показывает: процессы, память, swap, I/O, систему, статистику CPU
🔻
iostat - Мониторинг загрузки устройств системного I/Oiostat -x 1 # расширенная статистика каждую секунду
-x: расширенная статистика-c: только CPU-d: только устройства🔻
sar - Сбор и отчет об активности системыsar -u 1 3 # использование CPU, интервалы 1 секунда, 3 раза
sar -r # использование памяти
-u: CPU-r: память-n DEV: сетевая активность по интерфейсам-f: чтение из файла-S: файл подкачки💡 Несколько твиков
watch -n 1 'free -h && echo && df -h && echo && uptime' для непрерывного мониторинга или dstat -cdngy для комплексной статистики системы в реальном времени.#linuxthursday #linux #шпаргалка
👍4
Forwarded from infosec
• Андрей Созыкин завершил основной раздел своего курса по компьютерным сетям и приступил к следующей части, которая будет посвящена теме защищенных сетевых протоколов. В новом разделе будут рассмотрены следующие протоколы:
➡ TLS – Transport Layer Security;
➡ HTTPS – HTTP Secure;
➡ DNS-over-TLS, DNS-over-HTTPS;
➡ DNSSEC – DNS Security Extensions.
• Отмечу, что лично я считаю данный курс одним из лучших и понятных в части изучения сетей. А еще курс полностью бесплатный и опубликован на YouTube, что делает его доступным для всех желающих! Напомню, что Андрей начал актуализировать свой курс еще год назад и сейчас можно посмотреть более 38 уроков:
➡ Введение в курс;
➡ Организация компьютерных сетей;
➡ Терминология сетей;
➡ Модель ISO OSI;
➡ Модель и стек TCP/IP;
➡ Стандартизация сетей;
➡ Организация сетей TCP/IP;
➡ Анализатор сети Wireshark;
➡ Прикладной уровень;
➡ Протокол HTTP;
➡ HTTP в текстовом режиме;
➡ Кэширование в HTTP;
➡ HTTP в Wireshark;
➡ HTTP API;
➡ Практика по HTTP API;
➡ HTTP API в Postman;
➡ HTTP API в curl;
➡ Система доменных имен DNS;
➡ Протокол DNS;
➡ Протокол DNS в Wireshark;
➡ Типы записей DNS;
➡ Типы записей DNS в Wireshark;
➡ Утилиты DNS host и dig;
➡ Итеративный и рекурсивный режимы DNS;
➡ Транспортный уровень;
➡ Протокол UDP;
➡ Протокол UDP в Wireshark;
➡ Протокол TCP;
➡ Протокол TCP: скользящее окно;
➡ Протокол TCP: установка соединения;
➡ Утилиты TCPView, netstat и ss;
➡ Протокол TCP: формат заголовка;
➡ Протокол TCP в Wireshark;
➡ Протокол TCP: управление потоком;
➡ Протокол TCP: управление перегрузкой;
➡ Интерфейс сокетов;
➡ Практика по сокетам;
➡ Протоколы, интерфейсы и сервисы.
• Когда будет завершен раздел с описанием защищенных сетевых протоколов, то я обязательно опубликую эту информацию в канале. Либо можете самостоятельно отслеживать выход нового материала в этом плейлисте: https://www.youtube.com/playlist/seti
• P.S. Не забывайте про мой репозиторий, в котором собрана подборка материала для изучения сетей (от курсов и книг, до шпаргалок и сообществ): https://github.com/SE-adm/Awesome-network
#Сети
• Отмечу, что лично я считаю данный курс одним из лучших и понятных в части изучения сетей. А еще курс полностью бесплатный и опубликован на YouTube, что делает его доступным для всех желающих! Напомню, что Андрей начал актуализировать свой курс еще год назад и сейчас можно посмотреть более 38 уроков:
• Когда будет завершен раздел с описанием защищенных сетевых протоколов, то я обязательно опубликую эту информацию в канале. Либо можете самостоятельно отслеживать выход нового материала в этом плейлисте: https://www.youtube.com/playlist/seti
• P.S. Не забывайте про мой репозиторий, в котором собрана подборка материала для изучения сетей (от курсов и книг, до шпаргалок и сообществ): https://github.com/SE-adm/Awesome-network
#Сети
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Защищенные сетевые протоколы | Компьютерные сети 2025 - 39
Вводная лекция по защищенным протоколам компьютерных сетей.
Как поддержать курс:
- Boosty - https://boosty.to/asozykin
- Cloudtips - https://pay.cloudtips.ru/p/45a4055b
Заранее спасибо за помощь!
Сайт курса - https://www.asozykin.ru/courses/networks_online…
Как поддержать курс:
- Boosty - https://boosty.to/asozykin
- Cloudtips - https://pay.cloudtips.ru/p/45a4055b
Заранее спасибо за помощь!
Сайт курса - https://www.asozykin.ru/courses/networks_online…
🔥5👍2
Истек недавно срок регистрации одного домена. Ресурс был добавлен в бота для мониторинга. Смотрю актуальную проверку - срок истечения сертификата 65 дней. Причем тут сертификат? Он же автоматически перевыпускается раз в 3 месяца и не имеет никакого отношения к сроку регистрации домена...
Отсюда новая и куда более важная функциональность в боте - проверка срока истечения регистрации домена, чтобы не пропустить его продление и не потерять домен, т.к. выкупаются они моментально.
🌐 Исходники на gitverse
🔭 Бот @monid_bot
#monitoring #проекты
Отсюда новая и куда более важная функциональность в боте - проверка срока истечения регистрации домена, чтобы не пропустить его продление и не потерять домен, т.к. выкупаются они моментально.
🌐 Исходники на gitverse
🔭 Бот @monid_bot
#monitoring #проекты
👍4
top, htop, ps и им подобным.🔹 gtop - терминальный дашборд с системной информацией и процессами на nodejs
🔹 bottom - кросс-платформенный графический монитор процессов и сборщик системной информации в терминале на
Rust. Состоит их набора кастомизируемых виджетов, что позволяет настроить представление под себя.🔥 glances - кросс-платформенное решение на
Python с широким набором собираемое информации. Работа как в режиме клиента, так и сервера для удаленного мониторинга, API, web интерфейс, экспорт статистики в популярные форматы.🔥 btop++ - мощное решение на
C++ с поддержкой GPU, возможностями визуальной кастомизации, выбора тем и множеством других настроек.🔹 procs - современный монитор процессов на
Rust. Настраиваемый, легкий, с поддержкой расширенной информации о процессах по сравнению с ps.#linux #tools #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Для получения образов в
Для случая, когда необходимо опубликовать свой образ, собранный локально, и воспользоваться на других машинах, можно отправить его в публичный реестр, а значит открыть на всеобщее обозрение, что часто не является уместным.
Также подходит вариант организации собственного реестра. Однако, это довольно затратно, т.к. надо развернуть сервер с запасом ресурсов, обеспечить безопасность, доступ извне и так далее, что для разовых операций уж точно будет избыточным.
🎈 Для решения задачи трансфера локальных образов напрямую на целевую машину существует проект unregistry. Это плагин для
🔎 Как работает
▫️ Устанавливается
▫️ На сервере запускается контейнер
▫️ С локальной машины, откуда вызвали скрипт трансфера, пробрасывается случайный порт на порт
▫️ Выполняется
▫️ На удаленной машине останавливается и удаляется временный контейнер
🔨 Установка
🚀 Примеры использования
🌐 Больше примеров в описании репозитория.
📌 В итоге, представленный проект упростит деплой образов за счет исключения из цепочки необходимости использования реестра. Отлично подойдет для локального применения в
#docker #tools #deploy #cicd #homelab
Docker по умолчанию используется официальный реестр - Docker Hub, а сделав несколько правок в конфигурации, можно подключиться к любому другому публичному или частному реестру.Для случая, когда необходимо опубликовать свой образ, собранный локально, и воспользоваться на других машинах, можно отправить его в публичный реестр, а значит открыть на всеобщее обозрение, что часто не является уместным.
Также подходит вариант организации собственного реестра. Однако, это довольно затратно, т.к. надо развернуть сервер с запасом ресурсов, обеспечить безопасность, доступ извне и так далее, что для разовых операций уж точно будет избыточным.
🎈 Для решения задачи трансфера локальных образов напрямую на целевую машину существует проект unregistry. Это плагин для
Docker, который позволяет отправлять образы по слоям через ssh, т.е. синхронизировать их с удаленным хостом. Особенностью является отправка только тех слоев образа, которых еще нет на удаленной машине, что значительно повышает скорость синхронизации.rsync для Docker образов
🔎 Как работает
▫️ Устанавливается
ssh соединения с удаленным сервером.▫️ На сервере запускается контейнер
unregistry, который выступает в роли временного локального реестра (контейнер загружается из реестра github - ghcr.io, либо, в случае отсутствия доступа к интернет на целевой машине, его можно загрузить локально заранее и отправить на целевую машину через docker save image | ssh user@host 'docker load').▫️ С локальной машины, откуда вызвали скрипт трансфера, пробрасывается случайный порт на порт
unregistry удаленной машины, чтобы локальный Docker-клиент мог обратиться к удаленному unregistry контейнеру как к локальному.▫️ Выполняется
docker push через открытый туннель. unregistry на сервере проверяет существующие слои в хранилище и запрашивает только недостающие. Происходит передача слоев через ssh.▫️ На удаленной машине останавливается и удаляется временный контейнер
unregistry и закрывается ssh-туннель.🔨 Установка
mkdir -p ~/.docker/cli-plugins
# скачиваем скрипт и сохраняем в каталог плагинов Docker
curl -sSL https://raw.githubusercontent.com/psviderski/unregistry/v0.3.1/docker-pussh -o ~/.docker/cli-plugins/docker-pussh
# делаем исполняемым
chmod +x ~/.docker/cli-plugins/docker-pussh
🚀 Примеры использования
# отправка на определенный ssh порт
docker pussh myapp:latest user@host:2222
# с использованием ключей
docker pussh myapp:latest user@host -i ~/.ssh/id_rsa
🌐 Больше примеров в описании репозитория.
📌 В итоге, представленный проект упростит деплой образов за счет исключения из цепочки необходимости использования реестра. Отлично подойдет для локального применения в
homelab, встраивания в CI/CD и даже продакшена. #docker #tools #deploy #cicd #homelab
GitHub
GitHub - psviderski/unregistry: Push docker images directly to remote servers without an external registry
Push docker images directly to remote servers without an external registry - psviderski/unregistry
👍6🔥1
📚 Cursor выпустили бесплатный интенсив для разработчиков, которые используют или планируют использовать ИИ для написания софта.
🔸 Модели и их ограничения
🔸 Практика работы с ИИ. Как взаимодействовать с ИИ, чтобы получать рабочий код.
🔸 Вспомогательные инструменты
🔸 Агенты
🌐 Весь материал на русском языке. Проходим здесь.
#ai #полезное
Этот курс поможет понять основы и покажет практические паттерны того, как создавать софт с помощью ИИ-моделей и инструментов. Мы приведём примеры на базе Cursor, но эти паттерны применимы к любым ИИ-моделям и продуктам.
🔸 Модели и их ограничения
🔸 Практика работы с ИИ. Как взаимодействовать с ИИ, чтобы получать рабочий код.
🔸 Вспомогательные инструменты
🔸 Агенты
🌐 Весь материал на русском языке. Проходим здесь.
#ai #полезное
Cursor Documentation
Learn Cursor — Official Tutorials
Official Cursor tutorials. Learn AI foundations, coding with agents, and reviewing & testing code.
👍5
🚜 Linux по четвергам
🖥 Системная информация и аппаратура
🔻
lscpu - Отображение подробной информации об архитектуре CPUlscpu | grep -E "(Model|CPU\(s\)|Thread|Core)"
Показывает: модель CPU, ядра, потоки, архитектуру, размеры кэша
🔻
lsblk - Список блочных устройств в формате дереваlsblk -f # показать информацию о файловых системах
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE
-f: информация о FS-o: пользовательские колонки-a: все устройства🔻
dmidecode - Отображение информации об оборудовании из DMI/SMBIOSdmidecode -t memory | grep -i size # информация о RAM
dmidecode -t system | grep -E "(Manufacturer|Product)"
-t: фильтр типа (bios, system, baseboard, chassis, processor, memory, cache, connector, slot)🔻
inxi - Скрипт системной информации с исчерпывающим выводомinxi -Fxz # полная информация о системе, дополнительные детали, фильтр приватных данных
inxi -b # базовая информация о системе
-F: полный вывод-x: дополнительные детали-z: фильтр приватных данных-b: базовая информация💡 Твик: bash-скрипт системной информации для быстрых обзоров системы.
#!/bin/bash
echo "=== Сводка системы ==="
uname -a
lscpu | head -5
free -h
df -h /
uptime
#linuxthursday #linux #шпаргалка
👍3👏1
Proxmox сообщество не перестает расширяться, альтернативу такому комплексному решению в opensource среде подобрать довольно сложно. Широкое распространение, что логично, ведет к появлению все большего числа сопутствующих инструментов и сервисов, поэтому решил посвятить ряд подборок проектам proxmox тематики.⚒️ Подборка скриптов и утилит для автоматизации установки и настройки Proxmox
🎈
Proxmox VE Helper-Scripts. Коллекция из сотен скриптов для автоматизации изменения конфигураций, установки контейнеров и виртуальных машин. Применяются через shell Proxmox. ▪️ Скрипты от ttech - последний раз сборник обновлялся в ноябре 2024, репу убрали в архив, так что для свежих версий Proxmox будет уже неактуально, однако коллекция до сих пор живет, можно перепутать и нарваться на ошибки при попытке использования.
▪️ Community сборник - актуальный на данный момент перечень из 300+ заготовленных скриптов по разным категориям.
🎈
CV4PVE Tools Suite от Corsinvest. Набор профессиональных утилит.▪️ cv4pve-admin - веб-интерфейс администрирования
▪️ cv4pve-autosnap - автоматические снапшоты
▪️ cv4pve-cli - CLI-инструменты
▪️ cv4pve-diag - диагностика
▪️ cv4pve-metric - сбор метрик
#proxmox #полезное
👍3🔥1
Стараюсь хотя бы раз в год проходить курс или интенсив для общего развития, разбора новой темы или углубления по какому-либо направлению.
📚 Наткнулся на информацию о курсе "Использование алгоритмов машинного обучения для решения задач кибербезопасности" от Positive Technologies🟥 и университета ИТМО. Направление как никогда актуальное, программа интересная, но непростая, а главное - реальные задачи, а не шаблонные заготовки.
✨ Бесплатными хорошие курсы бывают редко, поэтому интересующимся практической безопасностью рекомендую обратить внимание. Регистрация здесь. Я уже записался 😉
#учеба #полезное
📚 Наткнулся на информацию о курсе "Использование алгоритмов машинного обучения для решения задач кибербезопасности" от Positive Technologies
✨ Бесплатными хорошие курсы бывают редко, поэтому интересующимся практической безопасностью рекомендую обратить внимание. Регистрация здесь. Я уже записался 😉
#учеба #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Собрал небольшой
✏️ Подготовка
☑️ Разворачиваем
Пошаговая процедура поднятия
☑️ Заводим Telegram бота для перехвата сообщений в n8n
▫️ @BotFather
▫️ /start -> /newbot
▫️ Выбираем название и получаем
🚀 Собираем простенький workflow (см. приложенный скриншот)
1️⃣ Telegram Trigger
▪️ В
▪️ В
2️⃣ Блок кода для преобразования сообщения
Натравил
Получившийся код, который подставил в ноду
3️⃣ Сохранение результата в таблицу
Нода
После обработки пришедшего сообщения имеем json с 3 полями - vk, dzen и max. Согласно эти полям и заполняются ячейки новой записи в таблице.
📌 Что дальше?
▪️ Добавить обработку медиа контента из поста.
▪️ Расширить информацию в таблице о посте. Сопроводить служебными данными для удобства дальнейшего использования.
▪️ Настроить автоматическую публикацию на разные платформы.
P. S. Не забываем оставлять реакции. Много репостов вижу по статистике, а реакций в 2, а то и в 3 раза меньше.
#ai #n8n #automation
workflow для автоматического преобразования Telegram постов под платформы vk, dzen и MAX с фиксацией результата в Google Sheet. Репостим публикацию в собственного бота и получаем заполненную строку в таблице с адаптированным форматированием.✏️ Подготовка
☑️ Разворачиваем
n8n на своем сервере за доменом. Без сертификата api некоторых сервисов блокируют работу, что не дает возможности использовать, например, Telegram триггер для перехвата сообщений.Пошаговая процедура поднятия
n8n за traefik в Docker подробно расписана в документации со всеми необходимыми конфигурациями.☑️ Заводим Telegram бота для перехвата сообщений в n8n
▫️ @BotFather
▫️ /start -> /newbot
▫️ Выбираем название и получаем
API Token.🚀 Собираем простенький workflow (см. приложенный скриншот)
1️⃣ Telegram Trigger
▪️ В
Credential to connect with указываем полученный ранее токен бота.▪️ В
Trigger On тип Message для перехвата сообщений.2️⃣ Блок кода для преобразования сообщения
Натравил
qwen на эту задачу, чтобы реализовать функции обработки текста с учетом обычных и вложенных ссылок, а также специфической разметки.Получившийся код, который подставил в ноду
Code in JavaScript// Входящие данные
const items = $input.all();
return items.map(item => {
const message = item.json.message;
let text = message.text || message.caption || '';
let entities = message.entities || message.caption_entities || [];
// Сортируем с конца, чтобы не съезжали индексы при вставке
entities = entities.sort((a, b) => b.offset - a.offset);
// Вставляем скрытые ссылки в текст как "Текст (ссылка)"
for (const entity of entities) {
if (entity.type === 'text_link') {
const before = text.substring(0, entity.offset);
const linkText = text.substring(entity.offset, entity.offset + entity.length);
const after = text.substring(entity.offset + entity.length);
text = `${before}${linkText} (${entity.url})${after}`;
}
}
// Функция для преобразования HTML-разметки Telegram в текст
function telegramToPlain(text) {
return text
.replace(/<b>(.*?)<\/b>/g, '**$1**') // жирный
.replace(/<i>(.*?)<\/i>/g, '*$1*') // курсив
.replace(/<s>(.*?)<\/s>/g, '~~$1~~') // зачёркнутый
.replace(/<a href="([^"]*)">([^<]*)<\/a>/g, '[$2]($1)') // обычные ссылки
.replace(/<.*?>/g, ''); // прочие теги
}
// Функция для VK: просто текст + скрытые/обычные ссылки
function telegramToVk(text) {
return text
.replace(/<b>(.*?)<\/b>/g, '$1') // просто убираем теги
.replace(/<i>(.*?)<\/i>/g, '$1')
.replace(/<s>(.*?)<\/s>/g, '$1')
.replace(/<a href="([^"]*)">([^<]*)<\/a>/g, '$2 $1') // ссылки: текст + URL
.replace(/<.*?>/g, '');
}
// Функция для Дзен и Max: Markdown
function telegramToMarkdown(text) {
return text
.replace(/<b>(.*?)<\/b>/g, '**$1**')
.replace(/<i>(.*?)<\/i>/g, '*$1*')
.replace(/<s>(.*?)<\/s>/g, '~~$1~~')
.replace(/<a href="([^"]*)">([^<]*)<\/a>/g, '[$2]($1)')
.replace(/<.*?>/g, '');
}
const vkText = telegramToVk(text);
const dzenText = telegramToMarkdown(text);
const maxText = telegramToMarkdown(text);
return {
json: {
vk: vkText,
dzen: dzenText,
max: maxText
}
};
});
3️⃣ Сохранение результата в таблицу
Нода
Append row in sheet для добавления новых записей в существующую гугл таблицу. Здесь, в первую очередь, нужно подключить своего гугл клиента с разрешенным доступом к API Google Drive и Google Sheets. Пошаговая инструкция здесь.После обработки пришедшего сообщения имеем json с 3 полями - vk, dzen и max. Согласно эти полям и заполняются ячейки новой записи в таблице.
📌 Что дальше?
▪️ Добавить обработку медиа контента из поста.
▪️ Расширить информацию в таблице о посте. Сопроводить служебными данными для удобства дальнейшего использования.
▪️ Настроить автоматическую публикацию на разные платформы.
P. S. Не забываем оставлять реакции. Много репостов вижу по статистике, а реакций в 2, а то и в 3 раза меньше.
#ai #n8n #automation
👍7🔥1