Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Can Zapret somehow stop ISPs from degrading the quality of streaming and hindering of big files downloading process with throttling ? #389

Closed
Greatz08 opened this issue Sep 14, 2024 · 18 comments

Comments

@Greatz08
Copy link

Greatz08 commented Sep 14, 2024

I know its a dpi based solution :-) but was curious if we can spoof this behavior of high quality streaming or downloading of big files in such a way so that ISP dont throttle us. ISP can detect this behavior and can throttle and in some countries case they did restrict ip temporarily too and in case of (data flow through single ip) i did read cases of iran or iraq i dont remember exactly but they did blocked ip's of people that resembled the behavior of high streaming or big files downloading).
With zapret we send fake packets to bypass dpi which gets dropped before reaching actual server but can we send fake packets which could disrupt the flow of our packets to break there detection system ?

@Greatz08
Copy link
Author

I know it is not the goal of this project but i thought if it is possible in anyway then it should be tested and implemented in this project because after dpi bypass we will have to deal with these kind of things ahead :-)

@bol-van
Copy link
Owner

bol-van commented Sep 14, 2024

Yes, it can be possible. In Russia we unlocked throttled twitter and youtube this way.
Also some cell operators with applied fooling cannot serve special options like "unlimited youtube".
They count traffic like it is not youtube

But it depends on the way ISP detects throttling target. If its detection is IP based - DPI fooling cannot help

@Greatz08
Copy link
Author

so does normal fooling strategies bypass that dpi level throttling or you have some special strategies/combos to deal with that ? @bol-van

@bol-van
Copy link
Owner

bol-van commented Sep 15, 2024

DPI has some sort of trigger -> action behaviour.
Action can be "block" , "throttle" or whatever they like
DPI bypass attacks trigger part. If its defeated action is not applied

For youtube we have to split2 for TLS 1.3. But they look for TLS ServerHello also. For TLS 1.2 we have to fake with google.com domain or force server to fragment ServerHello (--wssize, --mss)
Its country and/or ISP specific

@Greatz08
Copy link
Author

@bol-van Thankyou sir for explaining this now i have the full idea of what we can do from our side to bypass and if we were not able to bypass there (ISP) trigger element then it is game over for us :-)) .
So today too got to learn something interesting about DPI.

Btw i was thinking is it possible for russian govt to ask github to remove this project (So that more and more people wont get idea about how to bypass these type of restrictions) or to restrict its access in such a way that russians might not be able to see this particular project ?

@lunedzy
Copy link

lunedzy commented Sep 15, 2024

@bol-van Thankyou sir for explaining this now i have the full idea of what we can do from our side to bypass and if we were not able to bypass there (ISP) trigger element then it is game over for us :-)) . So today too got to learn something interesting about DPI.

Btw i was thinking is it possible for russian govt to ask github to remove this project (So that more and more people wont get idea about how to bypass these type of restrictions) or to restrict its access in such a way that russians might not be able to see this particular project ?

Various companies in Russia use github for their intended purpose, and I don’t think Roskomnadzor will take such risks.
if Russia demands to delete this project, I'm sure github will ignore it

@bol-van
Copy link
Owner

bol-van commented Sep 15, 2024

github belongs to western world. It's in confrontation with Russia and will not obey orders.
Even if they delete repo, there're forks. Even if they ban project entirely there're many other ways to distribute.

@Greatz08
Copy link
Author

@bol-van yeah i also thought same thing but still just wanted to ask :-)) @lunedzy yeah i was also assuming same thing that what if companies are using that but if Russia wants to cutoff from usa and they want to cutoff russians from using open source solutions to bypass their implemented restrictions then they will have to cutoff from github too and they will ban github ip and anything related to it "Not today But Someday" and try to create their own proprietary solution by taking idea from similar open source solutions which are alternative of github like gitlab, gitea and force Russia people/companies to use that only which will be at the end regulated by govt of russia so its win win thing for them i guess ?

@bol-van
Copy link
Owner

bol-van commented Sep 15, 2024

They are doing exactly the same with youtube. They force to move to russian platforms controlled by gov such as rutube.
But I doubt they have enough resources now to replace many other widely used services.
Youtube became very annoying for them because of massive anti-russian propaganda from western world and cutting out pro-russian channels and videos.
If once such a level of annyance comes from github - they will block it for sure.
They dont care about regular people. Only huge enough business can increase level of accepted annoyance.

@Greatz08
Copy link
Author

With time i guess more and more people will try this awesome project to bypass these restrictions after getting annoyed and at some point of time govt internet filters will indicate them about mass bypass and then they will have no choice but to ban github because it can be great weapon against them(govt) indirectly as more and more people keep getting educated from open source solutions it wont be great thing for govt so they will try their best to prevent it before this happen in my opinion.

Btw instead of throttling youtube why are they simply not banning youtube ip ? I had this question for such a long time but i dont know why i always forgot to ask hehe :-))
What my guess is that they dont have any govt regulated proprietary solution to force people to use it and so they are still not completely banning it ?

Or they want some special peoples or companies to only have access to youtube comfortably to get idea of what is happening in western world and take ideas and solutions from it and implement in their own upcoming proprietary solution which they will force people to use

@lunedzy
Copy link

lunedzy commented Sep 15, 2024

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

Кстати, вместо того, чтобы ограничить доступ к YouTube, почему они просто не банят IP YouTube? У меня был этот вопрос так долго, но я не знаю, почему я всегда забывал спросить хе-хе :-)) Как я предполагаю, у них нет никакого регулируемого государством фирменного решения, чтобы заставить людей использовать его, и поэтому они все еще не запрещают его полностью?

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

They don’t block sites included in the registry by IP, they simply don’t allow you to go to it or put text like “this site is prohibited by order of the state.” They probably don’t have the ability to block sites solely by IP address, so they make do with alternative methods.
It is possible for ordinary Russians to bypass all this, for example, with the “zapret” project.
but not every person knows how to use ssh, and unfortunately not everyone can bypass the blocking.
Roskomnadzor is also persistently trying to block all VPN services on the territory of the Russian Federation.
They allocated 60 billions rubles for this, and as they say, 96% of VPN services will not work.
but in any case, there are many projects like VLESS/shadowsocks, x-ray and the like, no one can block this.

@lunedzy
Copy link

lunedzy commented Sep 15, 2024

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

Кстати, вместо того, чтобы ограничить доступ к YouTube, почему они просто не банят IP YouTube? У меня был этот вопрос так долго, но я не знаю, почему я всегда забывал спросить хе-хе :-)) Как я предполагаю, у них нет никакого регулируемого государством фирменного решения, чтобы заставить людей использовать его, и поэтому они все еще не запрещают его полностью?

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

at the moment the "zapret" project is the best in the field of DPI bypass, but sooner or later everything will undergo modernization and improvement and perhaps bypasses will not work.

@Greatz08
Copy link
Author

Greatz08 commented Sep 16, 2024

Я полагаю, что со временем все больше и больше людей попробуют этот замечательный проект, чтобы обойти эти ограничения, после того как им это надоест, и в какой-то момент правительственные интернет-фильтры укажут им на массовый обход, и тогда у них не останется выбора, кроме как забанить GitHub, потому что он может стать отличным оружием против них (правительства). Поскольку все больше и больше людей продолжают получать знания о решениях с открытым исходным кодом, это не принесет пользы правительству, поэтому, по моему мнению, они сделают все возможное, чтобы предотвратить это до того, как это произойдет.
Кстати, вместо того, чтобы ограничить доступ к YouTube, почему они просто не банят IP YouTube? У меня был этот вопрос так долго, но я не знаю, почему я всегда забывал спросить хе-хе :-)) Как я предполагаю, у них нет никакого регулируемого государством фирменного решения, чтобы заставить людей использовать его, и поэтому они все еще не запрещают его полностью?
Или они хотят, чтобы какие-то особые люди или компании имели доступ к YouTube только для того, чтобы иметь представление о том, что происходит в западном мире, и черпать оттуда идеи и решения и внедрять их в свои собственные будущие запатентованные решения, которые они заставят людей использовать.

They don’t block sites included in the registry by IP, they simply don’t allow you to go to it or put text like “this site is prohibited by order of the state.” They probably don’t have the ability to block sites solely by IP address, so they make do with alternative methods. It is possible for ordinary Russians to bypass all this, for example, with the “zapret” project. but not every person knows how to use ssh, and unfortunately not everyone can bypass the blocking. Roskomnadzor is also persistently trying to block all VPN services on the territory of the Russian Federation. They allocated 60 billions rubles for this, and as they say, 96% of VPN services will not work. but in any case, there are many projects like VLESS/shadowsocks, x-ray and the like, no one can block this.


@lunedzy I agree that not everyone is capable of using tools like Zapret effectively. Many users might struggle to find a working strategy for themselves. A primary goal for these systems is to block VPN services completely, as VPNs are a major objective for them to eliminate.

Here’s how they typically proceed:

  1. Initial Blocking: Their first goal is to block access to any VPN service.
  2. IP Detection: Afterward, they focus on detecting continuous connections to a single IP, which is often indicative of a VPN connection.
  3. Blocking IPs: They then start blocking these IPs and may analyze total data transfer through each IP to identify VPN-type connections.

Even if people attempt to self-host VPN servers outside Russia and use advanced obfuscation methods like Shadowsocks, VMESS, or XRay Reality Vision (currently one of the strongest obfuscation systems), these methods can eventually be detected and blocked. This is already happening in Iran and might eventually occur in Russia as well.

VPN Solutions: Although VPNs are inherently a safe and effective solution, their use might be curtailed first. Projects like Zapret, which use anonymous DNSCrypt or ODoH to manipulate packets locally, could provide some hope. This approach is appealing because it bypasses Deep Packet Inspection (DPI) without relying on external VPN or proxy servers.

However, there are some weak points to consider:

  • Inbound Firewalls: If an inbound firewall is set up to detect connections from blacklisted IPs and blocks or drops these connections, even the strongest strategies might be compromised. They could detect connections to external country IPs and reset the connection.

  • Current Situation: Fortunately, they are not currently using inbound firewalls for this purpose and are mostly focusing on outbound checks. This allows for some level of access for now.

  • Future Concerns: If they allocate more funds to improve restrictions, there is a possibility that they might invest in checking inbound traffic more thoroughly in the future.


@lunedzy
Copy link

lunedzy commented Sep 16, 2024

Я предупреждаю, что со временем все больше и больше людей пробуют этот замечательный проект, чтобы обойти эти ограничения, после того, как им это надоест, и в какой-то момент правительственные интернет-фильтры увидят их массовыми обходами, и тогда для них это не является проблемой. Выбор, кроме как забанить GitHub, потому что он может стать лучшим средством против них (правительства). Поскольку все больше и больше людей продолжают получать знания о решениях с открытым исходным кодом, это не используется правительством, поэтому, по моему мнению, нужно сделать все возможное, чтобы предотвратить это до того, как это произошло.
Кстати, вместо того, чтобы оценить доступ к YouTube, почему они просто не банят IP YouTube? У меня был этот вопрос так долго, но я не знаю, почему я всегда забывал спрашивать хе-хе :-)) Как я предполагаю, у них нет никакого регулируемого сбалансированного фирменного решения, чтобы заставить людей использовать его, и поэтому они все еще не запретить его полностью?
Или хотят, чтобы какие-то проблемы люди или компании имели доступ к YouTube только для того, чтобы иметь представление о том, что происходит в западном мире, и черпать демократические идеи и решения и внедрять их в свои собственные будущие запатентованные решения, которые они заставлять людей использовать.

Они не блокируют сайты, включенные в реестр по IP, они просто не дают зайти на него или поставить текст типа «этот сайт запрещен постановлением государства». Возможности блокировать сайты исключительно по IP у них, вероятно, нет, поэтому они обходятся альтернативными методами. Обойти все это могут простые россияне, например, с помощью проекта «zapret». Но не каждый человек умеет пользоваться ssh, и, к сожалению, не все могут обойти блокировку. Роскомнадзор также упорно пытается заблокировать все VPN-сервисы на территории РФ. На это они выделили 60 миллиардов рублей, и как они говорят, 96% VPN-сервисов не будут работать. Но в любом случае, есть много проектов типа VLESS/shadowsocks, x-ray и им подобных, никто это заблокировать не может.

@lunedzy Согласен, что не все способны эффективно использовать такие инструменты, как Zapret. Многие пользователи могут испытывать трудности с поиском рабочей стратегии для себя. Основная цель этих систем — полная блокировка VPN-сервисов, поскольку VPN — это их главная цель, которую нужно устранить.

Вот как они обычно действуют:

  1. Первичная блокировка : их первая цель — заблокировать доступ к любому VPN-сервису.
  2. Обнаружение IP-адреса : после этого они сосредотачиваются на обнаружении постоянных подключений к одному IP-адресу, что часто указывает на VPN-подключение.
  3. Блокировка IP-адресов : затем они начинают блокировать эти IP-адреса и могут анализировать общую передачу данных через каждый IP-адрес, чтобы идентифицировать соединения типа VPN.

Даже если люди попытаются самостоятельно разместить VPN-серверы за пределами России и использовать продвинутые методы обфускации, такие как Shadowsocks, VMESS или XRay Reality Vision (в настоящее время одна из самых мощных систем обфускации), эти методы в конечном итоге могут быть обнаружены и заблокированы. Это уже происходит в Иране и в конечном итоге может произойти и в России.

Решения VPN : Хотя VPN по своей сути являются безопасным и эффективным решением, их использование может быть сначала ограничено. Такие проекты, как Zapret, которые используют анонимный DNSCrypt или ODoH для локальной манипуляции пакетами, могут дать некоторую надежду. Этот подход привлекателен, поскольку он обходит Deep Packet Inspection (DPI) без использования внешних VPN или прокси-серверов.

Однако есть несколько слабых мест, которые следует учитывать:

  • Входящие брандмауэры : если входящий брандмауэр настроен на обнаружение подключений с IP-адресов из черного списка и блокирует или сбрасывает эти подключения, даже самые сильные стратегии могут быть скомпрометированы. Они могут обнаружить подключения к IP-адресам внешней страны и сбросить подключение.
  • Текущая ситуация : К счастью, в настоящее время они не используют входящие брандмауэры для этой цели и в основном сосредоточены на исходящих проверках. Это позволяет обеспечить некоторый уровень доступа на данный момент.
  • Будущие опасения : Если они выделят больше средств на смягчение ограничений, есть вероятность, что в будущем они будут инвестировать в более тщательную проверку входящего трафика.

By the time they block, I will already move to another country 🤣

@lunedzy
Copy link

lunedzy commented Sep 16, 2024

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

even if github does not comply, there is a huge risk that the Russian government will block github.

@bol-van
Copy link
Owner

bol-van commented Sep 16, 2024

We already have example for Turkmenistan (TM).
They dont care about individuals. They block whatever they want. Usually by IP.
They blocked more than half of total IPv4 space.
This happens because this country is small and power belongs to ruling clan.
Affiliated with the clan businesses and individuals get unrestricted access if they need it.
They dont care about others.
Russia is much bigger. Power structure is much more complex. They cannot just ban /1 , it will ruin economics

@lunedzy
Copy link

lunedzy commented Sep 16, 2024

У нас уже есть пример Туркменистана (TM). Им плевать на отдельных лиц. Они блокируют все, что хотят. Обычно по IP. Они заблокировали более половины всего пространства IPv4. Это происходит потому, что эта страна маленькая и власть принадлежит правящему клану. Связанные с кланом предприятия и отдельные лица получают неограниченный доступ, если им это нужно. Им плевать на других. Россия намного больше. Структура власти намного сложнее. Они не могут просто запретить /1, это разрушит экономику

this is very true, you say the right things friend

@Greatz08
Copy link
Author

We already have example for Turkmenistan (TM). They dont care about individuals. They block whatever they want. Usually by IP. They blocked more than half of total IPv4 space. This happens because this country is small and power belongs to ruling clan. Affiliated with the clan businesses and individuals get unrestricted access if they need it. They dont care about others. Russia is much bigger. Power structure is much more complex. They cannot just ban /1 , it will ruin economics

yeah this is true it wont be easy thing for them to cutoff without proper long term planing , will have to see what kind of crazy plan they are making for citizens because if their intent is like china then they will achieve it by any mean. Altho it might take some time but they wont give up.

From our side (local way without relying on vpn we have have achieved great results with zapret so far now i dont know what else this solution need in future). Btw Do you have any more new ideas which could make this project much more powerful for users ? In russia they wont let people normally use chatgpt so you can create free wireguard vpn profile or proxy servers like VLESS OR VMESS with - https://www.vpnjantit.com/ .
I have been personally using it for more than a year for free. It resets account after 7 days so we can recreate again so not a big deal and i like this weekly reset too and i choose different servers for accessing restricted things sometime but for you if you want to access chatgpt to get better idea for project then you can use free servers from it easily like of india or any europe country . In my experiences europe proxy servers (not wireguard vpn) have given best results .

In linux you have nekoray and hiddify like client open source programs where you can import profiiles with one click after creating wireguard or proxy server account without signin/signup . So take help from it in whatever way you can if you want to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants