Wednesday, 20 March 2024

Работа с сетью в командной строке Windows, #6.

Всем привет.

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

Что делать, если причиной недоступности сайта является неправильное разрешение доменного имени?

Определение IP-адреса по доменному имени (разрешение DNS-имени) выполняется в следующем порядке:

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

- просматривается содержимое файла hosts, и если в нем имеется запись для данного имени, - используется заданный в ней IP-адрес. Этот файл обычно хранится в папке \windows\system32\drivers\etc\

- выполняется запрос на разрешение доменного имени к серверу DNS, задаваемому в настройках сетевого подключения. Соединение выполняется по протоколу UDP на порт 53 сервера. Используется IP-адрес из ответа DNS - сервера.

В первую очередь нужно определить, какому IP-адресу соответствует доменное имя сайта, который не открывается на данном компьютере. Самый простой способ - выполнить команду, например, для узла mail.ru:

ping mail.ru

Результат выполнения ping:

Обмен пакетами с mail.ru [94.100.191.242] по 32 байт:

Ответ от 94.100.191.242: число байт=32 время=38мс TTL=54

Ответ от 94.100.191.242: число байт=32 время=29мс TTL=54

Ответ от 94.100.191.242: число байт=32 время=30мс TTL=54

Ответ от 94.100.191.242: число байт=32 время=29мс TTL=54


Статистика Ping для 94.100.191.242: 

Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь), 

Приблизительное время передачи и приема: 

наименьшее = 29мс, наибольшее = 38мс, среднее = 31мс


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

Tuesday, 19 March 2024

Fooocus и upscale.


Всем привет.

Как оказалось микс в Fooocus может быть необходим и для апскейла. 

Расскажу все по порядку. В Fooocus есть два вида апскейла, обычный Upscale х2 и Upscale fast х2. Мне трудно судить для чего нужен второй, ибо он хоть и быстрый, но заметно ухудшает качество картинки.

Поэтому пользуемся первым. Обычный апскейл хоть и обычный но всегда, например, меняет лица на картинке. Более того  обычный апскейл учитывает промпт если таковой указан, и даже стили из списка Fooocus-а. Прям как новоявленный SUPIR.

Что же делать с лицами? Используем Mixing image prompt and vary/upscale. При этом желательно полностью обнулить промпт и стили, а в image prompt забрасываем фейс максимально подходящий по углу зрения с тем что хотим проапскейлить. Вес и стоп для FaceSwap в Image Prompt для начала указываем по умолчанию как 0.75, но иногда их приходиться подтягивать до 1.

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

Impeccable quality, high detail, High resolution, Ultra-sharp focus, Deep color accuracy, Crystal-clear image, Cinematic bokeh, Lifelike textures, Realistic skin tones, State-of-the-art optics, High-end retouching, Razor-sharp focus, Lifelike textures, realistic skin texture, Fine art quality, 8k

Тогда в негативном может быть указано то что не должно влиять на качество изображения: 

doll, deformed iris, deformed pupils, semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime, text, cropped, out of frame, worst quality, low quality, low resolution, jpeg artifacts, ugly, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, blurry, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck, unrealistic dream

Успехов.

Wednesday, 13 March 2024

Аргументи Automatic1111.

Всім привіт.

Якщо ви користуєтесь Automatic1111 з розумом то ви маєте деякі аргументи в командному рядку. В принципі як і я. На сьогодні мій старт виглядає ось так:

set COMMANDLINE_ARGS=--xformers --autolaunch --theme=dark --disable-safe-unpickle --disable-nan-check --precision full --no-half --upcast-sampling

Спробую пояснити деякі з них:

a) --skip-load-model-at-start - аргумент який міг би виключити завантаження cheсkpoint на старті. Однак я його більше не бачу в переліку офіційних, тому більше не застосовую;

b) --disable-safe-unpickle - аргумент який дозволяє використовувати моделі старого формату (ckpt models), наприклад для розширень DeOldify та AnimateDiff;

c) --no-half-vae --no-half OR --disable-nan-check - аргумент який запобігає виникненню помилки NansException is tensor with all NaNs was produced in VAE;

d) --api - вмикає підтримку API для використання обмеженого функціоналу Automatic1111 з інших застосунків, наприклад в GIMP та Krita;

e) --listen - вмикає налаштування Automatic1111 як web-серверу для доступу всіх користувачів з локальної мережі (LAN);

f) --log-startup - детальна фіксація процесів завантаження Automatic1111;

g) --precision full --no-half - використовується для виключення "чорного квадрату" у фіналі. Можливо треба виключити аргумент --disable-nan-check.

If still not fixed, use command line arguments --precision full --no-half at a significant increase in VRAM usage, which may require --medvram.

h) --share - вмикає налаштування вашого Automatic1111 як web-серверу для всіх користувачів Internet через сайт gradio. Тобто на відміну від local URL: http://127.0.0.1:7860 буде доступ з  public URL: https://40a6211a09ejf93.gradio.app. Але за для вашої безпеки аргумент "--share" не рекомендую до використання!

Аргументи --xformers, --autolaunch та --theme=dark, гадаю, вам добре знайомі без зайвих пояснень.

Щасти вам.

Tuesday, 12 March 2024

Режим временного пользователя в группе AD.


Всем привет. 

В Windows Server 2016 появился полезный функционал - режим временного добавления пользователя в группу с автоматическим удалением через указанное время. Т.е. администратор может включить другого пользователя в нужную группу на пару минут для решения срочной задачи и не заботиться про то чтобы эти права у пользователя позже отозвать. Фича работает только через Powershell.

С чего начать? Проверяем режим работы леса, должен быть 2016 и выше: 

(Get-ADForest).ForestMode

Проверяем диапазон:

Get-ADOptionalFeature -filter *| select EnableScopes

И включаем функционал, внимаение - включение работает в одну сторону и его отмена невозможна:

Enable-ADOptionalFeature 'Privileged Access Management Feature' -Scope ForestOrConfigurationSet -Target company.com

Отлично. Теперь задаем временной интервал в минутах (можно использовать и часы -Hours) и добавляем пользователя alex в группу "Администраторы домена":

$ttl = New-TimeSpan -Minutes 2

Add-ADGroupMember -Identity "Администраторы домена" -Members alex -MemberTimeToLive $ttl

В любой момент можем проверить сколько осталось времени до удаления пользователя из группы, смотрим на значение TTL:

Get-ADGroup “Администраторы домена” -Property member –ShowMemberTimeToLive


По истечении двух минут пользователь alex будет удален из группы “Администраторы домена” автоматически. Надеюсь он успеет решить проблему за это время.

Успехов.

Saturday, 9 March 2024

Обновление версии Windows Server.

Всем привет.

Использование современной версии Windows Server позволит нам внедрять новые функции этой ОС, получить высокую безопасность и более высокую производительность. Сейчас есть два канала распространения LTSC (Long-term servicing channel) – релиз с 5-летней основной и 5-летней расширенной поддержкой и Semi-Annual Channel – версии, которые выходят гораздо чаще, примерно каждые полгода, имеют основной цикл поддержки 6 месяцев, а расширенную в течение 18 месяцев. Компании, использующие Semi-Annual канал получают возможность использовать все самые новые функции, например, контейнеры с Linux и совместную работу с облачной платформой Azure.

По представленной ниже схеме можно выбрать путь обновления («Обновление на месте») до Windows Server 2019, в зависимости от используемой на текущий момент версии. 


 Есть несколько путей обновления с предыдущих версий Windows Server:

  • «Обновление на месте» используется, если вы хотите сохранить все установленные роли, настройки и приложения. Рекомендуется сделать предварительный backup данных. Такое обновление происходит путем запуска программы установки (setup.exe) с установочного носителя в работающий системе. Вначале инсталлятор предложит вам загрузить необходимые обновления и драйвера, затем предстоит выбрать необходимую редакцию. Далее будьте внимательны! Следующий параметр выбрать «Сохранить мои данные и приложения». После нескольких перезагрузок вы получите новую ОС.
  • «Чистая установка». Полное удаление старой ОС путем установки новой ОС. Предварительно вам нужно будет сделать резервную копию данных и список установленного программного обеспечения. 
  • Миграция. Производится установка новой ОС на другом оборудовании или на виртуальной машине. Затем поочередно переносятся все роли, работающие на старом сервере и данные. Для этого шага рекомендуется иметь предварительный план миграции. 
  • Обновление кластера. При выборе этого пути, вам будет нужно последовательно обновить все узлы кластера на новую ОС, причем весь процесс происходит без остановки сервисов, т.е. этот вариант позволяет избежать простоев. Как и с миграцией у вас должен быть четкий план действий.  
  • Преобразование лицензии. Выполняется повышение редакции. Например, сервер под управлением Windows Server 2016 Standard можно повысить до Server 2016 Datacenter. Внимание! Преобразование лицензии работает только в одну сторону, в сторону повышения редакции. Для этого используется встроенная утилита DISM и соответствующий ключ продукта. Запускаем от имени Администратора PowerShell и последовательно вводим команды:

dism /Online /Get-CurrentEdition //в ответ увидим установленную редакцию

dism /Online /Get-TargetEditions //покажет до какой редакции можно обновиться

И чтобы перейти на другую редакцию нужна команда: 

DISM.exe /Online /Set-Edition:ServerDatacenter /AcceptEula /ProductKey:<product_key>

Где ServerDatacenter – нужная редакция, AcceptEula – согласие с лицензией, <product_key> - ваш ключ продукта. После применения команды, сервер должен быть перезагружен.  

Для активации компьютеров в вашей сети может использоваться ключ многократной установки (Multiple Activation Key) или KMS (Key Management Service). KMS начинает работать, если счетчик наберет от 25 клиентских (5 для серверных) запросов на активацию. Кроме этого, необходимо чтобы компьютеры минимум раз в 180 miдней могли подключиться к KMS серверу. Иначе активация «слетает» и Windows переходит в ознакомительный режим. Ключ MAK активирует систему один раз, используя сервера активаций Майкрософт:

slmgr /ipk <product_key>

cscript c:\windows\system32\slmgr.vbs /skms kms03.forza.com:1688

cscript c:\windows\system32\slmgr.vbs /ato

Удачи.

Thursday, 7 March 2024

Работа с сетью в командной строке Windows, #5.

Всем привет.

Что стоит наша теория без практики? Потому у нас сегодня будет работа с сетью в командной строке Windows на примерах практического использования. Поехали!

Определение подмены адреса узла в файле hosts.

    Одним из последствий вирусного заражения довольно часто является блокировка доступа к сайтам антивирусных компаний, поисковым системам, популярным социальным сетям (Vkontakte, Odnoklassniki, Facebook, Twitter и т.п.). Подобный же прием используется для кражи учетных данных пользователей путем перенаправления на вредоносный сайт, адрес которого берется из зараженного файла hosts. 

Порядок преобразования доменных имен в IP-адреса следующий:

- проверяется наличие данных об имени в кэш службы разрешения имен (процедура определения IP по имени уже выполнялась, и в памяти есть актуальные результаты). Если запись есть, то будут использованы ее данные. 

- проверяется наличие записи об имени и адресе в файле hosts. Если запись есть, то будут использованы ее данные. 

- для разрешения доменного имени в IP-адрес выполняется запрос к серверу DNS, заданному в настройках сетевого подключения. 

Файл hosts при настройках по умолчанию, находится в каталоге \Windows\system32\drivers\etc\ и обычно содержит строки, начинающиеся с символа # , являющиеся комментариями, и одну запись для определения имени узла петлевого интерфейса:

127.0.0.1 localhost

127.0.0.1 - IP-адрес, localhost - имя. Если добавить запись 127.0.0.1 odnoklassniki.ru, то для имени odnoklassniki.ru будет использоваться адрес 127.0.0.1, который не предназначен для выполнения реальной передачи данных, и сервер с указанным именем станет недоступен. Если же вместо адреса 127.0.0.1 использовать адрес поддельного сервера, созданного злоумышленниками, то вместо реального сайта, соответствующего доменному имени, посетитель перейдет на поддельную страницу. 

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

31.214.145.172 odnoklassniki.ru

31.214.145.172 www.facebook.com

31.214.145.172 www.vk.com 

31.214.145.172 www.vkontakte.ru


Данный адрес взят из реально зараженного файла hosts и принадлежит сети одного из провайдеров Германии. Сейчас он безопасен, и не занят обслуживанием вредоносного сервера. 

На зараженном компьютере, в файл hosts было добавлено множество пустых строк, и поддельные записи располагались с разным смещением относительно начала строки, что могло затруднить ручной поиск. Кроме того, вредоносные программы могут использовать и некоторые другие способы подмены содержимого hosts - изменение местоположения самого файла, использование атрибута "скрытый" и имени с подменой символа на похожий по написанию символ национального алфавита - "o" и т.п. Другими словами, достоверно определить сам факт подмены адреса с помощью файла hosts, путем прямого анализа содержимого реестра, системных каталогов и самого файла занимает довольно длительное время и не всегда позволяет исключить ошибку поиска вредоносных записей. А, тем временем, задача легко решается с использованием всего лишь 2-х команд из рассмотренных выше - ping и nslookup . 

ping odnoklassniki.ru - в ответе на пинг будет отображаться адрес, соответствующий имени odnoklassniki.ru при определении IP-адреса на данном компьютере 

nslookup odnoklassniki.ru - получить IP-адрес, соответствующий имени odnoklassniki.ru от сервера DNS.

Если адрес по результатам пинга отличается от адреса, полученного от DNS-сервера, то присутствует факт подмены содержимого файла hosts. Для некоторых крупных доменов утилита nslookup может выдавать список из нескольких IP. Тогда IP-адрес, полученный в результатах пинга, должен присутствовать в списке адресов от nslookup. 

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

Wednesday, 6 March 2024

Insightface на автомате.

Всем привет.

Так часто в сети народ жалуется что у них не работает Reactor в ComfyUI (или Automatic1111) по причине того что неверно устанавливается библиотеке Insightface. И вот некий alexbofa написал специальный bat-файл для его установки. Собственно файл был здесь, но если его там нет то код приведен ниже. 

Оговорюсь, что сам код я не проверял, ибо у меня с Reactor-ом все хорошо. Чего и вам желаю.

@echo off

chcp 65001>null

color 0F

del null


set APPDATA=tmp

set USERPROFILE=tmp

set TEMP=tmp


if exist web\extensions\core (

color C0

echo.

echo     Переложи Insightface-ComfyUI.bat на папку выше ComfyUI_windows_portable

echo     Рядом с файлом run_nvidia_gpu.bat и python_embeded

echo.

echo     Если такого файла и папки нет, то установи Portable ComfyUI 

echo     https://github.com/comfyanonymous/ComfyUI/releases/

echo.

pause

exit

)

Tuesday, 5 March 2024

Metadata в Fooocus-е.

Всем привет.

У меня для вас хорошая новость - Fooocus обновился до версии 2.2.0.

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

Для этого над пройти по меню Advanced/Developer Debug mode и в самом низу закладки "Debug Tools" включить опцию "Save Metadata to Images".

Как увидеть результат? Включаете "Input image" и бросаете свою картинку в закладку "Metadata". Тут же ниже красиво разворачиваются параметры генерации этой картинки в JSON-формате.


По моему это здорово! Но это еще не все. Эти параметры можно применить выбрав еще ниже "Apply Metadata". А можно поступить  по другому - скопировать все параметры из "History Log" в Clipboard и вставить их в поле промпта, кнопка "Generate" тут же изменится на "Load parameters".

Жмем ее, и получим результат такой же что и при "Apply Metadata".

Мне такая фишка нравится, а вам?


Sunday, 3 March 2024

Работа с сетью в командной строке Windows, #4.

Всем привет.

Продолжаем рассматривать сетевые утилиты командной строки Windows, сегодня у нас в фокусе NSLOOKUP, PATHPING, PING, ROUTE, TELNET и  TRACERT.

Утилита NSLOOKUP

    Утилита NSLOOKUP присутствует во всех версиях операционных систем Windows и является классическим средством диагностики сетевых проблем, связанных с разрешением доменных имен в IP-адреса. NSLOOKUP предоставляет пользователю возможность просмотра базы данных DNS-сервера и построения определенные запросов, для поиска нужных ресурсов DNS. Практически, утилита выполняет функции службы DNS-клиент в командной строке Windows. 

После запуска, утилита переходит в режим ожидания ввода. Ввод символа ? или команды help позволяет получить подсказку по использованию утилиты.

Примеры использования:

nslookup - запуск утилиты

google.com. - отобразить IP-адрес (а) узла с именем google.com . Точка в конце имени желательна для минимизации числа запросов на разрешение имени к серверу DNS. Если завершающей точки нет, то NSLOOKUP сначала попытается разрешить указанное имя как часть доменного имя компьютера, на котором она запущена. 

server 8.8.4.4 - установить в качестве сервера имен DNS-сервер Google с IP-адресом 8.8.4.4 

google.com. - повторить запрос с использованием разрешения имени DNS-сервером Google.

set type=MX - установить тип записи MX

google.com. - отобразить MX-запись для домена google.com - В примере узел обмена почтой для домена - mx.google.com

mx.google.com. - отобразить информацию по mx.google.com

set type=A - установить тип записи в A 

mx.google.com - получить IP-адреса для mx.google.com .

exit - завершить работу с nslookup


Возможно использование утилиты NSLOOKUP не в интерактивном режиме:

nslookup odnoklassniki.ru - определить IP-адрес узла odnokassniki.ru с использованием сервера DNS, заданного настройками сетевого подключения.

nslookup odnoklassniki.ru 8.8.8.8 - определить IP-адрес узла odnokassniki.ru с использованием DNS-сервера 8.8.8.8 (публичный DNS-сервер Google) 

nslookup 8.8.8.8 - определить имя узла, IP-адрес которого равен 8.8.8.8 с использованием DNS-сервера, заданного настройками сетевого подключения. 

Версия на печать

Популярное