Главная

Friday, 22 November 2024

Web-браузер для Automatic1111.


Всем привет.

Oбычно Forge или Automatic1111 запускается в браузере по умолчанию, у меня в Chrome, и чтобы сменить автозапуск в другом браузере, нужно изменить wеb-браузер по умолчанию в самой операционной системе. 

Если вы очень хотите использовать Forge/Automatic1111 в другом браузере, например Brave, то для этого существует специальное расширение.

Вам нужно установить расширение - sd-webui-custom-autolaunch. Для этого переходим во вкладку - extensions \install  from URL и вставляем ссылку - https://github.com/w-e-w/sd-webui-custom-autolaunch.git в окно - \URL for extension's git repository. После установки жмем - Apply and restart UI.

После перезагрузки заходим в настройки - \system, и если все сделали правильно то у вас появятся дополнительные настройки - Custom autolaunch command. Ставите галочку - Enable custom autolaunch и добавляете в строку - \Custom autolaunch command следующую команду - "C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" -new-window {url}, где в кавычках указываете путь к своему браузеру.

Сохраняете и перезагружаете. При следующем запуске Forge / Automatic1111 откроется в нужном браузере. Что бы вернуть браузер по умолчанию нужно просто снять галочку с - Enable custom autolaunch.

Но я лично  так не делаю. Я просто закрепил в нужном web-браузере любимые линки(смотри на фото) и... все. Не вижу особого смысла ставить плюс одно расширение против пары дополнительных кликов мышкой. Для удобства те же линки можно вынести ярлыками на ваш desktop.

Удачи.

Wednesday, 20 November 2024

Очищення даних MS Edge в один клік.

Привіт усім.

Часто політика компанії вимагає використання в роботі єдиного корпоративного web-браузера. В більшості випадків це Edge, і так само в більшості випадків всі проблеми з застосунками які його використовують це його кеш. Мені набридає кожного разу бігати по його меню і клікати відповідні кнопки, тому сьогодні я спробував винайти автоматизацію цього процесу.

Рішення потребує як очищення даних перегляду  та і скидання налаштувань браузера Microsoft Edge до значень за замовчуванням.

Для очищення даних перегляду в Microsoft Edge краще, щоб браузер був закритий, особливо якщо використовуєте параметри командного рядка, як `--clear-browsing-data`. Якщо Edge відкритий, очищення може не виконатися належним чином, оскільки файли можуть бути заблоковані через активні сесії.

Для Internet Explorer цього зазвичай не потрібно, оскільки його очищення працює навіть при запущеному браузері. Проте для найкращих результатів і тут варто закрити всі його вікна.

Перша автоматизація - якщо потрібно включити закриття Edge до вашого скрипту, можна зробити це так:

Batch-файл (для обох браузерів):

@echo off

REM Закрити Edge, якщо він відкритий

taskkill /IM msedge.exe /F

REM Очищення даних Internet Explorer

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255

REM Очищення даних Microsoft Edge

start msedge.exe --clear-browsing-data --headless --disable-gpu --no-first-run --no-default-browser-check

Запускайте цей скрипт із правами адміністратора.


Щоб додати опцію скидання налаштувань браузера Microsoft Edge до значень за замовчуванням через командний рядок або автоматизацію, можна використати деякі доступні методи. На жаль, Microsoft Edge не має прямої команди для скидання налаштувань через `cmd` або PowerShell, але є спосіб видалити профіль користувача, що фактично скине налаштування до початкових.

Saturday, 16 November 2024

Еволюція swap face.

Привіт усім.

В світі GenAI якось на перше місце серед безкоштовних опцій вийшла функція swap face. Іншими словами народ захопився змінювати себе або друзів на селебріті або героїв Marvel. Зрозуміло що це стосується саме обличчя, а не решти тіла, але багатьох і від цього пре.)

В Stable Diffusion в реалізації Automatic1111 спочатку був плаігн ROOP, пізніше потужній SwapLab,  в реализації ComfyUI зайшов ReАctor, який використовується і досі. Так, звісно ReАctor зайшов і в Automatic1111(Forge) і став так само популярним, якщо не основним. Нажаль SwapLab здав позиції хоча і мав на старті більший функціонал ніж ReАctor.

Але ці плагіни працювали з готовим зображенням і за допомогою бібліотеки insightface (C++) намагалися вписати ваше обличчя замість існуючого. Тобто результат був тим кращим чим простіший був source. Про стилизацію в цьому випадку можно було тільки мріяти.

Але ось прийшов IP-adapter(ControlNet) з схемою FaceID, де ваш face вже як референс приймав участь в усьому процесі генерації


Tuesday, 12 November 2024

Детектим виртуалку #2.

Привіт, привіт.

Не так давно я намагався впевнетись що ВМ сховати від зловреда майже неможливо. Тому вирішив ще перевірити як з цим справи в HyperV. На поміч мені став ChatGPT, бо в мене не було часу самому рискати по мережі, але результат очікуваний - для експериментів а якості пісочниці HyperV точно не годиться. Дивіться результати далі.

Щоб визначити, чи машина є віртуальною, будь хто може скористатися командою PowerShell, яка перевіряє наявність ознак віртуалізації. Один з найпростіших способів - це скористатися `Get-WmiObject` або `Get-CimInstance` для отримання інформації про BIOS чи апаратне забезпечення. Якщо сервер є віртуальним, у властивостях часто можна побачити такі рядки, як "Microsoft Corporation" для Hyper-V або інші специфічні ознаки.


Ось приклади команд, які можна виконати в PowerShell:

1. Використання класу Win32_BIOS

(Get-WmiObject -Class Win32_BIOS).SerialNumber

Значення `SerialNumber` часто вказує на віртуальну платформу. Наприклад, для Hyper-V він може починатися з `Microsoft Corporation`.


2. Перевірка за допомогою класу Win32_ComputerSystem

(Get-WmiObject -Class Win32_ComputerSystem).Manufacturer

Для віртуальних машин на Hyper-V `Manufacturer` зазвичай повертає `Microsoft Corporation`.


3. Використання класу Win32_SystemEnclosure

(Get-CimInstance -ClassName Win32_SystemEnclosure).ChassisTypes

Ця команда виведе код типу шасі. Для віртуальних машин Hyper-V зазвичай повертається значення `3` (для віртуального шасі).

4. Перевірка через властивості Hyper-V специфічного класу

Get-VM | Where-Object { $_.Name -eq (hostname) }

Ця команда підійде, якщо є доступ до PowerShell команд Hyper-V на хості. Команда спробує знайти віртуальну машину з ім’ям, яке відповідає поточному хосту.

Friday, 8 November 2024

Про Photomaker и Forge.

Привет всем.

Вы наверное уже знаете что автор Forge решил разнообразить свой продукт и в интерфейс Forge добавил закладку Spaces куда портировал ряд проектов с портала huggingface Spaces

Есть среди них на закладке Spaces и популярный PhotomakerV2. Картинки для Instagram он делает просто на ура. Разумеется можно также легко пользоваться PhotomakerV2 и на портале huggingface, но там очень быстро наступает лимит по времени генерации что творческому человеку просто мука.

Однако не спешите радоваться, у меня PhotomakerV2 перестал работать после последнего обновления Forge. После недолгих поисков я обнаружил что PhotomakerV2 не дружит с новой версией xformers, или точнее сказать у xformers повысились требования к моей видеокарте и он ее обозвал "old model" именно при генерации с PhotomakerV2. В самом Forge с этим все Ок.

На мое счастье запустить его еще можно понизив версию xformers до 0.0.23, разумеется это не очень удобно так как встроенный Python используется от самого Forge. Но выпиливание PhotomakerV2 из Forge займет у вас еще больше времени. Поэтому у меня пока два портативных(!) Forge-a.

Из полезного могу добавить то что можно разнообразить стили в PhotomakerV2 дописав их в файл style_template.py в json-формате (пример ниже). Где взять? Можно аккуратно переписать их из Fooocus-а или из InstantID проекта:

style_list = [

{"name": "(No style)","prompt": "{prompt}","negative_prompt": "",},

{"name": "cinematic-default", "prompt": "cinematic still {prompt} . emotional, harmonious, vignette, highly detailed, high budget, bokeh, cinemascope, moody, epic, gorgeous, film grain, grainy", "negative_prompt": "anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured"},

{"name": "sai-3d-model", "prompt": "professional 3d model {prompt} . octane render, highly detailed, volumetric, dramatic lighting", "negative_prompt": "ugly, deformed, noisy, low poly, blurry, painting"},

{"name": "sai-analog film", "prompt": "analog film photo {prompt} . faded film, desaturated, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage", "negative_prompt": "painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured"}

и т.п.

Wednesday, 6 November 2024

Запуск ядерного ReActor-а.

Всем привет.

Судя по тому что у ИИ-гуру Antinoice есть отдельное руководство по фиксингу ReActor-а для ComfyUI надо к нему вернуться еще раз. Лично у меня ReActor находится в состоянии disabled виду того что с ним частенько конфликтуют ноды из других пакетов. А сам ReActor требует дополнительных шагов при установке.  Итак Antinoice советует поступать так:

1.Устанавливаем ReActor с помощью менеджера или качаем архив и распаковываем его в папку custom nodes.

Открываем папку ...\ComfyUI\custom_nodes\comfyui-reactor-node и запускаем файл install.bat.

2. Находим файл requirements.txt открываем его в блокноте и добавляем ещё одну строку:

 insightface==0.7.3

после чего сохраняем и закрываем блокнот.

3. Скачиваем файл insightface-0.7.3-cp311-cp311-win_amd64.whl отсюда (для Python версии 3.11):

https://github.com/Gourieff/Assets/blob/main/Insightface/insightface-0.7.3-cp311-cp311-win_amd64.whl

Или для Python версии 3.10:

https://github.com/Gourieff/Assets/blob/main/Insightface/insightface-0.7.3-cp310-cp310-win_amd64.whl

Или для Python версии 3.12:

https://github.com/Gourieff/Assets/blob/main/Insightface/insightface-0.7.3-cp312-cp312-win_amd64.whl

4. Помещаем наш файл в папку ...\python_embeded.

5. В этой же папке ...\python_embeded вверху в адресной строке папки прописываем cmd и нажимаем Enter - запустится консоль.

В консоль вставляем следующий текст:

python.exe -m pip install insightface-0.7.3-cp311-cp311-win_amd64.whl

и нажимаем Enter,  дожидаемся установки и после этого можна запускать ComfyUI. Файл insightface-0.7.3-cp311-cp311-win_amd64.whl можно удалить. А лучше спрятать, мало ли.

Все. На первый взгляд все просто.)

Tuesday, 5 November 2024

Кладовая стилей: художники, дизайнеры и фотографы.

Всем привет.

Сегодня для вас третья часть от Дмитрия Невского про закрома SD, другими словами "Кладовая стилей: художники, дизайнеры, фотографы и многое другое для ваших нейросетей".

Я как-то касался этой темы, но у Дмитрия материала накопилсь больше, так что ему и слово.

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


Stable Diffusion стили

SDXL Artist Study - это ресурс для тех, кто интересуется генеративным искусством и стилями художников. На сайте собрана обширная коллекция стилей, которые можно использовать для генеративных нейросетей, таких как Stable Diffusion XL.  


Stable Diffusion Artist List - это обширный каталог художественных стилей, созданный для пользователей генеративных нейросетей, таких как Stable Diffusion XL. Помимо стилей художников на этом сайте можно найти готовые промты художников для Stable Diffusion c примерами, промт генератор, генераторы картинок и др.


Urania AI - Top Stable Diffusion Artists - это подробный список художников, чьи стили изначально были предназначены для Stable Diffusion 1.4, но они хорошо подойдут так же и для других моделей Stable Diffusion и других нейросетей.  На сайте представлены визуальные примеры работ и фильтры для поиска художников по различным жанрам и направлениям. 


Sunday, 3 November 2024

Выбираем Upscaler для Stable Diffusion.

Всем привет.

Сегодня вторая статья про Stable Diffusion от Дмитрия Невского. И статья эта про апскейлеры. Так уж повелось что SD-сообщество не стало переводить англоязычный термин про масштабирование картинок, и так это слово и осталось. Скажу честно, я вначале не придавал особого значения увеличению результатов своих творений в SD. Или не было необходимости или наивно полагал что если картинка так себе, то апскейл ей уже не поможет. Я ошибался, ибо такой апскейл это не простое масштабирование, а интеллектуальное увеличение изображения. Более того, после операций inpaint или outpaint над картинкой оно просто необходимо на финише.

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

Если кто то не знает куда их добавлять, то кладите их в папку Forge: \webui\models\ESRGAN. Я обычно их использую в Hires.fix и для апскейла в img2img, так же можно их использовать с разными расширениями и для улучшения фото на вкладке Extras.

Openmodeldb.info (free)

Сайт, где собраны все популярные апскейлеры. Здесь можно найти апскейлы на все случае жизни от фото до аниме. Они разбиты по категориям с наглядными примерами до и после, можно выбрать любой на свой вкус. Некоторые уже установлены в сборках  Automatic1111 и Forge, но может быть что то еще подберете на свой вкус, добавляйте сайт в закладки что бы не потерять. Дополнительные апскейлеры можно найти на сайте Civitai если не нашли нужные на сайте Openmodeldb.info.

Скачать можно с официального сайта https://openmodeldb.info/

Saturday, 2 November 2024

Стили в Forge и как их использовать на моделях FLUX

Всем привет.

Накидаю ка я вам парочку статей из блога Дмитрия Невского, энтузиаста от ИИ. Мне лично нравится его непредвзятая подача материала по Stable Diffusion и всего что около. Сегодня первая статья про быстрые стили в Forge/Automatic1111 и как их использовать, в том числе и на моделях FLUX.

Замечание: на сегодня модели FLUX не поддерживаются в Automatic1111.

Знаете ли вы, что правильное использование стилей в Stable Diffusion может увеличить качество ваших генераций на 300%? Да-да, вы не ослышались! А что, если я скажу вам, что большинство пользователей Stable Diffusion используют стили неправильно, тем самым ограничивая их потенциал? 

Немного терминологии

Стили в Stable Diffusion - это наборы слов или фраз, которые определяют визуальные характеристики генерируемого изображения. Они могут влиять на цветовую палитру, композицию, детализацию и общую атмосферу.

Стили могут быть как в интерфейсе - быстрые стили (имею ввиду для Forge/Automatic1111), могут быть прописаны в промпте, иногда установлены вместе с разными расширениями.

Стили в промпте (например "style by Tim Burton"):

- Модель попытается имитировать общий стиль Бертона.

- Результат может варьироваться в зависимости от других элементов промпта.

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

- Может потребовать дополнительных уточнений для получения конкретных черт стиля Бертона.

Стили в интерфейсе:

- Это предварительно составленные наборы слов, описывающие конкретный стиль.

- Обычно более подробные и специфичные, дают более конкретный и предсказуемый результат.

- Легко применяются одним кликом.

- Могут комбинироваться с другими элементами промпта.

Friday, 1 November 2024

Управляем принтерами из командной строки.

Всем привет.

Мы уже знаем что с помощью PowerShell можно автоматизировать типовые задачи управления принтерами и драйверами печати в Windows. Также одним из широко известных способов управления принтерами в системах Windows различных версий является хост-процесс rundll32.exe, которому передается имя библиотеки printui.dll и точка входа в нее (PrintUIEntry). А чуть ниже будет дан еще один штатный, уже третий, способ управления принтерами - с помощью  vbs-скриптов.

Итак использование rundll32 printui.dll,PrintUIEntry (чтобы получить все эти параметры, нужно вызвать с ключом   /? окно в котором отобразится полный список с примерами): 

rundll32 printui.dll,PrintUIEntry [параметры] [@командный файл]

/a[имя_файл] имя двоичного файла

/b[имя] основное имя принтера

/c [имя] UNC-имя компьютера, где выполняется команда

/dl удаление локального принтера

/dn удаление подключения к сетевому принтеру

/dd удаление драйвера принтера

/e вывод параметров настройки печати

/f[file] или информационный файл, или выходной файл

/F[file] размещение INF-файла, от которого может зависеть INF-файл, указанный в параметре /f

/ga добавление подключений компьютеров к принтеру (подключение распространяется на компьютер пользователя в момент входа в систему)

/ge перечисление подключений компьютеров к принтеру

/gd удаление подключений компьютеров к принтеру (подключение удаляется в момент входа пользователя в систему)

/h[arch] архитектура драйвера, принимает значения: x86, x64 или Itanium

/ia установка драйвера принтера с помощью информационного файла

/id установка драйвера принтера с помощью мастера установки драйверов принтеров

/if установка принтера с помощью информационного файла

/ii установка принтера с помощью мастера установки принтеров и информационного файла

/il установка принтера с помощью мастера установки принтеров

/in добавление подключения к принтеру

/ip установить принтер с помощью мастера установки сетевых принтеров

/j[provider] имя системы печати

/k печать пробной страницы на выбранном принтере, не может использоваться с другими командами установки принтера

/l[path] путь к исходному размещению драйвера принтера

/m[model] имя модели драйвера принтера

/n[name] имя принтера

/o показать очередь заданий на печать

/p отображение свойств принтера

/q тихий режим без вывода сообщений об ошибках

/r[port] имя порта

/s показать свойства сервера

/Ss запись параметров принтера в файл

/Sr чтение параметров принтера из файла

Monday, 28 October 2024

Release VRAM.

Hello.

Can I release VRAM of my videocard NVIDIA during the GenAI processes? Yes, there are a few ways to release VRAM without outright terminating processes, especially if you’re using GPU-accelerated libraries like PyTorch or TensorFlow, which provide methods to manage and release memory.

Here are some methods to release VRAM without killing processes:


1. Release VRAM in PyTorch

If you’re working in a PyTorch environment, you can release cached memory that’s no longer needed with `torch.cuda.empty_cache()`. This frees up any cached memory that PyTorch may still be holding onto.

```python

import torch

torch.cuda.empty_cache()  # Releases unused VRAM

```

This command does not affect active allocations but clears memory that might be cached by PyTorch.


2. Release VRAM in TensorFlow

In TensorFlow, you can reset the GPU memory allocation by clearing the session:

```python

from tensorflow.keras.backend import clear_session

clear_session()  # Releases memory used by TensorFlow

```

This is particularly helpful if you are done with a model or part of your code and want to free up GPU memory for another task.

Tuesday, 22 October 2024

Forge - сервисы Spaces по сети.

Всем привет.

В последней версии Forge появилась вкладка Spaces куда автор вынес ряд вкусных сервисов: IC-Light, Photomaker, Monster QR Lab, Florence2 и прочее. Все они оформлены виде отдельных дополнительных серверов со стартом локально  https://127.0.0.1 начиная с порта 7861. Если у вас достаточно ОЗУ то можно даже несколько их запустить при необходимости. Но вот наступает момент когда вам хочется чтобы такие сервера были доступны в вашей локальной сети. И очень быстро вы понимаете что все что находится на Spaces не имеет bat-файлов куда можно было бы вставить знакомый всем ключик listen...

Однако выход есть.

Поступаем так:

1) добавляем ключик --listen в COMMANDLINE_ARGS webui-user.bat самого Forge:

set COMMANDLINE_ARGS=--xformers --theme=dark --listen 

2) в файле webui/modules_forge/forge_space.py:

строку 

server_name = '127.0.0.1'

меняем на

server_name = '0.0.0.0'

3) запуcкаем Forge.

4) стартуем необходимый сервис с вкладки Spaces. Он напишет вам что поднят на localhost. Отлично!

5) набираем в url web-браузера другого хоста https://ipaadr:7861 (где ipaadr IP-адрес Forge сервера в вашей сети) и наслаждаемся.

Успехов.

Monday, 21 October 2024

HEIC файл?

Привіт.

Що таке HEIC-файл?

Під час зйомки зображення (або кількох зображень, якщо використовується подвійна камера або функція Live Photos) на iPhone або iPad зберігаються у форматі HEIC.

HEIC означає «контейнер зображень високої ефективності» (скорочено від англ. High Efficiency Image Container). Він є оновленим варіантом формату HEIF (скорочено від англ. High Efficiency Image Format – формат зображень високої ефективності), який компанія Apple традиційно використовує на своїх мобільних пристроях.

Навіщо я вам це пишу? А справа  в тому що з цим форматом нас здорово кинув Microsoft.

А до чого тут Гейтс, - спитаєте ви? - Це ж Apple! 

А я вам відповім. Штатний редактор Paint в Windows 10 має в своєму переліку формат HEIC як такий що може зберігати та відкривати такі файли. Та невже? А от і дзуськи! Ні того ні того він не може зробити з таким форматом. Навіть MS Photo на перегляд формату HEIC відразу біжить в MS Store за платним(!) плагіном HEVС decoder.

В мережі є порада встановити інший безкоштовний плагін для перегляду HEIC з того ж таки магазину. Не поспішайте, бо то ще один жарт від Microsoft - той плагін не працює! І не видаляється після встановлення.

Такі справи.


Saturday, 19 October 2024

Моменты Zabbix.


Всем привет.

Моя давняя шпаргалка по рабочим моментам Zabbix, которая скорее всего мне больше не понадобится, а вам как знать.

1) Housekeeper:

Q: Oбязательно ли параметр housekeeper открывать в конфиге Zabbix-а или молча использовать для этого настройки в GUI ?

A: В конфиге этот параметр регулирует частоту запуска houserkeeper'а, а в GUI настраивают сроки очистки данных в БД, которые очищает как раз housekeeper. Если его не запускать, очистки данных у вас не будет какие бы параметры вы не настроили в GUI.


2) Clone vs Full Clone:

Нажатие на Клонировать сохранит все параметры узла сети и все соединения с шаблонами (с сохранением всех объектов из этих шаблонов). 

Полное клонирование дополнительно сохранит все напрямую добавленные объекты (элементы данных, триггеры, графики и группы элементов данных).

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


3) Service:

cчитается что для мониторинга любого сервиса достаточно следить всего за 4-мя его параметрами:

  • Latency -  время, которое занимает обработка запроса. Неплохо бы разделять время для корректных ответов и ошибок.
  • Traffic - количество запросов, приходящих к сервису. Например, rps для http-сервисов или bandwidth для стриминга.
  • Errors - запросы, обработанные с ошибками.
  • Saturation - насколько заполнен сервис. Например, для диска это общий объем и занятое место.

Tuesday, 15 October 2024

Network Monitor - Wireshark на минималках.

Всем привет.

Microsoft Network Monitor это классический инструмент сетевой диагностики для Windows, которой позволяет выполнить захват и анализ входящего и исходящего трафика на компьютере. Несмотря на то, что это продукт не развивается и не обновляется уже много лет, его часто используют администраторы, когда нужно выполнить диагностику сетевых подключений. NetMon предоставляет на порядок меньше возможностей и не так хорош в расширенном разборе пакетов, по сравнению с популярным инструментом захвата и анализа WireShark. Однако графический интерфейс Network Monitor гораздо проще и интуитивнее, да и сам продукт легче для старта. 

Сегодня мы рассмотрим, как использовать Network Monitor для захвата и анализа сетевого трафика в реальном времени и для снятия дампа трафика для последующего анализа.

На список поддерживаемых версий ОС не обращайте внимания, он чудесно работает и на Windows 10 и на  Windows 2019. Установить Microsoft Network Monitor 3.4 (последняя версия, другой уже не будет) можно, скачав установщик (NM34_x64.exe) с сайта Microsoft (https://www.microsoft.com/en-us/download/details.aspx?id=4865), или установить пакет с помощью пакетного менеджера winget: winget install Microsoft.NetMon

После установки, запустите Network Monitor с правами администратора.

В окне NetMon нажмите New Capture. По умолчанию Network Monitor, собирает весь трафик, проходящий через интерфейсы компьютеры. За длительный промежуток времени размер такого сетевого дампа может быть весьма значительным. Нажмите кнопку Capture Settings. В этом окне можно настроить фильтры, которые определяют какой трафик должен собирать NetMon. В разделе Load Filter -> Standard Filters есть несколько шаблонов фильтров для типовых задач. В нашем случае нам нужен фильтр по TCP портам. Выберите TCP-> TCP ports.

Friday, 11 October 2024

Детектим виртуалку.

Всем привет.

Известно что для исследования зловреда нужна песочница. В бюджетном варианте какая-нибудь виртуалка с Windows 7 на борту. 10-ку для этого не советуют ибо там кода который следит за вами, и за самим собой немеряно. Но хакеры ребята умные, и потому не леняться писать детекторы виртуального окружения в свой зловред тоже. Честно говоря,  я был удивлен когда мне предложили спрятать виртуалку простой правкой реестра, как на рисунке.

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

Как распознать виртуальную машину?

Во-первых, любая виртуальная машина несет на своем борту какое-нибудь специфическое оборудование. Это касается видеоадаптера, жесткого диска, идентификатора процессора, версии BIOS, MAC-адреса сетевой карты.

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

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

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

Что же касается общих признаков наличия виртуальной машины, предложенных в свое время госпожой Рутковской (характерное расположение таблиц IDT, GDT и LDT, а также время выполнения операций процессором), то в настоящий момент все эти признаки трудно поддаются анализу и приведению к какому-нибудь общему знаменателю, главным образом из-за многоядерности и многоликости современных процессоров.

Thursday, 10 October 2024

Уровни безопасности ComfyUI Manager.


Всем привет.

Нам машет ComfyUI Manager: This action is not allowed with this security level configuration.

Многие пользователи, которые только начинают пользоваться интерфейсом ComfyUI, возможно, сталкивались с таким сообщением при работе с ComfyUI Manager. Они часто называют его ошибкой по своему незнанию предмета. Когда вы пытаетесь установить расширение из GitHub, то видите неприятное сообщение о том, что установка невозможна. "This action is not allowed with this security level configuration" - т.е это действие не разрешено при данном уровне безопасности конфигурации.

Это связано с недавними изменениями в ComfyUI-Manager:

* V2.48.1: Security policy has been changed. Downloads of models in the list are allowed under the 'normal' security level.

* V2.47: Security policy has been changed. The former 'normal' is now 'normal-', and 'normal' no longer allows high-risk features, even if your ComfyUI is local.

* V2.37 Show a ✅ mark to accounts that have been active on GitHub for more than six months.

* V2.33 Security policy is applied.


Где искать и править?

1. Перейдите в директорию ComfyUI/custom_nodes/ComfyUI-Manager и найдите там файл config.ini.

2. Откройте файл config.ini в режиме редактирования.

3. Найдите строку security_level = <LEVEL>, если такой строки нет(у меня так было), то просто допишите её в самом конце.

4. Выберите уровень безопасности, который вам подходит(?) и пропишите его:

security_level = normal-

Wednesday, 9 October 2024

Параметри WiFi.

Всім привіт.

Ви напевно знаєте, що я люблю користуватися BGInfo. Впевнений що це дуже корисна утіліта для користувача. На днях я вирішив переписати блок коду щодо отримання параметрів мережі, особливо бездротової: назву SSID, номер каналу, рівень сигналу та швидкість передачі даних.

Перший запит відбувається просто:

Get-NetAdapter -Physical | where Status -eq "Up" | select Name,LinkSpeed

а решту параметрів отримуємо з вихлопу netsh wlan show interfaces. І ось тут є цікавинка - LinkSpeed від першого запиту то значення передачі даних адаптера. Як на мене дивно, бо в серфінгу по Інтернет трафік на отримання даних переважає трафик передачі на порядок. Навіщо тоді мені така LinkSpeed? Тому швидкість передачі та отримання я також беру з netsh.

Ось мій код:

 $a = Get-NetAdapter -Physical | where Status -eq "Up" | select Name,LinkSpeed

if (($a.Name -like "Wi-Fi*") -or ($a.Name -like "Беспроводная*")) {

    # It's a Wi-Fi interface

    $b = (get-netconnectionProfile).Name 

    $if01 = (netsh wlan show interfaces)

    $c = $if01 -Match '^\s+Channel' -Replace '^\s+Channel\s+:\s+',''

    $d = $if01 -Match '^\s+Signal' -Replace '^\s+Signal\s+:\s+',''

    $receiveRate = $if01 -Match '^\s+Receive rate \(Mbps\)' -Replace '^\s+Receive rate \(Mbps\)\s+:\s+', ''

    $receiveRate = "$receiveRate Mbps"

    $transmitRate = $if01 -Match '^\s+Transmit rate \(Mbps\)' -Replace '^\s+Transmit rate \(Mbps\)\s+:\s+', ''

    $transmitRate = "$transmitRate Mbps"


# це якщо бажаєте вивести значення в один рядок

#$a.Name+':' +$b +',Ch:' +$c+',Up:' +$d+ ',In:' +$receiveRate+',Out:' +$transmitRate

    Write-Host $a.Name':'$b

    Write-Host 'Channel:'$c

    Write-Host 'Level:'$d

    Write-Host 'Input:'$receiveRate

    Write-Host 'Output:'$transmitRate

    }

else {

    # It's an Ethernet interface

    $a.Name+': '+$a.LinkSpeed

}

 А так виглядає результат:

Щасти.


Tuesday, 8 October 2024

Ручне оновлення в СomfyUI

Привіт усім.

Час від часу мій ComfyUI потребує до себе уваги на рівні командного рядка. Тому я вже маю шпаргалку коли мушу виконувати такі дії як оновлення окремого пакету python. Можливо і вам стане у нагоді.

Оновити pip (дуже часто таке вимагає консоль):

..\python_embeded\python.exe -m pip install --upgrade pip

Підняти версію diffusers до 0.30.3 (якщо того вимагає чергова custom node, але ви не маєте часу виясняти яка саме):

..\python_embeded\python.exe -m pip install diffusers==0.30.3

Оновити інтерфейс керування comfy_cli:

..\python_embeded\python.exe -m pip install --upgrade comfy_cli

Встановити бібліотеку insightface:

..\python_embeded\python.exe -m pip install insightface-0.7.3-cp310-cp310-win_amd64.whl

Встановити все що вимагає нода ComfyUI-SUPIR:

..\python_embeded\python.exe -m pip install -r ..\ComfyUI\custom_nodes\ComfyUI-SUPIR\requirements.txt

Оновити саме СomfyUI:

..\python_embeded\python.exe .\update.py ..\ComfyUI\

До речі за задумкою автора СomfyUI такого оновлення повинно вистачити у більшості випадків. Тому він попереджає нас так:

This will try to update pytorch and all python dependencies, if you get an error wait for pytorch/xformers to fix their stuff. You should not be running this anyways unless you really have to. If you just want to update normally, close this and run update_comfyui.bat instead.

Але якщо нам кортить працювати з новою версією pytorch та xformers (на свій власний ризик!) то ми робимо наступне:

..\python_embeded\python.exe -s -m pip install --upgrade torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu124 xformers -r ../ComfyUI/requirements.txt pygit2

або так, якщо нас цікавить версія developer:

..\python_embeded\python.exe -m pip uninstall torch torchvision torchaudio -y

 ..\python_embeded\python.exe -m pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124

З свого досвіду загальний порядок такий: спочатку оновлюєте СomfyUI, потім робите повний ребут сервера, потім оновлюєте всі встановлені custom nodes, і знову робите повний ребут. Під час цього уважно слідкуєте за всім що пише (або свариться) консоль СomfyUI.

Щасти.

Monday, 7 October 2024

Защита сетевого оборудования.


Всем привет.

Хотя я уже далек от администрирования сетевого оборудования, но для тренировки мозга время от времени пользуюсь виртуальными лабораториями типа  CSRv, FTDv, APIC-EM. Разумеется я не мог не обратить внимания на свежее издание Базаров М. М. "Сети глазами хакера", СПб.: БХВ-Петербург, 2025. Сразу видно что ввиду внешней политики страны издания в первую очередь страдают умные головы в той же стране. Так и здесь, знаменитое издательство "БХВ-Петербург" последние годы все чаще просто переиздает популярные книги прошедших лет, либо книги современных ИТ-писателей из Индии. В данном случае изданы "записки на полях" сетевого инженера-практика. Прошу прощения, но ниже главу из книги я вычитывал трижды, хотя опечатки могли все равно остаться.

Безопасность телекоммуникационных устройств - вопрос острый, особенно в по­следнее время. Атаки на инфраструктуры провайдеров происходят все чаще. Сегодня я покажу вам,  как можно защитить сетевое оборудование от потенциального вторжения. Все команды я буду демонстрироваться на Cisco IOS. Однако сами механизмы безо­пасности реализованы у всех вендоров, отличия лишь в иерархии расположения компонентов и синтаксисе. 

Безопасность коммутационной матрицы САМ 

У Cisco IOS  есть несколько проблем сетевой безопасности.  Давайте посмотрим, на какие из них стоит обратить внимание в первую очередь. 

САМ (Content  Addressable  Memory)  - это  ассоциативная память коммутатора, внутри которой хранится таблица МАС-адресов и связанных с ними портов. Это несложный механизм, однако уже очень давно существует хулиганский вектор DоS-атаки, при которой атакующий переполняет САМ-таблицу с  помощью рас­сылки  Ethernet-кaдpoв  с  рандомизирующимися  МАС-адресами  источника,  что перебивает коммутационную матрицу.  Очень известный прием, но не упомянуть о нем я не могу. 

Защитить САМ-таблицы своих коммутаторов очень просто, достаточно использо­вать Port Security. В нашем случае эта настройка подходит для ограничения количе­ства МАС-адресов за портом коммутатора.  Допустим, если мы настроим ограниче­ние в 20  МАС-адресов на порту, а атакующий начнет в эфире флуд (каким-нибудь macof), то к порту будут уже применяться ограничения - в зависимости от настро­енной политики.  Вот пример конфигурации, при которой ставится ограничение в два МАС-адреса,  а при нарушении этого ограничения порт будет выключен. 

Router01(config)#  interface  range  gX/X 

Router01(config-if)#  switchport port-security maximum  <value> 

Router01(config-if)#  switchport port-security violation shutdown 

При такой конфигурации в момент нарушения политики МАС-адресов порт будет переведен в состояние err-disabled. Чтобы настроить автоматическое восстановле­ние порта из этого состояния, понадобится еще одна команда: 

Router01(config)#  errdisaЬle recovery  interval  120 

Router01(config)#  errdisaЬle recovery  cause  psecure-violation 

Friday, 4 October 2024

Лаборатория с REMnux.

Всем привет.

Форензика (Forensics) - это компьютерная криминалистика, наука о расследовании киберпреступлений, то есть прикладная наука о раскрытии преступлений, связанных с компьютерной информацией. Неотъемлемой частью форензики является исследование цифровых доказательств, использование методов поиска, получения и закрепления данных доказательств.

Когда произошел инцидент, необходимо оперативно получить ответы на следующие вопросы:

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

Форензика делится на следующие направления:

  • computer forensics – к ней относится все, что связано с поиском артефактов взлома на локальной машине: анализ ram, hdd, реестра, журналов ОС и т. д.;
  • network forensics – анализ сетевого трафика;
  • forensic data analysis – посвящена анализу файлов, структур данных и бинарных последовательностей, оставшихся после атаки или использовавшихся при вторжении;
  • mobile device forensics – занимается всем, что касается особенностей извлечения данных из android и ios;
  • hardware forensic – экспертиза аппаратного обеспечения и технических устройств прошивки, bios и т. д.

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

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

Экспертиза взломанного хоста состоит из Статического анализа и Динамического анализа.

Статический анализ

Задачи статического анализа:

  • создать образ жесткого диска или дампа оперативной памяти;
  • выявить и восстановить удаленные файлы;
  • остатки аномальных файлов в %temp% и системных директориях;
  • собрать историю серфинга веб-браузера;
  • системные логи события авторизации;
  • аудит доступа к файлам и директориям и т. д.;
  • получить список запущенных в памяти процессов и открытых коннектов сети.

Thursday, 3 October 2024

Автоматическая настройка proxy сервера.

Всем привет. 

В сети сравнительно мало информации об такой замечательной вещи как «Автоматическая настройка прокси сервера». Суть технологии заключается в том, что браузер читает специальный файл написаный на языке JavaScript, в котором определена только одна функция:

function FindProxyForURL(url, host)

{ .. }

где,

url – полный URL запрашиваемого документа

host – имя поста извлекаемое из URL. Этот параметр необходим только для удобства. Он содержит всё от :// и до первого / или :. Номер порта не включается в этот параметр.

Функция возвращает строку содержащую один или несколько способов доступа к запрашиваемому документу. Формат строки следующий:

null - если строка null, то использовать прокси сервер не нужно;

DIRECT - прямое соединение без использования прокси сервера;

PROXY host:port - определяет какой именно прокси сервер необходимо использовать;

SOCKS host:port - определяет SOCKS сервер который необходимо использовать.

Wednesday, 2 October 2024

Как использовать Flux, SD3 и KOLORS в Fooocus.

Всем привет.

Как использoвать Flux, SD3 и KOLORS в Fooocus (по материалам Дзен.ру).

Многие пользователи Fooocus на форумах уже задавались вопросом:  можем ли мы использовать новую модель Flux в нашем любимом интерфейсе? Официальной информации от разработчика на этот счёт пока нет. Но то, что писал mashb1t на своём Github, говорит о том, что по крайней мере пока нам не светит работа с Flux в Fooocus. Его право.

Однако, благодаря неугомонным энтузиастам нашелся выход. Если вы пользуетесь только Fooocus и не хотите(и напрасно!) осваивать другие интерфейсы, такие как Forge, Automatic1111 и SwarmUI, то можно попробовать установить SimpleSDXL2. Это тот же Fooocus только "по китайски" с поддержкой работы моделей Flux, SD3 и KOLORS. Да, пока местами сыровато и непривычно, но Оно работает! И тем кто привык к удобству Fooocus может пригодиться. 

Неужели  mashb1t не смог, а какой-то студент из Шанхая смог, подумаете вы? Вовсе нет. Ответ прост - все что связано с Flux, SD3 и KOLORS  в SimpleSDXL2  реализуется через бекенд ComfyUI. Вот такой вот вышел комбайн с интерфейсом Fooocus-a.

Начнем как обычно с того, откуда и как скачать, и что с этим всем делать. Переходим по ссылке на Hugging Face и скачиваем вот этот файл (SimpleSDXL2_win_dev.exe.7z0912). После загрузки нужно создать папку, где будет лежать ваш SimpleSDXL2. Скачанный файл нужно переименовать, то есть удалить цифры в конце имени файла. В итоге у вас получится имя файла с расширением .exe - SimpleSDXL2_win2.exe. Это обычный zip-архив, который распаковывается автоматически. Для этого нужно просто нажать на него, указать путь для распаковки и немного подождать. После того как вы распакуете архив, перейдите в папку и запустите пакетный файл run_SImpleSDXL.bat.

Подождите, пока загрузятся необходимые зависимости. Если вы уже используете Fooocus, то перед запуском файла рекомендуется скопировать ваш уже настроенный файл конфигурации Fooocus (config.txt) в папку SimpleSDXL. Наличие готового файла конфигурации упростит процесс запуска и избавит вас от скачивания кучи ненужных моделей которыми вы вполне возможно и не воспользуетесь никогда.

Внимание: многие пользователи пишут, что для использования интерфейса необходимо скачать огромное количество дополнительных файлов. Для чего мне не совсем понятно, потому что достаточно скачать и распаковать указанный выше архив, а затем загрузить модели Flux, которые вам нужны для работы. Все! Дополнительно не нужно скачивать 30-40 гигабайт архивов которые внутри содержат только модели. Кстати размер общего файла в репозитории под 50 Гб многих отпугивает от использования SimpleSDXL, что вполне не заслуженно. Но если Flux-модели весят уже по 20 Гб то пора бы и привыкнуть.

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


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

Чтобы начать работать с Flux, необходимо выбрать preset Flux+ это Flux[schnell] или Fluxdev, режим для [DEV] моделей (верхняя панелька). Автоматически начнет загружаться модель Flux NF4. Поэтому лучше заранее прописать в config.txt путь с расположением вашей модели (если вы ее скачали заранее).

Tuesday, 1 October 2024

Запуск PowerShell из Python.

Всем привет.

Рассмотрим простой метод интеграции Python и PowerShell.

Самое простое выглядит так что если бы мы смогли исполнять CmdLet PowerShell из Python и перехватывать результаты. Так как PowerShell является неким исполняемым процессом, тем самым мы можем применять стандартную библиотеку Python, предоставляющую возможность запуска поцессов. Это делается с применением стандартной библиотеки subprocess. В Python для применения любой стандартной или сторонней библиотеки вам следует импортировать её. В данном случае это просто:

import subprocess 

Это предоставляет доступ к методам и свойствам, содержащимся в данной библиотеке subprocess. Доступно монжество вариантов - наиболее популярным является применение метода check.output, который исполняет предписанный процесс и возвращает полученный результат. Вот некий пример:

runningProcesses = subprocess.check_output("powershell -Executionpolicy ByPass -Command Get-Process") 

Существует также аналог асинхронного варианта вызова подчинённого процесса, вызов метода await asyncio.create_subprocess_shell()), подробнее в книгах Asyncio в Python 3 Цалеба Хаттингха и Полном руководстве параллельного программирования на Python Куан Нгуена:

import asyncio

async def run(cmd):

    proc = await asyncio.create_subprocess_shell(cmd, stdout=asyncio.subprocess.PIPE,      stderr=asyncio.subprocess.PIPE

    )

    stdout, stderr = await proc.communicate()

    print(f'[{cmd!r} exited with {proc.returncode}]')

    if stdout:

        print(f'[stdout]\n{stdout.decode()}')

    if stderr:

        print(f'[stderr]\n{stderr.decode()}')

asyncio.run(run('powershell -Executionpolicy ByPass -Command Get-Process'))

Saturday, 28 September 2024

Про DNS Client Cache.


Всем привет.

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

В какой-то мере в инструкциях по forensics стороной обходится крайне полезный для локальных и удалённых расследований командлет PowerShell - Get-DNSClientCache.

Кэш клиента DNS, или иначе DNS преобразователь (resolver) является локальной базой данных, сопровождаемой самой операционной системой. Он содержит свидетельчтва последних посещений на веб сайты и прочие местоположения в Интернете. Проще говоря, кэш DNS Клиента это просто некая запись последних запросов DNS, которые ускоряют доступ к уже определённым IP- адресам вебсайтов. Имейте в виду, что очистка истории вашего веб браузера для сокрытия вашей активности не включает кэш преобразователя DNS самих oперационных систем. Многие программы очистки будут очищать этот кэш, однако пользователи могут его пропускать, а он может служить важным свидетельством недавней активности. Кто про такое помнит?

Сам DNS (сервис доменных имён), предоставляет некую трансляцию из дружественных пользователю имён, таких как microsoft.com, google.com и python-forensic.org в IP- адреса, по которым они располагаются. Всякий раз когда вы вводите в своём браузере нечто подобное www.amazon.com, осуществляется поиск DNS для трансляции читаемого человеком адреса в некий IP адрес, по которому можно выполнить доступ.

Запуск процесса Get-DNSClientCache после очистки (ipconfig /flushdns) имеющегося кэша приводит к следующим результатам (альтернатива просмотра ipconfig /displaydns):

PS C:\WINDOWS\system32> Get-DnsClientCache | Select-Object -Property Entry 

Пусто! Естественно, CmdLet ничего не возвращает, поскольку DNS кэш пустой.

Tuesday, 24 September 2024

Управление настройками сети с PowerShell, часть 2.


Всем привет.

Продолжим дергать сетевые настройки с помощью Powershell. Начинал я это делать еще здесь

А сегодня продолжим работу вместе с другим гуру ИТ-администрирования. Сегодня мы рассмотрим основные командлеты, которые позволяют узнать текущий адрес сетевого адаптера, назначить статический IP адрес, DNS сервера, или настроить сетевой интерфейс на получение конфигурации IP от DHCP сервера. Вы можете использовать эти командлеты для настройки сети как в Windows 10/11, так и в Windows Server (или версии Sever Core), в Hyper-V Server, для изменения настроек IP сетевых адаптеров на удаленных компьютерах, и в PowerShell скриптах.


Содержание:

  • Управление сетевыми адаптерами в Windows из PowerShell
  • Вывести настройки IP сетевого подключения с PowerShell
  • PowerShell: задать статический IP адрес в Windows
  • Set-DnsClientServerAddress: настроить адреса DNS серверов
  • Управление таблицей маршрутизации с помощью PowerShell
  • PowerShell: получить IP адрес в Windows от DHCP сервера
  • Изменить параметры IP и DNS на удаленном компьютере Windows

В предыдущих версиях в Windows для управления сетевыми настройками из cmd использовалась из CLI использовалась команда netsh. В PowerShell 3.0 и выше для управления сетевыми настройками Windows можно использовать встроенный PowerShell модуль NetTCPIP.

Чтобы получить список командлетов в этом модуле, выполните:

get-command -module NetTCPIP

В этот модуль также входит командлет Test-NetConnection, который можно использовать для проверки доступности TCP портов на удаленных компьютерах.


Управление сетевыми адаптерами в Windows из PowerShell

Выведите список доступных сетевых интерфейсов в Windows:

Get-NetAdapter

Командлет возвращает имя интерфейса, состояние (Up/Down), MAC адрес, скорость на порту.


Чтобы вывести только активные физические сетевые интерфейсы:

Get-NetAdapter -Physical | ? {$_.Status -eq "Up"}

Можно вывести только определенные параметры сетевых адаптеров, например: имя, скорость, состояние и MAC адрес:

Get-NetAdapter |Select-Object name,LinkSpeed,InterfaceOperationalStatus,MacAddress


В Windows могут присутствовать скрытые сетевые адаптеры. Чтобы вывести их все, добавьте параметр IncludeHidden:

Get-NetAdapter –IncludeHidden

Команда вернет в том числе все виртуальные WAN Miniport адаптеры, которые используются для различных типов подключений включая VPN. Перезапуск этих адаптеров часто позволяет решить некоторые ошибки VPN подключений с помощью встроенного клиента Windows. Для управления сетевыми подключениями VPN доступны отдельные команды PowerShell.


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

Get-NetAdapter -Name Ethernet0

или

Get-NetAdapter -InterfaceIndex 8

Sunday, 22 September 2024

PowerShell и Wi-Fi.

Всем привет.

Обычно все операции по настройке и выводу информации о сигналах Wi-Fi устройств в системе Windows происходят через окна, то есть графический интерфейс. Сегодня же рассмотрим, как можно применить командную строку PowerShell для отображения такой же и другой информации.   И пусть вас не смущает что в большинстве случаев будут использованы вызовы netsh-команд, которые по сути не являются командлетами PowerShell.

По правде говоря материал почти полностью заимствован из журнала "Системный администратор" №11 за 2021-й год у Сергея Болдина. Но подобное я находил и на других ресурсах сети.

Проверка уровня Wi-Fi сигнала 

Определить уровень сигнала сети (SSID) графически легко – посмотреть на иконку с полосками. Выполнив несложные команды в среде PowerShell, можно получить “цифровой” результат. 

Видимость 3-х полосок на иконке Wi-Fi сигнала говорит о хорошем качестве сигнала (уровень 75 до 100%), 2 полоски – качество среднего уровня (между 50 и 75%), 1 – плохой сигнал (ниже 50 %). Здесь не отображаются значения в виде цифр, зато такое точное значение можно получить с помощью команды: 

netsh wlan show interfaces

Если же нужно видеть только значение уровня сигнала, то другую информацию можно не выводить, указав соответствующие параметры:

(netsh wlan show interfaces) -Match '^\s+Signal' -Replace '^\s+Signal\s+:\s+',''

С помощью скрипта PowerShell можно для пользователя выводить всплывающее окно с уведомлением уровня сигнала, например, менее 25%:

$c_level=(netsh wlan show interfaces) -Match '^\s+Signal' -Replace '^\s+Signal\s+:\s+','' | Out-String

If ($c_level.replace('%','') –le 25)

{

Add-Type -AssemblyName System.Windows.Forms

$global:msg = New-Object System.Windows.Forms.NotifyIcon

$path = (Get-Process -id $pid).Path

$msg.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)

$msg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Warning

$msg.BalloonTipText = “Уровень Wi-Fi сигнала менее $c_level,

Рекомендуем вернуться к точке доступа!”

$msg.BalloonTipTitle = "Внимание $Env:USERNAME"

$msg.Visible = $true

$msg.ShowBalloonTip(10000)

}

Замечание: рекомендация пользователю вернуться к точке доступа может прозвучать странно ибо ему не всегда известно где же та АР находится.) Тут на ваше усмотрение.

Saturday, 21 September 2024

Wi-Fi хотспот на Windows.

Всім привіт. 

Я вже казав вам що в разі потреби можно швидко зробити WiFi хотспот зі свого ноутбука. Але є нюанс, який ви маєте перевірити завчасно.

Для створення власної точки доступу необхідно використовувати функцію Wireless Hosted Network. Саме така мережа відповідає за роздачу Інтернету з ноутбука. Але спочатку необхідно перевірити її підтримку. Нам знадобиться лише команда CMD (командний рядок), запущений з правами адміністратора. Для перевірки пристрою набираємо у командному рядку команду:

netsh wlan show drivers

Для нас у цьому результаті необхідно дізнатися значення лише одного параметра: Hosted network supported.


Якщо параметр має значення "No", необхідно перевірити в "Диспетчер завдань" пристрій адаптера WIFI. Якщо навіть після успішного встановлення драйвера пристрою значення не змінюється, пробуємо оновити драйвер. Але це трохи лотерея.

Tuesday, 17 September 2024

Wi-Fi report in Windows.

Всім привіт.

Колись давно я проводив діагностику мережі з Get-NetView. Але сама Windows 11 для цього має функцію для пакетної генерації детального звіту про історію підключень бездротової мережі (Wi-Fi) вашого комп'ютера. 

Звіт містить детальну інформацію про:

1. Мережі Wi-Fi, до яких ви підключалися

2. Тривалість сеансу

3. Будь-які помилки які трапились в роботі мережі

4. Доступні мережні адаптери 

5. Інші дані, виведені кількома командами в інтерфейсі командного рядка (наприклад командний рядок або PowerShell.)

Тобто якщо ви навчитеся користуватися цим інструментом, він може бути корисним для діагностики проблем з підключенням Wi-Fi.

Як створити звіт про безпроводову мережу в Windows? 

Виявляється це надто просто. Можливо ця команда з'явилася нещодавно бо раніше я її в netsh не помічав. Запустіть від імені Адміністратора вікно командного рядка та введіть наступну команду, а потім натисніть клавішу Enter :

netsh wlan show wlanreport

Це все, звіт готовий!  Знайдете його тут C:\ProgramData\Microsoft\Windows\WlanReport



Звіт про безпроводову мережу створено у вигляді HTML-файлу, який можна відкрити у веб-браузері. У звіті відображаються всі події Wi-Fi за останні три дні та групуються за сеансами підключення Wi-Fi. Він також відображає результати кількох сценаріїв командного рядка, пов'язаних із мережею, і список усіх мережних адаптерів на вашому комп'ютері.

Friday, 13 September 2024

Интерфейс Comfy CLI


Всем привет.

Хорошая новость - существует кросс-платформенный интерфейс управления ComfyUI в режиме командной строки Comfy, т.е. CLI.

Для обычного пользователя ComfyUI он может быть и не нужен, но это пока. Пока пользователь справляется со своими эмоциями от паутинок(workflow) ComfyUI мы попробуем ComfyUI CLI. Поскольку ниже я пересказываю примеры одного гуру (источник), то все примеры кода и его расположения выбраны им, хотя как по мне, он слишком глубоко копнул эту тему. Фанат одним словом.

Ok, тогда пойдем дальше. Все примеры ниже приведены исходя из того, что Python находится по пути "c:\p311" (версия 3.11), а устанавливать Comfy мы будем в папку "d:\3".

Для начала создадим виртуальное окружение Python-а "venv" (замечание: обычно ComfyUI из коробки не использует модуль venv, но работать с ним может):

    c:\p311\python -m venv d:\3\venv

Если мы все правильно сделали, то у нас по адресу "d:\3"появится папка "venv". Запомним, что вызывать Python из этой установки нам надо командой:

    d:\3\venv\Scripts\python.exe

и все обращения к Python мы будем производить именно этой командой, с указанием полного пути к нему. Итак, у нас установлен "чистый" Python, т.е. без всяких пакетов. 


Варианты установки Comfy CLI

1. Устанавливаем Comfy CLI как инструмент командной строки для ComfyUI:

    d:\3\venv\Scripts\python -m pip install comfy-cli

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

    d:\3\venv\Scripts\Comfy

и получим справку по управлению Comfy из режима командной строки. 

Самое святое это запросить номер версии Comfy CLI: