我想开发一个可以访问被阻止的网站的Android应用程序。我想改变DNS地址,但Android只允许wifi dns地址更改。我也搜索过使用代理网站,但我无法做到。我正在寻找更兼容的解决方案。
我在等你的建议。提前谢谢。
答案 0 :(得分:1)
有许多类型的块可以应用于移动网络上的用户。
您指的是通过DNS完成的,我怀疑您想做这样的事情,因为Android在您使用移动连接时没有提供更改DNS的界面。
在这种情况下,必须使用root权限。您的应用只能在有根设备上运行。因此,您需要了解如何使用su
运行命令。学习的好方法是查看开源根应用程序,例如Ad-Away。
要更改移动网络的DNS,必须知道Android版本:在KitKat中,DNS解析是通过netd
守护程序完成的,该守护程序忽略通过setprop
所做的更改。在Android< 4.4中,许多DNS更换器应用程序使用了这些命令
setprop dhcp.eth0.dns1 8.8.8.8
setprop dhcp.eth0.dns2 8.8.4.4
对于Android 4.4,我编写了一个名为Override DNS的应用程序,它使用了一组不同的命令。
互联网审查可以在其他不同层面上进行。
我认为规避任何类型阻止的最佳方法是在位于美国或欧洲的VPS上托管VPN服务器,并从Android设备激活VPN。使用这种方法,可以通过VPN发送任何类型的网络通信,因此没有与DNS等相关的问题。在这种情况下,不需要拥有root权限(取决于选择的VPN技术)。