Эта задача преследовала меня на двух интервью подряд, и я решил ее!
BSc Computer Engineering
Настройка Visual Studio Code для Django
Настройка Visual Studio Code для работы над проектами Django немного отличается от типичного сетапа для pure Python проектов. Например, в Django мало пользы от mypy, так как он не поддерживает типы Django. Точно также дела обстоят с линтерами, которые, без предварительной настройки, работают с кодом Django неправильно.
Клиент-серверный IPC на Python multiprocessing
Статья отражает личный опыт разработки CLI приложения для Linux.
В ней рассмотрен способ выполнения привилегированных системных вызовов процессом суперпользователя по запросам управляющей программы через строго описанный API.
Исходный код написан на Python для реального коммерческого приложения, но для публикации абстрагирован от конкретных задач.
JWT аутентификация в CLI приложении на Linux
Когда речь идёт о хранении sensitive data в браузере, достаточно воспользоваться одним из двух доступных вариантов: cookies или localStorage. Тут каждый выбирает по вкусу. Однако я посветил эту статью Secret Service – службе, которая работает через D-Bus и предназначена для хранения «секретов» в Linux.
У службы есть API, которым пользуется GNOME Keyring для хранения аутентификационных данных пользовательских приложений.
Динамическое определение класса в Python
class
, динамическое определение использует встроенный класс type
.Метакласс type
Класс type часто используется для получения типа объекта. Например так:
h = "hello"
type(h)
<class 'str'>
Но у него есть другое применение. Он может инициализировать новые типы.
Строим маршрутизатор в SOCKS на ноутбуке с Debian 10
Однако, с тех пор стабильная версия Debian обновилась до Buster, мне в личку обратилось достаточное количество людей с просьбой помочь в настройке, а значит, мои предыдущие статьи не являются исчерпывающими. Что ж, я и сам догадывался, что методы, изложеннные в них, не до конца раскрывают все тонкости настройки Linux для маршрутизации в SOСKS. К тому же они написаны для Debian Stretch, а после обновления до Buster, в системе инициализации systemd, я заметил небольшие изменения во взаимодействии служб. Да и в самих статьях я не использовал systemd-networkd, хотя она лучше всего подходит для сложных сетевых конфигураций.
DNSCrypt 2.0 и блокировка рекламы
Для тех, кто не знает, Dnscrypt — это уникальный протокол шифрования DNS-трафика. Он даёт возможность защитить DNS-коммуникации от перехватов и подмены, и к примеру, обойти блокировки реализуемые на уровне DNS-запросов.
Из основных возможностей новой версии, прежде всего, хочется отметить возможность коммуникации с сервером по протоколу TCP, что делает такой канал более стабильным и менее заметным.
В этой статье, воспользуемся этим преимуществом и для разнообразия/пользы ограничим доступ к рекламным доменам.
Маршрутизация в socks. Еще один способ
Советую другой способ с использованием systemd-networkd.
Прежде чем перейти к описанию настройки системы, предоставлю ссылку на исходники badvpn (может кому-то понадобится).
Итак, после скачивания и сборки пакета, предлагаю сразу создать сервис systemd со следующим содержанием:
cat /etc/systemd/system/tun2socks.service
[Unit]
Description=Start tun2socks
[Service]
ExecStart=/путь/к/badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080
[Install]
WantedBy=multi-user.target
Маршрутизация локальной сети через прозрачный socks-прокси
Советую другой способ с использованием tun2socks.
Имелось:
- маршрутизатор TP-LINK, подключенный к провайдеру.
- смартфоны и ноутбук подключенные к беспроводной точки доступа маршрутизатора.
Ноутбук находился далеко от маршрутизатора (в другой комнате) и регулярно использовался, поэтому пришлось искать решение маршрутизации трафика с помощью встроенного беспроводного интерфейса (и без всяких там eth0).
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность