Задать вопрос
  • Как в css получить элемент по атрибуту и классу?

    flapflapjack
    @flapflapjack
    на треть я прав
    Синтаксис:
    html_tag[attribute_name=attribute_value].classname
    div[data-theme=light].bg {
      background-color: red;
    }


    если элементы не только DIV-ы, то соответственно
    [data-theme=light].bg {
      background-color: red;
    }
    Ответ написан
    1 комментарий
  • Какая это кодировка?

    flapflapjack
    @flapflapjack
    на треть я прав
    для быстрого определения кодировки всегда пользуюсь декодером Лебедева.
    https://www.artlebedev.ru/decoder/
    Ответ написан
    Комментировать
  • Как микротик отличает input/forward из внешней сети?

    flapflapjack
    @flapflapjack
    на треть я прав
    https://ittricks.ru/administrirovanie/linux/531/ip... здесь очень подробно описывается последовательность шагов.
    Самая суть в после6днем абзаце сразу за схемой. Кто первым будет обрабатывать пакет зависит от самих правил. Например nat работает перед INPUT и обязательно решит, отправлять пакет в INPUT или маршрутизировать пакет согласно таблице маршрутизации.

    Но насколько я помню, если вы прописали SNAT и не меняли у входящего пакета --to-source, а адрес отправителя явно задан в INPUT как DROP, то пакет дропнется.
    Ответ написан
    2 комментария
  • Можно ли укоротить код с сохранением смысла?

    flapflapjack
    @flapflapjack
    на треть я прав
    Ну во-первых зачем 5 штук document.ready?

    Код-шутка 1
    $(document).ready(function() {
        $('.open__sub-filtr').click(function(event) {
            $('.open__sub-filtr, .sub-filtr').toggleClass('active');
        });
    $('.open__sub-filtr-2').click(function(event) {
            $('.open__sub-filtr-2, .sub-filtr-2').toggleClass('active');
        });
    $('.open__sub-filtr-3').click(function(event) {
            $('.open__sub-filtr-3, .sub-filtr-3').toggleClass('active');
        });
    $('.open__sub-filtr-4').click(function(event) {
            $('.open__sub-filtr-4, .sub-filtr-4').toggleClass('active');
        });
    $('.open__sub-filtr-5').click(function(event) {
            $('.open__sub-filtr-5, .sub-filtr-5').toggleClass('active');
        });
    });


    Не глянув вашу структуру HTML кода могу посоветовать только кривое решение, которое решением то назвать сложно. Кроме того у вас нелогичные имена классов, перед классом с именем open__sub-filtr-2 по мнению компьютера идет отнюдь не open__sub-filtr а open__sub-filtr-1, поэтому простой итерацией говнокодить тоже не получится:

    Код-шутка 2

    $(document).ready(function() {
    for (var i = 0; i < 5; i++) {
    
    $('.open__sub-filtr-'+i).click(function(event) {
            $('.open__sub-filtr-'+i+', .sub-filtr-'+i).toggleClass('active');
        });
    
    }
    });




    Вангую, что ваши эти все элементы являются дочерними для какого-то другого элемента, поэтому их легко можно перебрать циклом, и указывая не эти БЭМ-классы в качестве указателя, а номер дочернего элемента. Так будет правильно.

    А теперь, чтобы закрепить материал - гуглите Шура, гуглите. Ключевые слова - выше.
    Ответ написан
    Комментировать
  • Как обеспечить "перевод функции обеспечения интернета с маршрутизатора"?

    flapflapjack
    @flapflapjack
    на треть я прав
    Нужен коммутатор с поддержкой netflow. Это сейчас умеют почти все управляемые коммутаторы.

    На сервере подымаете flowtools или что-то типа того (под винду я не знаю). На комутаторе настраиваете netflow, и направляете инфу о траффике с нужного порта коммутатора на сервер netflow. Про нетфлоу почитайте в гугле. Будете видеть статистику по любому траффику - tcp, udp.

    Если нужны только логи http, то просто поставьте squid и настройте в нем логи.
    Ответ написан
  • Что не так с моим SSH?

    flapflapjack
    @flapflapjack
    на треть я прав
    Вам нужен screen, он решит все проблемы. В одном терминале вы сможете хоть 10 сессий поднять и смотреть логи и т.д.
    Ответ написан
    Комментировать
  • Чем отличается vds от php хостинга?

    flapflapjack
    @flapflapjack
    на треть я прав
    VDS - полностью управляемая вами виртуальная машина с ОС, то есть консоль, ssh, и ставьте туда какое хотите ПО. В таком случае сервер полностью в вашем распоряжении - можете даже его перезагружать.

    PHP - или т.н. shared-хостинг, когда на одной операционной системе вам дают не полную свободу действий, а только доступ папке, куда вы зальете свои файлы, ну и пару плюшек в добавок. Базы данных, которые вы можете использовать, а так же языки программирования, настройки и т.д. за вас полностью решает хостинг. Вы не можете ничего, кроме как залить по FTP свои файлы, и радоваться.

    Но смею добавить, что PHP хостинг всегда дешевле и призводительней, чем VPS/VDS, так как вам выделяется не целая Виртуальная машина с ОС, а всего лишь процент от общего пропускного канала и ресурсов общей для всех системы. Как коммуна с хиппи.
    Ответ написан
    5 комментариев
  • Как можно переадресовывать звонки?

    flapflapjack
    @flapflapjack
    на треть я прав
    поднимите asterisk, в нем зарегистрируйте транк от задарма, и обрабатывайте нажатия клавиш астериском например.

    Хотя если честно вопрос поставлен так, что я вообще схему звонка не понял, кто кому звонит.
    Ответ написан
    9 комментариев
  • Как настроить openVPN для входа в домашнюю сеть?

    flapflapjack
    @flapflapjack
    на треть я прав
    У вас в настройках клиента нет маршрутов в подсеть 192.168, на сервере я думаю то же самое.
    Нужно вручную добавить маршрут на сервере, а на клиенте - как хотите. Я на работу подключаюсь конфигом, где сразу прописаны маршруты, и они сами добавляются:

    часть client.ovpn
    route 172.17.172.1 172.17.172.49
    route 172.17.172.49 255.255.255.255
    route 192.168.0.0 255.255.255.0 172.17.172.49
    route 192.168.2.0 255.255.255.0 172.17.172.49
    route 192.168.1.0 255.255.255.0 172.17.172.49
    route 192.168.6.0 255.255.255.0 172.17.172.49
    route 192.168.10.0 255.255.255.0 172.17.172.49
    Ответ написан
    Комментировать
  • Bash скрипт для Linux который перезапускает программу/службу автоматически через заданное время?

    flapflapjack
    @flapflapjack
    на треть я прав
    nano /usr/local/bin/killproc.sh
    туда

    #!/bin/bash
    PROCFOLDER="/bin/" #папка процесса
    PROCNAME="Thunar"; #имя процесса
    kill `ps aux | grep $PROCNAME| tail -n2 | head -n1 |awk {'print $2'}`
    $PROCFOLDER$PROCNAME


    далее
    chmod +x /usr/local/bin/killproc.sh
    nano /etc/crontab


    а туда
    */10 * * * * root /usr/local/bin/killproc.sh

    Чтоб каждые 10 минут дергался.
    Но сдается мне, что у вас не процесс, а демон, поэтому тупо можно в кронтаб прописать service httpd restart например
    Ответ написан
    1 комментарий
  • Как лучше подключить ПК к интернету?

    flapflapjack
    @flapflapjack
    на треть я прав
    Через провод к маршрутизатору. Wi-Fi эфир может быть загружен микроволновками, беспроводными мышами и другими роутерами.
    По проводу вы получите скорость без ограничений WiFi
    Ответ написан
    Комментировать
  • Что лучше использовать для "безшовного" WIFI, Mikrotik или Ubiquiti?

    flapflapjack
    @flapflapjack
    на треть я прав
    У юнифаев бесшовного роуминга нет.
    Централизованная настройка через тулку на компе — есть, единый SSID на группу точек и общая авторизация — тоже, но при переходе между точками происходит переподключение.

    Вам читать статью:
    https://habr.com/ru/post/312948/
    Ответ написан
    2 комментария
  • Как отобразить соответствия массива php?

    flapflapjack
    @flapflapjack
    на треть я прав
    данные на входе именно в виде
    //деревья
    $array=["Дуб","Ель","Ольха"];
    //зафиксированы долгожители
    $Dub=300;
    $elka=250;
    $olha=400;


    ? если да то фейспалм. Особенно
    айти соответствия через ifelse,


    Если еще что-то можно изменить, то
    $trees=[
    [
            'name'=>"Дуб",
            'years'=>300
    ],
    [
            'name'=>"Ель",
            'years'=>250
    ],
    [
            'name'=>"Ольха",
            'years'=>400
    ],
    [
            'name'=>"Юкка",
            'years'=>250
    ]
    
    ];
    
    function sort_trees($a,$b)
    {
    $a=$a['years'];
    $b=$b['years'];
    if ($a == $b) {
        return 0;
      }
      return ($a < $b) ? -1 : 1;
    }
    
    uasort($trees,'sort_trees');
    
    foreach($trees as $tree)
    {
    print $tree['name']." живет ".$tree['years']." лет\n";
    }


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

    Предложенный мною массив с деревьями пополняется командой:
    <?
    $trees[]=['name'=>'Брюква', 'years'=>2];
    $trees[]=['name'=>'Топинамбур', 'years'=>1];
    и т.д.

    Также можно упростить задачу, и воспользоваться ksort()
    Ответ написан
    3 комментария
  • Куда пропадает тройка из числа 36?

    flapflapjack
    @flapflapjack Автор вопроса
    на треть я прав
    проблема решилась так:
    MAIL_LIST_CMD=`echo -e "$MAIL_LIST_CMD" | tr -d '\r\n'`


    Был лишний перевод каретки
    Ответ написан
    Комментировать
  • Как пустить pptp-трафик через openvpn?

    flapflapjack
    @flapflapjack
    на треть я прав
    Нужно ли прописывать iptables?


    А что, у вас в iptables запрещающие правила стоят?
    В чем проблема то?
    Ответ написан
  • Почему в запись попадает music_on_hold при использовании опции b?

    flapflapjack
    @flapflapjack Автор вопроса
    на треть я прав
    Вопрос снимается. Не знаю что произошло, просто сделал core reload, и все стало работать как надо. Видимо где-то была ошибка, которую я потом неосознанно исправил, читая свой код, и внося правки.
    Ответ написан
    Комментировать
  • Как настроить Mikrotik (сайты в локалке)?

    flapflapjack
    @flapflapjack
    на треть я прав
    но из локальной сети по этим доменам открывается веб-интерфейс микротика


    Это каг вообще?
    У вас внутри сети домен должен вести не на микротик, и не на его внешний айпишник, а на локальный айпишник веб-сервера.
    При этом ну никак не должна открываться никакая веб-морда микротика.

    Вы либо в hosts айпишник микротика привязали к доменам что ли?

    А чтобы сайты были доступны извне, то на микротике нужно пробросить только 80 и 443 (если есть ссл) на локальный адрес веб сервера.

    При этом на нужный домен юзеры снаружи попадут, только если пропишут у себя в hosts соответствия домена и вашего внешнего ip.

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

    Заходя с локалки тоже придется указывать порты.
    Ответ написан
  • Как создать своего телеграмм бота для создания опросов?

    flapflapjack
    @flapflapjack
    на треть я прав
    вы в ответе готовый код ожидаете? На фрилансе вам помогут. Конкретизируйте вопрос.
    Огромное спасибо))

    Огромное пожалуйста))
    Ответ написан
    2 комментария
  • Как маршрутизировать трафик на впс в зависимости от порта?

    flapflapjack
    @flapflapjack
    на треть я прав
    iptables штоле?

    ipables -A PREROUTING  -d VPS_IP/32 -i eth0 -p tcp -m tcp --dport 7777 -j DNAT --to-destination FIRST_IP:DST_PORT
    ipables -A PREROUTING  -d VPS_IP/32 -i eth0 -p tcp -m tcp --dport 8888 -j DNAT --to-destination SECOND_IP_IP:DST_PORT


    если у вашего впс ip 1.1.1.1, у серверов ип 2.2.2.2 и 3.3.3.3 соответственно, а порты у них у обоих 9999, а интерфейс VPS, который смотрит в интырнет eth0 то:
    ipables -A PREROUTING  -d 1.1.1.1/32 -i eth0 -p tcp -m tcp --dport 7777 -j DNAT --to-destination 2.2.2.2:9999
    ipables -A PREROUTING  -d 1.1.1.1/32 -i eth0 -p tcp -m tcp --dport 8888 -j DNAT --to-destination 3.3.3.3:9999
    Ответ написан
    7 комментариев
  • Почему не выходит подключить php.ini через командную строку?

    flapflapjack
    @flapflapjack
    на треть я прав
    php-cgi.exe -b 127.0.0.1:9000 -c "C:\Program Files\PHP\php.ini"

    кавычки
    Ответ написан