Сообщество - Web-технологии

Web-технологии

520 постов 5 813 подписчиков

Популярные теги в сообществе:

Вопрос

А вам какой функции не хватает в Телеграмм, и почему Вайбер в России только через VPN работает, а Телеграмм и Ватсап без VPN работает?

133

Как я ускорил SSH-аутентификацию в 178 раз

Если каждое SSH-подключение тормозит на несколько секунд, со временем это выливается в часы потерянного времени. Особенно, если ты постоянно работаешь с серверами для автоматизации действий. В моём случае расшифровка SSH-ключа при коннекте занимала 4.6508 секунды – пока я не оптимизировал процесс, сократив его до 0.0261 секунды. Рассказываю, как именно.

Как я ускорил SSH-аутентификацию в 178 раз Программирование, IT, Linux, Ssh

Бенчмарк

Почему всё было так медленно

🔹 OpenSSH + пароль  

Я использовал SSH-ключи в OpenSSH-формате с паролем (passphrase). OpenSSH шифрует их с помощью bcrypt (или аналога KDF) с огромным числом итераций – это круто для безопасности (хотя и другие методы не менее безопасные), но ОЧЕНЬ медленно.  

Когда исполнительный сервер пытался расшифровать ключ, процесс занимал 4+ секунды.

🔹 Ключ загружался постоянно  

Деплой, выполнение задач, тестирование – при каждом подключении ключ снова и снова расшифровывался. Все это дико бесило и замедляло работу.

---

Как ускорить SSH-авторизацию?

1️⃣ Перешёл с OpenSSH на PKCS8  

Главный трюк – отказаться от шифрования bcrypt внутри OpenSSH и использовать PKCS8 с PBKDF2, где можно настроить разумное количество итераций или использовать дефолтные настройки

📌 Разница:  

OpenSSH (bcrypt, cost=16–18)секунды расшифровки  

PKCS8 (PBKDF2, 10k–20k итераций | дефолт)миллисекунды  

Публичная часть ключа всё ещё в OpenSSH-формате (для `authorized_keys`), но приватная теперь PKCS8.

2️⃣ Дополнительное шифрование AES-256  

Чтобы ключ не лежал в открытом виде, сверху добавил AES-256.  

Это дешёвая по вычислениям операция, но она не даёт ключу валяться в чистом виде на диске (даже если это S3).

Теперь процесс:

🔸 AES-256≈0.001s  

🔸 PKCS8 (PBKDF2)<0.02s  

Общее время расшифровки < 0.03 секунды вместо 4.6508 секунд.

Итог: ускорение в 178 раз 🚀  

Бенчмарк показал разницу в 17 739%. Теперь SSH-аутентификация работает в сотни раз быстрее, что значительно ускоряет деплой и управление серверами.

---

Дополнительные советы:

Отключить UseDNS и GSSAPIAuthentication в sshd_config, если задержка handshake.  

Убедись, что используешь gmp/openssl/sodium, а не чистый ЯП (иначе будут тормоза)  

Такая небольшая оптимизация дала огромный прирост скорости. Если у вас долго проходит авторизация – попробуйте такой подход 🥸

Показать полностью 1

Вопрос

А как называется спорт или это просто развлекаловка где люди по одной фотке местности, довольно точно определяют страну и приблизительное место где эта фотка сделана по Гугл вью?

Вопрос

А посоветуйте хороший VPN, чтот мой тормозит последнее время и подорожал с 7 до 10 баксов. И сколько вы за свой VPN платите сейчас?

Вопрос

Недавно видео смотрел, в одном сильно туристическом месте предупреждали всех туристов телефонами не светить, иначе или украдут или вырвут из рук. А ценность украденного телефона сейчас вообще в чем, лишь в запчастях? Или сейчас разблокировать и перепрошить их легко, а затем продать? Несколько лет назад помница у одного террориста телефон забрали изрильские спецслужбы, так эти спецслужбисты несколько месяцев потратили и кучу денег чтоб этот телефон разблокировать и данные с него прочитать.

Вопрос

А если через VPN Ютуб смотреть, то кол-во Гигабайт больше или меньше мой провайдер мне насчитает за месяц, или это вообще не влияет? И увеличится ли монетизация у блогера русскоговорящего если он допустим свои видосы из Испании ведет, а все кто его раньше смотрел из России стали его через VPN смотреть?

28

История о любопытстве и минусах

Всем привет!

Решил выглянуть из ридонли ради спортивного интереса.

Для ЛЛ - как отобразить минусы с помощью расширения Chrome и кода на JS + немного CSS. Установка в конце поста.

История о любопытстве и минусах Javascript, Минусы, CSS, Кривые руки, Google Chrome, Длиннопост

Так это выглядит

После "возврата минусов" по Пикабу прокатила волна постов с недовольством и мне стало интересно хватит ли умений отобразить минусы, ведь в коде каждого поста они уже есть.

История о любопытстве и минусах Javascript, Минусы, CSS, Кривые руки, Google Chrome, Длиннопост

Консоль разработчика видит всё и даже больше

Логично, что если минусы на самом деле имеются у каждого поста, с ними можно работать с помощью JS.

Инструмент, который я использовал (помимо того, что выдают при респауне) - User JavaScript and CSS из магазина Chrome.

История о любопытстве и минусах Javascript, Минусы, CSS, Кривые руки, Google Chrome, Длиннопост

Герой дня

На самом деле, использовать можно и что-то иное, тут каждый волен действовать как хочет.

  • Первая версия появилась на свет на зачатках знаний по JS и мастерстве гугления (Insert google meme here)

Забрать код можно тут: https://justpaste.it/gdvjm

Сначала всё это работало только после загрузки страницы и после прокрутки у новых постов не было минусов. Немного гугления и было найдено обновление по интервалу и обработчик прокрутки (его я и использовал)

В целом, всё работает и так, на этом можно было остановиться. Смущало только то, что минусы не всегда прогружались, если скролл не дошёл до конца страницы.

Тогда я обратился на тёмную сторону решил воспользоваться знаниями нейросети и появилась вторая версия с обработкой каждого поста отдельно при начальной загрузке страницы и событии подгрузки постов.

  • Вторая версия. Помимо нововведений в части JS, чуть изменил добавление контейнера для минусов, назначил класс и чуть причесал CSS.

Забирать тут: https://justpaste.it/itxj8

Установка

Использовать всё это предельно просто:

  1. Найти расширение в магазине - User JavaScript and CSS

  2. После скачивания заходим в chrome://extensions/ и активируем режим разработчика. Это требуется для доступа расширения к изменению содержимого сайтов;

  3. В настройках расширения нужно добавить сайт как на скрине - https://pikabu.ru/*

  4. Cоответственно пунктам 1 и 2 - JavaScript (JS) и CSS. Переходите по ссылкам на первую или вторую версию и копируйте весь текст между разделителями в виде знаков "=": ==========================================

История о любопытстве и минусах Javascript, Минусы, CSS, Кривые руки, Google Chrome, Длиннопост

Окно настроек расширения

При большом желании можно упаковать всё в расширение и опубликовать в магазине, но до этого я не дошёл (а также 5$ за регистрацию - это 5$)

Вряд ли кто-то будет ставить себе уже упакованное расширение от новорега, потому, ссылок на обменник не даю.


P.S. Код кривее некуда, об этом я догадываюсь. JS я не знаю и без сомнений, маэстро JS'a и CSS могут сделать более красивый и правильный вариант. Потому, за конструктивную критику и предложения по улучшению заранее благодарен! :)

P.P.S. Если пост нарушает какие-то правила, сообщите, пожалуйста. Что-то по теме сабжа ничего не нашёл.

Показать полностью 3

Вопрос

А как смартфон узнает что я горизонтально его держу или вертикально, и видео мне переворачивает как надо, там шо внутри отвес стоит который к земле направлен?))

Отличная работа, все прочитано!