en
Feedback
Kali Linux (ru)

Kali Linux (ru)

Open in Telegram

Взломы, вирусописательство и борьба со зверками, криптография, информационная безопасность. Для получения возможности писать вобсуждениях введите пароль h3V1PFK8

Show more
9 040
Subscribers
+124 hours
+97 days
-1030 days
Attracting Subscribers
September '26
September '26
+26
in 0 channels
August '26
+67
in 0 channels
Get PRO
July '26
+57
in 0 channels
Get PRO
June '26
+69
in 0 channels
Get PRO
May '26
+51
in 0 channels
Get PRO
April '26
+61
in 0 channels
Get PRO
March '26
+72
in 0 channels
Get PRO
February '26
+108
in 0 channels
Get PRO
January '26
+139
in 0 channels
Get PRO
December '25
+148
in 0 channels
Get PRO
November '25
+127
in 0 channels
Get PRO
October '25
+194
in 0 channels
Get PRO
September '25
+222
in 0 channels
Get PRO
August '25
+222
in 0 channels
Get PRO
July '25
+205
in 0 channels
Get PRO
June '25
+179
in 0 channels
Get PRO
May '25
+107
in 0 channels
Get PRO
April '25
+132
in 0 channels
Get PRO
March '25
+126
in 0 channels
Get PRO
February '25
+167
in 0 channels
Get PRO
January '25
+161
in 0 channels
Get PRO
December '24
+157
in 0 channels
Get PRO
November '24
+161
in 0 channels
Get PRO
October '24
+302
in 1 channels
Get PRO
September '24
+127
in 0 channels
Get PRO
August '24
+121
in 0 channels
Get PRO
July '24
+120
in 0 channels
Get PRO
June '24
+80
in 0 channels
Get PRO
May '24
+78
in 0 channels
Get PRO
April '24
+109
in 0 channels
Get PRO
March '24
+121
in 0 channels
Get PRO
February '24
+123
in 0 channels
Get PRO
January '24
+120
in 0 channels
Get PRO
December '23
+120
in 0 channels
Get PRO
November '23
+121
in 0 channels
Get PRO
October '23
+158
in 0 channels
Get PRO
September '23
+152
in 0 channels
Get PRO
August '23
+145
in 0 channels
Get PRO
July '23
+133
in 0 channels
Get PRO
June '23
+103
in 0 channels
Get PRO
May '23
+152
in 0 channels
Get PRO
April '23
+116
in 0 channels
Get PRO
March '23
+158
in 0 channels
Get PRO
February '23
+180
in 0 channels
Get PRO
January '23
+132
in 0 channels
Get PRO
December '22
+152
in 0 channels
Get PRO
November '22
+198
in 0 channels
Get PRO
October '22
+183
in 0 channels
Get PRO
September '22
+152
in 0 channels
Get PRO
August '22
+117
in 0 channels
Get PRO
July '22
+164
in 0 channels
Get PRO
June '22
+165
in 0 channels
Get PRO
May '22
+200
in 0 channels
Get PRO
April '22
+302
in 0 channels
Get PRO
March '22
+387
in 0 channels
Get PRO
February '22
+149
in 0 channels
Get PRO
January '22
+260
in 0 channels
Get PRO
December '21
+252
in 0 channels
Get PRO
November '21
+179
in 0 channels
Get PRO
October '21
+273
in 0 channels
Get PRO
September '21
+207
in 0 channels
Get PRO
August '21
+234
in 0 channels
Get PRO
July '21
+236
in 0 channels
Get PRO
June '21
+219
in 0 channels
Get PRO
May '21
+180
in 0 channels
Get PRO
April '21
+294
in 0 channels
Get PRO
March '21
+295
in 0 channels
Get PRO
February '21
+301
in 0 channels
Get PRO
January '21
+337
in 0 channels
Get PRO
December '20
+6 510
in 0 channels
Date
Subscriber Growth
Mentions
Channels
07 September0
06 September+4
05 September+4
04 September+6
03 September+4
02 September+2
01 September+6
Channel Posts
Оптимизация кода с помощью генераторов в Python Сегодня хочу показать вам, как использование генераторов может сделать ваш код быстрее, экономнее по памяти и элегантнее. Что такое генераторы? Генераторы — это функции, которые используют yield вместо return. Они не возвращают сразу все значения, а запоминают своё состояние и отдают результат по мере необходимости. Это особенно полезно при обработке больших объемов данных, так как позволяет не загружать всю информацию в память сразу. Пример: экономия памяти Допустим, нам нужно обработать миллион чисел и взять из них только четные. Обычный способ: def get_even_numbers(n): result = [] for i in range(n): if i % 2 == 0: result.append(i) return result numbers = get_even_numbers(10**6) print(len(numbers)) # 500000 Такой код загружает в память весь список, что может быть проблемой при больших данных. А теперь переделаем на генератор: def get_even_numbers_gen(n): for i in range(n): if i % 2 == 0: yield i numbers = get_even_numbers_gen(10**6) print(sum(1 for _ in numbers)) # 500000 Здесь список не создается, а элементы выдаются по одному. Это экономит память и ускоряет обработку! Где применять? ✔ Чтение больших файлов построчно (yield line) ✔ Работа с потоками данных ✔ Генерация последовательностей без создания списков

2
+1
AmneziaVPN_5.0.1.5_macos_x64.pkg
754
3
+9
amnezia-client-5.0.1.5.tar.gz
758
4
🖥 Linux 7.3 может стать одним из самых производительных релизов ядра за последние годы Главный упор - не на новые фичи, а на ускорение уже существующего стека. Btrfs получает прирост в 3–5 раз в отдельных сценариях: logging, fsync, tracking extent buffers и direct I/O. Плюс free-space cache по умолчанию переезжает с v1 на v2. EXT4 тоже ускоряют: параллельные direct I/O writes, улучшения allocator через fallocate() и рост IOPS на Gen5 NVMe примерно с 1,92 млн до 2,19 млн. Планировщик переработан ради более ровного frame pacing, особенно на слабом железе. В памяти тоже есть серьёзные цифры: фиксы contention в zsmalloc дают до 1,83×, а lock time в KSM reverse mapping сокращается с 500+ мс до менее 2 мс. Для real-time workloads тоже мощный прирост: P99 latency на SMP снижается примерно с 17 мс до 1,5 мс. А владельцы Intel hybrid CPU — Alder Lake, Lunar Lake и Panther Lake — получают лучшее распределение нагрузки между P-cores и E-cores. Если всё это дойдёт до стабильного релиза без регрессий, Linux 7.3 будет очень интересным обновлением именно для производительности.
943
5
https://habr.com/p/1073200/
1 115
6
https://mobaxterm.mobatek.net/
1 185
7
No text...
1 131
8
Как работает HTTPS? Безопасный протокол передачи гипертекста (HTTPS) - это расширение протокола передачи гипертекста (HTTP). HTTPS передает зашифрованные данные с использованием транспортного уровня безопасности (TLS). Если данные будут перехвачены в Интернете, все, что получит угонщик, - это двоичный код. Как шифруются и дешифруются данные? Шаг 1 - Клиент (браузер) и сервер устанавливают TCP-соединение. Шаг 2 - Клиент отправляет серверу " client hello". Сообщение содержит набор необходимых алгоритмов шифрования (наборов шифров) и последнюю версию TLS, которую он может поддерживать. Сервер отвечает " server hello", чтобы браузер знал, может ли он поддерживать алгоритмы и версию TLS. Затем сервер отправляет SSL-сертификат клиенту. Сертификат содержит открытый ключ, имя хоста, дату истечения срока действия и т. д. Клиент проверяет сертификат. Шаг 3. После проверки SSL-сертификата клиент генерирует ключ сессии и шифрует его с помощью открытого ключа. Сервер получает зашифрованный ключ сеанса и расшифровывает его с помощью закрытого ключа. Шаг 4 - Теперь, когда клиент и сервер владеют одним и тем же сеансовым ключом (симметричное шифрование), зашифрованные данные передаются по защищенному двунаправленному каналу. Почему HTTPS переключается на симметричное шифрование при передаче данных? Есть две основные причины: 1. Безопасность: Асимметричное шифрование работает только в одну сторону. Это означает, что если сервер попытается отправить зашифрованные данные обратно клиенту, любой сможет расшифровать их с помощью открытого ключа. 2. Ресурсы сервера: Асимметричное шифрование добавляет довольно много математических накладных расходов. Оно не подходит для передачи данных в длительных сессиях.
979
9
Иногда вам может понадобиться проверить синтаксис Python-файла без его запуска. Такая простая проверка может быть полезна, например, в качестве хука перед коммитом или быстрой проверки в рамках непрерывной интеграции (CI). Прямого способа сделать это нет. Вы можете запустить файл с помощью команды python -m module.py, что предотвратит выполнение блока if name == 'main'. Однако все импорты всё равно будут выполнены, и это может привести к ошибкам, если вы хотите проверить синтаксис в среде, где модуль не может и не должен быть запущен. Тем не менее, стандартная библиотека Python содержит модуль py_compile, который генерирует байт-код из исходного файла Python без его выполнения. Это именно то, что нам нужно: $ python -m py_compile test.c File "test.c", line 1 int main() { ^ SyntaxError: invalid syntax
919
10
https://habr.com/ru/posts/1070812/
1 214
11
В ящике вашего стола лежит сервер, за который вы уже заплатили Возьмём характеристики не очень старого смартфона: восемь ARM-ядер, 8 ГБ памяти, 128 ГБ флеша, свой модем и аккумулятор, работающий как ИБП без всякого ИБП. За VPS с такими параметрами вы бы платили ежемесячно, а этот уже оплачен и пылится. Особенно обидно сейчас, когда память подорожала и собирать мини-ПК под пет-проекты откровенно невыгодно. Один разработчик решил пойти по пути осознанного потребления и приспособил свой Android-смартфон под серверные задачи. В материале (https://seg6.space/posts/phone-server/) он рассказывает: — как уговорил систему, вся суть которой в засыпании, не спать сутками; — чем заменил systemd; — как гоняет обычные Linux-образы без Docker. Кстати, всё получилось. VPS отключён, а сервисы переехали на телефон. Кто-нибудь уже пробовал так?
1 207
12
🌀 upmd превращает обычный Markdown в исполняемый workflow Можно держать инструкции, команды, зависимости и вывод терминала прямо в одном .md-файле, а code blocks запускать как связанные между собой задачи. Получается что-то между документацией, task runner и живым dev-ноутбуком без отдельного YAML-конфига. Проект написан на Rust и построен на Ratatui. ⭐ GitHub: github.com/rezigned/upmd
1 000
13
https://habr.com/p/1070740/
950
14
https://habr.com/p/1068204/
1 425
15
https://habr.com/p/1067178/
1 377
16
+8
amnezia-client-5.0.0.5.tar.gz
2 101
17
https://habr.com/p/1064518/
1 663
18
https://habr.com/p/1063114/
1 523
19
NetworkManager 1.58 научился показывать QR-коды и эмулировать IPv4 Разработчики выкатили NetworkManager 1.58.0. В 2026 году индустрия все еще вынуждена городить лютые костыли ради старого протокола IPv4. Новый механизм CLAT позволяет хостам на чистом IPv6 запускать легаси-приложения через виртуальный интерфейс на базе BPF. Пакеты на лету заворачиваются в новый формат и летят на шлюз NAT64. До кучи в релиз завезли поддержку туннелей GENEVE для построения виртуальных сетей поверх физических, чтобы сисадминам было еще проще запутаться в собственной маршрутизации. Но настоящий прорыв случился в текстовом конфигураторе nmtui. Спустя десятилетия развития консольных интерфейсов там наконец-то появилась кнопка Select для выбора сетевой карты из списка. В меню добавили поиск в стиле текстового редактора vim и кнопку для повторного сканирования беспроводных сетей. А главным киберпанком стала возможность вывести пароль от Wi-Fi в виде огромного пиксельного QR-кода прямо в окно терминала. Также авторы окончательно закопали древний бэкенд dhclient и вырезали поддержку устаревшего API Wext.
1 482
20
https://habr.com/ru/companies/cloud4y/articles/712640/
1 196