Задать вопрос
  • Как обойти блокировку 80 и 443 порта Ростелеком?

    @res2001
    Александр Касаткин,
    всё-таки проблема на стороне РТ

    Второй то роутер наверное то же ваш и вы его настраивали примерно так же, поэтому и проблемы там примерно одинаковые.
    Попробуйте для эксперимента, раз уж у вас 2 роутера, сбросьте настройки одного из них на заводские. В большинстве домашних роутеров по умолчанию все роутерские примочки слушают только локальный интерфейс, поэтому в заводских настройках все (или почти все) внешние порты должны быть доступны. Настройте только подключение к провайдеру и проброс порта на сервер на стандартном 80/443 порту.

    Помимо того, что порт на роутере может быть занят, трафик можно блокировать фаерволом, проверьте настройки фаервола роутера и сервера. Для тестов можно отключить фаервол, но когда заработает обратно его включить и донастроить при необходимости.
    Написано
  • Как обойти блокировку 80 и 443 порта Ростелеком?

    @res2001
    Александр Касаткин,
    проброс портов работает

    Если внешний порт занят (например веб морда самого роутера выпущена в интренет со стандартными портами), то проброс портов в NATе вы настроить сможете, но вот запросы из интернета будет получать веб сервер роутера, а не NAT и по факту проброс портов работать не будет. При этом nat loopback, вполне вероятно, работать будет.
    В своем первом комментарии я спрашивал:
    Что-то открывается или браузер ошибку показывает?

    Как раз предположил такой вариант с занятым портом. Возможно порт занимает не веб морда, а что-то другое, что в браузере не увидеть.
    По хорошему проверять соединение для начала лучше не в браузере, а, например, в телнете - там можно просто проверить сам факт подключения, которое должно быть в любом случае и не важно какая служба висит на TCP порту - веб сервер, ssh или еще что-то.
    Написано
  • Как обойти блокировку 80 и 443 порта Ростелеком?

    @res2001
    Александр Касаткин,
    я думаю, что не совсем из интернета. это вроде как называется nat loopback.

    Тогда это не совсем корректный тест, т.к. трафик приходит на роутер из внутренней сети и уходит во внутреннюю сеть - в роутере отрабатывают немногодругие цепочки, по сравнению с вариантом, когда запрос приходит с внешнего интерфейса.
    Для экспериментов можно взять где-нибудь VPS, многие операторы VPS предоставляют тестовый период с минимальной конфигурацией, вам будет достаточно для проверки работоспособности. Но с другой стороны тест с телефона через мобильный интернет вполне заслуживает доверия.
    Написано
  • Как обойти блокировку 80 и 443 порта Ростелеком?

    @res2001
    Александр Касаткин,
    когда открываю на компьютере, всё открывается. захожу на телефоне с мобильного - сайт не загружается

    На компьютере из интернета открываете и открывается? Порты 80/443?

    вот некоторые пруфы

    В возможности операторов блокировать порты я нисколько не сомневаюсь. Они вообще могут делать с вашим трафиком все что угодно.
    Я сомневаюсь в том, что оператор блокирует именно IPv4 80/443, при этом оставил IPv6 80/443.

    и страничка с сайта version6, обратите внимание

    Сайт посвящен IPv6, на страничке указано, что IPv6 ростелекомом официально не поддерживается и проблемы с http там указаны относительно IPv6. Кстати, не знаю насколько эта страничка актуальна, я бы ей не сильно доверял. У вас же по IPv6 как раз все открывается.

    Посмотрите комментарий Alexey Dmitriev, я думаю так же.
    Написано
  • Как обойти блокировку 80 и 443 порта Ростелеком?

    @res2001
    веб страницы на других портах без проблем открываются с мобильного интернета.

    Но, что интересно, по IPv6 порты не блокируют. К сожалению, этим сервером буду пользоваться не только я, так что доступ по IPv4 всё таки должен быть.

    Вот из-за этого я сильно сомневаюсь, что ростелеком заблокировал только порты 80/443 на IPv4. Ему ничего не стоит точно так же заблокировать и IPv6 и это было бы сделано, реши они вдруг блокировать порты.
    К тому же реши они блокировать все службы, которые может развернуть у себя клиент они бы могли просто блокировать TCP:SYN пакеты с клиентским адресом назначения и не заниматься ерундой с блокировкой отдельных портов. Этим бы заблокировали вообще все службы, которые работают поверх TCP не важно на каком порту они висят. При этом приложения-киленты работали бы нормально.

    Вы как ходите на ваш сайт снаружи? В браузере что указываете IP или имя (DDNS)? Что-то открывается или браузер ошибку показывает? Проброс портов в NAT на роутере настраивали? При пробросе внутренний адрес сервера и порт верно указываете?
    Написано
  • Как маршрутизировать обернутый в https трафик WireGuard?

    @res2001
    PPTP умеют идентифицировать, да.
    Да, согласен, GRE не вписывается, не прав тут.
    Была мысль избавиться еще от одного уровня шифрования, можно поискать другие решения. На линуксе есть несколько вариантов нешифрованных туннелей поверх UDP: https://developers.redhat.com/blog/2019/05/17/an-i...
    Не знаю можно ли завернуть UDP в stunnel :)
    Написано
  • Как маршрутизировать обернутый в https трафик WireGuard?

    @res2001
    Роман,
    С белым ip это легко, а вот можно ли без него - вопрос

    Белый IP у вас есть - вы же попадаете в интернет как-то.
    Можно использовать DDNS и ходить по имени. Но для этого роутер должен уметь в DDNS и отправлять туда свой новый адрес. Но, конечно, лучше статический IP.

    Конечно остается вариант, когда вам провайдер выдает серые адреса и отправляет через свой NAT. В этом случае ничего не поможет - провайдер под вас не станет пробрасывать порты у себя. Теоретически эту проблему можно решить с провайдером (пообщайтесь с тех поддержкой, купить в конце концов статический белый адрес). Например знаю, что в ДОМ.РУ по умолчанию используется такая схема с провайдерским NATом, но можно отключить NAT просто в настройках тарифа в их мобильном приложении, бесплатно. У других операторов это может быть организовано по другому.

    Идея в том что если порты и будут блокировать то явно не 443-й.

    Порт не важен. DPI системы анализируют не порт, а сам трафик. Порт, конечно, то же учитывают, но лишь как один из факторов, далеко не самый главный. Никто не запрещает вам вешать HTTPS сайт на произвольный порт, правда в браузере придется порт руками писать. Точно так же и с другими сервисами.
    stunnel маскирует произвольный трафик под HTTPS, так что должно работать.
    Если же все таки хочется все повесить на 443 порт включая и другие сервисы, то видимо надо разворачивать обратный HTTPS прокс - nginx и т.п. Т.е. со стороны сервера будет сначала NAT на роутере, на котором настроен проброс на nginx, а там уже на stunnel. Цепочка получается довольно длинная, я бы не заморачивался, если заработает на произвольном порту. Не уверен, но может быть тот же stunnel может работать как обратный прокси, я им давно уже не пользовался. Тогда на stunnel можно завернуть и другие HTTPS службы.
    Не совсем понятно, зачем вам WireGuard, можно трафик завернуть в простой GRE туннель без шифрования и его уже заворачивать в stunnel. Впрочем дело ваше.
    Написано
  • Как маршрутизировать обернутый в https трафик WireGuard?

    @res2001
    Роман, У вас же там stunnel - настройте любой порт какой вам нравиться.
    Кстати порт на NATе может не совпадать с портом stunnelа на сервере, т.е. внешний порт роутера на который будет приходить клиентский трафик может отличаться от порта сконфигурированного в stunnel на сервере - NAT при пробросе подменит порты.
    В stunnel клиента надо, конечно, указывать порт сервер, который на роутере будет.
    Написано
  • Как маршрутизировать обернутый в https трафик WireGuard?

    @res2001
    Роман, Где в схеме интернет? Полагаю интернет между клиентом и микротиком.
    Значит на микротике настроен NAT. Просто в NAT настраиваете проброс портов и указываете внутренний адрес и порт вашего сервера. Все. Тут даже маршрутизировать ничего не надо, т.к. сервер и микротик, видимо, находятся в одной локальной сети - у них прямой доступ друг к другу без маршрутизации.
    Написано
  • Как можно перенести установленную программу с одного компьютера на другой?

    @res2001
    Помимо перенести файлы и зарегистрировать dll нужно еще и перенести ветки реестра, которые использует программа. Как правило виндовый софт свои настройки хранит в реестре.
    Но это все для относительно простых программ. Более сложные варианты могут, например, устанавливать в систему свои драйвера ...
    Написано
  • Возможен ли SelfInterface NAT?

    @res2001
    Для начала разрешить пересылку пакетов: net.ipv4.ip_forward
    Можно NAT на ВПН интерфейс повесить.
    Или настроить маршрутизацию на ВПН клиенте. Клиент, видимо, ничего не знает о вашей сети за ВПН, поэтому ответные пакеты идут не туда. Некоторые ВПН сервера умеют добавлять маршруты клиентам (OpenVPN например) при подключении.
    Написано
  • Непонятная ошибка G++?

    @res2001
    Haaaaz, Не думаю, что ошибка тут в разных слешах. Винда давно уже нормально переваривает оба варианта, но учитывая, что у вас g++, а это все таки инструмент из мира юникс, то могут быть нюансы. Хотя я никогда не сталкивался с проблемами из-за разных слешей. Обычно всегда использую unix вариант слеша.

    На скрине реальной ошибки нет, есть только команда и итог "Build error", но причины нет.
    Если в IDE другой информации нет, попробуйте запустить ту же команду (скопируйте из IDE) в cmd.exe.
    Тут же можете поправить слеши, приведя их к стандартному для ОС виду.
    Запускайте только вторую команду там где собственно вызов g++, chcp не нужно. chcp добавляет IDE для собственных нужд - чтоб корректно отображать вывод команды.
    Написано
  • Как обеспечить себе стабильный интернет на ноутбуке?

    @res2001
    Сейчас то какой интернет используете?
    Университетский WiFi? Или раздаете с телефона?
    При большом скоплении народа оба варианта плохие, т.к. полоса пропускания ограничена и она делится между всеми пользователями, а пользователей много.

    Мобильный роутер будет работать примерно так же как и раздача WiFi с телефона. Разве что попробовать другого оператора, но без гарантий.

    Тут хороший выход - это проводной интернет, но, видимо, это не ваш вариант.
    Написано
  • Как запустить скрипт cmd на КД?

    @res2001
    Помимо прав, отличие от ручного запуска заключается в том, что текущий каталог для батника будет другим.
    По моему это c:\windows\system32 если правильно помню.
    Если в батнике используются относительные пути, то он может не работать из-за этого.

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

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

    @res2001
    maaGames, Думаю в std вряд ли появятся стредства IPC, т.к. любой язык программирования обычно оперирует в терминах одного приложения, а тут IPC нет в принципе.
    Вон даже сокеты не завезли в std, хотя казалось бы - API давно устоялся и примерно похож на разных платформах и есть куча кроссплатформенных реализаций.
    Удивительно, что файлы есть :) но тут уж, видимо, отказаться было нельзя - программисты не поймут.
    Написано
  • Как синхронизировать процессы используя только std?

    @res2001
    maaGames,
    например, когда два приложения пишут в один файл или в одну консоль

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

    Можно самому озаботится написанием кроссплатформенных оберток над нужным вам функционалом. Например разделяемая память, именованные каналы или какие-нибудь семафоры - можно довольно легко завернуть в кроссплатформенный API.
    Написано
  • Как синхронизировать процессы используя только std?

    @res2001
    maaGames, атомикам вообще пофигу на процессы и потоки, они работают на уровне физических ядер процессора и им наплевать код какого процесса/потока выполняется в данный момент на разных ядрах. Главное, чтоб в обоих процессах было обращение к одному и тому же атомику, поэтому он должен быть в разделяемой памяти.
    А барьерам памяти так и вовсе ничего нигде хранить не надо - это просто ассемблерная инструкция, заставляющая текущее ядро процессора синхронизировать свой кэш с другими ядрами.

    Да, разделяемой памяти в std нет.
    Написано
  • Как синхронизировать процессы используя только std?

    @res2001
    maaGames,
    Не большой знаток Линуксов, там поток и процесс равнозначны в плане работы std::mutex?

    Нет, мьютексы в рамках потока работают и реализованы они в pthread, что как бы намекает на потоки.
    Хотя в линуксе поток от процесса по сути отличается только тем, что в процессе изолированное адресное пространство.
    Теоретически можно было бы положить мьютекс куда-нибудь в разделяемую память, но он все равно не будет работать в разных процессах, т.к. там внутри указатели.
    В общем требуются специализированные средства синхронизации между процессами, заточенные под это.

    Кстати, атомики и барьеры есть в std. Можно положить в разделяемую память атомик. Можно так реализовать простенькую блокировку. Правда на атомике нельзя будет пассивно подождать освобождения ресурса, только активное ожидание - спинлок.
    Написано
  • Почему портированная софтина перестала запускаться требуя NTFS раздел?

    @res2001
    Попробуйте отследить что проверяет софтина, перед тем как выдает это сообщение.
    Проверять она может реестр, файловую систему, переменные окружения, запрос в интернет.
    Средства для мониторинга обращений к реестру или файловой системе есть в составе SysinternalsSuite
    Можно сравнить логи обращений к реестру и файловой системе с компом, на котором софтина работает.
    Переменные окружения - сравните с компом где софтина работает нормально.

    Если софтина лезет в интернет - это можно увидеть сниффером. Так же сравнить запросы с работающим вариантом.

    Возможны и другие варианты проверок, например софтина пытается прочитать лицензионный ключ с какого-нибудь носителя. Но тут уже ничего сказать нельзя без большей конкретики.
    Написано
  • Не удаётся продолжить выполнение кода, поскольку система не обнаружила sfml-graphics-d-3.dll. Как исправить ошибку?

    @res2001
    В винде dll библиотеки, используемые программой, должны лежать в том же каталоге, где исполняемый файл, либо по одному из путей, указанных в переменной окружения PATH.
    Написано