• Как сделать уведомления в телеграмм при входе на сайт?

    zkrvndm
    @zkrvndm
    Архитектор решений
    У вас подход изначально неправильный.

    1. Ни в коем случае нельзя ключи от API в открытом виде размещать на своем сайте

    2. За отправку уведомлений должен отвечать тот же скрипт, который отдает html-страницу

    3. В случае с php просто делаете запрос на API телеги используя CURL, примеров в сети полно

    https://vk-book.ru/otpravka-soobshhenij-v-telegram...
    Ответ написан
    Комментировать
  • Как настроить роутер на openwrt с клиентом openvpn так, чтобы весь трафик был завернут в впн, а без него интернет бы не работал?

    ValdikSS
    @ValdikSS
    Заведите VPN-соединение в отдельную зону, а у зоны WAN (физическое подключение) отключите возможность маршрутизации из LAN в WAN.
    Ответ написан
    Комментировать
  • Как настроить роутер на openwrt с клиентом openvpn так, чтобы весь трафик был завернут в впн, а без него интернет бы не работал?

    @Tabletko
    никого не трогаю, починяю примус
    Указывает шлюзом по умолчанию роутер за vpn каналом и отдельно маршрут до vpn сервера через шлюз локального провайдера. Дефолтный маршрут через провайдера удаляет.
    Ответ написан
    Комментировать
  • Как открыть доступ к локальному веб-серверу локальным ПК через интернет?

    ArteMoon
    @ArteMoon
    Развиваюсь
    Это называется Hairpin NAT
    Второй вариант — на днс сервере в локальной сети подменять внешний адрес веб сервера на внутренний
    Ответ написан
    7 комментариев
  • Как «обновить» ячейки SSD с данными?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Вообще не надо ничего делать! Достаточно только изредка (раз в несколько месяцев) ставить SSD под электропитание на несколько часов. Он сам с собою разберётся.
    То же самое и для обычных USB -флэшек.
    Подробности вот тут.
    Ответ написан
    2 комментария
  • Что означает (jQuery) после (function( $ )?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    (function( ) {
    })();

    Вот эта конструкция называется "анонимная самовызываемая функция".

    То есть, тут два действия:
    Объявление анонимной функции
    function( ) {
    }

    и сразу ее вызов
    ()()
    Первые скобки это синтаксический приём для вызова анонимной функции. Есть и другие методы. Например
    +function(){}()
    Вторые скобки - это собственно вызов функции и при необходимости передача параметра (обычный вызов же)

    ()(jQuery) — в параметре передается jQuery

    function($){} — а тут этот параметр объявлен и используется

    (function($){})(jQuery) — итого, объявили анонимную функцию, и вызвали ее, передав параметром объект jQuery

    Например, доллар у вас используется другой библиотекой, пусть MooTools.
    Тогда вы запускаете jQuery в безконфликтном режиме

    jQuery.noConflict();

    Это значит, что доллар использоваться не будет, и объект будет доступен только по ссылке jQuery.

    Но для удобства вы можете использовать анонимную функцию и безопасно использовать внутри неё переменную доллара

    (function($){
      $('.slider').slick();
    })(jQuery);


    Чтобы стало совсем понятно, конструкцию можно переписать без анонимной функции

    var myFunc = function($){
     // some code
    }
    
    myFunc(jQuery);
    Ответ написан
    Комментировать
  • Как работают драйвера на Android?

    @rPman
    Бинарные блобы.

    Подавляющее большинство производителей смартфонов, планшетников, SmartTV и вообще всего многообразия IoT из мира arm, в нарушение GNU лицензий и здравого смысла не предоставляют никаких драйверов, инструкций и не оказывают содействия сообществу (некоторые только на него и надеются, т.е. вот вам говно, пилите, работайте бесплатно, а мы с продаж железа будем получать бабло, не потратив ни копейки на софт, потом всех кинем). Чаще всего производитель однократно под конкретную версию ядра, пилит рабочую конфигурацию (не только модули но и фактически весь образ android), затем выкидывает все исходники в мусорку и забывает про то что это существует.

    Все существующие кастомные прошивки берут существующие образы android, иногда с соседних совместимых устройств, и тусуют содержимое, в некоторых комбинациях это работает.

    Нормальный linux в подавляющем большинстве случаев установить не получится. В лучшем случае, если заработает, не будет доступа ни к радиомодулю (включая wifi и модем) ни к тачскрину ни даже к видеоускорителю (максимум в режиме framebufer)

    p.s. В некоторых случаях, если у какого-то любопытного хакера, оказывается интересное ему устройство, он может отреверсить работу оборудования и запилить свой драйвер, если повезет, этот код попадает в мейнстрим linux и тогда его поддержкой займется уже не только сообщество (энтузиасты) но и финансово заинтересованные компании.
    Ответ написан
    2 комментария
  • Mikrotik - выборочная маршрутизация трафика через VPN по FQDN?

    @dronmaxman
    VoIP Administrator
    ты вот так сделал?
    https://forum.mikrotik.com/viewtopic.php?t=171665

    Есть способ на основании SNI, но он не работает если используется TLS1.3 где скрыт SNI и это работает только с http трафиком. Если это чистый TCP то не отработает.

    Тут нужен прокси или вытягивать по номеру AS целые сети или страны и добавлять их в марштуры.
    Другого способа нет.

    Когда в firewall ты указываешь в address доменное имя, мироктик в тот же момент переворачивает его в IP, т.к. firewall не может получить доменное имя из TCP пакеты от ПК (если это не TLS, SNI выше я уже описал почему это не всегда работает). Соответственно твой вариант тоже работает на 50% т.к. у некоторых сайтов может быть 2 и более IP или это вообще может быть CDN, и если IP который получил mikrotik клиент разные то твое правило не отработает.

    Если прикинуть, то можно попробовать реализовать следующую схему. Написать скрипт который будет мониторить запросы DNS на микротике и если они попадают под FQDN шаблон то динамически создавать маршрут, но я не встречал такой реализации и не могу утверждать что такое возможно.
    Ответ написан
    9 комментариев
  • Логирование трафика через iptables?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    можно использовать iptables -j ULOG и перенаправлять данные в ulogd, у которого куча бекендов включая СУБД
    https://www.netfilter.org/projects/ulogd/index.html
    Ответ написан
    Комментировать
  • Стоит ли переписывать старый проект на .NET6 (на голом энтузиазме)?

    DollyPapper
    @DollyPapper
    Чистая архитектура это не серебряная пуля, в чем профит то? Какие ваши проблемы она решит? Выглядит так, что вы устали работать с легаси говнищем и хотете на текущее место работы привнести новые технологии. Если это так, то это не работает. Поверьте, я проверял. Лучше смените проект.
    Ради опыта напишите полезный пет проект, или опять же - смените место работы. Загнивание на работе с технологиями которые вам не нравятся это путь в выгорание. Опять же поверьте, я проверял.
    Ответ написан
    2 комментария
  • Будут ли работать коммутаторы Cisco 3750G из стека по отдельности в одном сетевом сегменте?

    @dronmaxman
    VoIP Administrator
    Чисто технически может возникнуть конфлик IP адресов т.к. в стеке у них один адрес, так же STP брыкнет.

    В теории надо выдернуть один коммутатор из стека, подцепиться консолью, поменять IP, приоритет STP и hostname (что бы discovery не ругался). Но ты все равно не сможешь собрать стек без полной перезагрузки, так же потребуется засинхронить конфиг с мастера, когда оба будут в новой локации.

    У тебя один стек? Если нет, возможно получить переносить по одному стеку целиком.
    Ответ написан
    1 комментарий
  • Как переименовать файлы с определенным условием в Linux?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    В Linux есть замечательная утилита rename. Ну, точнее, их две: одна входит в пакет util-linux, другая - скрипт на базе perl-модуля File::Rename. В deb-дистрибутивах нужный нам скрипт устанавливается в составе пакета rename и также имеет имя второе file-rename (а версия из util-linux имеет имя rename.ul). В других дистрибутивах может быть иначе, поэтому смотрим внимательнее параметры запуска (можно запустить rename без параметров и убедиться, что это нужный вариант).

    Синтаксис предельно простой: rename регулярное_выражение_замены_perl имена_файлов

    Синтаксис rename.ul для сравнения: rename что_заменить на_что_заменить имена_файлов

    Вот что можно сделать для решения задачи (в предположении, что других точек, кроме как перед расширением, в имени файла нет):

    rename 's/-\w+\././' *

    Этот скрипт намного удобнее многоэтажных однострочников, да и пригодится в жизни ещё не раз.
    Ответ написан
    7 комментариев
  • В каких случаях нужно делать перекрёстный обжим сегодня?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Всё современное оборудование имеет Auto MDI/MDIX detection и не требует кроссовых кабелей.

    Кроссовые кабели обязательны при соединении двух оконечных или двух транзитных устройств, не поддерживающих автоопределения, и рекомендуются при соединении двух устройств, если оба являются оконечными (клиентскими) либо оба транзитными, и одно из них не поддерживает автоопределение.
    Ответ написан
    Комментировать
  • Как понять какой из php-cli скриптов в Linux множит зомби?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Команда ps axuf всё покажет.
    Ответ написан
    Комментировать
  • К динамическому ип привязать статический ip.?

    @rPman
    либо у провайдера заказать либо приобрести vpn с фиксированным ip адресом (такая услуга раньше была нормой, но так как ip адреса все дороже и дороже, то это стало опцией), как вариант, приобрести vps-ку, очень часто ip адрес там привязывается в момент покупки до окончания (т.е. как перестанешь платить - отбирают), цены на этом рынке могут быть от бакса в месяц (более менее нормальные vps с нормальной сетью и оперативкой от гигабайта можно найти за 3$/м)
    Ответ написан
    Комментировать
  • Как настроить Postfix чтобы письма отправленные через telnet сохранялись в отправленных?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    В отправленные письма ложит ваш почтовый клиент. Сервер ничего для это не делает.
    Соответственно, когда вы отправляете письмо в telnet сессии - то сохранять их в отправленные некому.
    Ответ написан
    Комментировать
  • Почему физические сетевые интерфейсы в Proxmox 7.2 спонтанно переименовались?

    Ведро обновилось. У меня сегодня та же лажа была, но на Devuan... Вот уж от кого не ожидал! Просто за такие чудеса разрабов надо за я*ца подвешивать, потому что вот ладно мне в соседнюю комнату к серверу сходить и там в консоли потыкать, а кому-то лететь в командировку, и ещё руководству объяснить "почему это г*вно" опять сломалось, а ты такой-сякой не можешь нажать волшебную кнопочку и вертать всё взад :(
    Ответ написан
    2 комментария
  • Можно ли использовать 1 vps сервер для нескольких задач (vpn + хостинг)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если зобанят по причине VPS то и все сайты попадут под бан. И наоборот. А так... да раскатывайте хоть сотни задач на одном хосте.
    Ответ написан
    Комментировать
  • Почему Doom портируют куда только можно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Doom - это была одна из первых игр где была реализована в полной мере техника BSP (Binary-Space-Partition). Это позволяло в реальном времени очень быстро сортировать и рендерить полигоны без привлечения Z-Buffer. (Рендеринг был чисто прогарммный. На то время еще не было ускорителей 3Д графики и видеокарточка умела только отображать память на экран. ) Игра не была по настоящему трехмерной. А только рализовывала 1 этаж. Рендерить надо было только пол и потолок. Для каждой точки где стоял персонаж. И наклонных горизонтальных поверхностей в ней не было как раз по этой причине. Ее называли 2.5-мерной игрой. Было также много идей оптимизации вычислений. Например вместо вещественных чисел - целые 32х битные с fixed point.

    В скобках замечу что это был 1993 год и на дворе было царство Intel 286/386. Это были машины с тактовой частотой меньше ваших телефонов (Pentium только только релизнулся и еще ни у кого не был). И трехмерный Doom был прорывом. На моем тогда еще 386SX от подтормаживал но играть было можно. И со звуком для SoundBlaster. И конечно это было лучше чем Wolfenstein.

    Аналогичное было реализовано в Duke Nukem 3d. Но Дюк был менее популярен ИМХО. Были и масса других 3д игр в жанке RPG но они были не такие динамичные. Походовые в основном.

    Вобщем сегодня если вы гейм-дев то вам желательно хотя-бы ознакомиться с техниками оптимизации которые были в Doom. Можно почитать и про Quake но это просто развитие идеи BSP деревьев для полного 3D с 5 или 6 степенями свободы. Еще можно почитать про реализацию игры Esctatica. Там не на полигонах а на шариках или эллипсах реализована игровая графика. Тоже интересно.

    UPD: Заменил MMORPG на RPG.
    Ответ написан
    6 комментариев
  • Почему не работает самоподписанный сертификат?

    @res2001
    Developer, ex-admin
    В корневые нужно пихать только сертификат ЦА. Это контейнер для них.

    Самоподписанный сертификат - это другое. Это когда у вас нет ЦА и вы просто выпускаете сертификат сервера и он сам себя подписывает. Такой простейший вариант сертификата.

    Сертификат ЦА - самоподписанный, т.к. его никто не подписывавет, но используете вы сертификат сервера и возможно клиента, а эти оба сертификата подписываются ЦА и они не самоподписанные. В работе используется сертификат ЦА только для проверки подписи предоставленного сертификата сервера и/или клиента, дальше для всего используются серверный и клиентский сертификаты.
    Не знаю особенностей Jitsi Meet, но по ссылке нет самоподписанных сертификатов. Там упор делается на использование LetsEncrypt, но по большому счету разницы нет - используете ли вы ЦА от LetsEncrypt или свой собственный. В случае своего ЦА , вы должны обеспечить возможность проверки сертификатов, правильно установив сертификат ЦА, тогда как сертификат LetsEncrypt (и других известных публичных ЦА) обычно уже установлен в системе. Процесс контроля за сроком сертификатов, их перевыпуском, ведением списка отозванных сертификатов и его доступностью то же ложится на вас.

    Любой сертификат содержит в себе публичный ключ владельца сертификата. Вторая часть ключа - секретный ключ - идет в отдельном файле. Серктеный ключ ЦА должен находится только на самом ЦА, он требуется только для выпуска новых клиентских сертификатов. В остальных случаях используется только сертификат ЦА, который можно свободно распространять. Аналогично и секретные ключи сервера/клиента - они должны находиться только у владельца ключа.
    Ответ написан
    1 комментарий