• Почему очень низкая скорость загрузки tftp?

    @Karpion
    TFTP - это "тупой FTP". От простой и тупой как пробка, чтобы реализация занимала мало места, влезала в BIOS ещё в древние времена, когда ПЗУ были дорогие. Потому и медленный, особенно если сервер далеко. Это не лечится.

    Для нормальной работы - сначала грузят по TFTP некий минимальный клиент, который подтягивает остальное по нормальному протоколу с большим окном (читайте про работу протокола TCP).
    Ответ написан
    Комментировать
  • Возможно ли установить ubuntu 18.04 с локального репозитория по pxe?

    @Karpion
    Я советую ставить по HTTP, FTP или NFS. И когда заработает - переносить на HTTPS.

    Также советую полазать по официальному репозиторию - сравнить тамошний вариант и Ваш. Может, не там файлы расположены.
    Ответ написан
    Комментировать
  • Как получить url после слеша на javascript?

    @Karpion
    Учите регулярные выражения - regex.

    В первом приближении:
    ([^/]+)://([^/]+)/(.*))
    [^/] - любой символ, кроме слеша;
    ([^/]+) - любой символ, кроме слеша, повторённый один или более раз - взят в скобки, чтобы это значение можно было использовать потом;
    (.*) - любой символ, повторённый ноль или более раз (я не уверен, что это верно - смотрите сами);

    Части исходной строки, попавшие под шаблоны в скобках - превращаются в переменные \1 , \2 и \3 ; их можно использовать для составления своей строки.

    Почитайте manpages по программам grep и sed ; ну и в книгах по JS тоже есть, причём там есть заметные отличия.
    Ответ написан
    Комментировать
  • Как правильно распарсить логи с помощью bash?

    @Karpion
    У Вас на каждую строчку лога - запускается несколько программ/процессов. И выводной файл каждый раз открывается и закрывается. Неудивительно, что это извращение тормозит.

    Надо как-то так:
    Убираем cat. Всё делает awk.
    Функцию "grep -o TIME=..." можно перенести в awk, у него есть хороший инструмент для этого.
    Запуск "date" - тоже сделать в awk, распарсить дату ручками.

    Ну или хотя бы уберите ">> LOG_new.csv" из цикла - это прекрасно делается снаружи, после "done"; в кр.случае - надо будет взять это дело в скобки.

    Вы бы дали пример лога, было бы проще. Хорошо бы с пояснениями.
    Ответ написан
  • Возможно ли сделать пароль приходящий на мой сервер невидимыми для меня же?

    @Karpion
    Постановка задачи непонятная. ПО идее - чтобы менять состояние игры, сервер должен знать действия игрока. А значит, админ может настроить всё так, чтобы узнать сведения, нужные для получения жульнического преимущества в игре.

    Более того: Даже если реализовать то, что Вы хотите - игрок не имеет никакой гарантии того, что админ сделал всё честно.

    По идее, Вам надо изучить шифрование с открытым ключом. Он позволяет много интересных вещей - например, "авторизация SSh по ключу", когда сервер проверяет истинность юзера (точнее, наличие у него секретного ключа), но сервер не может залогиниться на другой сервер, куда юзер ходит с тем же ключом. Т.е. это как использовать один пароль на разные серверах - но серверы не знают этого пароля никогда, в т.ч. даже при смене пароля на новый.

    Есть такой вариант:
    Юзер присылает на сервер свои действия в виде "архива с контрольной суммой под паролем". Не зная пароля - сервер не может раскрыть файл. Однако, когда юзер пришлёт пароль - сервер может раскрыть архив и убедиться, что юзер принял решение о действиях именно в то время, т.е. до присылки архива.
    Такой метод актуален для проведения "слепого аукциона", когда участники предлагают свою цену один раз, не зная, какие цены предложили другие. При таком аукционе - организатор может сообщить своему племяннику, какие ставки сделали другие - и тот перебьёт остальные ставки с минимальным перевесом (ведь невозможно организовать так, чтобы все прислали свои заявки одновременно).

    Вывод:
    1) Пароль засекретить от админа - можно.
    2) Действия игрока в игре и выдачу игроку секретной карты - скорее всего, невозможно. Ну, я могу предложить вариант, когда секретится и это. Но я боюсь - играбельность при этом обнулится. Я готов обсудить подробнее - но для этого мне надо знать, в чём состоит игра; а я не уверен, что Вы готовы это рассказать публично или мне лично, да и не настаиваю.
    Ответ написан
    Комментировать
  • Как прибавить 2 числа друг к другу и умножить на 2?

    @Karpion
    Добавлю:
    Очевидно, что в данном случае значения, введённые юзером, сложились как строки. А при умножении - результат сложения был предварительно превращён в число.
    Вывод: перед сложением надо преобразовать строки в числа. Как это сделать - написано в любом учебнике по JS.
    Ответ написан
    Комментировать
  • Как в textarea скрыть HTML теги?

    @Karpion
    Я не понял вопроса. Задайте его внятно.
    Ответ написан
    Комментировать
  • Что лучше использовать?

    @Karpion
    1) Пусть юзер запускает у себя "screen к_программе", а там его ждёт программа, запущенная под screen.

    2) Поставить юзеру в качестве шелла скрипт, который делает "screen к_программе" и потом завершается.

    Но надо помнить, что при таком варианте юзер может законнектиться с пробросом портов.
    Ответ написан
  • В чём разница между циклами while и for?

    @Karpion
    for - это удобный способ записать цикл по счётчику. Всё то же самое можно написать на while - но читается это намного хуже.
    Ответ написан
    Комментировать
  • Два ряда td в tr?

    @Karpion
    Если в теге "td" написать "rowspan=2", то такая ячейка слезет вниз на вторую строчку и сдвинет часть ячеек второй строчки вправо. Думаю, Вам надо это.
    Можно поступить аналогично, написав другое число - тогда ячейка слезет на бОльшее число строк вниз.

    Если в теге "td" написать "colspan=2", то такая ячейка займёт два столбца (ну или можно написать бОльшее число), сдвинув остальные ячейки в этой строке вправо.

    "rowspan" и "colspan" можно сочетать вместе.

    Также можно размещать таблицу в ячейке. Иногда это полезнее - особенно если не надо согласовывать разбиение в разных местах.

    Если Вы нашли какую-то таблицу, где сделано как Вам надо - ну так читайте её исходник.
    Ответ написан
    4 комментария
  • Ошибка проверки NGINX?

    @Karpion
    Порты до 1023-го - доситпны только для root. Под каким юзером Вы запускаетесь?

    Ну и, как уже сказали - кто-то ещё мог захватить порт ранее.

    "Permission denied" как бы намекает на первый пункт.
    Ответ написан
  • Как запретить отправку формы, если хотя бы одно поле не заполнено?

    @Karpion
    Давно читал, плохо помню.

    На кнопку Submit повесить обработчик нажатия. Причём не любого, а именно оправки формы. Обработчик проверяет заполненность полей. Если что-то не так - то он кодом завершения (true или false) запрещает отправку формы. Ну и до завершения - сообщает, что ему не нравится.
    Ответ написан
    Комментировать
  • Какой есть быстрый и надежный криптоалгоритм?

    @Karpion
    В Википедии всё написано. И есть ссылки н а подробности.
    Ответ написан
    Комментировать
  • Нужно ли проверять инсталлятор на вирусы? Могут ли они быть там?

    @Karpion
    Вирус м.б. и в программе, которая инстраллирует (в экзешнике или в библиотеках);
    и в тех программах, которые он инсталлирует на компьютер.

    И не только вирус, но и любой тип зловреда.

    А некоторые зловреды устроены так, что на компьютер приходит (по любому из двух вариантов в первом абзаце) только программа, которая выкачивает собственно зловредную часть из Интернета, - с конкретного сервера или с сервера, найденного хитрым образом (ну, как у торрентов).
    Ответ написан
    Комментировать
  • Безопасно ли передавать свой ip для связи с ftp?

    @Karpion
    Совершенно безопасно.
    Но если Вы выходите в Интернет из-под NAT - то надо передавать IP-адрес NAT-сервера.
    Ответ написан
    Комментировать
  • Файловый сервер на Linux с разграничением прав - в сети Windows?

    @Karpion
    Можно взять любой Linux или *BSD, накатить Samba и настроить. Как тут уже сказали - есть настройка через Web.

    Независимо от того, на чём делать сервер (Samba или Windows) - нужно сделать домен (Samba умеет).

    А вот как распределить доступ - зависит от того, что надо обеспечить и что надо запретить. Тут надо смотреть на схему docflow Вашей конторы.

    Я бы сделал примерно так:
    Для каждого вида работы - создаём группу и шару (share). Доступ в шару - только этой группе. Если надо - можно дать доступ двум группам: одной только на чтение, второй на полный доступ.
    Дальше надо приучить людей класть файлы именно в ту шару, куда нужно. А не в первую попавшуюся.

    Для защиты от шифровальщиков - нары надо сделать невидимыми и на клиентах не монтировать как букву. Защита убогая/ненадёжная, но часть шифровальщиков на ней обломается.
    А для реальной защиты - только бэкап.
    Ответ написан
    Комментировать
  • Как в ubuntu разрешить запись и запретить дальнейшее изменение?

    @Karpion
    Мне кажется нормальным позволить некоторое время изменять залитые файлы, особенно если юзеры разделены по правам доступа и не могут менять чужие файлы, а только свои. А в полночь (или в три часа ночи) скриптом изменить владельца файла и права доступа.

    А вообще, мне кажется, Ваши требования вышли за границу возможностей файловой системы. Это лучше сделать через Web-доступ, где скриптами можно сделать что угодно.
    Ответ написан
    Комментировать
  • Как сохранить ifconfig ... allmulti после перезагрузки?

    @Karpion
    Для Linux не скажу, а во FreeBSD это хранится в /etc/rc.conf; а в /etc/defaults/rc.conf есть примеры использования большинства доступных конструкций.

    Наверно, в Linux надо найти, где хранится IP-адрес компьютера. И там же д.б. место для вписания прочих параметров.
    Ответ написан
    Комментировать
  • Как передать значение константе без тернарного оператора?

    @Karpion
    if (a === 5) {
    	const example = 'Вернуть 1';
    } else {
    	const example = 'Вернуть 2';
    }
    Ответ написан
    Комментировать
  • Как грамотно повысить отказоустойчивость WEB приложения?

    @Karpion
    Две СУБД можно запустить в режиме "мастер+мастер" с автоматической синхронизацией. Два Web-приложения - тогда должны обращаться каждый к своей СУБД и не хранить никаких данных кроме как в СУБД. Как-то так.
    Ответ написан
    4 комментария