Что на сленге программистов означает "Веб-морда"?
Это некоторое обратное сокращение от web interface (web-face) «Веб-морда». Нередко некоторые устройства, которые не имеют экрана или прочих интерфейсов для вывода информации поднимают локальный сайт для управления таким устройством (большинство роутеров или принтеров). Именно сетевой интерфейс управления и называют вебмордой.
Кроме того, у многих приложений/сервисов есть возможность работы через свой клиент и через веб интерфейс — его тоже называют вемордой.
Немного уточню определение. Веб-морда — это именно веб-интерфейс, в виде HTML-странички. При этом не имеет значения, есть ли к страничке доступ через Интернет, или только из локальной сети. Сетевой интерфейс устройства, базы данных, биллинговой системы, почтового сервера и т.п. внутри сети может быть реализован по-разному, на разных технологиях. Его обычно называют просто «мордой» или «междумордием» (это, кстати, дословный перевод слова «интерфейс»).
это плохо, потому что означает дорого. хотя, смотря для кого — продавцу хорошо.
вообще, эти смысловые заморочки с языком иногда здорово ставят в тупик. с детства помню частую фразу брата : он такой ***, его там никто ненавидит.
Дилд — это фалоимитатор, еще его называют дилдо. Произошло от английского dildo — фалоимитатор. То есть дилд представляет из себя форму полового члена, выполнен обычно из дерева или пластика, может иметь функцию вибрации, а может и не иметь.
Соблюдение личной гигиены необходимо везде, в МЛС тоже, особенно в тесном и закрытом мужском коллективе, так вот те, кто этим правилом пренебрегают и зовутся чушкан, слово, кстати не жаргон, оно пришло в тюремный быт зиндана, где не было воды , и иных благ цивилизаций, была только яма и ведро воды на 50 человек, Скобелев,во время среднеазиатских походов, своими указами запретил сбрасывать женщин с минаретов, и зинданы, где люди не мылись весь срок заключения, добавить к этому жару под 50 градусов и вся картина на ладони.Для таких лиц больше нет нар, туда их просто не пустят, и они спят на досках между нарами — называется самолет, чушкан стоит по иерархии выше чем опущенные и не является «чертом» то есть не относится к администрации хоз блока ИУ,но одежду стирать ему не доверят
Да практически не чем и не отличается сленг от жаргона. Просто принято считать, что на жаргоне общаются либо сидельцы, либо тот кто через это прошел.
Ну а сленгом пользуется в основном молодежь и все те слова, что нет в русском языке, но их произносят в разговорной речи и называется сленгом.
Пушка, ствол, шпалер, волына. Бульдог, официальный тип револьвера, но звучит. «Сеня вынул дуру, и нажал курок». Из песни. Дура. Самопал, ближе к самоделкам пистолетов. Барабанщик, барабан, общее название револьверов. Самовзвод.
Искусственный интеллект лицом
Если ваши успехи в освоении data science и других наук дошли до стадии, когда вам есть что показать, то самое время глянуть на эту статью. Эта статья совсем не про искусственный интеллект и про искусственный интеллект далее в статье больше ни слова. Эта статья описывает один из способов получить из сети картинку, обработать её и отдать обратно. Как можно дешевле, надёжней, быстрей (это конечно фантастика) Можно и с AI, можно и без AI, главное то, что есть обработчик картинок и есть что показать человечеству!
Недостатки этой статьи — простовата до невозможности, нет ни одного решения сложней плинтуса. Откровенный примитив. Всё уже описано, расписано и показано в других статьях.
Достоинства этой статьи — применены исключительно простые решения. Все конфиги на пол страницы, все библиотеки многолетней давности и никаких фреймворков. Всё ясно, понятно, обозримо и проверено годами. И работает.
Зачем эта статья. Можно скопипастить и будет работать и можно сосредоточиться на главном своём алгоритме. Можно быстро понять какую часть туториалов прочесть, что бы что то переделать. Тут всё в куче, легко найти, просто поменять. Если нужно добавить новый функционал — ясно понятно куда что и как дописывать.
Таких статей, как прикрутить web интерфейс к питону в десяток строк, полно, но дьявол то как всегда в мелочах. Если сделать вебморду в 10 строк, работать то оно конечно будет, но вам тогда нужен прямой IP и все боты мира будут в него стучать, отнимать ваше и время процессора. А если вдруг ушлый какой и пролезет! Не годится! Нужно защищать свой компьютер и, особенно, свой код, например нейронной выстраданной сети. Код, свой, ещё не опубликованный и незакопирайченый, здесь главная ценность.
Поэтому выносим морду в интернет, защищаем её и строим к ней туннель.
Покупаем/арендуем/берём_в_дар VDS, самый махонький. Я выбрал вариант KVM, чтобы спокойно и уверенно установить там FreeBSD. Их как-то в сети внешней работает много и все сетевые трюки на FreeBSD выглядят просто, достойно и элегантно. (И всё это дело можно уместить в 512, а то и в 128 Мб памяти, что немаловажно по деньгам).
Туннелей тоже много разных и хороших, мой выбор — OpenVPN. Бесплатно и просто подключить свой внутренний вычисляющий сервер на любой ОС к внешнему серверу на FreeBSD.
Вот тут первый вопрос — а где делать сервер и где клиент? Я выбрал вариант когда во внешнем мире на VDS у меня находится сервер VPN. Казалось бы должно быть наоборот, сервер внутри охраняемого периметра, а клиент вне и клиент подключается к серверу. Но, в моем случае, если потерять внешний сервер, если сервер будет скомпрометирован, то я потеряю всего лишь VDS и не потеряю доступ внутрь, к суперсекретному своему алгоритму и к машине, на которой он есть, в охраняемом периметре. Если же вне будет клиент, а сервер внутри, то при компрометации клиента или взломе его, утекут ключи и хакер получит доступ с серверу с секретным кодом. В варианте внешнего сервера нет никаких открытых и пробрасываемых портов, все наглухо закрыто для доступа извне, доступ только через VPN и только по одному порту для FastCGI.
Итак ставим на VSD с FreeBSD обычный web сервер lighttpd, обычный OpenVPN сервер и посредством FastCGI отправляем картинки через openvpn на свой рабочий компьютер для обработки.
Первый архитектурный вопрос прояснился и буду рад и готов получить замечания и предложения.
Но теперь второй вопрос. Картинку то мы получили, обработку, которую собственно и хотим показать миру, сделали и теперь картинку нужно отдать обратно в мир. Но вот вопрос: — а с какого сервера? Если из своего рабочего, то те же проблемы — прямой IP и соблазн для ботов всего мира. Если не прямой, то нужно с сервера обработки отдать картинку куда то во внешний мир безопасно и оттуда показывать. В данном варианте картинка грузится через VPN с помощью scp обратно на внешний сервер на FreeBSD и оттуда отдаётся тем же lighttpd. Картинку покажем и через 10 минут удалим, так что во внешнем мире не хранится ничего, ни картинки, ни алгоритма.
Отдав картинку, lighhtpd показывает страницу опроса с закодированными параметрами картинки — нравится преобразованная картинка или нет или загрузить новую? Ответ вместе с параметрами преобразования картинки и ее именем возвращается по FastCGI на внутренний сервер и записывается в файл. Мало ли, вдруг накопится статистика )) Сделано так, что бы у пользователя было время подумать, отвлекли, пообедать ушёл и т.д. Сессия разорвалась и что бы ответить нужна новая, вот в новом FastCGI запросе и будет новая сессия и вся инфо о картинке будет отправлена.
Ну и опять же конечно буду рад и готов получить замечания и предложения.
и посмотреть реальную работу: http://107.189.8.250/
Теперь по пунктам и подробно. Ещё раз — буду рад и готов выслушать замечания, правки и критику.
FreeBSD и его конфиги
Ставим FreeBSD как обычно и немного модифицируем /etc/rc.conf
и первым делом настраиваем файрволл
пропускаем извне только ssh, http и vpn (1194 порт). Разрешаем доступ с tun0, это и есть туннель к нашему внутреннему серверу. Форвардинг нам не нужен совсем.
Создаём юзера под которым будет подключаться клиент и загружать картинки.
Заменяем доступ по ssh на беспарольный доступ по ключу, чтобы scp работал без пароля. Доступ нужен и с рабочего компьютера для настройки и с вычислителя для передачи картинок. Ну и что бы не было каркозябров в названиях файлов, русифицируем FreeBSD, добавляем в /boot/loader.conf:
Далее ставим lighttpd и openvpn любым привычным способом. Добавляем нашего юзера в группу www. Он должен иметь права на добавление картинок в папки lighttpd. Добавляем юзера под которым будет работать openvpn, лучше если это будет не root. По умолчанию конфиги lighttpd не соответствуют создаваемым во FreeBSD по умолчанию папкам. Правим /usr/local/etc/lighttpd/lighttpd.conf
Эта сложная конструкция в lighttpd.conf всего лишь проверяет URL и если что то не нравится, то отправляет на начальную страницу сайта.
Правим там же modules.conf
и раскомментируем там же строчку для вызова fastcgi
Теперь правим fastcgi.conf , дописываем
«192.168.0.66» это адрес внутреннего сервера за периметром. Именно на нем и будут производиться вычисления картинок. Этот адрес может и не принадлежать внутренней сети совсем и к этому серверу вы можете сделать доступ по другому, второму интерфейсу, а этот «192.168.0.66» закрыть для любого обращения, кроме как через VPN через tun0. Ну и порт 8888 выбран не совсем удачно, лучше выбрать другой, если использовать jupyter notebook. Но в данном случае все вычисления на С и порт можно взять любой больше 1024.
Создаём папки для хранения страницы сайта и картинок.
Напомню, что наш <user> должен быть членом группы www и должен иметь права на запись в папку /usr/local/www/data/images и у группы www должны быть права доступа к этой папке.
Далее настраиваем OpenVPN, (вот тут гораздо подробней), создаём папки для openvpn
_openvpn — это тот самый юзер, под которым и будет запускаться собственно openvpn и никакой login/shell/home_dir ему не нужен. Можно использовать пользователя nobody.
теперь правим /usr/local/etc/openvpn/server.conf
Теперь создаём ключи и кладем в указанные папки и не забываем правильно установить права
Когда создаём ключи, то нужно обязательно указать правильно CN, оно должно совпадать с именем юзера и именем файла в папке /usr/local/etc/openvpn/ccd/
Точно именно так — все три имени должны совпадать. OpenVPN берет имя юзера из ключей, его настройки из файла /ccd/<user> и вы в системе логинитесь под этим именем при подключении через OpenVPN и получаете соответствующие права доступа. Всё должно совпадать.
В файле /usr/local/etc/openvpn/ccd/<user> пишем настройки сети
Эта запись означает, что сеть 192.168.0.0 находится за VPN, туда нужно и можно через tun0 слать пакеты.
Теперь создаём страницу нашего сайта, которая делает только одно — принимает картинку от посетителя и кладем в файл upload.html
Можно выкинуть 5 строчку, она для того, что бы google находил и индексировал страницу и годится только для этого конкретного сайта http://107.189.8.250. Подправьте заголовки, если нужно. Если отправляете не только картинки, то правьте accept=»image. «. Не смог сделать так, что бы браузер выбирал только одну картинку. Буду рад, если кто подскажет. Сейчас можно выбрать несколько картинок и наш обработчик FastCGI обработает только первую. Но это нарушение архитектуры — если обрабатывает одну картинку, то и выбираться должна только одна. Но не смог .
Теперь перегружаем FreeBSD и смотрим, что же мы там наделали, запустились ли lighttpd, openvpn? Открывается ли страница, можно ли выбрать файл? Можно и нужно проверить порты, всё таки сервер в прямом доступе кулхацкеров и ботов всего мира.
Ну и последний штрих это crontab -e и не забудьте поправить <user> на конкретное свое имя, что указывали ранее. Те картинки, что уже показали, нет нужды хранить на внешнем сервере долго. Каждые 10 минут файлы старше 10 минут будут в папке картинок удалены. Т.е. картинка на внешнем сервере храниться не более 20 минут.
Если что то не работает, или работает не так как задумывалось — проверяем IP, в статье указан конкретный рабочий действующий адрес. У вас он может быть и должен быть другим. Проверяем права <user>, проверяем папки. Если опять что не так — пишите мне, может я что и пропустил, гляну в действующем примере.
Настройка Ubuntu
Тут настраивать мало совсем и кратко.
Нужно создать специальную таблицу маршрутизации для VPN в файле /etc/iproute2/rt_tables
Эта новая таблица 200 vpn нужна для того, что бы ответ на пакеты пришедшие с vpn через tun0 отправлялись обратно также через tun0. Просто в любимом редакторе правим файл и добавляем строку.
Также рутинная процедура создания ключей (укажите правильное имя <user>) с помощью ssh-keygen -t rsa и также рутинно и просто отправим их на наш FreeBSD ssh-copy-id <user>@10.0.1.1 . Где 10.0.1.1 это адрес вашего сервера при доступе через VPN на tun0.
Устанавливаем рутинно OpenVPN и создаём два файла в папке /etc/openvpn/client/
это файл конфигурации клиента client_<user>.conf
и в то же место кладем ключи. Напомню, что <user> должен быть одинаковым везде, там на FreeBSD в трех местах и тут. Именно этот <user> подключается к FreeBSD и именно у него права и возможность положить обработанную картинку на её место.
В той же папке лежит файл /etc/openvpn/client/special_vpn
Название произвольное, но смысл его в правильной настройке маршрутизации. OpenVPN адрес 10.0.1.1 присваивает серверу VPN в сети 10.0.1.0, что мы указали на FreeBSD в файле server.conf. Поскольку вычислитель картинок никуда больше ничего не отдает и не берет, то можно отправлять на адрес 10.0.1.1 и через VPN картинка дойдет до места.
Больше чем уверен, что в этих конфигах можно найти кучу усовершенствований, лишнего и неправильного. Уверен, что с помощью OpenVPN-AS можно сделать проще и быстрее и надёжней. И у меня эта конструкция не сразу заработала, хотя почти точно такая, но для просто VPN, работает рядом много лет.
Если загружать исходники в эту машину и компилировать, то нужно загрузить и все библиотеки и среду. Но можно подготовить бинарник на другой машине и просто запустить два сервиса — OpenVPN и это бинарник. Подготовка бинарника не предмет этой статьи, просто не забудьте ключи для gcc -lopencv_imgcodecs -lopencv_imgproc -lopencv_core -lpthread -lfcgi -lssl -lcrypto
И совсем штрих, (fun_house в данном случае имя юзера под которым картинка обрабатывается) прописываем crontab -e
И в файле /home/fun_house/funhouse.sh
funhouse — имя программы, которая собственно создана нами и которая и принимает FastCGI запросы, принимает, обрабатывает картинки и отправляет их обратно. Такой crontab будет при перезагрузке запускать программу обработки.
Обработка
Программа обработки состоит из трех логических частей, но в этом случае все они уложены в один длинный код. По этому поводу есть много мнений и почти все они говорят, что так плохо. Но так наглядно и, главное, последовательно видно что и когда, что за кем и как выполняется в деталях. И в нашем случае наглядность всего алгоритма работы сервиса и детализация рассмотрения перевесили другие аргументы. Переделать для себя всё — пара минут.
Теперь перейдем к описанию алгоритма работы внутреннего сервера.
Главная программа сервиса обработки внутреннего сервера запускает THREAD_COUNT потоков и ждет. Внешний сервер показал посетителю страницу, тот согласился, выбрал картинку и нажал «Отправить». Lighttpd, согласно своим конфигам, отправляет FastCGI запрос на адрес 192.168.0.66 который через OpenVPN будет доставлен на 8888 порт внутреннего сервера. Вся обработка происходит параллельно в запущенных потоках. Каждый поток ждет когда придет его очередь обрабатывать FastCGI запрос от внешнего сервера.
Как только будет открыто соединение со стороны внешнего сервера, программа принимает по частям в размере буфера данные, парсит эти данные, скачивает по необходимости файл со служебной информацией, сохраняет этот файл картинки или скачивает картинку с диска, далее картинку обрабатывает, сохраняет, отправляет на внешний сервер, формирует HTML страницу ответа и отправляет её на внешний сервер. После закрывает соединение, сохраняет журнал в файл журнала и данные в файл результатов.
И так в цикле постоянно.
Директория с программой должна содержать поддиректории data/marks, data/imges и log
Теперь собственно код и комментарии. Очень красиво и подробно про FastCGI в потоках изложено в статье habr.com/ru/post/154187/ и вся идея и почти весь код про fastcgi взят оттуда. Особое спасибо@janagan
Здесь по катом весь source код на почти 1000 строк одним файлом.Наверно это неправильно.
Под катом громадный в 1000 строк исходник с комментариями. Комментарии наверняка можно и нужно дополнить.
Компьютерная грамотность с Надеждой
Заполняем пробелы — расширяем горизонты!
Что такое web интерфейс и как им воспользоваться
Старый добрый привычный способ работы с компьютером – это запустить на нем требуемую программу, и выполнить с ее помощью требуемую работу. Но теперь на смену этому подходу приходит другой – запустить сервис или приложение в сети Интернет, а не локально на своем компьютере.
Это работа с помощью так называемого «web-интерфейса», которая находит все более широкое распространение. Недалеко то время, когда работа с web-интерфейсом будет более распространена, чем пока еще привычная для многих локальная работа на компьютере.
Вы встречали такие выражения как «web интерфейс почты» или «зайти через веб интерфейс»? У многих пользователей возникает вопрос: что же это такое — веб интерфейс? И можно ли его «попробовать на зубок» простому человеку?
Web-интерфейс — это взаимодействие пользователя с нужным ему веб-сайтом через браузер.
В частности, web-интерфейс электронной почты представлен в виде обычного web-сайта (Яндекс, Гугл, Майл ру и т.п.), который предоставляет пользователю возможность работать с почтовым ящиком.
Конечно, при таком взаимодействии требуется, чтобы устройство пользователя (компьютер, планшет, смартфон) было подключено к Интернету.
В дальнейшем будем считать, что сайт — это то же самое, что веб-сайт.
Чтобы зайти через веб-интерфейс, нужно
- открыть браузер,
- в браузере найти и открыть нужный сайт,
- ввести на этом сайте свои данные (логин и пароль), чтобы получить доступ к услугам и возможностям на сайте. На этом все.
Рассмотрим конкретные примеры. Как известно, с ними всегда все проще и понятнее.
Web интерфейс почты
Начнем с почты, ибо у всех есть электронная почта, и все периодически просматривают свой почтовый ящик.
Можно заходить в свой почтовый ящик двумя способами:
- через web-интерфейс,
- с помощью специальной программы, которая называется почтовым клиентом (например, Mozilla Thunderbird, The Bat!и Microsoft Outlook).
Начинающие пользователи обычно используют первый способ.

Рис. 1 Заходим в Яндекс.почту через веб-интерфейс
Чтобы зайти в web-интерфейс почты:
- открываем любой браузер,
- заходим на веб-сайт почты (например, заходим на Яндекс, либо Mail.ru, Google, Rambler, Yahoo),
- в специальной форме вводим свои данные (цифры 1 и 2 на рис. 1) для доступа к своей почте. Жмем «Войти» (любая из двух цифр 3 на рис. 1).
В этой специальной форме, как правило, есть кнопки
- «Регистрация» (или «Завести ящик» — цифра 4 на рис. 1) и
- «Войти».
По кнопке «Регистрация» заходим только в случае, если Вам нужно завести новую почту. Если почта уже есть, а новый почтовый ящик не требуется, то тогда после ввода логина и пароля щелкаем по кнопке «Войти».
После этого в окне браузера загрузится основная Web-страница почтового ящика. На ней будут размещены ссылки на дополнительные веб-страницы, которые предназначены для просмотра входящей почты (цифра 1 на рис. 2), для проведения настроек почтового ящика (цифра 2 на рис. 2) и другие.

Рис. 2 Вид почтового ящика на Майл ру после входа через веб-интерфейс
Веб интерфейс в Облаках
Есть облачный Яндекс.Диск, о котором я писала ЗДЕСЬ. С ним можно работать через веб-интерфейс или, иначе говоря, в режиме онлайн, при подключенном Интернете.
Второй способ работы с Яндекс.Диском состоит в том, чтобы использовать специальное приложение, иначе говоря, специальную программу. Для этого приложение нужно скачать и установить на своем компьютере.
Не все любят без особой на то необходимости устанавливать дополнительные программы, к тому же, место на винчестере у пользователей ограничено. По этим причинам многие пользуются Яндекс.Диском через веб-интерфейс. Правда, при таком подходе «тяжелые» файлы не получится загрузить на Яндекс.Диск. Но в любом вопросе есть свои плюсы и минусы.
Все написанное выше в полной мере можно отнести к веб-интерфейсу Облака Майл ру.

Рис. 3 Заходим в Облако Майл ру через веб интерфейс
В Облаке также есть приложение, которое можно установить на своем компьютере. А можно работать с Облаком через веб-интерфейс. Для этого в браузере открываем сайт Облака (цифра 1 на рис. 3), а затем при первом посещении жмем на кнопку «Регистрация». Если уже есть логин и пароль на Майл ру, то нажимаем на кнопку «Войти» (цифра 2 на рис. 3).
Как зайти в веб интерфейс модема

Рис. 4 Примеры модема Yota и модема Мегафона
Речь пойдет о модемах, аналогичных представленным на рисунке 4. Это модемы Yota, Мегафона, Билайна, МТС и т.п. Другие варианты модемов здесь не рассматриваем.
Чтобы зайти в web интерфейса модема, выполняем все те же 3 шага:
- откроем любой браузер,
- найдем сайт, который предоставляет нам модем (Yota, Мегафон, Билайн, МТС),
- введем свои данные для авторизации на сайте (логин и пароль). Обычно они вводятся в «Личном кабинете» пользователя на сайте.
Допустим, у меня модем Yota. В таком случае web интерфейс модема – это мой личный кабинет на сайте Yota (рис. 5).
- Кликаем по вкладке «Частным клиентам» (цифра 1 на рис. 5),
- а затем по ссылке «Профиль» (цифра 2 на рис. 5).
- Вводим логин и пароль,
после чего можно управлять своим модемом. Это оплата, выбор и регулировка скорости и продолжительности работы модема Yota и т.п.

Рис. 5 Заходим через web интерфейс модема Yota
Если у Вас модем Мегафона, то Вам следует зайти на сайт Мегафона. И там при первом входе надо пройти регистрацию, а при всех последующих заходах вводить свой логин и пароль от личного кабинета на сайте Мегафона. Подробнее о личном кабинете Мегафона смотрите ЗДЕСЬ.
Веб интерфейс роутера
Web-интерфейс применяется и для управления различными сетевыми устройствами, например, для управления роутерами. Роутер – это устройство, предназначенное для «размножения» Интернета, например, в пределах квартиры или офиса. При его первоначальном подключении требуется ввести специальные настройки, которые удобно делать с помощью web-интерфейса.
Делается это не так просто, чтобы это можно было описать в одной-двух фразах. Поэтому я предлагаю заинтересованному читателю посмотреть статью «Как провайдер заставил меня перенастроить роутер D-Link», где это более подробно описано. Для этого кликните по ЭТОЙ ссылке.
Сложно однозначно словами передать чувство успеха, которое приходит после удачной настройки подобного устройства, когда все заканчивается благополучно, и Интернет «раздается» для компьютеров.
Веб морда что это
Товарищи!
В общем такое предложение — давайте организуем в этой теме сбор элементов веБ морды умного дома или применение этой системы в автомобиле.
А именно — собираем здесь ваши мысли по теме как и что и где должно находится в веб морде УД. выключатели, фейдеры, индикаторы, тумблеры ит.д.
Принимаются как фотошопные "пульты управления космическим кораблем", так и рисованные от руки или в паинте проекты.
2 задача — это создать достойный, конкурентно-способный интерфейс, который должен и может быть использован не только по ВЕБ протоколу, но и как отдельное приложение для смртфонов\планшетов. Ибо будущее за ними.
Также желательно в будущем разработать приложение для WinMacLinux.
Вообще конечно приятно наблюдать за эволюцией проекта Cyber-Place.ru
Я даже думаю что на сайте надо организовать DONATE.




Сам не умею рисовать, попросил подружку она помогла.(спасибо Юля!) Картинки использую как фон они меняются по времени и являются своеобразными часами )