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

A summary on Iran's current internet situation #182

Open
poorp opened this issue Dec 23, 2022 · 19 comments
Open

A summary on Iran's current internet situation #182

poorp opened this issue Dec 23, 2022 · 19 comments
Labels

Comments

@poorp
Copy link

poorp commented Dec 23, 2022

Hi.
UDP is mostly blocked. WireGuard, OpenVPN UDP, Hysteria and such are not working. Iperf3 shows UDP packets being sent but it has around 50% packet loss. Not sure if it's the same with different ISPs, servers and locations. Maybe my servers are compromised, feel free to share your experience.
Vmess, Vless, SS, Trojan, Trojan-go, naiveproxy and such barely work (tcp, ws, tls, xtls (cloudflare CDN mostly blocked)). I get great download speeds with some setups but the upload is throttled to less than 1Mbps. Maybe my servers have been limited, feel free to share different results.
OpenVPN TCP does not work. Some servers and on some certain ports get connected but no data passes through.
Hysteria faketcp mode can't start on Sagernet android app due to some error (can't start some app which I guess is responsible for handling faketcp, maybe it needs root privilege?)
Tunneling through a domestic Iran server works with different apps and different protocols for each server but it's very risky and quite expensive.
Please add any detail that can help.

Edit: naiveproxy isn't limited in speed like the other proxy tools but it seems to get disrupted after a few minutes of being connected.

@Azadzadeh
Copy link

iranians problems in this space basically comes down to not debugging stuff systematically

we ask people to test stuff in a controlled fashion to rule out possible vectors in censorship but they just post info with another set of parameters activated and don't mention the most important thing: the network/isp that they tested it through!

it's as if they got some config working for their particular isp and call it quits...maybe this is the way

my conclusion: if you got something working for both mobile networks, it's gonna work for other isps

@poorp
Copy link
Author

poorp commented Dec 23, 2022

iranians problems in this space basically comes down to not debugging stuff systematically

I disagree, Iranians problems come down to a government which has forced normal people to have to deal with this kind of stuff.

we ask people to test stuff in a controlled fashion to rule out possible vectors in censorship but they just post info with another set of parameters activated and don't mention the most important thing: the network/isp that they tested it through!

Not everyone has access to all or many different ISPs. We are trying tho, countless groups and discussions are sharing their setups for others to test on their ISP. Also, ISPs mostly act the same when it comes to censorship so there is basically two groups of them: home connections and mobile. FYI I tested the above mentioned on TCI home connection and MTN mobile network.

@Azadzadeh
Copy link

Azadzadeh commented Dec 23, 2022

Not everyone has access to all or many different ISPs

That's why we should share what network a particular config works in. for example I don't know of any solution that works in both irancell and hamrah aval. i believe if there is a method for these conditions, it's gonna work for every network.

but it seems the 8 or 10 iranians here also don't have a working solution in the above scenario.

I tested many things (vless+xray+tcp+tls, vless+xray+tcl+xtls, trojan-go (all modes except local cdn), hysteria (almost all modes except port hopping), naiveproxy), none of them work in above condition.

countless groups and discussions are sharing their setups for others to test on their ISP

like where? telegram groups?

@poorp
Copy link
Author

poorp commented Dec 23, 2022

@Azadzadeh I have a solutions that works everywhere but I'm too afraid to share it since it might get banned if it gets popular. To give you a hint it involves a server in Iran with one of it's ports being forwarded to a foreign server that has a VPN service like OpenVPN UDP. The port forwarding shouldn't be done with iptables since UDP can't pass through but rather with an app that changes UDP packets and makes them look like tcp or icmp. Tunneling UDP itself also works on some servers but not others, it depends on your Iran server provider. I don't recommend this tho since the Iranian provider always asks for every personal info you have and most of the time f**ks you over with some BS rule about traffic usage or tunneling or ... and/or overcharges you extremely because they know we are desperate. We better find some way of connecting without the need for a domestic server since the server doesn't act any different than ISPs as of now. Even the above mentioned solution can be done without a server but the problem is most apps you can find on Github for this kind of setup don't have a client for mobile phones and usually work just in linux or at most windows. You could set up your own linux server on a small computer or even your laptop with linux and it works the same. You could also write an app or integrate the existing linux app into an existing VPN app like OpenVPN for android if you are a programmer and have all the time in the world but since many projects that are close to this subject have brilliant people working on them already, I think we should keep looking. Hysteria faketcp seems to me just like what I mentioned above but for some reason I can't get it to work.

like where? telegram groups?

Yes, Telegram groups, YouTube channels and so on ...

@Hadi-1624
Copy link

a properly configured v2ray/xray setup can get through easily on many operators in Iran; IMO the only problem is upload throttling right now, It seems like they decided to deal with the situation by messing with download and upload speeds, throttling them to the servers outside of Iran.
Before this situation it was so easy to connect with xray proxies on mci/rightel/shatel/tci for me.

@poorp
Copy link
Author

poorp commented Dec 23, 2022

@Hadi-1624 Yes, that's exactly what I said in the OP. My vmess+tcp+tls or trojan-go setups work but have upload speeds limited to less than 1Mbps. That is not useful.

@msshn
Copy link

msshn commented Dec 24, 2022

@poorp I recommend using a domestic relay only as a last resort like november 2019 (Aban 98) when they shut down whole internet and only via a domestic relay you could connect to Internet.
The reason is because of all the personal info Iranian VPS providers require for their service which is a huge privacy red flag. The less information they have on you, the better.

@pirooz-gthb
Copy link

As far as I know, there is not a unified set of rules which govern the whole country. Each city/region/province or mobile operator or DSL provider has their own rules. I don't if it because they are smart or plain stupid.

@Argo160
Copy link

Argo160 commented Dec 26, 2022

Hello everyone,
Not sure if it is a right place to ask this
how can i set up a "http proxy" on my vps?
I can't find any related script to run

@wkrp wkrp added the Iran label Dec 26, 2022
@Azadzadeh
Copy link

how can i set up a "http proxy" on my vps?

most of the client circumvention tools here provide both HTTP and SOCKS proxy. is there any particular reason you choose HTTP over SOCKS?

You can use https://github.com/reeceyng/v2ray-agent

@Argo160
Copy link

Argo160 commented Dec 27, 2022

how can i set up a "http proxy" on my vps?

most of the client circumvention tools here provide both HTTP and SOCKS proxy. is there any particular reason you choose HTTP over SOCKS?

You can use https://github.com/reeceyng/v2ray-agent

Thanks
I just need to clear my head if a personal http proxy made in domestic relay could work using it in psiphon or not.
i am already like %99 that it does not

anyway it seems your given links can't help me to make a http proxy

@techsupport-ali
Copy link

@poorp hey man! I'm a fellow Iranian trying to achieve exactly what you are trying to do. I'm an IT Admin living in Germany and I wanted to create a solution for my family and friends in Iran. I naively started by setting up a WG Server on AWS and got it to work from Germany and being all happy about it. after finding out the harsh reality, I came across your posts and effort.
I'm new to this topic as my expertise in the IT field are not useful for this project, however since I'm living outside Iran, I have resources that I can provide. I would be very interested if you would like to join forces or at least have a conversation together.
here is my email: idevicepurchases@gmail.com

@woodlyer

This comment was marked as off-topic.

@wkrp

This comment was marked as off-topic.

@woodlyer

This comment was marked as off-topic.

@wkrp
Copy link
Member

wkrp commented Feb 24, 2023

Gost is a very powerful tunnel and proxy tool to help passing the wall. It support many protocols. It is worth popularizing it.

@woodlyer That's fine—just do it in a new thread. Don't change the subject of existing threads.

@alexandervlpl
Copy link

What's the situation with Tor, Snowflake, obfs4?

@poorp
Copy link
Author

poorp commented Jul 11, 2023 via email

@wkrp
Copy link
Member

wkrp commented Jul 24, 2023

What's the situation with Tor, Snowflake, obfs4?

As for Snowflake, Iran still accounts for more than 50% of users, about 40,000 users from Iran at any time on average.

Here's a recent graph showing countries. It only shows 1 of the 2 bridges that exist currently, but it is the bridge that is more used.

https://opencollective.com/censorship-circumvention/projects/snowflake-daily-operations/updates/2023-06-update

Top 5 countries with the most Snowflake users per day

Users in Iran should try the Orbot 17 release candidate, as that has support for both bridges, which will give better performance.

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

No branches or pull requests

10 participants