freedom1b2830, я поэкспериментировал и понял, что трафик завернулся в нужный интерфейс, но в нём он уходит с неправильным IP другого интерфейса. Решение - сделать SNAT
Ну сделайте отдельное уникальное поле и триггер, который его генерирует.
Ещё можно сделать serial, который 1 января принудительно поднимать до 2023XXXXXXX, тогда в обычных ситуациях он сам будет заполнять поле нормальным значением без дополнительных усилий. Главное успевать переключить год до первых записей нового года (хотя, возможно, в вашей ситуации и некритично, если несколько записей останутся в предыдущем году).
Но в целом это дурацкий подход в любом слуаче. Можно добавлять в отображаемые поля что угодно, но первичный id лучше пусть будет сквозным. Так, кстати, часто делают, например, с номерами договоров в разных системах: они монотонны, а для удобства взаимодействия с контрагентами и быстрого определения актуальности договора в них можно добавлять текущий год.
Очень грубо говоря, n log n означает, что у нас цикл двойной вложенности, но за счёт правильной организации алгоритма длительность вложенных циклов становится заметно меньше, чем n.
Sayrus Craft, сделай цикл, который добавляет в $keyboard кнопку. На выходе из цикла в $keyboard будет столько кнопок, сколько итераций цикла. Не забудь перед циклом инициализировать $keyboard пустым набором кнопок.
SendToTelegram надо, разумеется, вызвать вне цикла.
За подробным кодом - читай учебник по PHP. Вопрос очень тривиальный, если даже с таким возникли проблемы, то рано ещё писать что-то сложнее Hello World.
Ага, пользователь не успел прочитать, что от него хотят, или отвлёкся на звонок, а время уже вышло. А если поставить минуту ожидания, то пользователь через 3 секунды ввёл имя, а потом ещё 57 секунд думает не угодила ли в бота неуправляемая ракета с ядерным боезарядом...
freedom1b2830, OUTPUT в таблице filter сработает уже после маршрутизации и никак на неё не повлияет. Нужно менять в таблице mangle. Я уж не говорю о том, что wlp0s21f0u2 это не интерфейс VPN.
Вот рыба того, что можно сделать:
iptables -t mangle -A OUTPUT -m owner --uid-owner 1021 -j MARK --set-mark 2
echo 100 vpn >> /etc/iproute2/rt_tables
ip route add default dev tun123 table vpn
ip rule add fwmark 2 p 100 lookup vpn
Многие думают, что групповые политики - такая мистическая универсальная хрень, которая универсальна и непреложна. Но это не так, для их поддержки конечная система должна явно иметь их поддержку. И далеко не всё можно поддержать вообще, не говоря уже о том, чтобы поддержать легко.
Например, представим себе, что есть групповая политика, запрещающая пользователю менять обоину на рабочем столе. Так вот, в Windows для этого штатный механизм явно проверяет, что обоину менять нельзя и запрещает её менять. Возможно, что при этом обои можно поменять через реестр? Не знаю, не знаю, но допускаю, что и в этом случае система следит за пользователем и не даёт ему это сделать.
Представим себе, что мы бы захотели распространять эту практику на Linux-системы. А как это сделать? Начнём с того, что в Linux существуют десятки Desktop Environment (DE), в некоторых из которых обои не предусмотрены вообще никак! А в тех, в которых предусмотрены, могут по-разному настраиваться, держать в разных местах конфиги... Плюс в Linux можно завести несколько десктопов (воркспейсов) и на каждом повесить свою обоину. Или настроить их рандомную ротацию.
До кучи, есть не только известные DE (KDE/GNOME/XFCE4/LXDE/WindowMaker итд итп) и редкоиспользуемые (типа OpenBox/E17/i3/fvwm2), никто вообще не требует использовать все компоненты одной DE одновременно. Например, в XFCE можно использовать оконный менеджер xfwm4, но оторвать и не запускать вообще его десктопную часть xfdesktop. Или вот например я исторически использую терминал Konsole от KDE, при том, что у меня XFCE.
При переходе на Linux надо не самые лютые практики винды пытаться воспроизводить, а решать задачи с учётом того, что это другая совершенно по-другому устроенная система.
дмитрий шевченко, скорее всего да. Ну, скажем так, обычным ардуиновым скетчем точно не обойтись, а писать событийную модель для ATmega, которую непонятно спаривать с другим функционалом и другой периферией, будет скорее всего чересчур долго и сложно. Вон, советуют ESP, где это уже заранее всё проделано именно с изначальным прицелом на поддержку Wi-Fi.
Основная проблема Wi-Fi в этой схеме - слишком много требуется софтверной поддержки. На компьютерах/малинках можно это поддерживать без проблем, на простейших же чипах сложно сделать WPA, обмен ключей и прочую обвязку.
Советую в доке обратить внимание на раздел 2.3, где перечислены не только поддерживаемые операционные системы, но и процессоры. Поддержки ардуиновского чипа ATmega нет. Собственно, в ардуине и операционной системы-то нет. И USB-хоста тоже нет.
rinaz22, PTR надо настраивать для того IP, с которого отправляется письмо. Если отправляется со своего сервера, то настраивать PTR-запись может только владелец автономной системы, в которую входит этот IP (некоторые хостеры позволяют это делать через веб-интерфейс, некоторые требуют обращения в поддержку). Если отправляется с серверов Яндекса, то - уверяю - Яндекс всё настроил уже давно у себя. На кого делегирована почта НА ПРИЁМ при этом неважно.
nedland, этот сайт существует для того, чтобы пользователи не только помогали друг другу, но и чтобы помогать приходящим из поиска. От безответных вопросов ничего хорошего не будет.