Содержание статьи
info
Это уже третья подборка утилит, которую я публикую в «Хакере». В первой были собраны полезнейшие консольные тулзы, во второй — средства автоматизации.
Часть утилит из этой статьи прислал мне благодарный подписчик. Если у тебя тоже есть о чем рассказать миру — добро пожаловать в комментарии.
Windows & WSL
WSL Host Patcher
Как известно, в Windows 10 и 11 можно запускать приложения для Linux. Система, которая позволяет это делать, называется WSL — Windows Subsystem for Linux. WSL (в простонародье — «весло») имеет две версии, незамысловато названные WSL и WSL 2. Первая версия вышла в 2016 году и уже морально устарела. Масштабно обновили систему в 2020 году, в релизе Windows 10 2004 — чтобы не путать, ее тогда и назвали WSL 2. Внутри WSL 2 — виртуальная машина Hyper-V с проброшенными в нее ресурсами хоста.
Когда какой‑то процесс внутри WSL 2 начинает слушать TCP-порт, wslhost.
слушает этот же порт на 127.0.0.1 хоста, фактически проксируя его наружу, на хост. Проблема такого форвардинга в том, что снаружи хоста этот порт недоступен, то есть поднятый на 8080-м порте веб‑сервис в WSL доступен для хоста, но не торчит в локалку.
Если хочется получить доступ к такому сервису снаружи, а не только с машины с самой WSL — пригодится WSL Host Patcher. Все, что он делает, — это патчит в памяти wslhost.
, чтобы тот открывал соединения не на 127.0.0.1, а на 0.0.0.0, слушая соответствующий порт на всех интерфейсах.
Wslgit
В продолжение извращений с WSL хочу показать маленькую утилиту на Rust, которая просто транслирует все вызовы себя в соответствующие вызовы git
в WSL 2. Зачем это надо? Допустим, у тебя есть какой‑то очень большой репозиторий Git внутри WSL, а ты работаешь в текстовом редакторе с хоста. Чтобы Git корректно работал с кодом внутри полувиртуального Linux, нужно как‑то транслировать вызовы Git с исправленными путями внутрь контейнера. Wslgit делает ровно это: исправляет путь, чтобы получить доступ из контейнера к файлам хоста, и запускает Git в WSL 2, чтобы выполнить нужное действие. Просто и понятно.
Юзкейсов wslgit немного, но иногда он совершенно незаменим.
Очистка памяти vmmem
Раз уж заговорили о WSL, упомянем еще одну важную проблему, из‑за которой порой приходится перезагружать совершенно исправный компьютер с неделями аптайма. WSL очень любит агрессивно кешировать в оперативную память, но не спешит освобождать ее, когда эта память нужна винде. В результате процесс vmmem съедает всю оперативку, и приходится перезагружаться.
Решение проблемы простое — выполнить от рута следующую команду в WSL:
# sh -c "echo 3 > /proc/sys/vm/drop_caches"
Но должен быть и способ получше. Может, ты знаешь? Расскажи в комментах!
Web
TLS Support Check
TLS.support — это быстрый способ проверить, поддерживает ли браузер современные фичи TLS. Сервис проверяет поддержку одноразовых ключей, список доступных шифров, мгновенное возобновление шифрованного соединения и некоторые другие вещи.
На сервисе можно получить код результата конкретной проверки. Удобно, если ты хочешь попросить кого‑то протестировать работу и показать результаты.
SSH web client
Как‑то раз мне нужен был веб‑терминал. Я поискал и нашел проект Webshell.
Webshell — это полноценный терминал прямо в окне браузера. Он работает как SSH-клиент, но для моих задач было достаточно просто подключиться через него к 127.0.0.1 и работать. Сочетания клавиш поддерживаются, полноэкранные программы вроде htop и nano — тоже. Что нам еще нужно для счастья?
Если у тебя есть свой сервер и ты хочешь иметь возможность получать к нему доступ из SSH через браузер, то это отличный вариант.
Устанавливается программа через Docker:
docker run -d --security-opt seccomp=unconfined -p 8018:80 -e ALLOWED_NETWORKS=0.0.0.0/0 bwsw/webshell
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»