Pull to refresh
51
0
Alexey Evdokimov @PastorGL

Software engineer. Practicioner, not a theorist.

Как загружать классы в Java 8 и Java 9+?

Level of difficulty Hard
Reading time 24 min
Views 5.8K

Привет, Хабр! Я разработчик в Институте Системного Программирования РАН, занимаюсь разработкой статического анализатора Svace. Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM, что оказалось непросто, потому что в проекте мы используем модули Java.

Модули появились в Java, начиная с версии 9. Прошло уже несколько лет, но если попытаться найти актуальную информацию о связи модулей и загрузчиков классов, её придётся собирать по крупицам. В статье я поделюсь своим опытом изучения вопроса самостоятельной (и автоматической) загрузки классов с помощью кастомного загрузчика, а также разберу примеры, описывающие большинство случаев загрузки, постараюсь их объяснить.

Читать далее
Total votes 23: ↑23 and ↓0 +23
Comments 0

Обход блокировок на OpenWRT с помощью Passwall (v2ray, xray, trojan) и tun2socks

Level of difficulty Medium
Reading time 7 min
Views 21K

В данном гайде будем собирать OpenWRT на базе стабильной 22.03.5 с дополнительными репозиториями Passwall и badvpn (badvpn-tun2socks).

luci-app-passwall2 это пакет позволяющий настроить в Luci прокси, поддерживающий протоколы v2ray, xray, vless, vmess, hysteria, naiveproxy, shadowsocks, trojan и др.

badvpn-tun2socks это пакет позволяющий направлять трафик (в первую очередь TCP) в прокси при помощи kmod-tun и использовать традиционные настройки маршрутизации.

Читать далее
Total votes 16: ↑16 and ↓0 +16
Comments 21

Как мы учились обходить блокировки VPN в Китае, чтобы быть готовыми к РКН

Reading time 7 min
Views 91K

В понедельник 7 августа пользователи VPN-сервисов из России заметили проблемы с подключением к серверам. По собранной в соцсетях и Телеграме информации, ограничения затронули наиболее распространенные VPN-протоколы OpenVPN,  L2TP, PPTP и WireGuard. На сбои в работе VPN-сервисов жаловались клиенты мобильных операторов — Мегафон, МТС, Билайн, Tele2, Yota, Тинькофф Мобайл. 

В этот же день на Xeovo обвалилось огромное количество тикетов, но к вечеру, когда инеформация о новой волне блокировок VPN ещё продолжала расходиться по рунету, и СМИ ещё собирали статистику, которую мы здесь приводим, мы уже закрыли большую часть из них и соединение наших клиентов было восстановлено. Как нам это удалось? Дело в том, что весь последний год мы посвятили борьбе с Великим Китайским файерволлом, а именно — с блокировками VPN в Китае.

Читать далее
Total votes 159: ↑156 and ↓3 +153
Comments 114

3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом

Level of difficulty Easy
Reading time 13 min
Views 233K

В серии предыдущих статей я описывал, почему повсеместно используемые VPN- и прокси-протоколы такие как OpenVPN и L2TP очень уязвимы к выявлению и могут быть легко заблокированы цензорами при желании, обозревал существующие гораздо более надежные протоколы обхода блокировок, клиенты для них, а также описывал настройку сервера двух видов для всего этого.

Многим читателям, однако, ручная настройка показалась сложной и неудобной - хотелось иметь понятный легко устанавливаемый графический интерфейс без необходимости ручного редактирования конфигов и вероятности допустить ошибки, а еще мы не поговорили про механизм "подписок", позволяющих клиентам автоматически подключать список новых серверов с настройками подключений.

Поэтому сегодня мы поговорим об установке и использовании графической панели 3X-UI для сервера X-Ray с поддержкой всего того, что умеет X-Ray: Shadowsocks-2022, VLESS с XTLS и т.д.

Читать далее
Total votes 38: ↑37 and ↓1 +36
Comments 196

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

Level of difficulty Easy
Reading time 11 min
Views 315K

В серии предыдущих статей я описывал, почему повсеместно используемые VPN- и прокси-протоколы такие как Wireguard и L2TP очень уязвимы к выявлению и могут быть легко заблокированы цензорами при желании, обозревал существующие гораздо более надежные протоколы обхода блокировок, клиенты для них, а также описывал настройку сервера для всего этого.

Но кое о чем мы не поговорили. Во второй статье я вскользь упомянул самую передовую и недетектируемую технологию обхода блокировок под названием XTLS-Reality, и пришло время рассказать о ней поподробнее, а именно - как настроить клиент и сервер для нее.

Кроме того, что этот протокол еще более устойчив к выявлению, приятным фактом будет и то, что настройка сервера XTLS-Reality гораздо проще, чем описанные ранее варианты - после предыдущих статей я получил довольно много комментариев типа "А что так сложно, нужен домен, нужны сертификаты, и куча всего" - теперь все будет гораздо проще.

Читать далее
Total votes 37: ↑37 and ↓0 +37
Comments 304

Обход блокировок: настройка сервера XRay для Shadowsocks-2022 и VLESS с XTLS-Vision, Websockets и фейковым веб-сайтом

Level of difficulty Medium
Reading time 14 min
Views 187K

Предыдущие статьи серии:

Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria и все-все-все
Программы-клиенты для протоколов недетектируемого обхода блокировок сайтов: V2Ray/XRay, Clash, Sing-Box, и другие

С протоколами разобрались, с клиентами разобрались, теперь наконец-то настало время рассказать о том, как же настроить свой личный прокси-сервер с современными протоколами для обхода блокировок. Мы будем настраивать сервер на базе XRay (который является форком известного V2Ray, и еще я немного упомяну Sing-Box) с протоколами Shadowsocks-2022 и VLESS с транспортом XTLS-Vision и фейковым веб-сайтом для защиты от выявления. И в качестве запасного варианта на том же сервере мы настроим fallback на VLESS+Websockets, чтобы была возможность работать через CDN типа Cloudflare, если вдруг IP-адрес вашего сервера попадет под блокировку. В конце я приведу настройки десктопных и мобильных клиентов для подключения ко всему этому.

Читать далее
Total votes 46: ↑44 and ↓2 +42
Comments 105

Ретротехнологии в фильме «Матрица»

Reading time 12 min
Views 28K
«Матрица» — хороший фильм. Важный культурный феномен с множеством отсылок к хакерской культуре. Первый фильм в (теперь уже) тетралогии был выпущен в марте 1999 года. Лично для меня это весомая временная отметка. В пространство между 1999-м и 2022-м по сути заключена вся моя сознательная жизнь. Прошло много лет, и виртуальная реальность Томаса Андерсона выглядит слегка устаревшей, даже ностальгической. В технологиях нашей действительности за 23 года слишком многое изменилось, как будто мы все приняли красную пилюлю и переместились в какой-то другой мир.


Вот с таким пристальным вниманием к несущественным деталям я решил «Матрицу» пересмотреть и поделиться с вами интересными находками. Как очевидными: старые мобильные телефоны, компьютерное ретрожелезо и минидиски. Так и чуть менее явно поданными, но важными для фильма особенностями. Например, я не мог не отметить любовь постановщиков к старым телевизорам, особенности которых были прочно вписаны в визуальный стиль этой киноистории.
Читать дальше →
Total votes 110: ↑109 and ↓1 +108
Comments 35

Заблуждения программистов о почтовых адресах

Reading time 15 min
Views 45K
У всех легковых автомобилей четыре колеса. Исключение из этого правила — Reliant Robin.

Если у автомобиля больше четырёх колёс, то это грузовик, автобус или вообще автопоезд. Исключение найдётся и здесь: Mercedes-AMG G 63 6x6.

Попытка описать окружающий мир легко обнаруживает ошибки восприятия, скрытые, словно слепое пятно на сетчатке глаза. Заблуждений много. По крайней мере, на списки про имена, телефонные номера или карты хватило. Настало время адресов и почтовых систем.

Заблуждение 0. Для доставки нужны адрес и имя


В мае 2016 года издание Skessuhorn рассказало трогательную историю: семья фермеров в Хоуларе на северо-западе Исландии получила письмо, на котором не были указаны ни имена получателей, ни адрес, по которому его нужно было доставить. Письмо отправил зарубежный турист, который гостил в посёлке Хоулар и точного адреса не знал. Вместо этого на конверте было изображено местоположение получателя с кратким описанием места, вместо имени — «датчанка, которая работает в супермаркете в Будардалюре».

Адрес называл точно только страну (Исландия) и посёлок (Будардалюр). Дальше шло текстовое описание: лошадиная ферма, где живёт исландская/датская семья с тремя детьми и большим количеством овец. Письмо турист отправил из столицы Исландии, Рейкьявика.


Skessuhornið
Читать дальше →
Total votes 173: ↑170 and ↓3 +167
Comments 257

Как устроена виртуальная машина SQLite

Reading time 10 min
Views 17K

SQL — концептуально странный язык. Вы пишете ваше приложение на одном языке, скажем, на JavaScript, а затем направляете базе данных команды, написанные на совершенно другом языке — SQL. После этого база данных компилирует и оптимизирует эту команду на SQL, выполняет её и возвращает вам данные. Такой метод кажется ужасно неэффективным, но, всё-таки, ваше приложение может проделывать сотни таких операций в секунду. Просто безумие!

Но на самом деле всё ещё страннее.

Читать далее
Total votes 61: ↑60 and ↓1 +59
Comments 15

Поднимаем личный shadowsocks+v2ray сервер для обхода блокировок

Reading time 5 min
Views 89K

Цель: открыть заблокированные провайдером сайты;

Примерное время: 30 минут;

Стоимость: бесплатно;

Что надо делать: нажимать кнопки, копировать и вставлять текст, читать простые слова на английском.

Project V - набор инструментов, которые помогут обойти замедление или полную блокировку сайтов. Он разработан азиатскими гениями для обхода великого китайского фаервола.

Читать далее
Total votes 15: ↑9 and ↓6 +3
Comments 20

История международных денежных переводов — от SWIFT до криптовалют

Reading time 13 min
Views 35K

Буквально недавно только ленивый не обсуждал тему отключения российских банков от SWIFT. Причём основной посыл публикаций в интернет-изданиях: особо ничего для простых граждан не изменится, Россия ко всему готова, и всё это больше развлечение для политиков. Да и вообще надо, мол, побольше производить самим и поменьше покупать у других.

Это замечательно. Но мы считаем, что в России от этого хорошо не будет никому. В особенности простым гражданам. И пока банки не спешат с пояснением хоть бы даже тут, на Хабре, где свои корпблоги ведут пять крупных игроков этого рынка, мы расскажем обо всём по порядку: посмотрим, как работает система SWIFT, когда она появилась и какие есть альтернативы в мире. А дальше объясним, к чему на самом деле приведёт отключение от неё.

Приятного чтения!
Total votes 79: ↑72 and ↓7 +65
Comments 60

JavaScript редактор SVG диаграмм который весит в 6,5 раз меньше bootstrap (библиотека с открытым исходным кодом)

Reading time 4 min
Views 14K

Demo | GitHub

Эксперименты с созданием редактора диаграмм на Blazor Webassembly (Blazor WebAssembly: Drag and Drop в SVG, Blazor WebAssembly: соединительные линии в SVG) показали что технология не годится для интенсивных манипуляций с DOM.

То что будут проседания было известно заранее: WebAssembly не имеет доступа к DOM, любые изменения только через вызовы JavaScript. Задержки оказались такими большими, что перетаскивание на мобильном тормозило уже после добавления третьей фигуры.

Читать далее
Total votes 41: ↑39 and ↓2 +37
Comments 17

Килрой был здесь. Самый популярный мем аналоговой эпохи

Reading time 3 min
Views 29K

"Кто придумал Килроя и что он должен был значить — никто не знает до сих пор, хотя над этим после обнаружения рисунков на военных объектах и оборудовании ломали головы аналитики СССР и Третьего рейха. Факт в том, что рисунок-мем с Килроем заполнил мир задолго до того, как начала зарождаться всемирная сеть" — писали во вчерашнем посте про историю мемов.

Он выгравирован на камне в Национальном мемориале Второй мировой войны в Вашингтоне — в маленькой нише, где его видели очень немногие. Для поколения Второй мировой войны это навеет воспоминания. Для нового поколения это мелочи, которые являются неотъемлемой частью американской истории и легенды.

Это была причуда своего времени.

История популярного мема периода ВМВ
Total votes 126: ↑122 and ↓4 +118
Comments 58

Tokaido: мегалополис, поглотивший Японию

Reading time 13 min
Views 54K
Автор: Yuto Yamada

В районе токийского залива люди жили с давних времён, первое упоминание рыбацкой деревушки Edo относится ещё к XI в. Разрастающееся поселение стало фактически столицей страны где-то с начала XVII в, дав название целому периоду (сёгунат Токугава). А в 1868 с началом «Революции Мэйдзи» (Meiji Restoration), столица туда была перенесена из Киото уже официально, став символом модернизации страны. Тогда же Edo и переименовали в Tokyo (東京, буквально «восточная столица»). Сегодня это не только крупнейшая агломерация мира (38 млн человек), но и центр ещё более крупного мегалополиса Токайдо (Taiheiyo Belt или Tokaido corridor, 78,8 млн). Тем не менее городу удаётся оставаться «большой деревней», он не давит размерами, везде чувствуешь себя как-то локально, по местному. Давайте разбираться, как это удалось японским городским планировщикам. А в следующем материале мы уже поговорим о том, чем и как Токио живёт сегодня.
Читать дальше →
Total votes 129: ↑124 and ↓5 +119
Comments 83

Эффективный DevOps

Reading time 11 min
Views 8.3K

Статья по мотивам доклада «Эффективный DevOps / Максим Залысин (Ситимобил)» с конференции DevOps Live 2020 команды Онтико.

Читать далее
Total votes 26: ↑25 and ↓1 +24
Comments 0

Создаём одинаковое приложение 5 раз

Reading time 13 min
Views 9.5K

На написание этой статьи меня вдохновил YouTube-канал Fireship, записывающий отличные видео о веб-разработке, крайне рекомендую их посмотреть, если вам интересна эта тема.

Вот видео с канала, в котором в 10 фреймворках создают todo-приложение:


Я решил, что не хочу тратить на это кучу времени, и в основном использовал статью как оправдание для изучения нескольких новых фреймворков, поэтому пять раз собрал одно и то же приложение. Я планирую создать простое приложение для добавления заметок, в котором пользователи могут писать текст и сохранять его как отдельные заметки. Некоторые из этих фреймворков я уже использовал для создания подобных приложений, а в других не делал ничего похожего, или даже не использовал их вообще, поэтому это будет чуть сложнее.
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Comments 25

Юпитер 2021. Противостояние

Reading time 11 min
Views 9.9K

Такое случается каждый год. Но это не точно


image

Летом этого года небо украшают две яркие планеты — Юпитер и Сатурн. Они будут украшать его и осенью — уже медленно расходясь. А ведь в прошлом году они были неразлучны — даже был момент, когда для глаза Юпитер и Сатурн слились в одно светило.

Юпитер, как ему и положено, потом вырвался вперед — это самая быстрая планета… из медленных… а точнее — из планет-гигантов. Самая крупная, и самая яркая. Отставший, на созвездие Сатурн многие любители (не слишком хорошо ориентирующиеся среди звезд) уже потеряли из виду. Но виной тому еще несколько причин — светлые ночи июня и июля, высокий уровень светового загрязнения в городах, небольшая высота над горизонтом обеих планет, хотя Юпитер все-таки чуть выше.

image

20 августа 2021 года Юпитер вступает в противостояние с Солнцем, и это будет лучшее время для его наблюдений. Но и ближайшие к противостоянию ночи практически не хуже.
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 11

JPEG, который можно посмотреть в блокноте

Reading time 3 min
Views 38K

Если открыть произвольный JPEG-файл в блокноте, то можно увидеть лишь хаотичный набор символов. Отсюда вопрос: возможно ли закодировать изображение так, чтобы его было можно просмотреть не только обычным способом, но и в обычном блокноте, в виде ASCII-графики.

Читать далее
Total votes 216: ↑215 and ↓1 +214
Comments 50

Information

Rating
3,484-th
Location
Ижевск, Удмуртия, Россия
Registered
Activity

Specialization

Specialist
Lead