LINUX.ORG.RU

Избранные сообщения mord0d

Создание эргономичных расположений клавиш на Linux-системах

Статьи — Desktop

В этой статье мы рассмотрим:

  • почему вообще может потребоваться ремаппинг;
  • как ремаппят другие;
  • как раскладка реализована у меня;
  • как сделать собственную раскладку’.

Кроме обычного ремаппинга, мы также коснёмся темы создания слоёв, их индикации, а также рассмотрим создание аккордов (chords). Всё это на уровне системы.

( читать дальше... )

 , , , ,

rhubear
()

Spec-kit - свободный тулкит для разработки, ориентированной на спеки (Spec Driven Development)

Форум — Talks

Те, кому интересен «вайб кодинг», можете про него забыть, потому что вот как на самом деле нужно использовать нейронки для разработки софта: spec-kit. Смысл spec driven development (SDD) в том, что проект начинается с проектирования спек файла. Это кардинально отличается от вайб кодинга, в котором на вход нейронки подаётся произвольный текст, а на выходе получается лапша, в которой чёрт ногу сломит, и она иногда правильно работает, но это не точно. В SDD на вход подаётся команда, аргументами которой может быть произвольный текст, а на выходе получается структурированный документ (спек) в терминах (non)functional requirements, acceptance criteria, edge cases и т.д. Из этого документа потом генерируется машинный код.

Я когда экспериментировал с кодинг асссистентами, то независимо пришёл к похожему процессу, а тут обнаружил, что команда спецов из гитхаба выпустила целый тулкит для SDD разработки. Особенность spec-kit в том, что спек верхнего уровня, так называемый «источник истины», полностью абстрактен от технической имплементации, составляется интерактивно взаимодействуя с нейронкой. Далее составляется план конкретной имплементации с выбором платформы, языков, фреймворков, моделей данных, хостингов и т.д. Всё с помощью команд нейронке. Далее нейронка разбивает план на фазы и задачи, определяет зависимости между ними и какие задачи могут выполняться параллельно (в моём случае, простой проект, 8 фаз и более 100 задач). Далее идёт имплементация каждой задачи.

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

Результат я выставлять на всеобщее обозрение пока не буду, т.к. это никому не нужная свистоперделка на расте, которая нужна только мне и только для эксперимента. Spec-kit использую вместе с kilocode плагином для vscode и kimi k2.5 (сейчас бесплатна), но его можно использовать с разными кодинг ассистентами и моделями, в том числе и свободными/локальными. Когда досконально разберусь, как эта вся кухня работает, запилю настоящий проект.

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

Тем, у кого нет острой аллергии на ИИ, настоятельно рекомендую попробовать запилить проект с помощью spec-kit или аналогов (openspec). Здесь делитесь впечатлениями.

P.S. Уточнение: всё описанное выше, хоть и сводит необходимость ручного ковыряния в машинном коде к минимуму, но не отменяет необходимости знания используемых технологий.

 

yvv1
()

GCLI 2.10.0

Новости — Разработка
Группа Разработка

31 декабря, после почти трёх месяцев разработки, состоялся выпуск 2.10.0 консольной утилиты GCLI, предназначенной для взаимодействия с API нескольких популярных сервисов хостинга Git-проектов, и позволяет создавать, просматривать и взаимодействовать с проблемами, запросами на слияние, метками и комментариями к ним, проверять состояние CI и конвейеров, и многое другое.

И, в отличие от GitHub CLI, GCLI поддерживает не только API GitHub, но и API GitLab, Gitea, Forgejo и Bugzilla.

( читать дальше... )

>>> Подробности на GitHub

 , , , ,

dataman
()

Homescript — новый открытый движок для умного дома

Новости — Open Source
Группа Open Source

Вышла первая версия Homescript — движка для автоматизации умного дома на Lua

Проект ориентирован на простоту и гибкость: интеграция через MQTT, поддержка Zigbee (Zigbee2MQTT), Frigate и других устройств.

Ключевые возможности:

  • Автоматическое обнаружение устройств.
  • Наглядность. Основа всего — каталог со скриптами, создаваемый при поиске устройств.
  • Скрипты на Lua — легко даже для новичков.
  • Событийная логика: реакция на изменения в реальном времени.
  • Минимальное потребление ресурсов — работает на Raspberry Pi. И не просто работает, а потребляет очень скромную долю памяти и ресурсов CPU.

Homescript — открытая альтернатива сложным системам вроде Home Assistant, без привязки к облакам.

>>> Исходный код

>>> Homescript

 , homescript, , smarthome,

kid
()

Правильная настройка well-known для matrix-synapse

Форум — Admin

Настраиваю well-known для example.com, размещая сам matrix-synapse на subdomain.example.com. Суть проблемы: не могу написать кому-то на другом сервере, как и мне с другого сервера не могут написать и даже найти мой аккаунт. В свой аккаунт на сервере я могу войти. Порты федерации не закрыты.

Прилагаю конфиги:

example.com:

server {
    listen 80;
        listen [::]:80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name example.com;
   # root /var/www/matrix/html;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    location /.well-known/matrix/server {
        add_header Access-Control-Allow-Origin *;
        default_type application/json;
       # try_files /var/www/matrix/html/.well-known/matrix/server =404;
        return 200 '{"m.server": "subdomain.example.com:8448"}';
    }

    location /.well-known/matrix/client {
        add_header Access-Control-Allow-Origin *;
        default_type application/json;
       # try_files /var/www/matrix/html/.well-known/matrix/client =404;
        return 200 '{"m.homeserver": {"base_url": "https://subdomain.example.com"}}';
    }
}

subdomain.example.com

server {
    listen 80;
        listen [::]:80;
    server_name subdomain.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name subdomain.example.com;

    ssl_certificate /etc/letsencrypt/live/subdomain.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/subdomain.example.com/privkey.pem;

    location ~ ^(/|/_matrix|/_synapse/client) {
        proxy_pass http://localhost:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;
        client_max_body_size 100M;
        proxy_http_version 1.1;
    }
}

server {
    listen 8448 ssl default_server;
    listen [::]:8448 ssl default_server;
    http2 on;
    server_name subdomain.example.com;

    ssl_certificate /etc/letsencrypt/live/subdomain.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/subdomain.example.com/privkey.pem;
    location / {
        proxy_pass http://localhost:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

При запросе: curl -I https://example.com/.well-known/matrix/server:

HTTP/2 200
server: nginx
date: Wed, 10 Dec 2025 15:37:21 GMT
content-type: application/json
content-length: 39
access-control-allow-origin: *

Подскажите пожалуйста, что я делаю не правильно? Указывал и файлами в каталоге, но они при curl выдавали content-type: text/html а не json. Файлы без расширений, само собой были. Не то что бы это сильно страшно, я могу использовать и subdomain.example.com, но все же если возможность есть, то почему нет. По SRV записям, насколько я понял, их не все понимают и лучше указывать файлами well-known

 , ,

Riniko
()

Linux и eSIM

Статьи — Мобильные устройства

Понадобилось тут завести модем с eSIM в онтопике. Использовал модем Qualcomm® Snapdragon™ X16 LTE Modem на планшете Microsoft Surface Go 2 на Debian GNU/Linux 13 (trixie).

( читать дальше... )

Перемещено hobbit из desktop

 ,

ann_lortemp2
()

Wine не запускает файлы

Форум — Desktop

Есть bash-скрипт для создания префиксов и запуска игр. Раньше работал, сейчас выдаёт:

Application could not be started, or no application associated with the specifie
d file.
ShellExecuteEx failed: File not found.

Запуск:

'/path/game.sh' wine '/path/file.exe'

Одно время была такая же проблема, при создании префикса заменил winetricks sandbox на isolate_home, пофиксилось. Сейчас и isolate_home убрал.

Код скрипта:

#!/usr/bin/bash

export script="$(readlink -f "${BASH_SOURCE[0]}")"
export scriptdir="$(dirname "$script")"
cd "${scriptdir}"
source game.config

export WINE="${WINEPATH}/wine"
export WINEPREFIX="${scriptdir}/prefix"
export WINEDLLOVERRIDES="mscoree,mshtml=;winemenubuilder.exe=" 

if [[ "$1" == "prefix" ]]; then
	"${WINEPATH}/wineboot"
	~/Apps/wine/winetricks dxvk
	if [[ ! -d docs ]]; then
		if [[ -d "prefix/drive_c/users/al/" && ! -h "prefix/drive_c/users/al" ]]; then
		    mv prefix/drive_c/users/al/ docs
		fi
	    if [[ -d "prefix/drive_c/users/steamuser/" && ! -h "prefix/drive_c/users/steamuser" ]]; then
		    mv prefix/drive_c/users/steamuser/ docs
		fi
		ln -s ../../../docs prefix/drive_c/users/al
		ln -s ../../../docs prefix/drive_c/users/steamuser
	fi
	if [[ ! -d game ]]; then
	    mkdir game
		ln -s ../../game prefix/drive_c/game
	fi
elif [[ "$1" == "wt" ]]; then
	~/Apps/wine/winetricks "${@:2}"
elif [[ "$2" ]]; then
	"${WINEPATH}/wine" "${1}" "$2"
elif [[ "$1" ]]; then
	"${WINEPATH}/wine" "${1}"
else
	export WINEESYNC=1
	export WINEFSYNC=1
	export WINE_LARGE_ADDRESS_AWARE=1
	export XDG_CACHE_HOME="${scriptdir}"/cache
	export DXVK_LOG_PATH="${XDG_CACHE_HOME}"/dxvk
	export DXVK_STATE_CACHE_PATH="${XDG_CACHE_HOME}"/dxvk
	export DXVK_CONFIG_FILE="${scriptdir}"/dxvk.conf
	export DXVK_LOG_LEVEL=none
	export DXVK_HUD=fps
	export VKD3D_DEBUG=none
	export VKD3D_SHADER_DEBUG=none
	export WINE_FULLSCREEN_FSR=0

	openbox --replace &
	cd "${scriptdir}/${GAMEPATH}"
	"${WINEPATH}/wine" "${scriptdir}/${GAMEPATH}/${GAMEEXE}"
	"${WINEPATH}/wineserver" -w
	xrandr --output "DP-1" --mode "1920x1080" &>/dev/null
	xgamma -gamma 1.0 &>/dev/null
	xfwm4 --replace &
fi

 , , ,

sho_mi_kok
()

Настраиваем Asterisk на собственном VPS для голосовых/видео вызовов и текстовых сообщений

Статьи — Администрирование

Ниже — руководство + полный установочный скрипт для Debian 12, собирающий Asterisk 22.5.1 из исходников, включающий TLS + SRTP, 3 абонента (1001–1003), блокировку анонимов, короткие сообщения (SIP MESSAGE) для Linphone, и видеозвонки по H.264.

Скрипт автоматически учитывает NAT: если задать локальную сеть — пропишет external_* и local_net; если не задавать — считает, что сервер не за NAT.

( читать дальше... )

 , ,

unclestephen
()

ssh jump сервер, ограничить хосты для пользователя

Форум — Admin

Задача простая: организовать для вендера канал до оборудования внутри сети, ssh -J вполне годится но есть 2 момента:
1. Ограничить вход на сам jump сервер через ssh (решил установкой оболочки /bin/false)
2. Ограничить число хостов на которые может «прагать» оперделенный пользователь (и чтобы других пользователей не затронуло)
Такое реально реализовать средствами ssh?

 ,

Kolins
()

Автономность в отпуске. Велосипед. KDE Neon.

Галерея — Рабочие места

Просто от всех подальше максимально. Но без электричества скучно и нужно.

 ,

delidov_george
()

Тихо и незаметно вышел tird v0.20.0 - инструмент для шифрования файлов и сокрытия зашифрованных данных

Форум — Security

tird - инструмент для шифрования файлов, сфокусированный на минимизации метаданных и сокрытии зашифрованных данных. Предназначен для использования на современных персональных компьютерах. Написан на Python. Код открыт под 0BSD.

Для шифрования используется ChaCha20-IETF.

Для key stretching и выведения ключей используется Argon2id с 1 GiB памяти и с 4 проходами.

Для аутентификации используется keyed BLAKE2b-512.

Входными ключевыми материалами могут быть:

  • Пароли;
  • Ключевые файлы (в тоом числе блочные устройства и целые директории).

Зашифрованные данные имеют формат PURB (padded uniform random blob) - неотличимы от случайных, имеют рандомизировавнный размер.

Минимизация метаданных:

  • PURB формат - невозможно доказать наличие зашифрованных данных без ключей, неизвестны параметры и структура файла, скрыт настоящий размер полезной нагрузки.
  • Путь к выходному файлу не зависит от пути к входному, не имеет стандартного расширения, определяется пользователем.
  • Интерфейс в виде диалога с юзером, основанный на подсказках. CLI параметры не протекают в shell history.
  • Опционально: данные можно встроить в другой файл и устройство, сделав их недетектируемыми, а их наличие недоказуемым.

Построение скрытой ФС, управляемой пользователем:

Зашифрованные данные можно записывать в контейнеры, указав начальную позицию (отступ в байтах от начала контейнера). В качестве контейнеров могут выступать специально сгенерированные файлы, съемные устройства (пустые или полупустые диски), разделы с LUKS. Дело в том, что загловок FAT32/exFAT ФС расположен в начале раздела, а контент записываемых файлов пишется от начала в конец последовательно. Таким образом, на свежеотформатированной ФС можно сделать отступ от начала и записывать наши данные, запомним их расположение для последующего извлечения.

Далее: смотрите домашнюю страницу https://github.com/hakavlad/tird

Вопросы приветствуются.

 , steganography, tird,

hakavlad
()

SAS - задвоились диски.

Форум — Admin

Добрый день!

Господа, куда копать?

Есть мат. плата supermicro X11, в ней LSI контроллер и встроенный может какой в мат плату.

Сборщики поставили три SAS SSD и в системе оно задвоилось…

# lsblk |grep 3.5T
sdc                              8:32   0   3.5T  0 disk 
sdd                              8:48   0   3.5T  0 disk 
sde                              8:64   0   3.5T  0 disk 
sdf                              8:80   0   3.5T  0 disk 
sdg                              8:96   0   3.5T  0 disk 
sdh                              8:112  0   3.5T  0 disk
multipath -ll

Полагаю, что к одному диску может как то два пути положилось? Но контроллер по идее один и вывод пуст.

 , , ,

DALDON
()

Выделить access логи от одного ip в отдельный файл в nginx

Форум — Admin

Есть nginx.x86_64 1:1.14.1-9.0.1.module+el8.0.0+5347+9282027e Основной конфиг по умолчанию. Для веб сервера заведен отдельный файл с конфигом в /etc/nginx/conf.d/ со следующим содержимым:

upstream websrv{ 
    ip_hash;
    server 127.0.0.1:8002;
}
server {.
    listen 80; server_name wserv.domain;
    # Перенаправление на HTTPS
    location / { return 301 https://$server_name$request_uri;
    }
}
server {
    listen 443 ssl; server_name wserv.domain;
    # Путь к сертификату и ключу
    ssl_certificate /etc/nginx/ssl/wserv.crt;
    ssl_certificate_key /etc/nginx/ssl/wserv.key;

    access_log /var/log/nginx/access.log main;
    error_log /var/log/nginx/error.log main;
...
}

С одного IP адреса идет большое количество запросов и хотелось бы access_log с него выделить в отдельный файл. В этом случае основной файл access_log был бы существенно меньше и было бы намного проще его анализировать.

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

Прмеры которые пробовал(ip адреса здесь только для примера): В файле /etc/nginx/nginx.conf в блок http

map $remote_addr $log_file {
    default "main";      # Для всех остальных IP
    10.10.10.17 "group1";  # 10.10.10.17 → access_group1.log
    10.10.10.18 "group1";  # 10.10.10.18 → access_group1.log
    10.10.10.19 "group2";  # 10.10.10.19 → access_group2.log
}

В файле /etc/nginx/conf.d/wsrv.conf в блок server

# Лог для остальных IP
access_log /var/log/nginx/access.log combined if=$log_file=main;

# Лог для 10.10.10.17 и 10.10.10.18
access_log /var/log/nginx/access_group1.log combined if=$log_file=group1;

# Лог для 10.10.10.19
access_log /var/log/nginx/access_group2.log combined if=$log_file=group2;

 , ,

Sinclair
()

miniaudio 0.11.22

Новости — Разработка
miniaudio 0.11.22
Группа Разработка

24 февраля, после более года разработки, состоялся выпуск 0.11.22 кроссплатформенной библиотеки захвата и воспроизведения звука miniaudio, написанной на языке C и распространяемой, как общественное достояние. miniaudio работает на всех основных настольных и мобильных платформах без сторонних зависимостей.

( читать дальше... )

>>> Список изменений на GitHub

 , , miniaudio,

dataman
()

XDG Base Directory Specification, даже когда софт не хочет.

Галерея — Скриншоты

Довольно давно меня подзадолбала мусорка в домашней директории, постепенно получилось заставить почти весь софт гадить в строго определенное место, а именно в .config, .cache и .local

Для особо одаренных (Skype, Dropbox) пришлось слегка поизвращаться, если для Skype достаточно было изменить параметр запуска на

skype --dbpath=$HOME/.local/share/skype
, то для Dropbox уже пришлось городить костыль в виде

HOME=$HOME/.local/share/dropbox /usr/bin/dropbox start -i 2>&1

Остальной софт относительно разумен, где через alias, где через export, удалось обяснить, куда складировать свое добро. Ниже листинг .bashrc и .profile, авось кому пригодится.

( Листинг )

 

gwinn
()

Уведомление о подключении по sftp/scp

Форум — Admin

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

Имеется скрипт-уведомлялка, который говорит Telegram-боту отправить сообщение определённому абоненту при авторизации на сервере по SSH.
Лежит скрипт по пути /etc/profile.d/script.sh, выглядит следующим образом:

#!/bin/bash
BOT_TOKEN=token
CHAT_ID=id
USER_IP=$(echo $SSH_CLIENT | awk '{ print $1}')
BOT_MESSAGE="🔐 $(hostname): $(whoami) is authorized from $USER_IP"
curl -X POST -d "text=$BOT_MESSAGE" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage?chat_id='$CHAT_ID'' &>/dev/null

Проблема заключается в том, что работает он только при подключении по, непосредственно, интерактивному SSH. Если подключиться через условный WinSCP - уведомления не будет, как и если просто скопировать файл на сервер через scp.

Интуиция подсказывает, что заковыка связана с понятиями «интерактивности/неинтерактивности» устанавливаемой сессии, и, соответственно, в местоположении скрипта, но вот знаний, чтобы понять, как описанную проблему исправить – не хватает.

Подскажите, пожалуйста, что именно нужно сделать, чтобы получать желаемое уведомление при любого типа подключении на условный «22 порт», вне зависимости от того, было ли это SSH или SFTP?

 , , ,

takamushi
()

обработка запросов с одного IP, даже если один в ожидание ответа

Форум — General

Не могу сделать балансировку если запрос приходить в одного IP-адреса. Проблема такая: заходить первый запрос, но отработка этого запроса занимает 30 секунд, из-за API. nginx не должен закрыть этот запрос, он должен ждать пока сервер не ответить. в это время заходить еще по очереди 10 запросов с того же IP-адреса, но их обработка не занимает больше 0,5 секунды. но из-за того что там один запрос все еще обрабатывается, остальные 10 запросов ждет этого.

Я подняла nginx с двумя серверами. Хочу сделать так, если первый сервер все еще обрабатывает запрос, остальные запросы были всегда направлены на второй. Когда первый сервер закончить обработку и вернет ответ, этот сервер станет доступным и можно будет туда отправлять запросы. Вроде сделала, когда с двух IP-адрес приходить запросы, тогда вроде все срабатывает. Но когда с одного IP-адреса приходить, тогда застывает, пока не обработает запрос с задержкой. Прошу помочь!

Это конфиг с nginx:

events {
    worker_connections 1024;
}
http {    
    client_max_body_size 100M;
    client_body_buffer_size 100M;
    # limit_conn_zone $binary_remote_addr zone=halyk_bank_identification:10m;

    include       mime.types;
    default_type  application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" '
		              ' $request_length $upstream_addr $upstream_response_time';

    access_log /etc/nginx/access.log main;
    error_log /etc/nginx/error.log debug;

    upstream identification {
        least_conn;
        
        server identification_actions-1:5017 max_fails=1 fail_timeout=10s;
        server identification_actions-2:5017 max_fails=1 fail_timeout=10s;
    }

    server {
        listen 80;
        server_name localhost;

        access_log /etc/nginx/access.log main;

        location /webhook {

            proxy_connect_timeout 3s;
            proxy_read_timeout 10s;

            proxy_pass http://identification;
            
            proxy_set_header Content-Type application/json;

            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Content-Length $content_length;
            proxy_set_header X-Server-Name $host;

            proxy_pass_request_body on;
            access_log /etc/nginx/webhook_access.log main;
        }

        location / {
            return 404;
        }
    }
}

 , , , ,

Zhako2506
()

Визуальные метки на полях

Форум — Development

Привет. Пользуюсь консольным nvim, на полях показывается номер строк. Есть такая хотелка: неким сочетанием подкрашивать background цифры на полях в цвет, который отличается от нормального, например в красный. Тем самым создавать визуальную метку подчеркивая некоторое важное место во время штудирования исходников. Я знаю про метки, на которые можно прыгать, но мне нужна именно визуальная метка, а не такая.

Можно ли вкрутить какой-то плагин?

Перемещено hobbit из general

 ,

kvpfs_2
()

Как в x11 забиндить Delete на Shift + BackSpace (или на Ctrl+H) глобально

Форум — Desktop

Кнопка Delete расположена в стороне от основных клавиш - приходится отрывать руки «фыва олдж», что бы её нажать. Хочется её перебиндить Delete на что-нибудь более доступное, например на Shift+Backspace или на Ctrl+H.

В man 7 xkeyboard-config решения не нашёл. Клавиатура не программируемая (не QMK/VIA).

Есть идеи?

 , ,

Harliff
()

reverse_proxy to nextcloud

Форум — Admin

Хочу перед клаудом поставить реверс прокси nginx. Соответственно прикрутить let’s encrypts на проксю, а трафик с прокси, так как nginx и клауд в одной LAN-сети, отправлять как proxy_pass http://192.168.0.21, но исходя из доки клауда, я понял что клауд не станет работать у себя на хосте по http, а будет толькоо по https. Получается придётся геморройничить с сертификатами и на проксе для клауда и на самом клауде? Подскажите, был ли у кого-нибудь подобный кейс или как упростить вариант с сертификатами…

 , ,

Shprot
()