Соберите пазл-облако в игре «Облачный конструктор»
Представьте: пазл за пазлом вы сможете собрать настоящую облачную платформу. Позаботьтесь об устойчивой инфраструктуре, надёжном платформенном слое и безопасности облака.
Среди всех участников игры-головоломки с помощью рандомайзера мы разыграем фирменный мерч MWS Cloud Platform. Если соберёте все пазлы, получите возможность выиграть грант в размере 20 000 ₽ на использование облака MWS Cloud Platform.
Представьте: пазл за пазлом вы сможете собрать настоящую облачную платформу. Позаботьтесь об устойчивой инфраструктуре, надёжном платформенном слое и безопасности облака.
Среди всех участников игры-головоломки с помощью рандомайзера мы разыграем фирменный мерч MWS Cloud Platform. Если соберёте все пазлы, получите возможность выиграть грант в размере 20 000 ₽ на использование облака MWS Cloud Platform.
Я написал свой текстовый редактор
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
ㅤ
Всё началось банально. Мне нужен был редактор для Markdown-заметок — простой, быстрый, работающий без интернета. Я перебрал штук пять вариантов и ни один не подошёл до конца.
Typora — мой любимый по ощущениям, но он платный. Не дорого, но принципиально: хотел что-то, что можно поставить на любую машину без лицензий и аккаунтов. Notion — мощный, но завязан на облако. Отключи интернет — привет. Obsidian тащит за собой экосистему плагинов, и в итоге тратишь время на настройку, а не на написание. VS Code с расширениями — уже смешно, это как ехать на танке за хлебом.
Почему Tauri, а не Electron
Первый вопрос при выборе стека — чем рендерить. Electron — очевидный ответ, но я знал, чем это кончится: 200 мегабайт бинарника и 300 мегабайт RAM на старте. Для текстового редактора это абсурд.
Tauri использует системный WebView — на Linux это WebKitGTK, на Windows WebView2, на macOS WKWebView. Бэкенд на Rust. Итог: финальный бинарник весит меньше 10 мегабайт, а потребление памяти как у нативного приложения. Фронтенд — React, потому что мне с ним удобно.
Как это начиналось
Первая версия умела открывать файл, редактировать его и сохранять. Markdown-превью появился на второй день. Потом захотелось панель форматирования, потом — историю файлов, потом я поймал себя на том, что добавляю уже пятую фичу и приложение превратилось в нечто, чем сам пользуюсь каждый день.
Это классическая ловушка pet project: ты делаешь инструмент под себя, и он начинает расти ровно в сторону твоих личных болей.
Главная фича: история версий
Честно — это то, чего мне всегда не хватало в других редакторах. Не git, не ручные копии с суффиксом
При каждом открытии qnote делает снимок текущего состояния. Дальше снимки появляются автоматически раз в несколько минут. В любой момент можно открыть список версий, посмотреть превью, сравнить и восстановить нужную. Всё хранится локально, никакого облака.
Остальные фичи, которыми горжусь
PDF-экспорт через typst — не через браузерный print, а через настоящий типографский движок. PDF генерируется в цветах текущей темы: тёмная тема — тёмный PDF, светлая — светлый.
OCR прямо в заметку: перетаскиваешь картинку, запускаешь распознавание через tesseract — и текст вставляется прямо в документ. Никакого копипаста между окнами.
Горячие клавиши на любой раскладке. Звучит как мелочь, пока не столкнёшься. В большинстве приложений шорткаты работают только на английской раскладке. Здесь — на любой.
Синхронный скролл в split-view: левая панель с источником и правая с превью прокручиваются вместе. Кажется очевидным, но удивительно, сколько редакторов этого не умеют нормально.
Что получилось в итоге
qnote — это не попытка убить Obsidian или конкурировать с Notion. Это редактор для тех, кто хочет просто писать: без плагинов, без аккаунтов, без подписок. Markdown с превью, история файлов, автосохранение, история версий, PDF-экспорт и OCR — всё что нужно, ничего лишнего.
Работает на Linux, Windows и macOS. Бинарник весит меньше 10 мегабайт. Открывается мгновенно.
Исходники открыты: https://github.com/Omibranch/qnote
🛠 #dev
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Всё началось банально. Мне нужен был редактор для Markdown-заметок — простой, быстрый, работающий без интернета. Я перебрал штук пять вариантов и ни один не подошёл до конца.
Typora — мой любимый по ощущениям, но он платный. Не дорого, но принципиально: хотел что-то, что можно поставить на любую машину без лицензий и аккаунтов. Notion — мощный, но завязан на облако. Отключи интернет — привет. Obsidian тащит за собой экосистему плагинов, и в итоге тратишь время на настройку, а не на написание. VS Code с расширениями — уже смешно, это как ехать на танке за хлебом.
Я хотел редактор, который просто открывается и работает. Без аккаунта, без подписки, без интернета.
Почему Tauri, а не Electron
Первый вопрос при выборе стека — чем рендерить. Electron — очевидный ответ, но я знал, чем это кончится: 200 мегабайт бинарника и 300 мегабайт RAM на старте. Для текстового редактора это абсурд.
Tauri использует системный WebView — на Linux это WebKitGTK, на Windows WebView2, на macOS WKWebView. Бэкенд на Rust. Итог: финальный бинарник весит меньше 10 мегабайт, а потребление памяти как у нативного приложения. Фронтенд — React, потому что мне с ним удобно.
Как это начиналось
Первая версия умела открывать файл, редактировать его и сохранять. Markdown-превью появился на второй день. Потом захотелось панель форматирования, потом — историю файлов, потом я поймал себя на том, что добавляю уже пятую фичу и приложение превратилось в нечто, чем сам пользуюсь каждый день.
Это классическая ловушка pet project: ты делаешь инструмент под себя, и он начинает расти ровно в сторону твоих личных болей.
Главная фича: история версий
Честно — это то, чего мне всегда не хватало в других редакторах. Не git, не ручные копии с суффиксом
_v2_final_FINAL. Просто автоматические снимки, которые делаются сами — при открытии файла и периодически во время работы.При каждом открытии qnote делает снимок текущего состояния. Дальше снимки появляются автоматически раз в несколько минут. В любой момент можно открыть список версий, посмотреть превью, сравнить и восстановить нужную. Всё хранится локально, никакого облака.
Это мелочь, которая спасает несколько раз в год в самый неподходящий момент. Ты что-то случайно удалил, закрыл файл, открыл снова — и понял это через час. Без истории версий текст просто потерян.
Остальные фичи, которыми горжусь
PDF-экспорт через typst — не через браузерный print, а через настоящий типографский движок. PDF генерируется в цветах текущей темы: тёмная тема — тёмный PDF, светлая — светлый.
OCR прямо в заметку: перетаскиваешь картинку, запускаешь распознавание через tesseract — и текст вставляется прямо в документ. Никакого копипаста между окнами.
Горячие клавиши на любой раскладке. Звучит как мелочь, пока не столкнёшься. В большинстве приложений шорткаты работают только на английской раскладке. Здесь — на любой.
Синхронный скролл в split-view: левая панель с источником и правая с превью прокручиваются вместе. Кажется очевидным, но удивительно, сколько редакторов этого не умеют нормально.
Что получилось в итоге
qnote — это не попытка убить Obsidian или конкурировать с Notion. Это редактор для тех, кто хочет просто писать: без плагинов, без аккаунтов, без подписок. Markdown с превью, история файлов, автосохранение, история версий, PDF-экспорт и OCR — всё что нужно, ничего лишнего.
Работает на Linux, Windows и macOS. Бинарник весит меньше 10 мегабайт. Открывается мгновенно.
автор проекта: @omibranch
Исходники открыты: https://github.com/Omibranch/qnote
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3 89
Настройка ZED. Отключаем лишнее.
В прошлом году мы с тобой активно обсуждали редактор ZED в этом посте. Тогда всплыло много нюансов и неоднозначных проблем связанных с его работой. Но вернувшись к этому IDE спустя несколько месяцев, я был приятно удивлён. 99% багов, которые были, теперь пофикшены.
ㅤ
Редактор стал намного дружелюбнее и гибче, ну а самое главное перестал жрать память как не в себя.
Поэтому я полностью перепрыгнул с neovim на zed и уже несколько месяцев его активно использую в своих непотребствах. Но конечно-же предварительно, превратив в его в дружелюбный инструмент и избавив от лампочек и рюшечек.
Сегодня будем настраивать конфиг и прятать элементы интерфейса, чтобы получить минималистичный молоток. Избавимся от лампочек и кнопочек, но не в ущерб функциональности.
Читать продолжение: https://two.su/2zglw
🛠 #dev
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
В прошлом году мы с тобой активно обсуждали редактор ZED в этом посте. Тогда всплыло много нюансов и неоднозначных проблем связанных с его работой. Но вернувшись к этому IDE спустя несколько месяцев, я был приятно удивлён. 99% багов, которые были, теперь пофикшены.
ㅤ
Редактор стал намного дружелюбнее и гибче, ну а самое главное перестал жрать память как не в себя.
Поэтому я полностью перепрыгнул с neovim на zed и уже несколько месяцев его активно использую в своих непотребствах. Но конечно-же предварительно, превратив в его в дружелюбный инструмент и избавив от лампочек и рюшечек.
Сегодня будем настраивать конфиг и прятать элементы интерфейса, чтобы получить минималистичный молоток. Избавимся от лампочек и кнопочек, но не в ущерб функциональности.
Читать продолжение: https://two.su/2zglw
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Массовый SSH‑скан в своей Wi‑Fi сети
🔤 🔤 🔤 🔤 🔤 🔤 🔤
Всем привет.
ㅤ
Недавно, на одном соседнем канале, в комментах, один коллега пожаловался, что у него на маршрутизаторе есть исходящий трафик на порт 22 (ssh). И я решил проверить, а все ли у меня в порядке?
Поставил логирование по интерфейсу wan1 исходящего TCP на порт назначения 22. И я к своему ужасу обнаружил, что из подсети wi-fi прет такой трафик.
Начал расследование. Когда увидел количество - волосы зашевелились не только на голове. Оказалось, что фактически идет сканирование (у одного исходящего ip в течении 1-2 секунд 5 разных ip назначения).
Количество «зараженных» смартфонов ~70% !!!
У меня opnSense. wi-fi и локалка разделены. А всем, у кого дома или на работе бюджетные маршрутизаторы - пионерский привет.
Кстати, на opnSense лог фильтра
Первым делом запретил по wan все порты назначения, кроме типовых (web, mail, dns, ntp, webrtc).
К сожалению, на периметре нельзя увидеть, какое приложение шлет пакеты. Пришлось разбираться со смартфонами. Взял один для примера.
Поставил PCAPdroid, и обнаружил, что фигней страдает не max, а whatsapp. Причем не каждый, а только 70%. К слову сказать, что у всех айтишников телефоны были чистые. Проблемы наблюдались и на android и на ios.
Вышел на руководство с предложением, написать скрипт для полного отлучения «зараженных» смартфонов от wi-fi. А руководство отказало. Предположения причин отказа прошу ванговать в комментах. Думаю вы уже догадались...
Блокировать отдельные проги может программа NetGuard (root не нужен). Но к сожалению она жрет батарею.
В общем, пока остановился на разрешенных портах для исходящих соединений. Если есть другие предложения - я готов выслушать. Может кто-то уже решал данную проблему.
PS: На тестовом «зараженном» телефоне, стоял бесплатный антивирус на букву К. Стоял и молчал.
Всем работы без багов.
🛠 #security #workflow
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Всем привет.
ㅤ
Недавно, на одном соседнем канале, в комментах, один коллега пожаловался, что у него на маршрутизаторе есть исходящий трафик на порт 22 (ssh). И я решил проверить, а все ли у меня в порядке?
Поставил логирование по интерфейсу wan1 исходящего TCP на порт назначения 22. И я к своему ужасу обнаружил, что из подсети wi-fi прет такой трафик.
Начал расследование. Когда увидел количество - волосы зашевелились не только на голове. Оказалось, что фактически идет сканирование (у одного исходящего ip в течении 1-2 секунд 5 разных ip назначения).
Количество «зараженных» смартфонов ~70% !!!
У меня opnSense. wi-fi и локалка разделены. А всем, у кого дома или на работе бюджетные маршрутизаторы - пионерский привет.
Кстати, на opnSense лог фильтра
/var/log/filter/latest.log и соседние. Первым делом запретил по wan все порты назначения, кроме типовых (web, mail, dns, ntp, webrtc).
К сожалению, на периметре нельзя увидеть, какое приложение шлет пакеты. Пришлось разбираться со смартфонами. Взял один для примера.
Поставил PCAPdroid, и обнаружил, что фигней страдает не max, а whatsapp. Причем не каждый, а только 70%. К слову сказать, что у всех айтишников телефоны были чистые. Проблемы наблюдались и на android и на ios.
Вышел на руководство с предложением, написать скрипт для полного отлучения «зараженных» смартфонов от wi-fi. А руководство отказало. Предположения причин отказа прошу ванговать в комментах. Думаю вы уже догадались...
Блокировать отдельные проги может программа NetGuard (root не нужен). Но к сожалению она жрет батарею.
В общем, пока остановился на разрешенных портах для исходящих соединений. Если есть другие предложения - я готов выслушать. Может кто-то уже решал данную проблему.
PS: На тестовом «зараженном» телефоне, стоял бесплатный антивирус на букву К. Стоял и молчал.
Всем работы без багов.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Тайна вызова Less в Linux утилитах
Привет ребят. Ща покопаемся в неочевидных вещах, залезем так сказать под капот.
ㅤ
Знаешь же такую команду:
Тут всё просто, она выводит историю коммитов. И что примечательно, в конце будет пагинация (pager). Смотри картинку 1.
А теперь пойдем неочевидной дорожкой и выполним:
Ну и снова запустим
Хуяк и нет больше пагинации. Сразу вывалилась простыня. О чем это говорит? А говорит это о том, что
Но если
И видим картину маслом: Смотри картинку 3
Ага, запускается
Вот и прекрасно, словили ошибку
Если выполнить команду
Иииии ебать копать: Смотри картинку 5.
Кстати не только
Ну и на закуску:
Команда
А это уже еще один вектор атаки из арсенала пентестеров, о котором никто не рассказывает. Так что бери на вооружение, глядишь сгодится при прохождении очередного HackBox’а.
🛠 #security #linux
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Привет ребят. Ща покопаемся в неочевидных вещах, залезем так сказать под капот.
ㅤ
Знаешь же такую команду:
git log
Тут всё просто, она выводит историю коммитов. И что примечательно, в конце будет пагинация (pager). Смотри картинку 1.
А теперь пойдем неочевидной дорожкой и выполним:
sudo mv /usr/bin/less /usr/bin/less.bak
Ну и снова запустим
git log: Смотри картинку 2.Хуяк и нет больше пагинации. Сразу вывалилась простыня. О чем это говорит? А говорит это о том, что
git использует внешнюю утилиту less при выводе истории коммитов, причем делает это по умолчанию.Но если
less накрылся пиздой, git сразу вывалит простыню без пагинации. Забавно! Давай подключим strace и подтвердим этот факт, запускаем:strace -f -e execve git log
И видим картину маслом: Смотри картинку 3
Ага, запускается
less, а теперь снова перемещаем less и смотрим выхлоп strace: Смотри картинку 4Вот и прекрасно, словили ошибку
error: cannot run less: No such file or directory. Но ожидаемый результат все равно получили.Если выполнить команду
echo $PAGER, то увидим, какая утилита будет использоваться для пагинации. По умолчанию less, но раз есть переменная, её можно переопределить. Давай попробуем это сделать.apt install lolcat
export PAGER="lolcat"
git log
Иииии ебать копать: Смотри картинку 5.
Кстати не только
git завязан на переменную $PAGER, такое же поведение ты можешь увидеть у утилит: man, systemctl, journalctl и т.п. Всё что работает с пагинацией, использует переменную $PAGER.Ну и на закуску:
export PAGER="vim -"
man ls
Команда
man ls будет выполнена в vim. То есть получается что любая программа, доверяющая $PAGER, фактически запускает произвольную команду пользователя.А это уже еще один вектор атаки из арсенала пентестеров, о котором никто не рассказывает. Так что бери на вооружение, глядишь сгодится при прохождении очередного HackBox’а.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2 34
Selectel работает — вы зарабатываете до 20% от чека клиентов
Становитесь партнером ведущего независимого провайдера ИТ-инфраструктуры, рекомендуйте качественный сервис и получайте пассивный доход от реферальной программы. Партнером может стать как юридическое, так и физическое лицо.
При регистрации в программе до 31 мая вы получите повышенную ставку 20% на 3 месяца. А после этого срока — от 10 до 15% от чека с ежемесячными выплаты без лимитов по сумме и сроку.
Ваши рефералы будут довольны. В Selectel 50+ инфраструктурных продуктов, большой выбор комплектующих для серверов и бесплатная техподдержка.
Регистрируйтесь в партнерской программе Selectel до 31 мая и получайте 20% от чека ваших рефералов первые 3 месяца: https://slc.tl/3cp0s
Реклама. АО "Селектел". erid:2W5zFJbjLJm
Становитесь партнером ведущего независимого провайдера ИТ-инфраструктуры, рекомендуйте качественный сервис и получайте пассивный доход от реферальной программы. Партнером может стать как юридическое, так и физическое лицо.
При регистрации в программе до 31 мая вы получите повышенную ставку 20% на 3 месяца. А после этого срока — от 10 до 15% от чека с ежемесячными выплаты без лимитов по сумме и сроку.
Ваши рефералы будут довольны. В Selectel 50+ инфраструктурных продуктов, большой выбор комплектующих для серверов и бесплатная техподдержка.
Регистрируйтесь в партнерской программе Selectel до 31 мая и получайте 20% от чека ваших рефералов первые 3 месяца: https://slc.tl/3cp0s
Реклама. АО "Селектел". erid:2W5zFJbjLJm
Less и секретный режим мониторинга
ㅤ
Очередные консольные приколы о которых ты не знаешь. Есть такая красота:
Эта команда будет в реальном времени выводить строчки из файла по мере их добавления. То есть ты можешь наблюдать за лог файлами как с авто-суфлёра.
НО есть аналог:
А если кто не знал, то в
Сразу видно, что утилиты затачивали под одну экосистему и unixway. Ну а теперь вкуснятина.
После выполнения команды
Ну а чтобы вернуться в режим наблюдения, нажимаем
Так что
🛠 #bash #linux
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Очередные консольные приколы о которых ты не знаешь. Есть такая красота:
tail -f /var/log/nginx/access.log
Эта команда будет в реальном времени выводить строчки из файла по мере их добавления. То есть ты можешь наблюдать за лог файлами как с авто-суфлёра.
НО есть аналог:
less +F /var/log/nginx/access.log
А если кто не знал, то в
less можно пользоваться клавишами vim. Например, навигация hjkl.Сразу видно, что утилиты затачивали под одну экосистему и unixway. Ну а теперь вкуснятина.
После выполнения команды
less +F нажимаем CTRL+C и теперь можно передвигаться по выводу как раз теме же клавишами hjkl, что-то поискать /127.0.0.1, g/G, n/N. На минуточку, в tail ты так быстро ничего не поищешь. Надо тормозить процесс, выгружать в файл, грепать-хуепать.
Ну а чтобы вернуться в режим наблюдения, нажимаем
SHIFT+F и less возвращает режим мониторинга, строчки с логами продолжают бежать в реальном времени.Так что
less это не просто про пагинацию, а немного больше.—
Please open Telegram to view this post
VIEW IN TELEGRAM