avk013.blogspot.com - другой мой блог "C# and etc"

среда, 17 сентября 2025 г.

модуль отправки сообщений и фото в мессенджер Ватсап, перспективно сервис MessHub2

Аксиома:
 1. Бесплатно бота нам Американская Цель не дает
Поправки:
1. У меня есть браузер,
2.Я могу сохранить сессию в папке локального пользователя
3. Я могу нажимать на кнопки программно
Инструменты:
1. AI модели
2. Linux + X.
3. Venv
Мотивация:
1. Сделать это ( скрытое: что-то, кому-то доказать )
2. Альтернативная без телеграмм реализация, валидная от СБ в стране.
3. Производственная необходимость
Спонсор:
1. Человеческие условия труда

messhub2

16.09.2025.....наконец-то пошли текстовые сообщения, это прорыв, 1 неделя на нажатие кнопки отправить :) в тексте,  и 2 недели на окно с Картинкой без отправки.... - прорыв но отсылается картинка в качестве стикера.
17.09.2025....седые волосы, бан от моделей АИ....НО мы сделали это.....все оказалось проще чем сам путь, вопрос на долго ли.... Тестирование, не нравятся задержки интерфкйса, но это граничит с баном от компании.
21.09.2025...2е суток в реальных условиях испытаний следующей версии, коды выложу позже, есть часть (в виде сервиса) которая обслуживает очередь и кидает в мессенджер, вторая крутится возле прикладной программы подпрограммой и создает очередь, соприкосновение только папкой очереди. messhub2v4 

воскресенье, 14 сентября 2025 г.

Подключение китайского регистратора от Hangzhou Xiongmai Technology Co. к регистратору HikVision по протоколу rtsp

Бесплатное ПО от  HikVision просто убивает вычислительные ресурсы ПК, понадобилось какое-то время чтобы я пришел к тому, что китайская плата регистратора может показывать rtsp потоки от регистратора  HikVision (Юра..ка представитель от Viatek, который "толакет" компы с игровыми видеокартами для поста видеонаблюдение - ПРИВЕТ!!!!).
====================

1. Альтернативным способом показывать поток в обычном проигрывателе:

у меня VLC и  PotRlayer
согласились показывать поток 7 от регистратора 192.168.0.9 в виде:
rtsp://login:password@192.168.0.9:554/Streaming/Channels/701
и дополнительный
rtsp://login:password@192.168.0.9:554/Streaming/Channels/702
====================

2.Регистратор на плате:  XM/HiSilicon  AHB8004R-MH-NVT

прошивка "V4.03.R11.00000227.12001.131700.0000000 BuildDate: 2023-09-18 16:32:09"
до этого НЕУДАЧНО пробовал на неновом регистраторе NBD8004R-PL с прошивкой "V4.03.R11.00000203.12001.130000.0000000 BuildDate: 2019-07-30 16:50:44", там есть поддержка onvif но нет rtsp.
Через сетевое ПО можно даже не пытаться ... у меня корректно занести устройство rtsp не удалось.
Итак только локально...


и случайно выбранный DVR вместо HVR, заставил погрузиться в конфиг, который можно забекапить....это обычный архив, в котором хранятся локальные конфиги общей системы регистратора, в котором есть папка JSON в которой опять в архивах хранятся файлы (в моей версии по 2: нынешний и предыдущий) и нас интересует NetWork~ в котором есть раздел нашей камеры внешнего регистратора 

{
  "ConnType": "SINGLE",
  "Decoder": [
    {
      "Channel": 0,
      "ConfName": "chConfig",
      "DevType": "HVR",
      "Enable": true,
      "IPAddress": "192.168.0.9",
      "Interval": 10,
      "MacAddr": "",
      "MainRtspUrl": "rtsp://192.168.0.9:554/Streaming/Channels/701",
      "PassWord": "test1290",
      "Port": 554,
      "Protocol": "RTSP",
      "SerialNo": "",
      "StreamType": "MAIN",
      "SubRtspUrl": "rtsp://192.168.0.9:554/Streaming/Channels/702",
      "TransModel": 0,
      "UserName": "test"
    }
  ],
  "EnCheckTime": true,
  "Enable": true,
  "SingleConnId": "0x00000001",
  "SynchResolution": true,
  "TourIntv": 10
}

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



четверг, 28 августа 2025 г.

dokuwiki + .htapasswd + docker

 казалось бы простая "модификация" стандартного докера, заняла немало времени.
Что тут такого? пещерная "HTTP Basic Authentication" как лишняя проверка и слепость разных ИИ в интеграции настроек.

Итак:
cat docker-compose.yml
services:
  web:
    image: ghcr.io/linuxserver/dokuwiki:latest
    container_name: dokuwiki
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - ./dokuwiki_config:/config
      - ./.htpasswd:/etc/nginx/.htpasswd
      - ./nginx-auth.conf:/config/nginx/site-confs/custom.conf
    ports:
      - "127.0.0.1:80"
      - "127.0.0.1:443"
    restart: unless-stopped
    network_mode: bridge
 cat nginx-auth.conf
# Добавление Basic Auth к существующему блоку server
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;

=============
.htpasswd делается стандартным способом
ну наличие папки dokuwiki_config в корне с этими файлами.
IP вместо 127.0.0.1 но можно и по другому.....
В папке:
docker compose up -d
docker compose logs -f

Плюшка:
попадаем внутрь докера, кривыми ручками:
docker exec -it dokuwiki /sbin/apk update
docker exec -it dokuwiki /sbin/apk add mc
docker exec -it dokuwiki mc
Но это только на сессию докера....может оно и к лучшему, все что нужно поменять на свое притягиваем через volumes в docker-compose.yml

вторник, 26 августа 2025 г.

вредные советы, можно сказать: "неожидал"

1. Бесконечное монтирование

 mount --bind источник приемник
делаем в цикле бесконечное количество раз.....и желательно чтобы одна из папок была удаленным сетевым ресурсом

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

2.

понедельник, 18 августа 2025 г.

Windows клавиатура: Отключение действия кнопки питания, Отключение действия кнопки спящего режима

 вдруг захотелось автоматизировать отключение вредных клавиш для эмоциональных людей, сгенерировано АИ

Windows Registry Editor Version 5.00


; Отключение действия кнопки питания (действие не требуется)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\4f971e89-eebd-4455-a8de-9e59040e7347\7648efa3-dd9c-4e3e-b566-50f929386280]

"Attributes"=dword:00000002

"ACSettingIndex"=dword:00000000

"DCSettingIndex"=dword:00000000


; Отключение действия кнопки спящего режима (действие не требуется)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\4f971e89-eebd-4455-a8de-9e59040e7347\96996bc0-ad50-47ec-923b-6f41874dd9eb]

"Attributes"=dword:00000002

"ACSettingIndex"=dword:00000000

"DCSettingIndex"=dword:00000000

понедельник, 4 августа 2025 г.

vsftpd с папкой, которая находится на другом iscsi узле (однозначно извращение)

 После неудачных попыток подключения к одному и тому же пространству iscsi второго клиента (вероятно недоработка программного обеспечения NAS полки), было решено использовать ftp сервер уже подключенного клиента.

Действующие элементы (все все из семейства Linux):

1. NAS iscsi (и второго клиента он подключать отказывается, работает - не тронь!!!)

2. Компьютер с смонтированным файловым iscsi пространством и vsftpd сервером

3. Компьютер, которому нужно воспользоваться файловым iscsi пространством

Итак, есть сервер клиент iscsi c vsftpd сервером с аутенфикацией по пользователю. Так как пользователей несколько а подключаются они по умолчанию в собственные папки...то элемент iscsi массива нужно "склеить" с папкой пользователя и......и символические ссылки не работают:(,
 НО работает 
 mount --bind источник /home/login/ftp
!!!
а после этого на настоящем клиенте монтируем пространство

curlftpfs ftp://login@10.10.10.10/folder /mnt/folder

и с ужасом ожидаем когда это все поломается

избавить от этого можно просто размещение nfs сервера на компьютере где подключен iscsi

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

перед тестами производительности субъективно казалось что он более тормознутый, НО

на конкретной задаче, с одним и тем же объектом получили соотношение:

881 к 655 попугаям

nfs оказалась на 25% производительнее ftp-file systems,
повторные тесты показали отличие около 15% в туже пользу. 

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

вторник, 22 июля 2025 г.

любители бесплатного Hyper-V и консоли

в power-shell
удаленно подключаемся от администратора,
сначала разрешаем ....
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "IP.IP.IP.IP" -Force

подключаемся с указание в окне диалога логина и пароля
Enter-PSSession -ComputerName IP.IP.IP.IP -Credential (Get-Credential)

смотрим на виртуалки, что существуют
get-vm

запускаем первую
start-vm -name "b1"

ждем немного
Start-Sleep -Seconds 35

запускаем вторую
start-vm -name "t2"

****

проходит время.......

отключаем

get-vm

stop-vm -name "t2"

Start-Sleep -Seconds 25

stop-vm -name "b1"

======================================== 

сроки действия паролей:

 net accounts
пусть будет дней 90 (хотя надо 40:)
 net accounts /maxpwage:90
(экспериментально  net accounts /maxpwage:999 еще валидно, без ограничений 0)



ибудут тут собираться еще строчки.....