Syspage лог
  • Плохо работает переключение языка клавиатуры Windows 10/11

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

    Возникает это из-за неправильного пробуждения ctfmon.exe

    Решение: перезапускать сервис каждый раз после пробуждения

    Я написал простой .bat скрипт для установки планировщика на пробуждение который перезапускает ctfmon.exe:

    @echo off
    chcp 65001 >nul
    title CTFMON Wakeup Task Manager
    
    set TASK_NAME=Restart_ctfmon_on_lid_wakeup
    set PS_DIR=%LOCALAPPDATA%\ctfmon_wakeup_fix
    set PS_NOLOG=%PS_DIR%\restart_ctfmon.ps1
    set PS_LOG=%PS_DIR%\restart_ctfmon_log.ps1
    
    :menu
    cls
    echo ================================
    echo   CTFMON Wakeup Task Manager
    echo ================================
    echo.
    echo 1 - Установить задачу (без лога)
    echo 2 - Установить задачу (с логом)
    echo 3 - Удалить задачу
    echo 4 - Проверить задачу
    echo 5 - Выход
    echo.
    set /p choice=Выбери действие: 
    
    if "%choice%"=="1" goto install_nolog
    if "%choice%"=="2" goto install_log
    if "%choice%"=="3" goto remove
    if "%choice%"=="4" goto check
    if "%choice%"=="5" exit
    goto menu
    
    
    :prepare_ps
    if not exist "%PS_DIR%" mkdir "%PS_DIR%" >nul 2>&1
    
    > "%PS_NOLOG%" (
    echo Start-Sleep -Seconds 3
    echo Stop-Process -Name ctfmon -Force -ErrorAction SilentlyContinue
    echo Start-Process "$env:WINDIR\System32\ctfmon.exe"
    )
    
    > "%PS_LOG%" (
    echo Add-Content -Path "$env:USERPROFILE\Desktop\ctfmon_wakeup_log.txt" -Value "$(Get-Date) - restart ctfmon"
    echo Start-Sleep -Seconds 3
    echo Stop-Process -Name ctfmon -Force -ErrorAction SilentlyContinue
    echo Start-Process "$env:WINDIR\System32\ctfmon.exe"
    )
    exit /b
    
    
    :install_nolog
    call :prepare_ps
    call :create_task "%PS_NOLOG%"
    echo.
    echo [OK] Задача установлена (без окна, без лога)
    pause
    goto menu
    
    
    :install_log
    call :prepare_ps
    call :create_task "%PS_LOG%"
    echo.
    echo [OK] Задача установлена (без окна, с логом на рабочий стол)
    pause
    goto menu
    
    
    :create_task
    schtasks /Delete /TN "%TASK_NAME%" /F >nul 2>&1
    
    schtasks /Create ^
     /TN "%TASK_NAME%" ^
     /SC ONEVENT ^
     /EC System ^
     /MO "*[System[(Provider[@Name='Microsoft-Windows-Power-Troubleshooter'] and EventID=1) or (Provider[@Name='Microsoft-Windows-Kernel-Power'] and (EventID=507 or EventID=506 or EventID=105))]]" ^
     /TR "powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File \"%~1\"" ^
     /RL HIGHEST ^
     /F >nul
    
    if %ERRORLEVEL% NEQ 0 (
        echo.
        echo [ERROR] Не удалось создать задачу. Запусти BAT от имени администратора.
        pause
    )
    exit /b
    
    
    :remove
    schtasks /Delete /TN "%TASK_NAME%" /F >nul 2>&1
    
    if %ERRORLEVEL% EQU 0 (
        echo.
        echo [OK] Задача удалена
    ) else (
        echo.
        echo [INFO] Задача не найдена
    )
    
    pause
    goto menu
    
    
    :check
    echo.
    schtasks /Query /TN "%TASK_NAME%" /V /FO LIST
    echo.
    pause
    goto menu
    fix_ctfmon-1Скачать

    Запустите от имени администратора.

    После этого выберите пункт 1 и нажмите Enter.

    После перезагрузки или закрытии открытии крышки ноутбука язык должен корректно меняться.


    Также если раздражает всплывающее окно при переключении языка можно выполнить код в командной строке cmd.exe:

    reg add "HKCU\Keyboard Layout\Toggle" /v "HotkeyShowDelayInMS" /t REG_DWORD /d 99999999 /f
    reg add "HKCU\Keyboard Layout\Toggle" /v "InputSwitcherShowOnMultiPress" /t REG_DWORD /d 0 /f

    или запустить .reg файл

    disable_popup_langСкачать

    После этого перезагрузите компьютер или explorer.exe

    —

  • Если не работает websocket

    proxy_hide_header Upgrade; убрать

    Назначение директивы

    proxy_hide_header — это директива Nginx, которая позволяет скрывать определенные заголовки ответа перед отправкой их клиенту. В частности, Upgrade заголовок играет важную роль в WebSocket-соединениях.

    Особенности работы

    • Директива применяется в контексте location или server
    • Может использоваться для скрытия любого заголовка ответа
    • Особенно важна при работе с прокси-серверами

    Влияние на WebSocket соединения

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

    —

  • HestaCP Error: SSL intermediate chain is not valid

    \usr\local\hestia\bin\v-add-web-domain-ssl редактируем в секции Verification убираем строку «is_web_domain_cert_valid» сохраняем и пытаемся снова.

    —

  • VNC Windows бесконечная сессия

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

    BAT файл

    @echo off
    :: Отключение лимитов сессий RDP
    
    :: Установка неограниченного времени ожидания перед отключением сеанса
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
    
    :: Отключение лимита на время ожидания неактивного сеанса
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MaxIdleTime /t REG_DWORD /d 0 /f
    
    :: Отключение лимита на отключенные сеансы
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MaxDisconnectionTime /t REG_DWORD /d 0 /f
    
    :: Отключение автоматического завершения сеанса
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MaxConnectionTime /t REG_DWORD /d 0 /f
    
    :: Применение изменений
    gpupdate /force
    
    echo Лимиты RDP отключены. Перезагрузите компьютер для применения изменений.
    pause
    —

  • Перевыпуск сертификата LetsEncrypt

    Проверить перевыпуск.

    certbot renew --dry-run

    Добавить задание

    crontab -e
    30 4 * * * /usr/bin/certbot renew --quiet

    —

  • nodejs build execute app

    ubintu 22.04

    sudo apt-get update
    sudo apt-get upgrade

    sudo apt-get install -y nodejs npm
    sudo apt install -y build-essential
    npm i -g pkg
    npm i -g ncc
    npm i -g nexe


    npm install -g javascript-obfuscator

    javascript-obfuscator app.js —output app_src.js —seed «app17102024» —target «node»

    npx esbuild app_src.js —bundle —outfile=app.cjs —format=cjs —platform=node

    npx pkg -t node12-linux -o app —compress GZip app.cjs


    npx esbuild app.js  --bundle --outfile=app.cjs --format=cjs --platform=node
    npx pkg -t node12-linux -o app --compress GZip app.cjs
    —

  • Палитры цветов Color App

    https://syspage.ru/color/app.php?view_me=please

    Сравнение цветов поиск похожих из других палитр.

    —

  • Endless Frontier Raid

    https://syspage.ru/ef/

    —

  • С др

    https://syspage.ru/hpli/

    —

  • Тест звукозаписи в MP3

    https://syspage.ru/snd/

    —

  • WP Замена сайта в базе данных

    UPDATE wp_options SET option_value = replace(option_value, ‘site-old.ru’,’site-new.ru’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
    UPDATE wp_posts SET guid = replace(guid, ‘site-old.ru’,’site-new.ru’); #Замена всех ссылок, которые находятся в тексте статей
    UPDATE wp_posts SET post_content = replace(post_content, ‘site-old.ru’,’site-new.ru’);
    UPDATE wp_aioseo_posts SET images = replace(images, ‘site-old.ru’,’site-new.ru’);
    UPDATE wp_options SET option_value = replace(option_value, ‘site-old.ru’,’site-new.ru’);
    UPDATE wp_postmeta SET meta_value = replace(meta_value, ‘site-old.ru’,’site-new.ru’);

    —

  • Задать limit рабочему процессу linux

    prlimit —core=unlimited:unlimited —pid $$
    prlimit —core —pid $$

    Где $$ pid процесса

    —

  • Посмотреть стек ошибки c++

    gdb prog core.0000

    where

    —

  • WordPress Сброс пароля

    Вставить код в /wp-login.php в кон

    wp_set_password( 'my_new_password', 1 );
    —

  • Переключение музыки горячими клавишами глобально Google Chrome

    Например прослушивая музыку вконтакте со свернутым Google Chrome вы хотите переключить музыку (но этого не происходит)

    Необходимо в адресной строке ввести chrome://flags/

    В поиске найти #hardware-media-key-handling

    Или сразу в адресной строке ввести chrome://flags/#hardware-media-key-handling

    Переключите в Enabled и перезапустите браузер.
    —

  • Компиляция nchan nginx Centos 7

    1. gcc7
    sudo yum -y install git gcc gcc-c++ make zlib-devel pcre-devel openssl-devel
    
    git clone https://github.com/slact/nchan.git
    wget https://nginx.org/download/nginx-1.20.2.tar.gz
    tar xzvf nginx-1.20.2.tar.gz
    cd nginx-1.20.2
    
    sudo ./configure --add-module=../nchan --pid-path=/var/run/nginx.pid
    sudo make
    sudo make install
    
    yum install -y redis
    service redis restart
    wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz
    gunzip autoconf-2.71.tar.gz
    tar xvf autoconf-2.71.tar
    cd autoconf-2.71
    ./configure
    make
    make install
    wget https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz
    tar xvzf automake-1.16.5.tar.gz
    cd automake-1.16.5
    ./configure
    make
    sudo make install
    yum install gcc gcc-c++ pcre-devel zlib-devel make unzip gd-devel perl-ExtUtils-Embed libxslt-devel openssl-devel perl-Test-Simple
    yum install openssl*
    yum install redis-devel
    yum install redis*
    gcc9
    sudo yum install devtoolset-9-toolchain
    scl enable devtoolset-9 bash
    LANG=C ./build_module.sh -v 1.20.2 https://github.com/slact/nchan.git
    
    —

  • Centos 7 Смена версии gcc

    Для смены версии gcc:

    sudo yum install centos-release-scl
    sudo yum install devtoolset-7-gcc*
    scl enable devtoolset-7 bash
    which gcc
    gcc --version
    —

  • Установка sqlsrv и pdo_sqlsrv на Ubuntu 18.04 для дополнительного php7.4

    Путь до php необходимо прописать свой, в данном примере он /opt/php74

    apt-get install curl
    apt-get install autoconf
    apt-get install gcc
    apt-get install g++
    apt-get install -y build-essential
    
    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
    apt-get update
    
    sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
    sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    sudo apt-get install -y unixodbc-dev
    
    sudo update-alternatives --set php /opt/php74/bin/php
    
    sudo pecl config-set php_ini /opt/php74/etc/php.ini
    sudo pecl config-set ext_dir /opt/php74/lib/php/modules/
    sudo pecl config-set bin_dir /opt/php74/bin/
    sudo pecl config-set php_bin /opt/php74/bin/php
    sudo pecl config-set php_suffix 7.4
    
    sudo ln -s /opt/php74/bin/phpize /usr/bin/phpize7.4
    
    sudo /opt/php74/bin/pecl install sqlsrv
    sudo /opt/php74/bin/pecl install pdo_sqlsrv
    
    printf "; priority=20\nextension=sqlsrv.so\n" > /opt/php74/etc/mods-available/sqlsrv.ini
    printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /opt/php74/etc/mods-available/pdo_sqlsrv.ini
    
    #simple phpenmod
    sudo ln -s /opt/php74/etc/mods-available/sqlsrv.ini /opt/php74/etc/php.d/20-sqlsrv.ini
    sudo ln -s /opt/php74/etc/mods-available/pdo_sqlsrv.ini /opt/php74/etc/php.d/30-pdo_sqlsrv.ini
    
    —

  • Error in accept: Too many open files MYSQLD or MARIADB

    Если в базе данных появляются ошибки типа:

    mysqld: Can’t open file: ‘./baza/sessions.frm’ (errno: 24)

    значит процесс упирается в лимит open_files_limit

    Проверить текущие лимиты на открытие файлов:

    mysql -> show variables like ‘open_files_limit’;

    Необходимо изменить лимиты в /etc/my.cnf

    [mysqld]
    open_files_limit=15000
    
    [mysqld_safe]
    open_files_limit=15000

    В mariadb дополнительные лимиты на service находятся в файле: /usr/lib/systemd/system/mysqld.service или /usr/lib/systemd/system/mariadb.service

    Добавить в блок [Service]:

    [Service]
    LimitNOFILE=65535
    LimitNPROC=65535

    —

  • VMWARE NAT OPEN INTERNET

    You will need to setup port forwarding to the guest machine.

    On the NAT tab in Virtual Network Editor, click Edit -> Port Forwarding. From here you can configure which ports are forwarded from the host machine to the VM.

    For example, forwarding host port 8080 to the VM 192.168.83.137:80 should allow you to access the web server on the VM by going to https://127.0.0.1:8080 on the host machine.

    For further information, refer to the VMWare Nat Documentation or the following article

    ADD

    TPLINK VIRTUAL SERVER ADD

    —

  • Проблема с интерфейсом Google Chrome в VmWare окна выглядят прозрачными или сплошным белым цветом

    Выглядит это так

    Необходимо перейти по chrome://flags и в поиске ввести ANGLE

    Необходимый флаг называется Choose ANGLE graphics backend

    Из списка выбрать OpenGL и перезапустить браузер.

    После этого все заработает.

    Вариант 2.

    Зайти в настройки виртуальной машины в раздел Display.

    Убрать галочку с Accelerate 3D graphics и сохранить настройки.

    —

  • WHO GAME

    Игра кто больше https://syspage.ru/whogame/

    —