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

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

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

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

Почему 3X-UI? Существует, на самом деле, довольно много панелей для V2Ray/XRay: оригинальный X-UI, Marzban, Libertea, Hiddify. Проблема в том, что в процессе экспериментов у меня и ряда других хабраюзеров заставить их нормально работать с пол-пинка не получилось. Например, одним из требований была установка в Docker (чтобы не создавать бардак в системе и не запускать непонятные bash-скрипты на хосте вне контейнера), и на этом этапе отвалились уже многие панели: у каких-то установка падала еще на этапе разворачивания docker-контейнера из-за ошибок в скриптах, какие-то устанавливались, но не могли нормально запуститься (фронтенд говорил, что не может подключиться к бэкенду), какие-то в итоге запускались, и после получаса тыканья везде в попытках переключить язык с китайского или фарси хотя бы на английский выяснялось что что-то глючит или не работает.

3X-UI, который является доработанным форком оригинального X-UI, в сравнении со всем вышеописанным, почти идеален: легко устанавливается в Docker, сразу на английском с возможностью переключения на русский, имеет в себе все что надо - и главное, работает! Пара багов, конечно, тоже нашлась, но они не критичны и о них будет чуть позже.

Update: в конце мая в своем Telegram-канале автор 3X-UI написал, что возможно больше не будет работать над проектом, но есть альтернатива - еще один из форков оригинального X-UI под названием (внезапно!) X-UI, который очень похож на 3X-UI и тоже работает без проблем.

Выбор домена для маскировки

Нам нужно найти сайт, под который мы будем маскироваться. 

Требования довольно простые:

это должен быть иностранный сервер (вне РФ), не забаненный по домену Роскомнадзором, поддерживающий подключения по TLSv1.3 и HTTP/2, имеющий заглавную страницу, которая не переадресовывает на какой-нибудь другой домен. Если совсем упарываться, то неплохо было бы если бы IP-адрес был из диапазона того же облачного хостера, что и у вас, и чтобы сервер поддерживал Online Certificate Status Protocol (OCSP). Если вы не знаете, что вся эта фигня значит - не заморачивайтесь, выбирайте что-нибудь простое, например

  • www.samsung.com:443

  • www.googletagmanager.com:443

  • www.asus.com:443

  • www.amd.com:443

  • www.cisco.com:443

  • www.microsoft.com:443

  • dl.google.com:443

  • www.linksys.com:443

  • www.nvidia.com:443

    и т.д.

Лучше всего выбирать что-нибудь из сети того же хостера, каким пользуетесь вы.
Для этого есть специальный инструмент: https://github.com/XTLS/RealiTLScanner

Скачиваете его под Windows/Linux со страницы Releases, или собираете сами (go build).

Далее, запускаете как-то так:

./RealiTLScanner -addr IP_вашего_VPS -showFail

и ждете.

Сканер будет перебирать IP-адреса из той же подсети, что и ваш сервер, и пытаться к ним подключиться по TLS. Если он что-то найдет - вы это увидите. Пример (я сканирую рандомный IPшник):

89.116.243.206:443     TLS handshake failed: EOF
89.116.243.207:443     TLS handshake failed: EOF
89.116.243.208:443     ----- Found TLS v1.3    ALPN       CN=caprover.com,O=CapRover.com,L=Vancouver,ST=British Columbia,C=CA,1.2.840.113549.1.9.1=#0c11696e666f40636170726f7665722e636f6d
89.116.243.209:443     TLS handshake failed: EOF
89.116.243.210:443     ----- Found TLS v1.3    ALPN       CN=patentpath.io
89.116.243.211:443     ----- Found TLS v1.3    ALPN       CN=vps3.gecon.pl
89.116.243.212:443     TLS handshake failed: EOF
89.116.243.213:443     TLS handshake failed: EOF
89.116.243.214:443     TLS handshake failed: EOF
89.116.243.215:443     TLS handshake failed: read tcp 192.168.136.132:55142->89.116.243.215:443: i/o timeout
89.116.243.216:443     ----- Found TLS v1.3    ALPN       CN=localhost,OU=none,O=none,L=Sometown,ST=Someprovince,C=US,1.2.840.113549.1.9.1=#0c137765626d6173746572406c6f63616c686f7374
89.116.243.217:443     TLS handshake failed: EOF
89.116.243.218:443     TLS handshake failed: EOF
89.116.243.219:443     TLS handshake failed: EOF
89.116.243.220:443     TLS handshake failed: EOF
89.116.243.221:443     TLS handshake failed: EOF
89.116.243.222:443     ----- Found TLS v1.3    ALPN       
89.116.243.223:443     ----- Found TLS v1.3    ALPN       CN=milapanel.milahosting.com
89.116.243.224:443     ----- Found TLS v1.3    ALPN       CN=vps-us.workx.dev
89.116.243.225:443     ----- Found TLS v1.3    ALPN       CN=www.google.com
89.116.243.226:443     ----- Found TLS v1.3    ALPN       CN=www.bookifynow.com
89.116.243.227:443     ----- Found TLS v1.3    ALPN       CN=next.tasosvl.cc
89.116.243.228:443     TLS handshake failed: EOF
89.116.243.229:443     ----- Found TLS v1.3    ALPN       CN=alpaca-dreams.com
89.116.243.230:443     TLS handshake failed: EOF

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

Установка панели 3-XU (X-UI)

Официальный репозиторий 3X-UI: https://github.com/MHSanaei/3x-ui

Официальный репозиторий форка X-UI: https://github.com/alireza0/x-ui

Итак, дано: VPS с IPv4 (неплохо бы иметь еще IPv6, но не обязательно) и Debian либо Ubuntu Linux (на других дистрибутивах суть будет примерно та же самая). И установленные Docker и docker-compose (если вдруг нет - следуйте инструкциям для вашего дистрибутива, у меня без проблем установилось простым "apt install docker.io docker-compose"). Ну и git в придачу.

Сначала клонируем исходники. Лучше всего использовать последнюю стабильную версию, можно проверить в "Releases" на гитхабе.

Для 3X-UI:

git clone https://github.com/MHSanaei/3x-ui.git
cd 3x-ui
git checkout v1.4.6

Для X-UI:

git clone https://github.com/alireza0/x-ui.git
cd x-ui
git checkout 1.4.1

Запускаем docker-compose:

 docker-compose up -d

Готово! Вы восхитительны! Я серьезно, все, панель установлена и работает.

Дело осталось за малым - настроить ее:

Для 3X-UI идем браузером по адресу http://yourserverip:2053/panel/, где yourserverip - IP-адрес вашего сервера или доменное имя, если оно у вас есть и настроено (обратите внимание, протокол http://, а не https://). Для X-UI нужно сначала посмотреть с помощью команды "docker logs x-ui", на каком именно порту запустилась панель.

Логинимся под стандартными реквизитами admin/admin и видим нашу прекрасную панель управления:

Первым делом я советую сделать несколько вещей. Перейти в "Settings" (настройки) и там:

  1. Изменить порт на котором работает панель со стандартного 2053 на какой-нибудь другой (лучше всего где-нибудь в верхнем конце диапазона, до 65535) - обязательно ;

  2. Изменить корневой путь URL-адреса панели с / на что-то типа /mysecretpanelroot/ - обязательно;

  3. При желании переключить язык на русский (но имейте в виду, в русском переводе есть некоторые неточности, сбивающие с толку);

  4. На второй вкладке "Настройки безопасности" изменить стандартный админский пароль на свой - обязательно;

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

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

Создаем подключения

Идем в раздел меню Inbounds (в русском переводе он почему-то называется "Пользователи", это неправильно и сбивает с толку). Нажимаем "Add Inbound" ("Добавить пользователя"):

Появляется милое окошо. Сначала добавим возможность подключаться через Shadowsocks-2022.
"Remark" (Примечание) - ввести что угодно, это просто человекочитаемое название;
"Протокол" выбираем shadowsocks;
"Listening IP" (в русском переводе называется "Порт IP", и это тоже неправильно и запутывает) можно оставить пустым, тогда сервер будет слушать на всех IP-адресах, либо можно явно указать требуемый;
"Порт" - панель выберет рандомный.

Далее настраиваем пользователя (в момент создания inbound'а создается один, других при желании можно добавить позже):
Поле "Email" на самом деле не обязательно должно содержать емайл, может быть любой текст (имя пользователя) - панель генерирует рандомный набор символов, если вы хотите создавать несколько разных пользователей (например, раздать аккаунты друзьям, смотреть кто сколько накачал и при желании блокировать доступ), то лучше вбить сюда что-то человекочитаемое и понятное;
"Subscription" - пока что можно вбить тот же самый юзернейм (о подписках я расскажу чуть позже).

Дальше снова идут настройки протокола:
"Шифрование" - выбираем что-нибудь что начинается с "2022", вариант по умолчанию вполне неплох;
"Пароль" (ключ) панель сгенерирует автоматически с правильной длиной для выбранного метода шифрования.

Нажимаем "Создать" и на этом настройка для Shadowsocks закончена, им уже можно пользоваться.

Теперь переходим к настройке VLESS с XTLS-Reality. Тут все будет чуточку сложнее, но в целом так же просто.

"Remark" (Примечание) - любое название;
"Протокол" - "vless",
"Listening IP" ("Порт IP", который на самом деле не порт, а адрес) - оставляем пустым, либо задаем вручную если надо;
"Порт" - вместо рандомного ставим 443;

Далее переходим к настройкам клиента.
"Email" - как в и в прошлом пункте, лучше указать что-то человекочитаемое и понятное. Важно: пользователи разных подключений не могут иметь один и тот же емайл (например, наш новый VLESS и старый Shadowsocks созданный в предыдущем пункте), поэтому можно добавить какой-нибудь префикс (например user1vl) для избежания конфликтов.
"Subscription" - тут наоборот, лучше будет если текст в этом поле будет совпадать с тем, что вы задали для Shadowsocks (подробности ниже). Внимание: в отличие от 3X-UI, в X-UI поле Subscription по умолчанию не отображается, нужно сначала активировать функционал подписок в настройках панели.
"Flow" - надо выбрать "xtls-rprx-vision". Обратите внимание, поле Flow (см. скриншот) появится только после того, как чуть ниже вы поставите галочку на пункте "Reality". То есть лучше всего настривать так: сначала ставите галочку Reality, а потом заполняете поля с настройками пользователя.

Дальше у нас идут настройки транспорта:
"Reality" - как уже сказано выше, должно быть активно;
"XTLS" - наоборот, должно быть неактивно (это немного запутывает, не смотря на то, что Reality тоже относится к XTLS, здесь под XTLS подразумеваются только устаревшие версии протокола, и галочки "XTLS" и "Reality" в панели являются взаимоисключающими);
"uTLS" - по умолчанию "firefox", я обычно выбираю "chrome", по факту особо без разницы (главное чтобы не "android", могут быть проблемы с клиентами);
"Домен" - на самом деле это не домен, а адрес для подключения к вашему серверу. Можно оставить пустым, тогда панель автоматически подставит IP-адрес или домен, по которому вы обращаетесь в панели на сервере.
"ShortIds" - панель сгенерирует рандомный ID;
"Public Key", "Private Key" - можно кликнуть на "Get new keys", и панель сама сгенерирует новые для вас;
"Dest" и "Server names" - вот это самое интересное, это домен, под который вы будете маскироваться. По умолчанию панель предлагает маскировку под yahoo.com и www.yahoo.com с переадресацией на yahoo.com:443, но лучше выбрать какой-нибудь другой домен, как описано ранее;

Сохраняем введенную форму, и - всё! Настройка завершена.

После этого на странице видим примерно вот это:

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

Нажав на значок QR-кода, панель покажет QR-код, который можно отсканировать камерой в мобильных клиентах (v2rayNG или Nekobox на Android, Wings X/FoXray или Shadowrocket на iOS). Подробнее о клиентах читайте в этой статье

ремарочка

Нажав на иконку информации (с буквой "i") можно посмотреть настройки для вбивания в десктопные клиенты, в том числе и URL, который можно скопировать и вставить.

Под дестоп я рекомендую Nekobox (есть под Windows, Linux и билды от сообщества для MacOS). Подробнее о клиентах читайте в этой статье

краткая настройка Nekobox

Там же вы можете найти "subscription URL". Это - специальным образом сгенерированный список подключений для клиентов. Помните, вы указывали "Subscription" при создании пользователя? При запросе по такому subscription URL, сервер выдаст список настроек (сервера, ключи) для всех подключений с этим ID в поле subscription. Многие клиенты (включая v2rayNG, v2rayN, Nekobox, и другие) умеют автоматически либо по запросу скачивать настройки с таких URL и добавлять их к себе - таким образом, если вы добавили какие-то новые протоколы или решили поменять конфигурацию, пользователи могут легко получить новые параметры с вашего сервера.
Внимание: в отличие от 3X-UI, в X-UI поле Subscription по умолчанию не отображается и вообще функционал подписок по умолчанию отключен, его нужно активировать в настройках панели.

Дополнительные настройки

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

А еще можно заблокировать доступ через сервер к IP-адресам и доменам Ирана, Китая и России (Россия здесь в отличной компании, не правда ли?) - это нужно если вы по ряду соображений настроили на клиентах доступ к российским сайтам напрямую, и хотите заблокировать их на сервере чтобы случайно не вылезти в рунет через него из-за ошибок в настройках.

Про опцию запрета IPv6 для Google

Улучшения и баги

Сначала о паре багов.

При установке в Docker не получается посмотреть логи Xray, панель выплевывает ошибку. Иногда что-то подсмотреть и понять можно используя команду "docker logs 3x-ui", но там логи довольно куцые. Будем надеяться, что в следущих версиях это исправят (зарепортите им там кто-нибудь, а?).

Второй баг - не удается создать несколько inbounds с одним и тем же портом, но разными listening IP - панель ругается. Из-за этого, например, нельзя реализовать классическую схему с XTLS-Reality слушающем на 443 порту на IPv4-адресе, и VLESS+Websockets или VLESS+gRPC для работы через CDN (как запасной вариант) на IPv6 адресе. Опять же, будем надется, что авторы это когда-нибудь пофиксят.

Из того, что можно улучшить при конфигурации - по умолчанию панель слушает на чистом HTTP, без шифрования. Вариантов решения несколько:

  1.  Если у вас есть домен (даже бесплатный от no-ip, freenom, dynu), то можно установить certbot от letsencrypt, запросить сертификат для своего домена, положить его в папку ./certs (внутри директории, куда вы склонировали 3x-ui) или сделать туда симлинки, и указать путь к ключам в панели в виде /root/cert/privkey.pem и /root/cert/public.crt. Не забудьте добавить post-update hook для рестарта контейнера;

  1. Другой вариант - поменять в настройках listen IP для панели на 127.0.0.1 - после этого панель станет недоступна "снаружи", но на нее всегда можно будет зайти с помощью SSH:
    "ssh -L 8080:localhost:2053 your_server_ip" - тогда вбивая в браузере http://localhost:8080, подключение через SSH пойдет на локальный порт 2053 сервера, где и слушает ваша панель;

  2. Третий вариант - повесить на сетевой интерфейс на сервере еще один "виртуальный" IP-адрес: прописать в /etc/network/interfaces что-то типа
    iface lo:1 inet static
    address 192.88.99.1
    network 192.88.99.0
    netmask 255.255.255.0
    и настроить панель, чтобы она слушала только на нем. Тогда "снаружи" панель будет недоступна, но при подключении через Shadowsocks/VLESS-прокси вы сможете до нее достучаться по этому адресу.

Про работу через веб-сокеты, gRPC и CDN: Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

О VLESS

Мы настроили протокол VLESS.  Иногда в интернете можно встретить утверждения, что, мол VLESS не шифрует данные, а значит он небезопасен. Это не так. То, что VLESS не предусматривает шифрования на уровне протокола, не значит, что данные передаются в нешифрованном виде. VLESS всегда работает поверх TLS, трафик шифруется именно механизмами TLS, а не самого VLESS. Никакой проблемы с безопасностью тут нет, все секьюрно :) То же самое с XTLS. XTLS отключает свой слой шифрования только в случае, если определяет, что обмен между пользователем и конечным сервером уже зашифрован TLS v1.3.

О надежности

Как сделать хорошую, правильную маскировку для XTLS-Reality? Внимание к мелочам.

  1. Выбирайте домен для маскировки от сайта, который хостится у того же хостера, что и вы (см. начало статьи).

  2. Перевесьте SSH на вашем сервере с 22 порта на какой-нибудь другой сильно повыше, а то слишком палевно

  3. Если вы используете панель типа X-UI или 3X-UI - то перевесьте ее тоже со стандартного порта на какой-нибудь нестандартный сильно повыше. В идеале стоит вообще заставить ее слушать на 127.0.0.1 (localhost), а подключаться к ней через SSH: например, если панель у вас на 127.0.0.1 и порту 48888, то сделав
    `ssh -L 8080:127.0.0.1:48888 user@serveraddress -p <ssh_port>`
    вы сможете попасть на панель пройдя браузером по адресу http://127.0.0.1:8080

  4. Сделайте проброс порта не только на 443/TCP-порт (его делает XTLS-Reality), а еще на 443/UDP и 80/TCP до сервера, под который вы маскируетесь. Например, если вы маскируетесь под www.microsoft.com, то отрезолвте его IP-адрес (с помощью nslookup, ping или какого-нибудь онлайн-сервиса), а потом добавьте правила iptables (можно засунуть в /etc/rc.local, если он у вас есть - см. инструкции для вашего Linux-дистрибутива):
    iptables -t nat -A PREROUTING -i eth0 -p udp --dport 443 -j DNAT --to-destination fake_site_ip:443
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination fake_site_ip:80
    (вместо eth0 должен быть ваш сетевой интерфейс, иногда бывает ens3, например).

  5. Если ваш хостер позволяет менять PTR-записи для IP-адресов (так называемые "обратные DNS"), то поменяйте ее на такую, какая есть у IP-адреса сайта, под который вы маскируетесь, или хотя бы просто на сам этот домен.

О клиентах

Весьма важно настроить на клиентских устройствах правила, чтобы доступ к внутренним (российским, если вы в РФ) ресурсам не шел через прокси-сервер.

Примеры настроек разных клиентов для этого есть в FAQ:
FAQ по Shadowsocks/XRay/XTLS/Reality/Nekobox/etc. для обхода блокировок

Там же есть ответы на многие другие частые вопросы и советы по устаранению проблем.

Telegram

И занимательное на последок. Панель может работать как Telegram-бот :)

Сначала обращаемся к боту BotFather и просим его зарегистрировать нового бота:

Он сгенерирует для вас API-токен. Его надо вставить в настройки панели, и там же указать ваш ID как админа (его можно запросить у бота userinfobot):

После этого можно разговаривать с панелью через Telegram - смотреть статистику, делать бэкапы конфигурации, и т.д. 

На этом всё.

Удачи, и да прибудет с вами сила.

Эффективная защита RDP «на минималках»

Раз мы более - менее разобрались с тем, как важны пароли и логины (ссылка на первую часть ЗДЕСЬ), предлагаю ещё больше обезопасить наш открыто висящий RDP в сети Интернет буквально за полчаса максимум.

В поисках самого простого и бесплатного (или максимально дешевого) способа защиты RDP предлагаю добавить известный многим IPBAN от Jeff Johnson: https://github.com/jjxtra. Единственный замеченный минус - у меня, почему-то, не зависимо от того указываю я 3 попытки для блокировки или 5 - всё равно начинает блокировать где-то с пятой попытки (а может это проблема используемой мной версии - 1.8.0), хотя потом я решил, может это и к лучшему - если предположить что у нас до блокировки учетной записи даётся 3 попытки, то оставшиеся две вполне сгодятся для звонка системному администратору с просьбой сбросить пароль. В общем, для начала нужно скачать саму программу в соответствии с используемой у вас ОС:

https://github.com/DigitalRuby/IPBan/releases

Пока скачивается архив надо настроить локальную политику безопасности: щелкаем на значок поиска в панели задач так и вводим "локаль..." или "secpol.msc" (если нет значка поиска жмем WIN+R,вводим secpol.msc и жмем Enter), затем переходим во вкладку Локальная политика и Политика аудита. В локальных политиках  включаем аудит входа в систему и аудит СОБЫТИЙ входа в систему, ставим галки как на скрине - Успех и Отказ для обеих политик и нажимаем ОК:


Архив уже должен скачаться, разахивируем его на любой диск, лучше в корень диска чтобы был проще путь к установке, я извлек в папку ipb на диск C:


Теперь запускаем командную строку от имени администратора вставляем команду:

sc.exe create IPBAN type=own start=delayed-auto binPath=c:\ipb\DigitalRuby.IPBan.exe DisplayName=IPBAN


! Я настраивал на Windows Server 2019, IPBAN корректно работает на Server 2012 и новее, если у вас 2008/2008R2, то всё сложнее, да и вообще на 2008 оно работает не всегда адекватно, но если сильно хочется... (и ещё кое-что: я проверить это не могу, так как самый старый сервер у меня на 2012, так что на свой страх и риск. Ах, да, на старых клиентах с XP и не обновлённой семеркой пропадёт путь к сетевым папкам после запрета NTLM, так что ещё раз: IPBAN ставим на 2008 если только очень хочется) 

! ещё раз, текст ниже курсивом - ЭТО ТОЛЬКО ДЛЯ 2008/2008R2, не вздумайте запрещать NTLM на новых версиях ОС Windows Server !

! перед тем как начать вносить изменения настоятельно рекомендую или иметь физический доступ к серверу или проверить работоспособность сторонних программ для удаленного подключения - Anydesk, Rudesktop и т.д.

В командной строке от администратора вводим команду:

sc create IPBAN binPath= c:\ipb\DigitalRuby.IPBan.exe DisplayName= "IPBAN"

Дальше нужно запретить всё NTLM (а заодно и доступ к общим папкам на сервере для WinXp и Win7):

Открываем редактор групповых политик (gpedit.msc) и идём по пути:

Конфигурация компьютера > Конфигурация Windows > Политики безопасности > Локальные политики > Параметры безопасности > Сетевая безопасность: ограничения NTLM: входящий трафик


Выбираем Запретить все учетные записи и надеемся что ничего не отвалится.

Всё, возвращаемся к более "свежим ОС" или продолжаем настройку "старого" сервера:


и жмем Enter, должно выйти так (не забываем путь указать свой, у меня C:\ipb):

Если всё ок, пишет Успех
Если всё ок, пишет Успех

Теперь надо сконфигурировать настройки IPBAN под наши нужды, открываем в текстовом редакторе файл ipban.config (C:\ipb\ipban.config), нажимаем CTRL+F5 и по порядку:

1) добавим в исключения нашу локальную сеть (например, у нас сеть 192.168.1.*), ищем <add key="Whitelist" value= и пишем:

<add key="Whitelist" value="192.168.1.0/24"/>   

2) указываем количество попыток залогиниться - я указал 3 попытки (почему-то у меня по факту 6, но кто любит четкость работы - всегда есть идеально работающие платные программы с хорошей тех. поддержкой), ищем FailedLoginAttemptsBeforeBan и пишем число попыток 3 до блокировки:

<add key="FailedLoginAttemptsBeforeBanUserNameWhitelist" value="3"/> 

3) По умолчанию продолжительность бана сутки, но если хочется изменить эту настройку ищем ExpireTime и пишем нужный период времени на блокировку, я указал ради примера 10 часов:

<add key="ExpireTime" value="00:10:00:00"/>


Сохраняем наш файл, осталось запустить нашу службу и при необходимости добавить её в автозапуск. Перед запуском убедитесь что у вас работает именно брандмауэр Windows, если используется сторонний, например от антивируса, то работать IPBAN не будет.

Открываем службы, находим службу IPBan и для первого раза я рекомендую её просто запустить, и проверить всё ли работает как надо, если за несколько дней проблем не будет можно выбрать автозапуск:


После успешного запуска автоматически создадутся правила в брандмауэре Windows. Там можно просмотреть заблокированные IP адреса и удалить ненужный на случай "особого работника", чтобы не ждать пока снимется блокировка:


Надеюсь, эта статья поможет Вам избавиться от многих проблем с не очень хорошими людьми, которые любят жить за ваш счёт.

Восстановление сеанса Windows после выключения или перезагрузки

Windows может автоматически перезапускать все открытые приложений после перезагрузки или выключения компьютера. В актуальных билдах Windows 10 22H2 и Win 11 23H2 эта функция по-умолчанию отключена, но вы можете включить ее вручную. 


  • 0

Как выбрать телевизор что бы потом не было мучительно больно?

Поехали.

Для начала надо определиться с функциями телевизора. Понятно что основная функция показывать картинку. Но важно откуда показывать картинку. 

Источником сигнала может быть:

1 Эфирная антенна

2 Кабельное телевидение

3 Интернет

4 Внешние устройства типа плейстэйшн, двд проигрывателя и прочего.

Что должен иметь телевизор чтобы выполнять свои функции.

Для просмотра эфирного телевидения(это те бесплатных 20 каналов) телевизор должен поддерживать стандарт приема DVB T2.


 Как правило все современные телевизоры это уже умеют. Бывает что телек произведен для другой страны и ввезен в Россию по серой схеме, в таком случае лучше проверить перед покупкой. 

Проверить достаточно просто, в поисковике забейте точную модель телевизора и просмотрите на сайте производителя в характеристиках стандарты вещания наличие DVB T2.

Едем дальше. 

Для просмотра кабельного ТВ практически ничего не нужно ибо все телевизоры это умеют.

Для подключения внешних устройств смотрите что бы на телевизоре были соответствующие входы для подключения источников сигнала.

На данный момент самый распространенный вход это HDMI, так же используются AV для подключения старых устройств типа видеокамеры и какой нить приставки.


Все выше перечисленное умеют ВСЕ телевизоры. 

А теперь вернемся к пункту 3. Это самый интересный пункт ибо тут скрыто столько нюансов что у человека далекого от техники может и кукуха улететь.

Для начала, приставка СМАРТ ни разу не означает что телевизор умеет в интернет. У старых телеков такая приставка была только потому что он умеет читать пару форматов видео с флешки. Поэтому еще раз, приставка СМАРТ (SMART) еще ни о чем не говорит.

Самая мякотка это в строке Платформа или Операционная система

На данный момент самые популярные операционки для телевизоров это:

1 WebOS - от производителя LG


2 Tizen -  от производителя Samsung 

Tizen от WebOs отличаются только производителем и немного внешним видом. По функционалу практически одно и тоже. магазин приложений так себе, но самое необходимое как правило есть. С установкой стронних приложений туго. Придется поплясать с бубном, а может и сломать пару.


3 Андроид - от кого угодно

GoogleTV норм

Андроид ТВ(предпочтительнее)

Яндекс ТВ заточен что бы отобрать у вас деньги

Салют ТВ обходите стороной

Андроид - это все что вам нужно, НО если это полноценный андроид, а не урезанная шляпа типа сбер салют или яндекс тв.


4 Vidaa - от лукавого


Vidaa или обиходе Беда это боль! Если вы не пилот соверменного лайнера, не сеньор программист, у вас нет кучи времени что бы вникать в в инструкции после каждого изменения на строне провадера, этот телевизор не для вас!  

Что бы вам не говорили продаваны в магазине, какие бы золотые горы не обещали не ведитесь ибо если вы хотите от телевизора бесплатных киношек, сериалов, клубнички и прочих удовольствий то с этим телевизором будет боль вместо желаемого. 

Просто поверьте на слово и не покупайте телевизоры на платформе Vidaa  


  • 0

Консольная качалка видео с сервисов

Введение

Периодически на dtf возникает вопрос наподобие "Помогите, savefrom/4k downloader/another downloader не качает с youtube, что делать!", "Как скачать с youtube в максимальном качестве" и т.д.

И постоянно в комментариях советуют yt-dlp.

Но никто не слушает. Это ведь консоль, это сложно и непонятно.

Цель данной статьи - показать, что все на самом деле элементарно и на самом деле лучше yt-dlp для скачивания видео с youtube ничего нет.

1. Скачиваем yt-dlp

Есть два пути: сложный и простой.

Сложный - это скачать yt-dlp, а затем скачать ffmpeg. Затем их нужно поместить в одну папку (файлы yt-dlp.exe и ffmpeg.exe).

Простой - это скачать архив по ссылке и распаковать его в любую папку.

2. Запоминаем основные команды

Нужно запомнить всего три команды:

  1. -U
  2. -F
  3. -f

Теперь подробнее.

-U - обновляет yt-dlp до актуальной версии. Если видео не хочет скачиваться или скачивается медленно, то в 95% случаев эта команда поможет.

-F - анализирует данный URL - видео и показывает доступные варианты скачивания.

-f - скачивает выбранный формат.

Еще немного теории...

Для запуска командной строки в пуске ищем cmd или терминал.

В ней вбиваем нашу первую команду:

cd /d "Путь к папке, в которой находится yt-dlp"

К примеру:


Как пользоваться yt-dlp

Обратите внимание, если путь к папке содержит пробелы, то этот путь нужно заключить в кавычки.

Для запуска yt-dlp просто пишем его название в командную строку:


Как пользоваться yt-dlp

Т.к. мы не передали никаких аргументов, то yt-dlp ругается на это.

В самом простом случае нужно просто скачать видео. По умолчанию, yt-dlp всегда скачивает в максимальном качестве. Поэтому, чтобы просто скачать видео, нужно просто написать yt-dlp "адрес_видео":


Скачивание пошло<br />

Кстати, можно писать не весь адрес. Для youtube достаточно вписать идентификатор видео.

По умолчанию, видео скачается в папку, где находится yt-dlp.

Для выбора формата нужно немного усложнить команду: yt-dlp -F "адрес_видео"


Вот такая симпатичная табличка<br />

Из этого набора нужно выбрать необходимое нам качество видео и аудио. Коды (ID) выделены зеленым цветом.

Предположим, мы хотим скачать видео в 480p с m4a аудио.

Тогда забиваем так: yt-dlp -f 135+140 "адрес_видео"


Скачивание в выбранном нам формате<br />

Вот и все. Ничего супер сложного, правда?

Заключение

Скажу сразу - то, что описано в этой статье является верхушкой айсберга. yt-dlp умеет скачивать видео не только с youtube, но и с целой кучи других сайтов, можно скачать только аудио, можно скачивать и сразу вшивать обложки, субтитры, формировать нужный вам контейнер, вшивать теги и метаданные, скачивать целые плейлисты... 

К примеру, можно импортировать куки с браузера и скачать весь плейлист "Смотреть позже" одной командой.

Поэтому советую не останавливаться на моей статье и самому продолжить обучение. Мануал (правда, на английском) с подробным описанием доступен по ссылке.

Также хотелось бы добавить, что существует целый класс программ, в основе которых лежит yt-dlp, но которые имеют доп. возможности. Например, это может быть GUI, возможность удобно скачать целый канал и т.д. Поэтому если не зайдет "консольный архаизм", то прошу не отчаиваться и подыскать себе альтернативу, основанную на этом замечательном инструменте.

Всем удачи!


Источник

  • 0

VANWIN Планшет Y83 или полное налюбилово.


Есть вот такое ооочень заманчивое предложение на Озоне VANWIN Планшет Y83

Судя по характеристикам РАКЕТА!!!

А вот по факту оказалась телега.

1 Процессор Allwiner A523 вместо Snapdragon 865


2 Оперативная память 4гб вместо завяленных 12гб

Откуда ей взяться если процессор не поддерживает ОЗУ больше 4 Гб


3 Встроенная память 64гб вместо заявленных 512гб 

В общем мы видим обычный развод рассчитанный на людей не разбирающихся в технике.

В общем крайне не рекомендую к покупке.

  • 0

Для тех, кто не хочет заводить учетннную запись у мелкомягких

Для тех, кто не хочет заводить учетннную запись у мелкомягких и пользуется локальными учетками винды.
Когда Win 11 просит создать учетку Microsoft: Жмем Shift + F10 Вводим команду: oobe\bypassnro и перезагружаемся. Появляется надпись "У меня нет Интернета". Жмём. Придумываем имя локальной учётной записи. Пользуемся.