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

    @res2001
    У Ростелекома большая своя внутренняя сеть, доступ к ресурсам во внутренней сети Ростелеком не ограничивает по скорости.
    Так же Ростелеком предоставляют услуги CDN. В этом случае файлы, хранящиеся на серверах CDN Ростелекома будут во внутренней сети и для них у вас не будет ограничения.
    gov.ru практически наверняка весь лежит на ресурсах Ростелекома, так что тут вообще нет ничего удивительного в скорости доступа к нему.

    Как клиент Ростелекома вы это никак использовать не можете, кроме варианта - скачивать файлы только с внутренних ресурсов. Как держатель сайта - можете купить у них CDN и хранить там тяжелые статические файлы.

    В свое время, когда еще активно использовал торренты, некоторые пиры попадались из сети Ростелекома и с них файло скачивалось очень быстро.
  • Как работает рекурсия, и как мне исправить код?

    @res2001
    maybe_a_rat_fucker, Определение инварианта посмотрите в википедии.
    Применительно программирования - это некоторое условие, которое должно выполняться в начале блока кода. Если не выполняется, это означает, что нарушена структура или логика и т.п. Так же инвариант может быть и при выходе из блока кода.
    Например, когда реализуете дерево или список, то, например, внутри операции добавления/удаления узла структура может быть временно не корректной, но на выходе эти операции должны оставлять корректную структуру. Так же как и на в ходе ожидают увидеть корректную структуру - иначе операция может привести к непредсказуемому результату.

    На С/С++ инварианты обычно помещают в начале/конце функций/методов в assertы. В дебажной сборке инварианты будут проверяться, в релизной - их не будет. assertы с инвариантами в нужных местах облегчают и ускоряют отладку и не замедляют выполнение программы в релизной сборке.
  • Как следать процерку на ввод целых чисел?

    @res2001
    Алексей,
    1.0

    Разрешены только цифры же? Точки не разрешены, как и запятые.
    Нужны дробные числа, используй double nm и %f
  • Можно увеличить EFI раздел, где был установлен загрузчик Windows?

    @res2001
    XZero000, Винда обычно создает разделы впритык друг за другом, а EFI раздел идет одним из первых.
    Так что возможно придется создавать новый раздел в свободной области и переносить все со старого.
    Или можно воспользоваться какой-нибудь утилитой, которая умеет сама это делать.
  • Как зайти в консоль работающей службы?

    @res2001
    Смотрите доку mincraft, имеет ли он консоль в режиме службы и если да, то как получить к ней доступ.
    В подобных случаях нет стандартного решения, т.к. у службы отсутствуют стандартные потоки.
    Обычно службы могут слушать какой-либо локальный порт, к которому можно подключиться, например, telnetом. Либо предоставляют своего клиента для управления, который связывается со службой каким-то ему ведомым способом.
  • Что делать если средство разметки дисков показывает разделы неправильно?

    @res2001
    Если диск разбит под MBR, то возможно эти разделы являются частью расширенного раздела.
    На сколько я помню, расширенные разделы fdisk как раз и показывает как один большой раздел.
  • Как настроить vpn сервер (OpenVPN или Wireguard) чтобы подключаться к нему можно было просто имея файл конфигурации?

    @res2001
    verssetty,
    если бы хоть 1 сервак там был

    Да, там полно серверов, которые не работают или отваливаются на следующий день или сначала работают нормально, а потом скорость проседает. Но это же бесплатно, что вы хотите?
    Кстати, иногда попадались сервера, которые по пару месяцев сносно работали. Но это редкость.

    Несколько месяцев там уже не был, сегодня потыкал. Они исправили ошибку, которая в конфигах была, из-за которой openvpn клиент при подключении выдавал ошибку практически на всех серверах. Лечилась добавлением пары строк в конфиг. Сейчас вроде подключается без этого ручного добавления. Пишу с ВПН оттуда.

    На некоторые серваки гугл ругается - говорит, участники ботнета. Раньше то же такого не видел.

    нашел его

    Кстати, свою ссылку я когда-то нашел на сайте vpngate. Или это одна и та же лавочка, или кто-то из них берет информацию у другого.
  • Как запустить фоновый процесс из popen под win64?

    @res2001
    redcircle,
    И несмотря на вроде как параллельный запуск второго cmd.exe через start, первый cmd.exe почему-то не завершается, пока не завершится второй cmd.exe вызыванный через start. Уже проверял это не один десяток раз.

    Тогда попутные вопросы по приведенному примеру с
    cmd /c '(start "" cmd.exe /k) && timeout /t 30'
    После запуска второго окна cmd команда timeout стартует сразу? Что происходит после того как timeout закончится? Остается висеть первое окно cmd?
    Если добавить еще команду exit после timeout будет так же?

    Вы писали, что функция process() выполняет команду в cmd.exe, т.е. судя по всему она сама запускает cmd.
    Передав в process() вышеприведенную строку в итоге, видимо получилось что-то вроде:
    cmd /c cmd /c '(start "" cmd.exe /k) && timeout /t 30'

    Так что, возможно, одна cmd /c лишняя.

    В менеджере задач винды на вкладке Детально, можно добавить дополнительный столбец с командной строкой запуска и там можно увидеть какая конструкция в итоге получается на выходе из process().
  • Как запустить фоновый процесс из popen под win64?

    @res2001
    redcircle,
    При этом мне только одну программу надо запускать, а не 2.

    Одну вы запускаете изначально для чего вызываете функцию process(). Вторую вы хотите запустить параллельно первой.
    Если вторую надо запустить после возврата из первой, тогда все упрощается:
    program1.exe
    start "" program2.exe


    С Windows такое почему-то не работает, cmd.exe всё равно дожидается выполения фоновых процессов почему-то

    В винде, если запускать программу через start, то ожидания завершения процесса не происходит.
    Для примера, запустите в консоли это:
    (start "" cmd.exe /k) && timeout /t 30
  • Как запустить фоновый процесс из popen под win64?

    @res2001
    redcircle,
    Нужно как раз не ждать завершения.

    На сколько я понимаю, функция process запускает процесс и завершается после завершения процесса, т.к. в конце дескриптор канала закрывается. Поэтому после завершения функции можно считать, что и запущенного процесса уже нет.
    Думаю можно сделать примерно так: в process запускать батник примерно следующего содержания (схематично):
    :: process1.bat
    start "" cmd.exe /c process2.bat
    program1.exe

    Батник сначала запускает второй батник (process2.bat), причем второй батник должен запуститься в другом процессе cmd.exe и в другом консольном окне и не нужно ждать завершения второго батника, поэтому второй батник запускаем через start.
    После запуска второго батника стартуем тот процесс, который нужно стартовать изначально (programm1.exe)
    :: process2.bat
    timeout /t 2
    program2.exe

    Второй батник process2.bat сначала просто ждет заданное время (у меня 2 секунды), это нужно, чтобы первый батник успел запустить приложение program1.exe. Затем стартует ваше второе приложение, которое вам надо запустить после первого. Правда есть шанс, что пока стартанет второе приложение, первое уже закроется :)
  • Почему архиватор работает только с текстовыми файлами?

    @res2001
    Anton F, Да я в курсе. Просто string чисто семантически говорит о том, что внутри строка и так и подмывает работать с ним как со строкой и нужно постоянно себя держать в рамках, когда знаешь, что внутри не строка. Лучше этот мазохизм прекратить с самого начала.
  • Как настроить или создать интернет прокси или шлюз на домашнем пк что бы с его ip заходить удаленно?

    @res2001
    clenar, ВПС в предложенном варианте будет выступать как ВПН сервер, к которому будет подключаться домашний комп (роутер) и удаленный. Дальше настроив правильно маршрутизацию можно добиться, чтоб с удаленного компа через ВПН сервер вы попадали на домашний комп, а дальше выходили туда куда вам надо.
    Т.е. будет выполняться ваше условие.
    Хотя проще и короче, конечно, выходить через ВПН сервер.
  • Как настроить или создать интернет прокси или шлюз на домашнем пк что бы с его ip заходить удаленно?

    @res2001
    Либо арендовать VPS у которого будет белый статический IP, развернуть на нем ВПН сервер, к которому подключаться из дома и с удаленного места и через эту цепочку выходить куда надо.
    В этом случае домашний адрес можно не менять.
    Но этот вариант будет наверняка дороже, чем арендовать белый адрес у провайдера. Но зато реализовать его можно за несколько часов (при наличии некоторого опыта), а провайдер может выдать статический адрес только на следующий месяц после добавления этой услуги в договор, хотя это зависит от вашего конкретного провайдера.

    Можно начать с VPS и параллельно получать адрес у прова. Когда адрес получите, то от VPSа можно отказаться и перейти на любой из предложенных в ответе вариантов.
    Если делать параллельно оба варианта, то обычно операторы VPS предлагают тестировать бесплатно некоторую минимальную конфигурацию VPS в течение некоторого времени (неделя/месяц, у кого как). Для разворачивания ВПН "минималки" вполне будет достаточно. Так что может и не понадобится тратится на временный VPS.
  • Ipfire. Как реализован протокол strongswan?

    @res2001
    brbwk,
    ну должен же быть процесс, который держит сокет для прослушивания

    Не факт. Например если трафик по ВПН приходит транзитный, то он из ядра не выходит - сразу перенаправляется на другой интерфейс с помощью таблицы маршрутизации и/или фаервола.
    Если трафик предназначен для этого же хоста, тогда такой процесс есть. Только это не charon или strongswan, а например апач или любое другое приложение - зависит от трафика.
    Если что, ответ на пинг то же генерируется ядром самостоятельно.
  • Ipfire. Как реализован протокол strongswan?

    @res2001
    На сколько я знаю, ipsec реализован как часть TCP/IP в ядре. User space демоны нужны лишь для инициализации и управления ключами. Остальной ВПН трафик расшифровывается в ядре и дальше уже расшифрованный трафик попадает непосредственно адресату (клиентскому приложению).
    Поэтому вы в хуках и не видите собственно трафика, а только пакеты isakmp.
  • Как реализовать Оператор OR в команде FOR?

    @res2001
    Djasar, да хоть 100 файлов - цикл один, главное, чтоб файлы попадали под маску
  • Почему архиватор работает только с текстовыми файлами?

    @res2001
    Jden10, Хотите работать с бинарными файлами, не используйте нигде std::string. Вектор байтов ваше все.
    И может быть даже и вектор не нужен, а можно обойтись массивом фиксированного размера (std::array) - будет работать быстрее.
  • Как сконфигурировать монтирование дисков в linux, чтобы при клонировании на другой hdd система запустилась?

    @res2001
    vl-roma,
    Есть подозрение что не может смонтироваться так ориентируется на UIDD

    Что это значит? Для снятия подозрений надо просто открыть fstab и посмотреть глазами.
    Если в fstab исходного диска разделы монтируются по UUID руками поправьте его на монтирование по именам.
  • Как в *.cmd после findstr произвести математические вычисления?

    @res2001
    Роман,
    Результат:
    "RAM= GB"

    Из того что вижу в вашем коде у первого findstr не задано выражение поиска. findstr нужна чтоб что-то искать в тексте. Что она будет искать у вас не задано. Скорее всего findstr завершается с ошибкой.
    Просто запустите эти команды в консоле вне батника и посмотрите что будет в результате.

    Арифметика в батниках возможно только с помощью set /a
    Для справки:
    findstr /?
    set /?
    for /?
    setlocal /?