From 47a089af806a871e4f66e66ebf72f6a6fc93cef5 Mon Sep 17 00:00:00 2001 From: msmannan00 Date: Sun, 11 Jun 2023 15:04:52 +0500 Subject: [PATCH] torry io --- .idea/misc.xml | 363 +++++++++--------- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 3 - app/src/main/assets/policy/policy.html | 14 +- .../geckoManager/geckoClients.java | 8 +- .../geckoManager/geckoSession.java | 15 +- .../homeController/homeController.java | 4 + .../homeManager/homeController/homeModel.java | 3 + .../settingAdvanceController.java | 1 + .../onionservices/constants/constants.java | 7 +- .../dataManager/suggestionDataModel.java | 5 +- .../defaultNotificationReciever.java | 8 +- app/src/main/res/drawable-hdpi/duckduckgo.jpg | Bin 10721 -> 3596 bytes .../main/res/drawable-hdpi/duckduckgo1.jpg | Bin 0 -> 10721 bytes .../res/layouts/setting/layout/setting.xml | 150 ++++---- .../setting/layout/setting_search_view.xml | 2 +- app/src/main/res/values/strings.xml | 4 +- app/variables.gradle | 4 +- 18 files changed, 304 insertions(+), 291 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/duckduckgo1.jpg diff --git a/.idea/misc.xml b/.idea/misc.xml index 3a47835f..675c0bfb 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,183 +1,182 @@ - - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 4ca6108e..599ce05e 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -52,7 +52,7 @@ android { splits { abi { - enable project.ext.splitEnabled + enable true reset() @@ -61,7 +61,7 @@ android { } bundle { abi { - enableSplit = true + enableSplit = false } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 576abcb1..cc2272de 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,9 +2,6 @@ - - - diff --git a/app/src/main/assets/policy/policy.html b/app/src/main/assets/policy/policy.html index f279975c..76796513 100644 --- a/app/src/main/assets/policy/policy.html +++ b/app/src/main/assets/policy/policy.html @@ -52,13 +52,13 @@

Search Leakage

At other search engines, when you do a search and then click on a link, your search terms are sent to that site you clicked on (in the HTTP referrer header). + href="https://looksmart.com/?q=HTTP referrer header">HTTP referrer header). We call this sharing of personal information "search leakageā€, For example, when you search for something private, you are sharing that private search not only with your search engine, but also with all the sites that you clicked on (for that search). In addition, when you visit any site, your computer automatically sends information about - it to that site (including your User - agent and IP address). This + it to that site (including your User + agent and IP address). This information can often be used to identify you directly. So when you do that private search, not only can those other sites know your search terms, but they can also know that you searched it. It is this combination of available information about you that @@ -77,14 +77,14 @@ versions of those sites. It is modeled after (and uses code from) the HTTPS Everywhere. These sites include Wikipedia, Facebook, Twitter, and Amazon to name a few. Another way to prevent search leakage is by using something called a POST request, which has the + href="https://looksmart.com/?q=POST request">POST request, which has the effect of not showing your search in your browser, and, as a consequence, does not send it to other sites. You can turn on POST requests on our settings page, but it has its own issues. POST requests usually break browser back buttons, and they make it impossible for you to easily share your search by copying and pasting it out of your Web browser's address bar.

Finally, if you want to prevent sites from knowing you - visited them at all, you can use a proxy like Tor. - Orion actually operates a Tor exit + visited them at all, you can use a proxy like Tor. + Orion actually operates a Tor exit enclave, which means you can get end to end anonymous and encrypted searching using Tor & DDG together. You can enter !proxy domain into Orion as well, and we will route you through a proxy, e.g. !proxy breadpig.com. Unfortunately, proxies can also be @@ -102,7 +102,7 @@

Other search engines save your search history. Usually your searches are saved along with the date and time of the search, some information about your computer (e.g. your IP address, User agent and often a unique identifier stored in - a browser cookie), and if you are + a browser cookie), and if you are logged in, your account information (e.g. name and email address). With only the timestamp and computer information, your searches can often be traced directly to you. With the additional account information, they are associated directly with you. Also, diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoClients.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoClients.java index d8a54976..223ec84d 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoClients.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoClients.java @@ -301,7 +301,9 @@ public class geckoClients { } public void onMediaInvoke(enums.MediaController mController){ - mSession.getMediaSessionDelegate().onTrigger(mController); + if(mSession.getMediaSessionDelegate()!=null){ + mSession.getMediaSessionDelegate().onTrigger(mController); + } } public String getTheme() { @@ -476,7 +478,9 @@ public class geckoClients { mSession.onFullScreenInvoke((boolean)data.get(0)); } if (e_type.equals(homeEnums.eGeckoCallback.ON_DESTROY_MEDIA)) { - mSession.getMediaSessionDelegate().onTrigger(enums.MediaController.DESTROY); + if(mSession.getMediaSessionDelegate()!=null){ + mSession.getMediaSessionDelegate().onTrigger(enums.MediaController.DESTROY); + } } if (e_type.equals(homeEnums.eGeckoCallback.M_CHANGE_HOME_THEME)) { initHomeTheme(); diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoSession.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoSession.java index f636aa71..550c9430 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoSession.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoSession.java @@ -17,6 +17,8 @@ import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.help import com.hiddenservices.onionservices.appManager.homeManager.geckoManager.helperClasses.searchHandler; import com.hiddenservices.onionservices.appManager.homeManager.homeController.homeEnums; import com.hiddenservices.onionservices.eventObserver; +import com.hiddenservices.onionservices.helperManager.helperMethod; + import org.mozilla.geckoview.GeckoSession; import org.mozilla.geckoview.GeckoView; import java.lang.ref.WeakReference; @@ -54,9 +56,7 @@ public class geckoSession extends GeckoSession implements GeckoSession.Progress this.mGeckoDataModel = new geckoDataModel(); this.mGeckoDataModel.mSessionID = pSessionID; - this.mMediaDelegate = new mediaDelegate(this.mContext); this.mSelectionActionDelegate = new selectionDelegate(pContext, true); - this.mMediaSessionDelegate = new mediaSessionDelegate(this.mContext, mGeckoDataModel, mMediaDelegate); this.mHistoryDelegate = new historyDelegate(this.mContext, mEvent, mGeckoDataModel, this); this.mPromptDelegate = new promptDelegate(this.mContext.get()); this.mContentDelegate = new contentDelegate(this.mContext, mEvent, mGeckoDataModel, this); @@ -67,18 +67,25 @@ public class geckoSession extends GeckoSession implements GeckoSession.Progress this.mNavigationDelegate = new navigationDelegate(this.mContext, mEvent, mGeckoDataModel, this); this.mProgressDelegate = new progressDelegate(this.mContext, mEvent, mGeckoDataModel); this.mPermissionDelegate = new permissionDelegate(this.mContext, this); + this.mMediaDelegate = new mediaDelegate(new WeakReference(pContext)); + setMediaDelegate(this.mMediaDelegate); setSelectionActionDelegate(this.mSelectionActionDelegate); - setMediaSessionDelegate(this.mMediaSessionDelegate); setHistoryDelegate(this.mHistoryDelegate); setPromptDelegate(this.mPromptDelegate); setContentDelegate(this.mContentDelegate); - setMediaDelegate(this.mMediaDelegate); setScrollDelegate(this.mScrollDelegate); setAutofillDelegate(this.mAutofillDelegate); setNavigationDelegate(this.mNavigationDelegate); setProgressDelegate(this.mProgressDelegate); setPermissionDelegate(this.mPermissionDelegate); + setMediaSessionDelegate(null); + } + + public void onInit(AppCompatActivity pContext){ + setMediaSessionDelegate(null); + this.mMediaSessionDelegate = new mediaSessionDelegate(new WeakReference(pContext), mGeckoDataModel, mMediaDelegate); + setMediaSessionDelegate(this.mMediaSessionDelegate); } public void initCallback(eventObserver.eventListener pEvent) { diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java index 62d99c6d..1f550646 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java @@ -772,6 +772,9 @@ public class homeController extends AppCompatActivity implements ComponentCallba if (mGeckoView.getSession() != null && !mGeckoView.getSession().isOpen()) { mGeckoView.getSession().open(mGeckoClient.getmRuntime()); } + if (url.contains("torry.io") && !url.contains("torry.io/mobile/orion")) { + url = url.replace("torry.io","torry.io/mobile/orion"); + } mAppBar.animate().cancel(); if (mGeckoView.getSession() != null) { @@ -3169,6 +3172,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba } else if (e_type.equals(homeEnums.eGeckoCallback.ON_UPDATE_HISTORY)) { return dataController.getInstance().invokeHistory(dataEnums.eHistoryCommands.M_ADD_HISTORY, data); } else if (e_type.equals(homeEnums.eGeckoCallback.ON_PAGE_LOADED)) { + mGeckoClient.getSession().onInit(homeController.this); onInvokePixelGenerator(); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_BOOTSTRAPPED, true)); mHomeViewController.onPageFinished(); diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeModel.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeModel.java index bdd01cd7..c1c98a6f 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeModel.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeModel.java @@ -27,6 +27,9 @@ public class homeModel { if (pURL.startsWith("data") || pURL.startsWith("http://data") || pURL.startsWith("https://data")) { return pURL; } + if (pURL.contains("torry.io") && !pURL.contains("torry.io/mobile/orion")) { + pURL = pURL.replace("torry.io","torry.io/mobile/orion"); + } if (pURL.equals("about:blank")) { return helperMethod.completeURL("167.86.99.31"); } else if (pURL.equals("about:config")) { diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/advanceManager/settingAdvanceController.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/advanceManager/settingAdvanceController.java index 7b8d9f32..ef1d2b39 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/advanceManager/settingAdvanceController.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/settingManager/advanceManager/settingAdvanceController.java @@ -175,6 +175,7 @@ public class settingAdvanceController extends AppCompatActivity { mSettingAdvanceModel.onTrigger(settingAdvanceEnums.eAdvanceModel.M_BACKGROUND_MUSIC, Collections.singletonList(!mBackgroundMusic.isChecked())); mBackgroundMusic.toggle(); dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_BACKGROUND_MUSIC, status.sBackgroundMusic)); + activityContextManager.getInstance().getHomeController().onReload(null); } public void onGridView(View view) { diff --git a/app/src/main/java/com/hiddenservices/onionservices/constants/constants.java b/app/src/main/java/com/hiddenservices/onionservices/constants/constants.java index 8785d4b7..7c663aec 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/constants/constants.java +++ b/app/src/main/java/com/hiddenservices/onionservices/constants/constants.java @@ -49,11 +49,12 @@ public class constants { public static final String CONST_GENESIS_HELP_URL_SUB = "167.86.99.31/help"; public static final String CONST_BACKEND_GENESIS_URL = "http://167.86.99.31/search?q=$s&p_num=1&s_type=all"; public static final String CONST_BACKEND_GOOGLE_URL = "https://www.google.com/search?q=$s"; - public static final String CONST_BACKEND_DUCK_DUCK_GO_URL = "https://duckduckgo.com?q=$s&ia=web"; - public static final String CONST_BACKEND_DUCK_DUCK_GO_STATIC_URL = "http://duckduckgo.com"; + public static final String CONST_BACKEND_DUCK_DUCK_GO_URL = "https://www.torry.io/mobile/orion/search/?q=$s"; + + public static final String CONST_BACKEND_DUCK_DUCK_GO_STATIC_URL = "https://www.torry.io/mobile/orion/"; public static final String CONST_BACKEND_BING_URL = "https://bing.com/search?q=$s"; public static final String CONST_BACKEND_WIKI_URL = "https://en.wikipedia.org/wiki/$s"; - public static final String CONST_LOG_DUCKDUCK = "https://duckduckgo.com/?q=tor"; + public static final String CONST_LOG_DUCKDUCK = "https://www.torry.io/mobile/orion/?q=tor"; /*PROXY CONSTANTS*/ diff --git a/app/src/main/java/com/hiddenservices/onionservices/dataManager/suggestionDataModel.java b/app/src/main/java/com/hiddenservices/onionservices/dataManager/suggestionDataModel.java index d3bb5101..25a54dbb 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/dataManager/suggestionDataModel.java +++ b/app/src/main/java/com/hiddenservices/onionservices/dataManager/suggestionDataModel.java @@ -224,7 +224,7 @@ public class suggestionDataModel implements SpellCheckerSession.SpellCheckerSess if (status.sTorBrowsing) { mCurrentList.add(mSize, new historyRowModel("Orion Search", "orion.onion", -1)); }else { - mCurrentList.add(mSize, new historyRowModel("Duckduckgo", "https://duckduckgo.com", -1)); + mCurrentList.add(mSize, new historyRowModel("Duckduckgo", "https://looksmart.com", -1)); } } @@ -234,7 +234,7 @@ public class suggestionDataModel implements SpellCheckerSession.SpellCheckerSess private ArrayList initSuggestions() { mHintListLocalCache = new ArrayList<>(); - mHintListLocalCache.add(new historyRowModel("Duckduckgo", "https://duckduckgo.com", -1)); + mHintListLocalCache.add(new historyRowModel("Duckduckgo", "https://looksmart.com", -1)); mHintListLocalCache.add(new historyRowModel("BBC", "https://bbc.com", -1)); mHintListLocalCache.add(new historyRowModel("Youtube", "https://youtube.com", -1)); mHintListLocalCache.add(new historyRowModel("Facebook", "https://facebook.com", -1)); @@ -276,6 +276,7 @@ public class suggestionDataModel implements SpellCheckerSession.SpellCheckerSess mHintListLocalCache.add(new historyRowModel("Bestbuy", "https://bestbuy.com", -1)); mHintListLocalCache.add(new historyRowModel("Urbandictionary", "https://urbandictionary.com", -1)); mHintListLocalCache.add(new historyRowModel("Mayoclinic", "https://mayoclinic.org", -1)); + mHintListLocalCache.add(new historyRowModel("Torry", "https://www.torry.io/mobile/orion/", -1)); mHintListLocalCache.add(new historyRowModel("AOL", "https://aol.com", -1)); mHintListLocalCache.add(new historyRowModel("Genius", "https://genius.com", -1)); mHintListLocalCache.add(new historyRowModel("Zillow", "https://zillow.com", -1)); diff --git a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginReciever/defaultNotificationReciever.java b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginReciever/defaultNotificationReciever.java index b2bc1cfa..afc70bed 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginReciever/defaultNotificationReciever.java +++ b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginReciever/defaultNotificationReciever.java @@ -1,6 +1,8 @@ package com.hiddenservices.onionservices.pluginManager.pluginReciever; import static com.hiddenservices.onionservices.constants.constants.CONST_NOTIFICATION_COMMAND; +import static java.lang.System.exit; + import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -19,8 +21,12 @@ public class defaultNotificationReciever extends BroadcastReceiver { } else if (mCommand == 1) { if(activityContextManager.getInstance().getHomeController() == null){ onDestroy(context); + NotificationManagerCompat.from(context).cancelAll(); + exit(1); }else { + NotificationManagerCompat.from(activityContextManager.getInstance().getHomeController()).cancelAll(); activityContextManager.getInstance().getHomeController().onCloseApplication(); + exit(1); } } } @@ -43,7 +49,7 @@ public class defaultNotificationReciever extends BroadcastReceiver { NotificationManagerCompat.from(context).cancel(1025); android.os.Process.killProcess(android.os.Process.myPid()); - System.exit(1); + exit(1); }, 100); } } diff --git a/app/src/main/res/drawable-hdpi/duckduckgo.jpg b/app/src/main/res/drawable-hdpi/duckduckgo.jpg index b384026c926cb8071d2b3cc368af38e7357d37a1..5cdcc3ea97b94887b5b18adfb1486d924f094e54 100644 GIT binary patch literal 3596 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 W>3`Xr|I*CxUmF|#uYWTgkNh_b0l*9Z diff --git a/app/src/main/res/drawable-hdpi/duckduckgo1.jpg b/app/src/main/res/drawable-hdpi/duckduckgo1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b384026c926cb8071d2b3cc368af38e7357d37a1 GIT binary patch literal 10721 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 W>3`Xr|I*CxUmF|#uYWTgkNh_b0l*9Z literal 0 HcmV?d00001 diff --git a/app/src/main/res/layouts/setting/layout/setting.xml b/app/src/main/res/layouts/setting/layout/setting.xml index 5e97997c..89e76b8c 100644 --- a/app/src/main/res/layouts/setting/layout/setting.xml +++ b/app/src/main/res/layouts/setting/layout/setting.xml @@ -16,7 +16,6 @@ android:paddingBottom="50dp" android:layout_height="wrap_content"> - - - - + + + + + + +