Seji64 / SniDust

SmartDNS Proxy to hide your GeoLocation. Based on DnsDist and nginx
GNU General Public License v3.0
115 stars 31 forks source link

Not unblocking #31

Closed drtiwarir closed 10 months ago

drtiwarir commented 1 year ago

I did configure it on a VPS in India, but all the streaming websites I visited give error ' you seem to be using a unblocker or proxy' Any solution to this ? When I use paid Smart DNS proxy, all websites are working. Please fix it Regards

drtiwarir commented 1 year ago

Hi, I did some search and feel that when we are using SniDust, it works like a proxy, all data flows through VPS. Now almost all streaming websites have blocked data centre IP addresses. I did check how paid DNS service works, they use data centre IP address, but the data doesn't flow through VPS (that's why they are cheap) In your project, I think the problem is with the External IP, what paid service providers are doing is using a domestic (home broadband) IP address, which can't be blocked by any streaming service provider, this IP address is just used to establish connection, as soon as the stream starts, it goes directly to the client's IP address. Domestic IP address is just used to spoof location, it does not receive and data. If you can play with IP tables and try ? I am may be wrong, my apologies in advance. Please let me know your thoughts.

Seji64 commented 1 year ago

I did some search and feel that when we are using SniDust, it works like a proxy, all data flows through VPS.

Yes and no. If you just set it up with 'Spoof all Domains' it works exactly like that. It would also behave like this if your paid Service would spoof all Domains.

So yes - the 'Spoof all Domais' flag does not really makes sense. You should setup or contribute the Domains which needed to be spoofed.

As a simple example it would be Like this:

geoipcheck.vod.example => spoofed (so vod.example things you are a located in India)

realvideostream.vod.example => Not spoofed. So you Are using your domestic broadband Connection. The Heavy load does not flows through sniDust.

So Basicially a paid service just knows all the nasty domains- this is what you Pay for.

drtiwarir commented 12 months ago

How about using MITM proxy ? instead of Sniproxy

Seji64 commented 12 months ago

No idea how MITM could help here. That is something completely different. You are comparing pears with apples here.

drtiwarir commented 12 months ago

Sorry bro Just had a thought I agree with you, my apologies

drtiwarir commented 11 months ago

I tried a paid dns proxy and found that the initial handshake or resolution is done through a mobile proxy (no data centre IP address) I did check about mobile proxies on github and found an interesting one - https://github.com/proxidize/proxidize-android Can you try sending the requests through mobile proxy ? instead of showing VPC's IP address (EXTERNAL_IP=10.111.123.8) ?

Seji64 commented 10 months ago

That is IMHO out of scope for this project. Regardless, I don't think it would do any good to implement it because even then the proxy has to run somewhere. And I think it is quite unrealistic that you can rent android phones somewhere to install a SOCKS proxy on it. In addition, they need a SIM card and a mobile phone contract (with a very very large data plan).