• Почему iptables не блокирует входящий трафик с IP адреса на 80 порт?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    А "свой же IP" этот тот же, где iptables крутите или крутите на сервере, а проверяете "своим же" с другого компьютера?
    Просто если первое, то такой трафик может спокойно миновать цепочку INPUT :)
    Ответ написан
    Комментировать
  • Как заблокировать доступ с сервера?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    По-моему, ответ очевиден донельзя.
    у вас всего два очевидных пути (для решения именно той проблемы, что вы описали):
    либо заставлять его ходить через прокси, и уже в правилах прокси резать нужные домены,
    либо отстреливать себе ноги разными методами от блокировки IP-адресов куда он ломится до отламывания курла.

    P.S. А ещё лично я бы не стал запускать на своём сервере всякое обфусцированное штако :)
    Ответ написан
    Комментировать
  • Как и где дебажить модули Nginx?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    А дебажить — в gdb, valgrind и прочих инструментах по вкусу
    Ответ написан
    Комментировать
  • Есть ли модуль преобразования HTTP запросов в msgpack/JSON в Nginx?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    lua_nginx_module (он же openresty) + luasocket, например :)
    И через сокеты уже стучать приложению результат в msgpack/json
    Ответ написан
    Комментировать
  • Что означает ошибка FastCGI sent in stderr:?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    "FastCGI sent in stderr" — не ошибка. Ошибка далее по тексту. А это просто надпись о том, что скрипт, запущенный подfastcgi, выплюнул ошибку
    Ответ написан
    Комментировать
  • Как настроить страницу ошибки 503 в NGINX?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    $  cat /etc/nginx/templates.d/errors
    error_page        401     /401;
    error_page        402     @402;
    error_page        403     /403;
    error_page        404     /404;
    error_page        500     /500;
    error_page        502     /502;
    error_page        503     /503;
    error_page        504     /504;
    error_page        582     /582;
    
    location ~* /(401|403|404|500|502|503|504|582) {
            internal;
            allow all;
            default_type    text/html;
            root                    /var/www/__default__/sites/default;
    }
    
    location @402 {
    #   internal;
            allow all;
            default_type    text/html;
            echo                    '<center><b><font size="300%">HTTP Error 402</font></b></center>';
    }
    
    location ~ ^/errors/(.*) {
            alias /var/www/__default__/sites/default/media/$1;
            allow all;
            access_log off;
    }
    $  cat /var/www/__default__/sites/default/503
    <html>
    <head>
    <title>Сервис недоступен</title>
    <link rel="favicon" type="image/x-icon" href="/favicon.ico" />
    <link rel="stylesheet" type="text/css" href="/errors/css/errors.css" />
    <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
    </head>
    <body>
    <div id="center">
    <div id="number">
    5☺3
    </div>
    <div id="text">
    Администратор сайта временно перевёл его в режим обслуживания.<br />
    Скорее всего, в данную минуту на сайте производится обновление ПО.
    <br />
    Как вариант, сайт мог быть специально выключен администратором чтобы<br />
    снизить нагрузку на сервер во время DDoS-атаки.
    <br />
    Пожалуйста, попробуйте зайти позже.
    </div>
    </div>
    </body>
    </html>
    $  ls -l /var/www/__default__/sites/default/media/
    итого 1
    drwxr-xr-x. 2 nginx nginx 4096 июл  8  2014 css
    drwxr-xr-x. 2 nginx nginx 4096 июл  8  2014 images
    Ответ написан
    Комментировать
  • Как перенести бэкенд с apache на nginx?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    1) из вашего объяснения не понятно, что именно на бекенде? PHP через FastCGI через апач? Или вы про fcgi для красного словца приплели?
    2) NginX не умеет интерпретировать php самостоятельно (в отличие от Lua и Perl'а) и для него нужно будет запускать php-fpm и подцеплять.

    Перекодировщик правил из .htaccess есть, но он слишком много делает на if, что неверно. Так что просто давайте сюда ваш .htaccess и я переделаю его на рерайты.
    Ответ написан
    5 комментариев
  • Как удалить текст между символами в notepad++?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    не использую notepad++, но говоря именно о регулярных выражениях, например так:
    1)
    s/^[^,]*(,.*)/\1/
    2)
    s/(.*,)[^.]*(\.)$/\1\2/
    Ответ написан
    Комментировать
  • Новый ноутбук DELL - почему не ставится Ubuntu?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    На самом деле, данных для постановки диагноза недостаточно, и все попытки поставить оный будут просто пальцем в небо.

    Совет: скачайте systemrescuecd, залейте его на флешку (в комплекте есть скрипт для этого), загрузитесь с него.
    При начале загрузки будет разница: если цветной экран выбора опции загрузки, значит грузится не через EFI. Если чёрно-белый, значит EFI.

    Далее, при после загрузки в EFI-режиме, нужно посмотреть в вывод efibootmvr -v. Он покажет что-то типа такого:
    BootCurrent: 0001
    Timeout: 1 seconds
    BootOrder: 0001,0003,0000
    Boot0001* Linux kernel  HD(1,GPT,000000-0000-0000-0000-000000,0x800,0x32000)/File(\KERNEL.EFI)
    Boot0003* Windows Boot Manager  HD(1,GPT,000000-0000-0000-0000-000000,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.0.0.0.0.0.0.0.0.-.0.0.0.0.-.0.0.0.0.-.0.0.0.0.-.0.0.0.0.0.0.0.0.0.0.0.0.}...0................


    Если нет, значит слетела загрузочная запись.
    // ну и если совсем уж лень со всем этим разбираться, то можно просто включить legacy-режим и переставить без UEFI ;)

    // хотя лично мне вечные косяки Ubuntu и прочих "корпоративных" дистрибутивов не нравятся, но не буду отговаривать
    Ответ написан
    Комментировать
  • Ноутбук видит 2 монитора, что делать?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    1) то, показывается ли BIOS на внешнем мониторе зависит сугубо от вендора. У меня на DELL'е жены, у которого разбили экран, тоже два монитора, но биос показывается и на плюключенном по D-Sub. А при загрузке ОС, в параметрах ядра я просто указал отключить LVDS, и поэтому к моменту загрузки граф. оболочки, система уже видит только один монитор.
    // как такой фокус делается в Windows (судя по "универсальному монитору не pnp") — не скажу, увы
    Ответ написан
    Комментировать
  • Как открыть .xnb файл?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    бинарным редактором, например
    Ответ написан
    Комментировать
  • Как выполнить маршрутизацию?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    1) s/MASQUERADE/SNAT/
    Не нужно насиловать процессор. Маскарад был придуман для ppp, когда свой адрес заранее неизвестен.
    2) точно так же (в смысле, первую бы тоже к подобному виду привести)
    iptables -t nat -A POSTROUTING -i tun0 -s 10.10.10.0/24 -o eth0 -d 192.168.100.0/24 -j SNAT --to-source 192.168.100.x
    Ответ написан
    2 комментария
  • Lua: attempt to index nil value или проблемы с таблицами?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    Для начала, попробуйте объявить o в NEW локально, а не глобально.
    Ну и, если честно, недостаточно кода для тестирования :)
    Ответ написан
    Комментировать
  • Как вынести набор команд в отдельную функцию в lua?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    1) для начала не стоит вызывать require внутри функций.

    2) далее, не стоит засорять глобальное пространство (и автору модуля 'sem' скажите о том же, если его модуль умеет только экспортироваться в глобальное пространство, а не возвращать таблицу методов).

    3) (вариация п.2) используйте локальные переменные как можно чаще, особенно внутри функций. Используйте глобальные только там, где это реально необходимо. Иначе будете напарываться на внезапные коллизии.

    4) у меня, вообще, куча претензий к вашему коду в обоих вставках. От их количества мне уже просто хочется взять и переписать, ничего не объясняя, а потом отвечать на все вопросы о том почему так :)

    5)
    Правильно ли я делаю

    С учётом всего вышеперечисленного, оно должно выглядеть совсем по-другому.
    Ответ написан
  • В чем отличия, какие их функции?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    Первое — это не функция, а шебанг.
    Второе — заружает указанный аргумент и выполняет его как Lua-скрипт (может быть в текстовом виде или в виде байт-кода, скомпилированного в совместимый с текущим интерпретатором формат).
    Третье — эквивалент функции system() в C/C++: выполняет произвольную программу средствами ОС.
    // только вы опечатались и там execute.
    Ответ написан
    Комментировать
  • Как пользоваться LuaDist?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    1) если честно он довольно зря рекомендуемый. И появился в своё время из-за стопора "luarocks". Но последний недавно получил новую жизнь, а luadist наоборот умер. Ну и его мейнтейнеры очень страдали от NIH-синдрома.
    2) Собственно, ваша претензия об остуствии документации должна быть к тому, кто вам его "рекомендовал".
    3) Вы всё равно заходите не с той стороны.
    Если у вас цель — изучать код — просто ставьте IDE для Lua (их несколько, не буду рекламировать), либо любой универсальный IDE с поддержкой подсветки Lua-снтаксиса.
    Если собираетесь так же "компилировать"[1] код, то можете так же поставить LuaRocks (пакетный менеджер для библиотек и утилит на Lua).

    Вот только нужно понимать, что основная ЦА этих утилит — разработчики, которые УЖЕ имеют представление что и как (и, как правило, используют Linux или Mac), поэтому обычному "неискушённому" windows-пользователю (где работу с терминалом как таковую сделали хоть как-то возможной только к win10, не говоря уже о её удобстве) это может показаться непривычным и неудобным.

    P.S. как правило, все подобные команды поддерживают опцию --help (не знаю как собирают для Windows, возможно для него и /? будет)

    [1] в случае LÖVE компиляция = оборачивание кода в zip-архив, опционально для Windows ещё иногда делают упаковку его вместе с love-интерпретатором и lua-интерпретатором в единый исполняемый PE-файл.
    Ответ написан
    Комментировать
  • Знаете хорошие мануалы по языку LUA для чайников?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    1) https://www.lua.org/about.html#name
    Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!

    (Lua это Луна по-португальски, а не аббревиатура)
    2) https://www.lua.org/pil/
    3)
    графические приложения на интерпретируемом языке

    не стоит. Пожалуйста. Очень прошу.
    Ответ написан
    Комментировать
  • Что есть в lua для построения UI?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    Lua-Qt + qt-for-android? :)

    --
    Но всё же я не рекомендую делать UI-приложения на интерпретируемых языках (включая Lua и Python).
    Использовать Lua как язык для расширения функциональности в них — да.
    А вот писать именно приложения на них — моветон :(
    Ответ написан
    Комментировать
  • Lua для машинного обучения?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    Ну, по-моему, ответ очевиден: чем больше "макак" знают язык, тем больше из них начинает считать себя гуру и писать статьи.

    Lua же, при всех его плюшках, основная масса "макак" учить не хочет в том числе из-за его киллер-фичи по сравнению с тем же питоном:
    В то время, как питон старается стать комбайном (как тот же php) и напихать как можно больше всего (чтобы угодить разным вкусам разных макак), Lua старается дать как можно меньше. Т.е. ровно столько, сколько достаточно для того, чтобы ты мог сделать именно то, что нужно тебе без лишнего ненужного хлама.
    Поэтому и вот так:
    $  ps -eL -o m_size,drs,rss,vsz,cmd | grep -E '(python|lua)[^ ]*$'
     5349 21385  3000  21396 lua5.1
     3013 11577   940  12052 luajit
     5354 21404  2992  21416 lua5.2
     5360 21428  3036  21440 lua5.3
     8410 33637  6476  33640 python2.7
     8167 32664  7444  32668 python3.4


    // и это я ещё не включил
    218336 873344 180096 873344 python3.4
    с простейшей программой
    Ответ написан
    Комментировать
  • Как наладить кроссплатформенную веб-разработку?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    1) настроить авторизацию по ключам (и запретить по паролям, ибо китайцы рано или поздно подберут)
    2) mc (midnight commander) для mac/linux, far для windows?

    А если говорить про графические файловые менеджеры, то:

    3) не пользуюсь гномами и юнити (да и убунтой, если честно), но в KDE, например, файловый менеджер (dolphin) умеет разделять таб на две панели по хоткею (и из меню). Мне казалось что при всей популярности убунты, наутилус тоже так должен уметь.

    4) В макоси, вроде, тоже было что-то для того, чтобы файндер разделить на две панели. Но макось я последний раз видел очень давно, поэтому мало что сейчас подскажу :)
    Ответ написан
    Комментировать