Подгответе сървъра за помощ от разстояние
Помощта от разстояние в приложението BGPVR Player (екранът на приложението на зрителя, бутоните му, настройките му) изисква три неща от сървъра. Настройки › Клиенти и поверителност › Готовност за помощ от разстояние ги проверява и трите през вашия уеб адрес и показва командата за всеки червен ред, попълнена за вашата инсталация. MAG приемниците нямат нужда от нищо от това.
На тази страница
Подгответе сървъра за помощ от разстояние
Помощта от разстояние в приложението BGPVR Player (екранът на приложението на зрителя, бутоните му, настройките му) изисква три неща от сървъра. Настройки › Клиенти и поверителност › Готовност за помощ от разстояние ги проверява и трите през вашия уеб адрес и показва командата за всеки червен ред, попълнена за вашата инсталация. MAG приемниците нямат нужда от нищо от това. Кутиите с Kodi (добавката BGPVR за Kodi) се виждат в Устройства, но нямат помощ от разстояние.
- Посочете обратното прокси. Сюитът вярва на „това дойде през https“ и „това е снимка“ само от прокси,
което сте посочили. Дотогава е в режим auto и помощта от разстояние в приложението е изключена. Пуснете на
сървъра (127.0.0.1, ако nginx работи на същата машина, иначе адреса на проксито; без рестарт):
Ако сте задалиdocker exec bgpvr python3 -c "import sys; sys.path.insert(0, '/app/backend'); from bgpvr.config import set_setting; set_setting('trusted_proxy_cidrs', '127.0.0.1/32')"BGPVR_TRUSTED_PROXIESв docker-compose.yml, то е с предимство пред настройката: сменете го там и рестартирайте контейнера. - Добавете местата за снимки в проксито. Снимките на екрана трябва да остават в паметта: никога не се
записват на диска на проксито, в кеш или в дневник. Запишете ключа за снимки на тази инсталация във файл, който чете само
nginx (ключът минава през конвейера и не се показва на екрана):
после добавете тези две места в https блокаdocker exec bgpvr python3 -c "import sys; sys.path.insert(0, '/app/backend'); from bgpvr.config import get_setting; print('proxy_set_header X-BGPVR-Picture-Path %s;' % get_setting('remote_help_picture_key', ''))" | sudo install -m 600 /dev/stdin /etc/nginx/bgpvr-picture-key.confserverна адреса на конзолата, надlocation /(сменете127.0.0.1:8095с това, което ползва вашетоlocation /), и презаредете:location ~ ^/api/client/device/remote-help/[0-9]+/screen$ { client_max_body_size 1m; client_body_buffer_size 1m; proxy_request_buffering on; include /etc/nginx/bgpvr-picture-key.conf; proxy_pass http://127.0.0.1:8095; 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 X-Forwarded-Proto $scheme; } location ~ ^/api/remote-help/[0-9]+/screen$ { proxy_buffering off; proxy_max_temp_file_size 0; proxy_pass http://127.0.0.1:8095; 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 X-Forwarded-Proto $scheme; }
Без това бутоните и действията работят, а конзолата казва „Екранът на живо изисква обновяване на сървъра“.sudo nginx -t && sudo systemctl reload nginx - Ползвайте https. Приложението никога не приема помощ от разстояние на http:// адрес. С nginx и Let's
Encrypt:
sudo certbot --nginx -d your.domain, после отворете конзолата през https. - Отворете Настройки › Клиенти и поверителност › Готовност за помощ от разстояние и натиснете Провери отново: и трите реда казват „Готово“.
Същите три правила: посочете адреса му в trusted_proxy_cidrs; за пътищата
/api/client/device/remote-help/<n>/screen пазете тялото на заявката (до 1 MB) в паметта и добавяйте
заглавката X-BGPVR-Picture-Path с ключа на инсталацията (прочетете го с командата отгоре, без думите
proxy_set_header, направо в тайното хранилище на проксито); за /api/remote-help/<n>/screen
изключете буферирането и кеша на отговора; навсякъде пращайте X-Forwarded-Proto и X-Forwarded-For.
Картата за готовност показва кога е наред.
Който го има, може да подава снимки на сървъра ви, сякаш идват през проксито. Конзолата никога не го показва. Ако е изтекъл (или картата за готовност казва, че инсталацията няма ключ), направете нов и повторете стъпка 2:
docker exec bgpvr python3 -c "import secrets, sys; sys.path.insert(0, '/app/backend'); from bgpvr.config import set_setting; set_setting('remote_help_picture_key', secrets.token_hex(32))"
В конзолата: Подгответе сървъра за помощ от разстояние
1. Посочете обратното прокси
Сюитът вярва на „това дойде през https“ и „това е снимка“ само от прокси, което сте посочили; дотогава помощта от разстояние в приложението е изключена. Пуснете на сървъра (127.0.0.1, ако nginx работи на същата машина, иначе адреса на проксито; без рестарт):
docker exec bgpvr python3 -c "import sys; sys.path.insert(0, '/app/backend'); from bgpvr.config import set_setting; set_setting('trusted_proxy_cidrs', '127.0.0.1/32')"Ако BGPVR_TRUSTED_PROXIES е зададено в docker-compose.yml, то е с предимство: сменете го там и рестартирайте контейнера.2. Добавете местата за снимки в проксито
Снимките на екрана остават в паметта: никога на диска на проксито, в кеш или в дневник. Запишете ключа за снимки на тази инсталация във файл, който чете само nginx, после добавете двата блока location за /api/client/device/remote-help/<n>/screen и /api/remote-help/<n>/screen над location / и презаредете nginx. Картата за готовност и цялата Помощ ги имат готови за поставяне. Без тях бутоните и действията работят, а конзолата казва „Екранът на живо изисква обновяване на сървъра“.
3. Ползвайте https
Приложението никога не приема помощ от разстояние на http:// адрес. С nginx и Let's Encrypt: sudo certbot --nginx -d your.domain, после отворете конзолата през https.
4. Проверете отново
Настройки › Клиенти и поверителност › Готовност за помощ от разстояние → Провери отново: и трите реда казват Готово.
Внимание
- Друго обратно прокси (Caddy, Traefik, HAProxy, NAS): същите три правила. Посочете адреса му в
trusted_proxy_cidrs, пазете качването на снимки (до 1 MB) в паметта със заглавкатаX-BGPVR-Picture-Path, изключете буферирането и кеша за екрана на живо, пращайтеX-Forwarded-ProtoиX-Forwarded-Forнавсякъде. - Никога не поставяйте ключа за снимки в чат, заявка или снимка на екрана: който го има, може да подава снимки на сървъра ви, все едно идват през проксито. Ако е изтекъл, направете нов (командата е в цялата Помощ) и повторете стъпка 2.