Если я правильно понял, то вы рекомендуете Immich перевесить на другой порт (обслуживаемый через обратный прокси), а мою задачу решать через oserv, который будет слушать 443 (с OpenConnect клиенте)?
В принципе, на такое я могу пойти. Но в таком случае я не смогу в перспективе использовать и другие сервисы через порт 443 (если появится необходимость). Так как этот порт будет пробрасываться к oserv. Я правильно понимаю предложенную схему и ее возможности?
Странно, что за обратный прокси можно понапихать кучу разных сервисов, но не прямой прокси. Понимаю, что моя задача несколько специфическая, но тем не менее.
Дома у меня хостится только Immich. В нем есть своя авторизация. Более того, я на обратном пркси могу сделать дополнительную или прикрутить mTLS. С этим как раз проблем нет.
Проблема в том, что мне нужно на базе домашнего сервера поднять HTTPS-прокси, чтобы ходить через него с работы, где у меня выход через корпоративный прокси с большими ограничениями по списку адресов. На рабочем компьютере я настрою proxychain (корпоративный HTTP-прокси -> домашний HTTPS-прокси -> сайты). В силу ограничений корпоративного прокси, доступ к домашнему должен быть исключительно по HTTPS/443. Тот же номер порта хотелось бы оставить и для доступа к домашнему Immich.
Для этого мне нужно домашний HTTPS-прокси поставить за тем же обратным прокси (чтобы оба сервиса были на порту 443) и настроить на обратном прокси доступ извне и к нему тоже.
Надеюсь, более понятно объяснил. Вопрос не в авторизации, а в архитектуре.
Раз уж тут про домашние веб-сервера и прокси, то озвучу свою проблему. Может, кто и подскажет оптимальное решение. А то с чат-ботами к общему знаменателю я так и не пришел.
Имею маленький скромный homelab, на базе Proxmox. Первоначальной задачей было открыть домашний сервер Immich наружу через обратный прокси, желательно через порт 443. Доменное имя mydomain.com и SSL - ну, все, как положено. Решается, разумеется, просто: например, через NPM или чистый nginx в контейнере. Оба варианта достаточно легко настраиваются с подтягиванием сертификатов Lets' Encrypt. Удаленному пользователю достаточно ввести в браузере https://immich.mydomain.com - и вот уже окошко авторизации.
Потом задача расширилась. Появилась необходимость организовать HTTPS-прокси (с авторизацией) для доступа извне и тоже на порту 443 (https://proxy.mydomain.com). Следуя советам чат-бота, поднял в контейнере Squid, донастроил прокси. И тут оказалось, что ни NTP, ни nginx не могут передать нормально Host через CONNECT. Поэтому Squid отвечает 400 Bad Request. Долго плясал с конфигами, следуя указаниям чат-бота, но тот водил меня как Сусанин, по кругу. И предлагал после ряда неудач вынести Squid-прокси из-под обратного прокси, разделив порты (а мне это очень нежелательно).
В общем, проблема пока в стадии нерешенной. В какую сторону курить (Caddy, HAProxy или что-то еще) я так и не определился.
Интересно, а какое мнение будет о шрифтах для электронных книг? С одной стороны, это не бумажная печатная продукция, с другой стороны, это и не элементы интерфейса. И восприятие текста на электронных чернилах отличается от восприятия его на экранах других электронных устройств.
Сам не так давно настроил Immich в качестве облачного фотохранилища для своей семьи. Но использовал несколько другую схему.
Зарегистрировал домен (для примера immich.mysite.com). На бесплатном тарифе в Cloudflare (CF) настроил обратный прокси с туннелем к серверу Immich в домашней сети. Для большей безопасности для доступа снаружи ограничил подключение через CF только с использованием клиентского сертификата mTLS. Поскольку снаружи доступ идет по HTTPS (с сертификатом от CF), то и в домашней сети поднял в докере Caddy, который отвечает за подключение к Immich по TLS (с сертификатом от Let's Encrypt). Это для того, чтобы не менять в мобильном приложении каждый раз адрес с https://immich.mysite.com на http://immich.mysite.com и не пользоваться самоподписным сертификатом (хотя мобильное приложение такую опцию позволяет). Ну и, конечно, на домашнем dnsmasq настроил резолвинг immich.mysite.com в домашний сервер (а ля split DNS). Если пользователь захочет подключаться к домашнему серверу извне через браузер, то придется установить клиентский mTLS-сертификат как и для мобильного приложения).
Создать массив размерности n = 15, зарезервировав тем самым память под этот массив...
Размерность массива — это количество индексов, необходимое для однозначной адресации элемента в рамках массива. В приведенном примере речь идет о размере массива, но не о его размерности. Исправьте, пожалуйста.
Тоже писал кроссплатформенное (Windows, Linux) GUI-приложение с использованием tkinter. Хотелось попробовать сделать на любимом Python то, что обычно делал на C++/Qt. Да, здесь нет удобного Qt Designer для макетирования форм — все приходится ручками прописывать. Но результатом остался доволен. Для приданию приложению более современного вида остановился на достаточно удобной библиотеке ttkbootstrap. Хотя рассматривал и пробовал разные варианты, включая упомянутый CustomTkinter.
Для себя сделал вывод: писать на Python GUI-приложения можно и нужно. В моем случае это было приложение, работающее с устройством на микроконтроллере через UART по MODBUS-подобному протоколу. Использовались вкладки, кнопки, спинбоксы, поля ввода, элемент Text, чекбоксы, стилизованные под switch, диалоговые окна.
Если я правильно понял, то вы рекомендуете Immich перевесить на другой порт (обслуживаемый через обратный прокси), а мою задачу решать через oserv, который будет слушать 443 (с OpenConnect клиенте)?
В принципе, на такое я могу пойти. Но в таком случае я не смогу в перспективе использовать и другие сервисы через порт 443 (если появится необходимость). Так как этот порт будет пробрасываться к oserv. Я правильно понимаю предложенную схему и ее возможности?
Странно, что за обратный прокси можно понапихать кучу разных сервисов, но не прямой прокси. Понимаю, что моя задача несколько специфическая, но тем не менее.
Дома у меня хостится только Immich. В нем есть своя авторизация. Более того, я на обратном пркси могу сделать дополнительную или прикрутить mTLS. С этим как раз проблем нет.
Проблема в том, что мне нужно на базе домашнего сервера поднять HTTPS-прокси, чтобы ходить через него с работы, где у меня выход через корпоративный прокси с большими ограничениями по списку адресов. На рабочем компьютере я настрою proxychain (корпоративный HTTP-прокси -> домашний HTTPS-прокси -> сайты). В силу ограничений корпоративного прокси, доступ к домашнему должен быть исключительно по HTTPS/443. Тот же номер порта хотелось бы оставить и для доступа к домашнему Immich.
Для этого мне нужно домашний HTTPS-прокси поставить за тем же обратным прокси (чтобы оба сервиса были на порту 443) и настроить на обратном прокси доступ извне и к нему тоже.
Надеюсь, более понятно объяснил. Вопрос не в авторизации, а в архитектуре.
Раз уж тут про домашние веб-сервера и прокси, то озвучу свою проблему. Может, кто и подскажет оптимальное решение. А то с чат-ботами к общему знаменателю я так и не пришел.
Имею маленький скромный homelab, на базе Proxmox. Первоначальной задачей было открыть домашний сервер Immich наружу через обратный прокси, желательно через порт 443. Доменное имя mydomain.com и SSL - ну, все, как положено. Решается, разумеется, просто: например, через NPM или чистый nginx в контейнере. Оба варианта достаточно легко настраиваются с подтягиванием сертификатов Lets' Encrypt. Удаленному пользователю достаточно ввести в браузере https://immich.mydomain.com - и вот уже окошко авторизации.
Потом задача расширилась. Появилась необходимость организовать HTTPS-прокси (с авторизацией) для доступа извне и тоже на порту 443 (https://proxy.mydomain.com). Следуя советам чат-бота, поднял в контейнере Squid, донастроил прокси. И тут оказалось, что ни NTP, ни nginx не могут передать нормально Host через CONNECT. Поэтому Squid отвечает 400 Bad Request. Долго плясал с конфигами, следуя указаниям чат-бота, но тот водил меня как Сусанин, по кругу. И предлагал после ряда неудач вынести Squid-прокси из-под обратного прокси, разделив порты (а мне это очень нежелательно).
В общем, проблема пока в стадии нерешенной. В какую сторону курить (Caddy, HAProxy или что-то еще) я так и не определился.
Если подскажете, буду очень признателен.
Простите, исключительно ради любопытства: а чем Google Keep не угодил?
Низкий поклон автору! Прочитал с огромным интересом. Все разобрано доступно. Очень полезная статья!
Интересно, а какое мнение будет о шрифтах для электронных книг? С одной стороны, это не бумажная печатная продукция, с другой стороны, это и не элементы интерфейса. И восприятие текста на электронных чернилах отличается от восприятия его на экранах других электронных устройств.
Сам не так давно настроил Immich в качестве облачного фотохранилища для своей семьи. Но использовал несколько другую схему.
Зарегистрировал домен (для примера immich.mysite.com). На бесплатном тарифе в Cloudflare (CF) настроил обратный прокси с туннелем к серверу Immich в домашней сети. Для большей безопасности для доступа снаружи ограничил подключение через CF только с использованием клиентского сертификата mTLS. Поскольку снаружи доступ идет по HTTPS (с сертификатом от CF), то и в домашней сети поднял в докере Caddy, который отвечает за подключение к Immich по TLS (с сертификатом от Let's Encrypt). Это для того, чтобы не менять в мобильном приложении каждый раз адрес с https://immich.mysite.com на http://immich.mysite.com и не пользоваться самоподписным сертификатом (хотя мобильное приложение такую опцию позволяет). Ну и, конечно, на домашнем dnsmasq настроил резолвинг immich.mysite.com в домашний сервер (а ля split DNS). Если пользователь захочет подключаться к домашнему серверу извне через браузер, то придется установить клиентский mTLS-сертификат как и для мобильного приложения).
Размерность массива — это количество индексов, необходимое для однозначной адресации элемента в рамках массива. В приведенном примере речь идет о размере массива, но не о его размерности. Исправьте, пожалуйста.
На Samsung у вас работает с настройками из поста или из комментариев?
Какая ОС на телике - Android TV, Tizen (Samsung) или WebOS (LG)?
Интересуюсь потому, что еще не видел рабочего решения для телевизоров Samsung.
На телике (Samsung) работает?
Кажется, понял, в чем дело. Начиная в с версии 22.03 OpenWRT использует fw4 с nftables.
Я сам чайник. Может, кто поможет переписать эти правила для nftables?
OpenWRT 23.05.3, поднятый в виртуалке под Proxmox. При старте скрипта вот такие ошибки:
Warning: Extension REDIRECT revision 0 not supported, missing kernel module?
iptables v1.8.8 (nf_tables): RULE_APPEND failed (No such file or directory): rule in chain PREROUTING
Warning: Extension REDIRECT revision 0 not supported, missing kernel module?
iptables v1.8.8 (nf_tables): RULE_APPEND failed (No such file or directory): rule in chain PREROUTING
Started TPWS service
Подскажите, в контексте DNS термины авторитетный и авторитативный являются полными синонимами?
конкатЕнация же!)
Тоже писал кроссплатформенное (Windows, Linux) GUI-приложение с использованием tkinter. Хотелось попробовать сделать на любимом Python то, что обычно делал на C++/Qt. Да, здесь нет удобного Qt Designer для макетирования форм — все приходится ручками прописывать. Но результатом остался доволен. Для приданию приложению более современного вида остановился на достаточно удобной библиотеке ttkbootstrap. Хотя рассматривал и пробовал разные варианты, включая упомянутый CustomTkinter.
Для себя сделал вывод: писать на Python GUI-приложения можно и нужно. В моем случае это было приложение, работающее с устройством на микроконтроллере через UART по MODBUS-подобному протоколу. Использовались вкладки, кнопки, спинбоксы, поля ввода, элемент Text, чекбоксы, стилизованные под switch, диалоговые окна.
Из «нортоновских» программ хотелось бы еще упомянуть Norton Ghost, которая очень помогала лет 10 назад, а то и меньше.
якодзуна.Сёходзан (тот, что на фото справа — у вас он с подписью HBase) никогда не был ёкодзуной :-)