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格式的配置文件,

得到裏面的參數,設置即可。

 

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