telegram android 源码分析 (一)自动设置代理

比如自动设置mtproxy代理,冗长的代码我们怎么去找?

1)首先我们发现点代理链接能弹对话框,们可以在strings.xml中搜索得到:

 <string name="UseProxyTelegramInfo2">This proxy may display a sponsored channel in your chat list. This doesn\'t reveal any of your Telegram traffic.</string>
    <string name="UseProxyForCalls">Use proxy for calls</string>

2)我们在项目中寻找:UseProxyTelegramInfo2,发现D:\Telegram\TMessagesProj\src\main\java\org\telegram\messenger\AndroidUtilities.java

中有函数进行引用:

public static void showProxyAlert(Activity activity, final String address, final String port, final String user, final String password, final String secret) 

函数最后提及:

ConnectionsManager.setProxySettings(true, address, p, user, password, secret);
            NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.proxySettingsChanged);

这两句非常关键,调用了

D:\Telegram\TMessagesProj\src\main\java\org\telegram\tgnet\ConnectionsManager.java

文件中设置代理的函数。那么我们也可以在合适的位置自己调用,比如该类的

init函数中。

 

3)如果想自己动态设置代理,那么可以使用https在某个服务器下载JSON格式的配置文件,

得到里面的参数,设置即可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章