Задать вопрос
  • Можем ли мы определить, какая программа на другом конце named pipe?

    @rPman
    windows pipes могут использовать windows authentitication, т.е. доступ к пайпу имеют только разрешенные пользователи (по умолчанию все авторизованные пользователи, если я верно помню).

    Ваша прокси должна быть дополнена для создания security descriptor создаваемых пайпов, все кто попытаются открыть этот пайп, к примеру, должны быть пользователями груп, указанных в дескрипторе
    Ответ написан
    9 комментариев
  • Почему текст ярлыков стал плохо отображаться Windows 10?

    @rPman
    Для проверки создал другую учетку, но там отображается нормально
    переставлять windows не надо, достаточно почистить профиль пользователя (хардкор вариант удалить, при логине он создастся заново) сделать это можно из другой учетки с правами администратора (создать выдать права удалить пвернуться в прежнюю учетку, удалить временную учетку)

    осторожно, сделай бакап своих файлов!

    но прежде сначала попробуй решить проблему
    открой настройки шрифтов cleartype в настройках персонализации, выглядит так что а этих настройках пощелкал не глядя, пройди мастер до конца, вглядываясь в экран и делая вид шрифтов как тебе нравится
    Ответ написан
    Комментировать
  • JS: Бесконечная загрузка контента без лагов страницы - какие есть библиотеки?

    @rPman
    это называется virtual scrolling
    погугли готовые решения есть, чаще заморочки с поддержкой одновременно pc/mobile

    по функционалу это очень простая библиотка, чтобы не лагало, нужно запрашивать данных больше чем выводится, т.е. окно данных в памяти должно быть больше раза в 3-5 чем то что выводится на экран, и при скроллинге запрашивать доп данные для этого виртуального окна в памяти.

    Совет, если человек скролит с меньшим интервалом времени или сразу следующую страницу, запрашивай у бакэнда большего размера окно чем обычно, так как это типичный паттерн проскролировать 'подальше'
    Ответ написан
    Комментировать
  • Как проверить ссылку RSS?

    @rPman
    если ссылку спрашивать у пользователя, то он сам дурак, если даст неверный тип контента

    с высокой вероятностью в ссылке будет слово rss (либо type=rss, так многие cms-ки экспортируют свои статьи туда либо .rss) но само собой никто ничего не гарантирует, никаких стандартов на это нет

    как правильно - запрашиваешь по ссылке заголовки, без контента, и смотришь Content-Type должен быть тип text/rss+xml или application/rss+xml, редко бывает text/xml или application/xml но тут дальше только по содержимому
    Ответ написан
    Комментировать
  • Как защитить переписку от MITM атаки?

    @rPman
    Имеется функция, с помощью которой при общении смс не летят на сервер, то есть общение идет в барузере, закрыли вкладку и смс улетели
    вы доверяете коду, который браузер подгружает с сервера?
    Если на сервер данные не идут, значит используется webrtc, шифрование там заявлено но не совсем ясно что тут работает удостоверяющим центром, не сервер ли случайно? которому приходится доверять, так как формально обладая всеми этими данными и технической возможностью владелец сервера смог бы устроить MITM между клиентами.

    если ключи шифрования передавать лично из рук в руки, то можно передавать шифрованные сообщения поверх любого ненадежного протокола, есть даже плагины OpenPGP к браузеру, правда найти достаточно популярного и удобного я не смог, есть к примеру maiilvelope заявлено что автоматически работает с почтовыми сервисами, шифруя текст на стороне клиента, но добавить свой домен не получилось...
    Ответ написан
    Комментировать
  • Как построить туннель между Linux и Windows?

    @rPman
    Используя терминологию linux, vpn должен создавать сетевой интерфейс типа tap (не tun, openvpn позволяет делать оба типа), который необходимо добавить в сетевой мост с сетевым устройством локальной сети, к которой нужен доступ.

    Сетевой мост можно создавать как на linux машинах так и на windows, что успешно проворачивалось с помощью openvpn, в этом случае не важно кто изначально к кому подключался, с точки зрения итоговой сети все машины будут находиться в единой.
    Ответ написан
    1 комментарий
  • Какую систему использовать для бекапов lunix с s3?

    @rPman
    наведете на решение?

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

    К примеру системный раздел windows можно адекватно бакапить только средствами копирования разделов (так как для их работу необходимо корректно восстанавливать не только acl но и hard- и symbolic- links (подскажите мне если знаете такой что сможет работать с бакапом на уровне файлов, кроме штатного от майкрософта но управляемость бакапами там нулевая, плюс почти никакой дедупликации, ну их нафиг)

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

    Но вот в частных случаях, когда интегратору/админу известна система от и до, возможно построение своих скриптов автоматизации и формировании отчетов о тестировании среды.

    По делу, одно время я пользовался в windows bat скриптами (готовые были написаны для win7 и уже не работают в win10, но идея там простая, все переписывается легко) когда на целевом диске создавался снапшот, затем с помощью rsync создавалась полная копия указанных каталогов, но с указанием предыдущей версии реплики, для неизменившихся файлов утилита создавала hardlink на прошлую копию, в результате получается идеальная инкрементальная копия, с которой можно работать как с обычными файлами (не требуется извлечение из сжатых архивов и последовательное принятие патчей инкрементации), причем на любую сохраненную дату, при необходимости можно легко удалить старую или даже любую реплику, благодаря корректной обработки hardlink файловой системой.

    Сам диск можно подключать по сети, на выбор либо средствами windows (.vhd файлы) либо iscsi
    Сжатие - поддерживается, но только слабое ntfs.

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

    Второй недостаток - год ежедневных копий с даже средним количеством файлов в итоговом разделе создаст миллиарды hardlink (лимит на количество hardlink на один файл - 1024, это примерно три года ежедневных бакапов), ну и к примеру, проверка такого диска с помощью chkdsk может потребовать дни и недели.
    ----------------------------------------

    Другой подход, если требуется создание копий общей шары на сервере (linux само собой), выбираешь cow файловые системы, с поддержкой онлайн снапшотов - btrfs/zfs. Каждый день или даже каждый час создаешь снапшот и хранишь так долго как это необходимо, удаляя не нужные тогда когда пожелаешь (операция моментальная, не зависит от объема данных). Это защитит данные от проблем на клиентской стороне, например ошибочные удаления или вирусы-шифровальщики и т.п.

    Чтобы защитить данные от проблем с серверным железом, то к примеру можно использовать фишку btrfs incremental backup, когда разницу между двумя указанными снапшотами (предыдущим и текущим) отсылают на удаленный сервер, упаковав его в один файл (точнее поток). т.е. эти патчи можно хранить и применять на заранее сохраненное стартовое состояние файловой системы. Само собой удаленный сервер так же должен хранить снапшоты (кстати а патчи можно хранить на третьем сервере).

    Т.е. в результате те же самые бонусы что и в первом подходе, но требует полноценный бакап удаленный сервер, принимающий и разворачивающий патчи снапшотов.
    Сжатие так же поддерживается, причем можно использовать лучшую - zstd

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

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

    @rPman
    попробуй покрутить параметры дескритизации, у obs по умолчанию может стоять что то типа 96kHz когда как у остальных данные берутся из системных настроек а там стоит скорее всего 'стандартные' 44k
    Ответ написан
    4 комментария
  • Как сделать дамп большой базы данных?

    @rPman
    у mysql нет адекватных методов управления приоритетами (есть low-priority yно оно действует на не все engines) поэтому исторически распределение нагрузки делают с помощью репликации.

    Поднимаешь второй сервер (физически файлы базы должны быть размещены на другом диске или даже сервере) и настраиваешь между основным и этим второстепенным master-slave репликацию, требования к этому среверу сильно ниже (зависит от нагрузки само сабой, но в основном там будут только записи) и уже на эту базу натравливаешь mysqldump

    p.s. альтернатива, запилить свой/подправить исходники mysqldump, в своем приложении скорость получения данных можно контролировать принудительными sleep-ами (например запрашиваешь табличку, а в цикле получения данных вставляешь раз на тысячу строк sleep).
    первый же нагугленный код mysqldump на php, вставь слип в этот цикл

    upd. не нужно править код штатной утилиты, более чем достаточно просто использовать штатный механизм потоков linux и замедлить запись итогового дампа с помощью к примеру cstream
    mysqldump ... | cstream -t $((1024*1024)) | zstd --ultra -T0 -o backup.sql.zstd


    p.p.s. тупо, останаливаешь базу, копируешь файлы с таблицами как есть, переносишь на свою машину, поднимаешь там ту же версию mysql, делаешь дамп
    Ответ написан
    1 комментарий
  • Как узнать качество передачи данных с помощью сокетов и COM портов в Java?

    @rPman
    Программы мои: 1) между 2 программами передаются данные с помощью сокетов;

    качество передачи данных

    скорость

    если твои программы, то все просто

    собираешь статистику принятых и отправленных данных, на обоих сторонах, на каком то интервале
    добавляешь в протокол передаваемых данных пакеты с этой статистикой
    профит

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

    какой то капитанский ответ, непонятно почему такой вопрос у автора возник
    Ответ написан
    Комментировать
  • Как можно заработать запустив на своем сервере какие-нибудь скрипты?

    @rPman
    Даю идею для бизнеса ;)

    Парси алиэкспресс товары, продавай базу или услуги на ее основе (если я верно понимаю, там есть механизмы когда ты получаешь копеечку от продавца за то что ссылку кому то на них дал, цены при этом на товар привязываются)

    Как вариант сделай адекватный поиск, aliexpress на столько неадекватно ищет товары что считай что поиска у них нет (полагаю специально чтобы покупатели на худшие предложения тоже находились). Таких сервисов не много и они обычно ограничены определенными категориями товаров

    Чтобы это сделать, парси их базу, это не просто, так как они сопротивляются, к примеру их страничка в html занимает 600кб, и на ее анализе пасуют почти все существующие инструменты (из тысячи страниц с десяток могут выдавать странный результат) кроме наверное самого браузера. Структура меняется, ответы от сервера меняются если он заподозрит в сканировании и т.п.
    Ответ написан
    Комментировать
  • Брут ip. Зайти с чужого ip?

    @rPman
    облачные сервисы типа amazon ec2 или тот же российский селектел, позволяют взять в аренду ip адрес с почасовой оплатой, но они не дадут гарантии что следующий ip адрес не будет выдан новый, а не тот что недавно тебе же выдавали, но к примеру разом взять пул адресов, использовать его часок - нормальный юзкейс.
    Ответ написан
    Комментировать
  • Удаленное подключение и прослушка окружения в стелс режиме?

    @rPman
    любое приложение превращающее смартфон в вебкамеру - например ip webcam, в локальной сети работает без каких либо проблем, позволяет снимать аудио-видео, настраивать режиме камеры и вообще много чего полезного.
    начиная с 6 или 7 версии android умеет работать с выключенным экраном
    Ответ написан
    Комментировать
  • Как упростить данный скрипт, слишком долго выполняется?

    @rPman
    первый вариант - генерируй sql скрипт вида
    select ... from ... where id in (1,2,3,4,5,6....)
    у этого способа ограничение на количество записей в скобках кажется 1000, так что в цикле генерируй (чуть чуть подправить твой скрипт)

    второй вариант - идеологически более верный, создаешь временную таблицу в базе с одной колонкой id, заливаешь в нее твои идентификаторы, и затем одним запросом получаешь весь список записей
    select ... from temp_ids a left join table_1 b on a.id=b.id
    Ответ написан
  • Узнать источник трафика, с какой страницы пользователи заходят на сайт?

    @rPman
    На своем сайте можно самостоятельно собирать по логам базу рефереров, придется самостоятельно же ее анализировать
    Ответ написан
    Комментировать
  • Как работает цикл for и fillRect() в данном примере?

    @rPman
    для затирания хвоста змейки нужно хранить его тело, в виде массива (размер которого - длина змейки) координат. Этот массив - это fifo буфер, т.е. тебе нужно хранить указатели на начало и конец, делая шаг змейки, ты добавляешь новую запись в массив, стираешь квадрат по координатам самой старой записи и удаляешь эту запись, сдвигая оба указателя.
    Ответ написан
    1 комментарий
  • Как оптимально перебрать все возможные комбинации 4х массивов?

    @rPman
    ip4 адрес это число 32бит, все ip адреса тут это все значения unsigned int32 от 0 до 0xFFFFFFFF
    т.е. пишешь один единственный цикл от 0 до 0xFFFFFFFF а затем из числа получаешь ip в нужном тебе виде, либо последовательным получением остатка отделения на 256, либо вручную побитовыми операциями (маска и сдвиг) либо сконвертировав число в массив байт
    Ответ написан
    Комментировать
  • Как пробросить порт в виртуальную машину?

    @rPman
    bridge internet adapter - сетевой мост
    там выбираешь, с каким сетевым адаптером нужен бридж, в этом режиме виртуальная машина как бы подключается через свитч к той же сети что и хост машина, т.е. ей должен быть выдан ip адрес (вручную или автоматически dhcp сервером локалки, если есть)

    нет никакого тут проброса портов, машины с точки зрения сети полностью независимы

    p.s. настройка rdp в virtualbox это доступ через сети ip хост машины к экрану (этакий ip kvm), ей сеть виртуавиртуалки побоку, даже если ее там не будет
    Ответ написан
  • Бесплатная реляционная бд в облаке?

    @rPman
    sqlite локально рядом с файлами веб сервера
    Ответ написан
    Комментировать
  • Скачал файл с фирусом, это опасно?

    @rPman
    Конечно, со времен winxp помним про вирус, который размещался в lnk файлах, который запускался просто после просмотра списка файлов (его иконки) в проводнике, и помятуя о том, как майкрософт относится к качеству кода своего поделия до сих пор (на сколько абсурдные 0-day уязвимости периодически проскакивают), шанс того что твой комп теперь заражен - существует

    но он очень низкий.

    p.s. проводник у майкрософта на столько монструозное приложение, с огромными легаси наслоениями, содержащий кучу плагинов и расширений, добавляющих неоднозначности по работе (мало ли какой баг будет обнаружен в кодеках, устанавливаемыми сторонними приложениями, на основе которых генерируется эскизы/миниатюры, классический вектор атаки - dll подгружаются локальные а не из системных каталогов) что там возможно все, и пользоваться им не рекомендуется в принципе
    Ответ написан
    8 комментариев