mirror of https://github.com/LeOS-GSI/LeOS-Genesis
Bug Fixes
parent
7f2e7cbf98
commit
003c0b33e0
12
CHANGELOG
12
CHANGELOG
|
@ -303,7 +303,7 @@ f3211aca Fixes #236: Separate Constants For VPN, TOR and MAIN_APP
|
||||||
cde49d1a Removes the refresh button on the VPN Selection screen
|
cde49d1a Removes the refresh button on the VPN Selection screen
|
||||||
351ef96f (bitmold-remove_orfox) Removes references to Orfox since it is being completely replaced with the Tor Browser for Android. Conversations surrounding this can be found here https://blog.torproject.org/comment/281767#comment-281767 and here https://trac.torproject.org/projects/tor/ticket/29955
|
351ef96f (bitmold-remove_orfox) Removes references to Orfox since it is being completely replaced with the Tor Browser for Android. Conversations surrounding this can be found here https://blog.torproject.org/comment/281767#comment-281767 and here https://trac.torproject.org/projects/tor/ticket/29955
|
||||||
656d39b7 (tag: 16.1.0-BETA-5-tor-0.4.0.4-rc) update to 16.1.0-BETA-5-tor-0.4.0.4-rc
|
656d39b7 (tag: 16.1.0-BETA-5-tor-0.4.0.4-rc) update to 16.1.0-BETA-5-tor-0.4.0.4-rc
|
||||||
814fbb31 reset default ports to 9055, 8125 but make them dynamic if needed - ports will be checked and if not available, increment +1 - new setting add to allow static setting of http port value
|
814fbb31 reset default ports to 9050, 8118 but make them dynamic if needed - ports will be checked and if not available, increment +1 - new setting add to allow static setting of http port value
|
||||||
827b905e ensure we are putting the right value in
|
827b905e ensure we are putting the right value in
|
||||||
144a4ed5 small change to attempt to address localization glitches
|
144a4ed5 small change to attempt to address localization glitches
|
||||||
c4062678 Merge branch 'master' of github.com:n8fr8/orbot
|
c4062678 Merge branch 'master' of github.com:n8fr8/orbot
|
||||||
|
@ -366,7 +366,7 @@ a32452e7 Make text inputs in Orbot declare that they do want to opt out of IME p
|
||||||
cd6560fa Merge pull request #202 from bitmold/no_constraint_layout
|
cd6560fa Merge pull request #202 from bitmold/no_constraint_layout
|
||||||
a5d5c99f (public/master, gl/master) remove unused launcher art
|
a5d5c99f (public/master, gl/master) remove unused launcher art
|
||||||
9257b66f don't shrink or minify for now
|
9257b66f don't shrink or minify for now
|
||||||
56917567 (tag: 16.0.6-BETA-2-tor-0.3.5.8) many small changes to support new binary loading, startup and more - improved handling of port conflicts - fixed loading of tor binary on arm64-v8a - changed how we execute shell commands
|
56905067 (tag: 16.0.6-BETA-2-tor-0.3.5.8) many small changes to support new binary loading, startup and more - improved handling of port conflicts - fixed loading of tor binary on arm64-v8a - changed how we execute shell commands
|
||||||
8ed080f9 Removed Constraint Layout Dependency
|
8ed080f9 Removed Constraint Layout Dependency
|
||||||
2a76b7af (tag: 16.0.6-BETA-1-tor-0.3.5.8) updated to SDK 28, added android.permission.FOREGROUND_SERVICE permission
|
2a76b7af (tag: 16.0.6-BETA-1-tor-0.3.5.8) updated to SDK 28, added android.permission.FOREGROUND_SERVICE permission
|
||||||
fb14c76c fixed strings with two many \\ escapes
|
fb14c76c fixed strings with two many \\ escapes
|
||||||
|
@ -914,8 +914,8 @@ Make the build process better and more reproduceable
|
||||||
|
|
||||||
/** 15.1.0-RC-2 / 16-January-2016 / 9ed17b551c29b9edf94d64f5f013ad607c21bbc5 **/
|
/** 15.1.0-RC-2 / 16-January-2016 / 9ed17b551c29b9edf94d64f5f013ad607c21bbc5 **/
|
||||||
|
|
||||||
Quick fix for Samsung Galaxy devices which have a port conflict on the default SOCKS 9055 part
|
Quick fix for Samsung Galaxy devices which have a port conflict on the default SOCKS 9050 part
|
||||||
* 6ffea9e add ability to check if configured SOCKS port is available Samsung devices like to use 9055 (Since their hardware model is i9
|
* 6ffea9e add ability to check if configured SOCKS port is available Samsung devices like to use 9050 (Since their hardware model is i9
|
||||||
|
|
||||||
/** 15.1.0-RC-1 / 15-January-2016 / f541e9ffe14a2719863327bf262b48de135ee0fd **/
|
/** 15.1.0-RC-1 / 15-January-2016 / f541e9ffe14a2719863327bf262b48de135ee0fd **/
|
||||||
|
|
||||||
|
@ -1455,7 +1455,7 @@ fc63929 ensure diag/test mode stop's Tor on activity exit
|
||||||
4716696 make transport settings dynamic (remove from torrc)
|
4716696 make transport settings dynamic (remove from torrc)
|
||||||
2fe57e8 pegging tor to 0.2.4.22
|
2fe57e8 pegging tor to 0.2.4.22
|
||||||
00b535e updated to 14.0.2.1
|
00b535e updated to 14.0.2.1
|
||||||
c2be4ac ensure polipo conf is updated; default to 9051 for ctrl port
|
c2be4ac ensure polipo conf is updated; default to 9050 for ctrl port
|
||||||
6ab9a7b reduce memory usage of polipo
|
6ab9a7b reduce memory usage of polipo
|
||||||
b26b9d4 update to 14.0.2
|
b26b9d4 update to 14.0.2
|
||||||
aa8ff95 ensure readers are closed; ensure socks settings are applied
|
aa8ff95 ensure readers are closed; ensure socks settings are applied
|
||||||
|
@ -1470,7 +1470,7 @@ af51a98 allow support for adding custom lines to torrc
|
||||||
98ea6d5 update changelog
|
98ea6d5 update changelog
|
||||||
5776a87 update to 14.0.0-RC3
|
5776a87 update to 14.0.0-RC3
|
||||||
bf6a1da update state when service connects
|
bf6a1da update state when service connects
|
||||||
451cfed keep SOCKS port as default 9055 (instead of 'auto')
|
451cfed keep SOCKS port as default 9050 (instead of 'auto')
|
||||||
f94e27a updated to 14.0.0-RC-1
|
f94e27a updated to 14.0.0-RC-1
|
||||||
bedeb71 more fixes for hidden service configuration now multiple ports are properly configured and notification will display correctl
|
bedeb71 more fixes for hidden service configuration now multiple ports are properly configured and notification will display correctl
|
||||||
051cce4 don't allow the tor control port socket to timeout
|
051cce4 don't allow the tor control port socket to timeout
|
||||||
|
|
2
INSTALL
2
INSTALL
|
@ -15,7 +15,7 @@ with Eclipse: http://eclipse.org/
|
||||||
*** How to use ***
|
*** How to use ***
|
||||||
Currently, Orbot will work with any application that supports using
|
Currently, Orbot will work with any application that supports using
|
||||||
an HTTP or SOCKS Proxy. Once you start Tor using Orbot, you can then
|
an HTTP or SOCKS Proxy. Once you start Tor using Orbot, you can then
|
||||||
point your application to HTTP port 8125 or SOCKS port 9055 on localhost
|
point your application to HTTP port 8118 or SOCKS port 9050 on localhost
|
||||||
IP 127.0.0.1.
|
IP 127.0.0.1.
|
||||||
|
|
||||||
If you have root access, and a version of Android with iptables that
|
If you have root access, and a version of Android with iptables that
|
||||||
|
|
|
@ -249,22 +249,22 @@
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name="com.darkweb.genesissearchengine.libs.providers.HSContentProvider"
|
android:name="com.darkweb.genesissearchengine.libs.providers.HSContentProvider"
|
||||||
android:authorities="org.torproject.android.ui.hiddenservices.providers"
|
android:authorities="org.torproject.android.ui.hiddenservices.providers.genesis"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name="com.darkweb.genesissearchengine.libs.providers.OnionServiceContentProvider"
|
android:name="com.darkweb.genesissearchengine.libs.providers.OnionServiceContentProvider"
|
||||||
android:authorities="org.torproject.android.ui.v3onionservice"
|
android:authorities="org.torproject.android.ui.v3onionservice.genesis"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:authorities="org.torproject.android.ui.v3onionservice.clientauth"
|
android:authorities="org.torproject.android.ui.v3onionservice.genesis.clientauth"
|
||||||
android:name="com.darkweb.genesissearchengine.libs.providers.ClientAuthContentProviderGenesis"
|
android:name="com.darkweb.genesissearchengine.libs.providers.ClientAuthContentProviderGenesis"
|
||||||
android:exported="false"/>
|
android:exported="false"/>
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name="com.darkweb.genesissearchengine.libs.providers.CookieContentProvider"
|
android:name="com.darkweb.genesissearchengine.libs.providers.CookieContentProvider"
|
||||||
android:authorities="org.torproject.android.ui.hiddenservices.providers.cookie"
|
android:authorities="org.torproject.android.ui.hiddenservices.providers.genesis.cookie"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -2089,7 +2089,7 @@ select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.for
|
||||||
.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),
|
.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),
|
||||||
.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),
|
.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),
|
||||||
.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {
|
.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {
|
||||||
height: calc(1.8125rem + 2px);
|
height: calc(1.8118rem + 2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control-lg, .input-group-lg > .form-control,
|
.form-control-lg, .input-group-lg > .form-control,
|
||||||
|
@ -3763,7 +3763,7 @@ tbody.collapse.show {
|
||||||
}
|
}
|
||||||
|
|
||||||
.custom-select-sm {
|
.custom-select-sm {
|
||||||
height: calc(1.8125rem + 2px);
|
height: calc(1.8118rem + 2px);
|
||||||
padding-top: 0.375rem;
|
padding-top: 0.375rem;
|
||||||
padding-bottom: 0.375rem;
|
padding-bottom: 0.375rem;
|
||||||
font-size: 75%;
|
font-size: 75%;
|
||||||
|
|
|
@ -234,7 +234,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
org.torproject.android.service.util.Prefs.setContext(activityContextManager.getInstance().getHomeController());
|
org.torproject.android.service.util.Prefs.setContext(activityContextManager.getInstance().getHomeController());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void initWidget(){
|
public void initWidget(){
|
||||||
if(status.sWidgetResponse == enums.WidgetResponse.SEARCHBAR){
|
if(status.sWidgetResponse == enums.WidgetResponse.SEARCHBAR){
|
||||||
if(!status.sSettingIsAppStarted){
|
if(!status.sSettingIsAppStarted){
|
||||||
|
@ -912,6 +911,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mSearchbar.setEventHandler(new edittextManagerCallback());
|
mSearchbar.setEventHandler(new edittextManagerCallback());
|
||||||
|
|
||||||
mSearchbar.setOnFocusChangeListener((v, hasFocus) -> {
|
mSearchbar.setOnFocusChangeListener((v, hasFocus) -> {
|
||||||
|
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
||||||
status.sUIInteracted = true;
|
status.sUIInteracted = true;
|
||||||
if(!hasFocus)
|
if(!hasFocus)
|
||||||
{
|
{
|
||||||
|
@ -1320,7 +1320,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
mHomeViewController.onSetBannerAdMargin(true,(boolean)pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED));
|
mHomeViewController.onSetBannerAdMargin(true,(boolean)pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mGeckoClient.getSession().getCurrentURL().equals("about:blank") || mGeckoClient.getSession().getCurrentURL().contains("genesishiddentechnologies.com") || mGeckoClient.getSession().getCurrentURL().startsWith(CONST_GENESIS_URL_CACHED) || mGeckoClient.getSession().getCurrentURL().startsWith(CONST_GENESIS_URL_CACHED_DARK) || mGeckoClient.getSession().getCurrentURL().startsWith(CONST_GENESIS_HELP_URL_CACHE) || mGeckoClient.getSession().getCurrentURL().startsWith(CONST_GENESIS_HELP_URL_CACHE_DARK)){
|
if(mGeckoClient.getSession().wasPreviousErrorPage() || mGeckoClient.getSession().getCurrentURL().equals("about:blank") || mGeckoClient.getSession().getCurrentURL().contains("genesishiddentechnologies.com") || mGeckoClient.getSession().getCurrentURL().startsWith(CONST_GENESIS_URL_CACHED) || mGeckoClient.getSession().getCurrentURL().startsWith(CONST_GENESIS_URL_CACHED_DARK) || mGeckoClient.getSession().getCurrentURL().startsWith(CONST_GENESIS_HELP_URL_CACHE) || mGeckoClient.getSession().getCurrentURL().startsWith(CONST_GENESIS_HELP_URL_CACHE_DARK)){
|
||||||
mHomeViewController.updateBannerAdvertStatus(false, (boolean)pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED));
|
mHomeViewController.updateBannerAdvertStatus(false, (boolean)pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED));
|
||||||
}else {
|
}else {
|
||||||
mHomeViewController.updateBannerAdvertStatus(true, (boolean)pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED));
|
mHomeViewController.updateBannerAdvertStatus(true, (boolean)pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED));
|
||||||
|
@ -1962,6 +1962,10 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
{
|
{
|
||||||
initTabCountForced();
|
initTabCountForced();
|
||||||
}
|
}
|
||||||
|
else if(e_type.equals(enums.etype.M_ADVERT_LOADED))
|
||||||
|
{
|
||||||
|
return pluginController.getInstance().onAdsInvoke(null, pluginEnums.eAdManager.M_IS_ADVERT_LOADED);
|
||||||
|
}
|
||||||
else if(e_type.equals(enums.etype.M_NEW_LINK_IN_NEW_TAB))
|
else if(e_type.equals(enums.etype.M_NEW_LINK_IN_NEW_TAB))
|
||||||
{
|
{
|
||||||
postNewLinkTabAnimationInBackground(dataToStr(data.get(0)));
|
postNewLinkTabAnimationInBackground(dataToStr(data.get(0)));
|
||||||
|
@ -2014,6 +2018,9 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
}
|
}
|
||||||
else if(e_type.equals(enums.etype.M_GET_CURRENT_URL))
|
else if(e_type.equals(enums.etype.M_GET_CURRENT_URL))
|
||||||
{
|
{
|
||||||
|
if(mGeckoClient==null || mGeckoClient.getSession()==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return mGeckoClient.getSession().getCurrentURL();
|
return mGeckoClient.getSession().getCurrentURL();
|
||||||
}
|
}
|
||||||
else if(e_type.equals(enums.etype.M_SPLASH_DISABLE))
|
else if(e_type.equals(enums.etype.M_SPLASH_DISABLE))
|
||||||
|
@ -2281,6 +2288,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba
|
||||||
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_BOOTSTRAPPED,true));
|
dataController.getInstance().invokePrefs(dataEnums.ePreferencesCommands.M_SET_BOOL, Arrays.asList(keys.SETTING_IS_BOOTSTRAPPED,true));
|
||||||
mHomeViewController.onPageFinished();
|
mHomeViewController.onPageFinished();
|
||||||
mGeckoClient.onRedrawPixel(homeController.this);
|
mGeckoClient.onRedrawPixel(homeController.this);
|
||||||
|
mHomeViewController.onFullScreen();
|
||||||
}
|
}
|
||||||
else if(e_type.equals(M_RATE_APPLICATION)){
|
else if(e_type.equals(M_RATE_APPLICATION)){
|
||||||
if(!status.sSettingIsAppRated){
|
if(!status.sSettingIsAppRated){
|
||||||
|
|
|
@ -58,6 +58,8 @@ import java.util.List;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import static android.content.Context.LAYOUT_INFLATER_SERVICE;
|
import static android.content.Context.LAYOUT_INFLATER_SERVICE;
|
||||||
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_DOMAIN_URL;
|
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_DOMAIN_URL;
|
||||||
|
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_HELP_URL_CACHE;
|
||||||
|
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_HELP_URL_CACHE_DARK;
|
||||||
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_URL_CACHED;
|
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_URL_CACHED;
|
||||||
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_URL_CACHED_DARK;
|
import static com.darkweb.genesissearchengine.constants.constants.CONST_GENESIS_URL_CACHED_DARK;
|
||||||
import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_DESKTOP;
|
import static org.mozilla.geckoview.GeckoSessionSettings.USER_AGENT_MODE_DESKTOP;
|
||||||
|
@ -377,7 +379,7 @@ class homeViewController
|
||||||
mVoiceInput.setClickable(true);
|
mVoiceInput.setClickable(true);
|
||||||
mVoiceInput.setFocusable(true);
|
mVoiceInput.setFocusable(true);
|
||||||
onUpdateSearchIcon(1);
|
onUpdateSearchIcon(1);
|
||||||
mVoiceInput.setVisibility(View.GONE);
|
mVoiceInput.setVisibility(View.INVISIBLE);
|
||||||
mNewTab.setVisibility(View.VISIBLE);
|
mNewTab.setVisibility(View.VISIBLE);
|
||||||
mMenu.setVisibility(View.VISIBLE);
|
mMenu.setVisibility(View.VISIBLE);
|
||||||
mSearchbar.setFadingEdgeLength(helperMethod.pxFromDp(20));
|
mSearchbar.setFadingEdgeLength(helperMethod.pxFromDp(20));
|
||||||
|
@ -500,18 +502,16 @@ class homeViewController
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initStatusBarColor(boolean mInstant) {
|
public void initStatusBarColor(boolean mInstant) {
|
||||||
|
int mDelay = 2000;
|
||||||
|
if(status.mThemeApplying || mInstant){
|
||||||
|
mDelay = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
ColorAnimator oneToTwo = new ColorAnimator(ContextCompat.getColor(mContext, R.color.landing_ease_blue), ContextCompat.getColor(mContext, R.color.green_dark_v2));
|
ColorAnimator oneToTwo = new ColorAnimator(ContextCompat.getColor(mContext, R.color.landing_ease_blue), ContextCompat.getColor(mContext, R.color.green_dark_v2));
|
||||||
|
|
||||||
int mDelay = 1250;
|
|
||||||
if(status.mThemeApplying || mInstant){
|
|
||||||
mDelay = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Log.i("asdadsshadkkasjd","asdasdasd");
|
|
||||||
|
|
||||||
ValueAnimator animator = ObjectAnimator.ofFloat(0f, 1f);
|
ValueAnimator animator = ObjectAnimator.ofFloat(0f, 1f);
|
||||||
animator.setDuration(250).setStartDelay(mDelay);
|
animator.setDuration(200).setStartDelay(mDelay);
|
||||||
animator.addUpdateListener(animation ->
|
animator.addUpdateListener(animation ->
|
||||||
{
|
{
|
||||||
float v = (float) animation.getAnimatedValue();
|
float v = (float) animation.getAnimatedValue();
|
||||||
|
@ -523,6 +523,7 @@ class homeViewController
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_background));
|
mContext.getWindow().setStatusBarColor(ContextCompat.getColor(mContext, R.color.c_background));
|
||||||
|
onPostScreenDisable();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
animator.addListener(new AnimatorListenerAdapter()
|
animator.addListener(new AnimatorListenerAdapter()
|
||||||
|
@ -540,9 +541,25 @@ class homeViewController
|
||||||
});
|
});
|
||||||
animator.start();
|
animator.start();
|
||||||
}else {
|
}else {
|
||||||
mSplashScreen.animate().alpha(0).setDuration(250).setStartDelay(0);
|
mSplashScreen.animate().alpha(0).setDuration(200).setStartDelay(mDelay).withEndAction(() -> onPostScreenDisable());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onPostScreenDisable(){
|
||||||
|
mProgressBarIndeterminate.setVisibility(View.GONE);
|
||||||
|
mSplashScreen.setClickable(false);
|
||||||
|
mSplashScreen.setFocusable(false);
|
||||||
|
mSearchbar.setEnabled(true);
|
||||||
|
mBlocker.setEnabled(false);
|
||||||
|
|
||||||
|
mBlocker.setVisibility(View.GONE);
|
||||||
|
mGatewaySplash.setVisibility(View.GONE);
|
||||||
|
mConnectButton.setVisibility(View.GONE);
|
||||||
|
mPanicButton.setVisibility(View.GONE);
|
||||||
|
mPanicButtonLandscape.setVisibility(View.GONE);
|
||||||
|
|
||||||
|
mEvent.invokeObserver(null, enums.etype.M_CACHE_UPDATE_TAB);
|
||||||
|
mEvent.invokeObserver(null, enums.etype.M_SPLASH_DISABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initSplashLoading(){
|
public void initSplashLoading(){
|
||||||
|
@ -674,7 +691,7 @@ class homeViewController
|
||||||
mSplashScreen.setVisibility(View.GONE);
|
mSplashScreen.setVisibility(View.GONE);
|
||||||
mBlocker.setEnabled(false);
|
mBlocker.setEnabled(false);
|
||||||
}
|
}
|
||||||
//C:\Users\MSi\AppData\Local\Android\ndk
|
|
||||||
private boolean mIsAnimating = false;
|
private boolean mIsAnimating = false;
|
||||||
public void splashScreenDisable(){
|
public void splashScreenDisable(){
|
||||||
mTopBar.setAlpha(1);
|
mTopBar.setAlpha(1);
|
||||||
|
@ -683,27 +700,7 @@ class homeViewController
|
||||||
if(!mIsAnimating){
|
if(!mIsAnimating){
|
||||||
mIsAnimating = true;
|
mIsAnimating = true;
|
||||||
initStatusBarColor(false);
|
initStatusBarColor(false);
|
||||||
mProgressBarIndeterminate.animate().setStartDelay(350).setDuration(250).alpha(0).withEndAction(() -> {
|
|
||||||
|
|
||||||
new Handler().postDelayed(() ->
|
|
||||||
{
|
|
||||||
mProgressBarIndeterminate.setVisibility(View.GONE);
|
|
||||||
mSplashScreen.setClickable(false);
|
|
||||||
mSplashScreen.setFocusable(false);
|
|
||||||
mSearchbar.setEnabled(true);
|
|
||||||
mBlocker.setEnabled(false);
|
|
||||||
|
|
||||||
mBlocker.setVisibility(View.GONE);
|
|
||||||
mGatewaySplash.setVisibility(View.GONE);
|
|
||||||
mConnectButton.setVisibility(View.GONE);
|
|
||||||
mPanicButton.setVisibility(View.GONE);
|
|
||||||
mPanicButtonLandscape.setVisibility(View.GONE);
|
|
||||||
|
|
||||||
mEvent.invokeObserver(null, enums.etype.M_CACHE_UPDATE_TAB);
|
|
||||||
mEvent.invokeObserver(null, enums.etype.M_SPLASH_DISABLE);
|
|
||||||
}, 2000);
|
|
||||||
|
|
||||||
});
|
|
||||||
mEvent.invokeObserver(null, enums.etype.M_WELCOME_MESSAGE);
|
mEvent.invokeObserver(null, enums.etype.M_WELCOME_MESSAGE);
|
||||||
mOrbotLogManager.setClickable(false);
|
mOrbotLogManager.setClickable(false);
|
||||||
status.sSettingIsAppRestarting = true;
|
status.sSettingIsAppRestarting = true;
|
||||||
|
@ -933,6 +930,7 @@ class homeViewController
|
||||||
mBannerAds.setVisibility(View.GONE);
|
mBannerAds.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
onFullScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateBannerAdvertStatus(boolean status, boolean pIsAdvertLoaded){
|
void updateBannerAdvertStatus(boolean status, boolean pIsAdvertLoaded){
|
||||||
|
@ -1478,11 +1476,30 @@ class homeViewController
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onFullScreen(){
|
public void onFullScreen(){
|
||||||
|
Object mAdvertLoaded = mEvent.invokeObserver(null, enums.etype.M_ADVERT_LOADED);
|
||||||
|
Object mCurrentURL = mEvent.invokeObserver(null, enums.etype.M_GET_CURRENT_URL);
|
||||||
|
|
||||||
if(status.sFullScreenBrowsing || isFullScreen){
|
if(status.sFullScreenBrowsing || isFullScreen){
|
||||||
mWebviewContainer.setPadding(0,0,0,0);
|
mWebviewContainer.setPadding(0,0,0,0);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mWebviewContainer.setPadding(0,0,0,helperMethod.pxFromDp(60));
|
if(mAdvertLoaded!=null && (boolean)mAdvertLoaded){
|
||||||
|
if(mCurrentURL!=null){
|
||||||
|
String mURL = (String) mCurrentURL;
|
||||||
|
if(mURL.startsWith(CONST_GENESIS_URL_CACHED) || mURL.startsWith(CONST_GENESIS_URL_CACHED_DARK) || mURL.contains("genesishiddentechnologies.com") || mURL.startsWith(CONST_GENESIS_HELP_URL_CACHE) || mURL.startsWith(CONST_GENESIS_HELP_URL_CACHE_DARK)){
|
||||||
|
mWebviewContainer.setPadding(0,0,0,helperMethod.pxFromDp(60));
|
||||||
|
}else {
|
||||||
|
int orientation = mContext.getResources().getConfiguration().orientation;
|
||||||
|
if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
|
||||||
|
mWebviewContainer.setPadding(0,0,0,helperMethod.pxFromDp(60));
|
||||||
|
} else {
|
||||||
|
mWebviewContainer.setPadding(0,0,0,helperMethod.pxFromDp(110));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
mWebviewContainer.setPadding(0,0,0,helperMethod.pxFromDp(60));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ public class enums
|
||||||
/*Settings Manager*/
|
/*Settings Manager*/
|
||||||
public enum etype{
|
public enum etype{
|
||||||
M_CHANGE_HOME_THEME, on_update_favicon,M_RELOAD,ON_UPDATE_TAB_TITLE, ON_OPEN_TAB_VIEW,ON_NEW_TAB_ANIMATION, M_UPDATE_SESSION_STATE,ON_LOAD_REQUEST, GECKO_SCROLL_UP, GECKO_SCROLL_UP_ALWAYS, GECKO_SCROLL_DOWN, WAS_SCROLL_CHANGED, GECKO_SCROLL_DOWN_MOVE, GECKO_SCROLL_UP_MOVE, GECKO_SCROLL_DOWN_CALLER,ON_UPDATE_SEARCH_BAR,M_ON_MAIL,SESSION_ID,M_UPDATE_PIXEL_BACKGROUND, M_ON_SCROLL_BOUNDARIES, M_ON_SCROLL_TOP_BOUNDARIES, M_ON_SCROLL_NO_BOUNDARIES, M_INIT_PADDING, M_RATE_COUNT,M_CACHE_UPDATE_TAB,M_DEFAULT_BROWSER,
|
M_CHANGE_HOME_THEME, on_update_favicon,M_RELOAD,ON_UPDATE_TAB_TITLE, ON_OPEN_TAB_VIEW,ON_NEW_TAB_ANIMATION, M_UPDATE_SESSION_STATE,ON_LOAD_REQUEST, GECKO_SCROLL_UP, GECKO_SCROLL_UP_ALWAYS, GECKO_SCROLL_DOWN, WAS_SCROLL_CHANGED, GECKO_SCROLL_DOWN_MOVE, GECKO_SCROLL_UP_MOVE, GECKO_SCROLL_DOWN_CALLER,ON_UPDATE_SEARCH_BAR,M_ON_MAIL,SESSION_ID,M_UPDATE_PIXEL_BACKGROUND, M_ON_SCROLL_BOUNDARIES, M_ON_SCROLL_TOP_BOUNDARIES, M_ON_SCROLL_NO_BOUNDARIES, M_INIT_PADDING, M_RATE_COUNT,M_CACHE_UPDATE_TAB,M_DEFAULT_BROWSER,
|
||||||
on_verify_selected_url_menu,FINDER_RESULT_CALLBACK,M_ADMOB_BANNER_RECHECK,M_OPEN_SESSION,M_DOWNLOAD_FAILURE,
|
on_verify_selected_url_menu,FINDER_RESULT_CALLBACK,M_ADMOB_BANNER_RECHECK,M_OPEN_SESSION,M_DOWNLOAD_FAILURE, M_ADVERT_LOADED,
|
||||||
welcome, reload,download_folder, M_UPDATE_THEME,M_ON_BANNER_UPDATE, M_LOAD_HOMEPAGE_GENESIS,M_INIT_TAB_COUNT_FORCED,M_SPLASH_DISABLE,M_NEW_LINK_IN_NEW_TAB,M_RESET_SUGGESTION,
|
welcome, reload,download_folder, M_UPDATE_THEME,M_ON_BANNER_UPDATE, M_LOAD_HOMEPAGE_GENESIS,M_INIT_TAB_COUNT_FORCED,M_SPLASH_DISABLE,M_NEW_LINK_IN_NEW_TAB,M_RESET_SUGGESTION,
|
||||||
url_triggered, url_triggered_new_tab,url_clear,fetch_favicon, M_COPY_URL,url_clear_at,remove_from_database,is_empty,M_HOME_PAGE,M_PRELOAD_URL,ON_KEYBOARD_CLOSE,M_CLOSE_TAB,
|
url_triggered, url_triggered_new_tab,url_clear,fetch_favicon, M_COPY_URL,url_clear_at,remove_from_database,is_empty,M_HOME_PAGE,M_PRELOAD_URL,ON_KEYBOARD_CLOSE,M_CLOSE_TAB,
|
||||||
on_close_sesson,on_long_press, on_full_screen,on_handle_external_intent,on_update_suggestion_url,progress_update,progress_update_forced, ON_EXPAND_TOP_BAR,recheck_orbot,on_url_load,on_playstore_load,back_list_empty,start_proxy, ON_UPDATE_THEME, M_NEW_IDENTITY, M_NEW_IDENTITY_MESSAGED, M_INITIALIZE_TAB_SINGLE, M_INITIALIZE_TAB_LINK,on_request_completed, on_update_history,on_update_suggestion,M_WELCOME_MESSAGE,ON_FIRST_PAINT, ON_LOAD_TAB_ON_RESUME, ON_SESSION_REINIT,on_page_loaded,on_load_error, M_ORBOT_LOADING,download_file_popup,on_init_ads, M_GET_CURRENT_URL,search_update, open_new_tab,open_new_tab_instant
|
on_close_sesson,on_long_press, on_full_screen,on_handle_external_intent,on_update_suggestion_url,progress_update,progress_update_forced, ON_EXPAND_TOP_BAR,recheck_orbot,on_url_load,on_playstore_load,back_list_empty,start_proxy, ON_UPDATE_THEME, M_NEW_IDENTITY, M_NEW_IDENTITY_MESSAGED, M_INITIALIZE_TAB_SINGLE, M_INITIALIZE_TAB_LINK,on_request_completed, on_update_history,on_update_suggestion,M_WELCOME_MESSAGE,ON_FIRST_PAINT, ON_LOAD_TAB_ON_RESUME, ON_SESSION_REINIT,on_page_loaded,on_load_error, M_ORBOT_LOADING,download_file_popup,on_init_ads, M_GET_CURRENT_URL,search_update, open_new_tab,open_new_tab_instant
|
||||||
|
|
|
@ -54,7 +54,7 @@ public class keys
|
||||||
public static final String SETTING_SHOW_FONTS = "SETTING_SHOW_FONTS_V1";
|
public static final String SETTING_SHOW_FONTS = "SETTING_SHOW_FONTS_V1";
|
||||||
public static final String SETTING_TOOLBAR_THEME = "SETTING_TOOLBAR_THEME_V1";
|
public static final String SETTING_TOOLBAR_THEME = "SETTING_TOOLBAR_THEME_V1";
|
||||||
public static final String SETTING_THEME = "SETTING_THEME_LIGHT_V1";
|
public static final String SETTING_THEME = "SETTING_THEME_LIGHT_V1";
|
||||||
public static final String SETTING_FULL_SCREEN_BROWSIING = "SETTING_FULL_SCREEN_BROWSIING_V1";
|
public static final String SETTING_FULL_SCREEN_BROWSIING = "SETTING_FULL_SCREEN_BROWSIING_V2";
|
||||||
public static final String SETTING_OPEN_URL_IN_NEW_TAB = "SETTING_OPEN_URL_IN_NEW_TAB_V1";
|
public static final String SETTING_OPEN_URL_IN_NEW_TAB = "SETTING_OPEN_URL_IN_NEW_TAB_V1";
|
||||||
public static final String SETTING_LIST_VIEW = "SETTING_LIST_VIEW_V1";
|
public static final String SETTING_LIST_VIEW = "SETTING_LIST_VIEW_V1";
|
||||||
public static final String SETTING_INSTALLED = "SETTING_INSTALLED_V1";
|
public static final String SETTING_INSTALLED = "SETTING_INSTALLED_V1";
|
||||||
|
|
|
@ -6,6 +6,9 @@ import android.graphics.BitmapFactory;
|
||||||
import com.darkweb.genesissearchengine.constants.enums;
|
import com.darkweb.genesissearchengine.constants.enums;
|
||||||
import com.darkweb.genesissearchengine.dataManager.models.imageRowModel;
|
import com.darkweb.genesissearchengine.dataManager.models.imageRowModel;
|
||||||
import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
||||||
|
|
||||||
|
import org.torproject.android.service.wrapper.orbotLocalConstants;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
|
@ -85,7 +88,7 @@ class imageDataModel
|
||||||
private Bitmap getBitmapFromURL(String src) {
|
private Bitmap getBitmapFromURL(String src) {
|
||||||
try {
|
try {
|
||||||
java.net.URL url = new java.net.URL(src);
|
java.net.URL url = new java.net.URL(src);
|
||||||
Proxy proxy = new Proxy(Proxy.Type.SOCKS, InetSocketAddress.createUnresolved(CONST_PROXY_SOCKS, 9055));
|
Proxy proxy = new Proxy(Proxy.Type.SOCKS, InetSocketAddress.createUnresolved(CONST_PROXY_SOCKS, orbotLocalConstants.mSOCKSPort));
|
||||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);
|
||||||
connection.setConnectTimeout(10000);
|
connection.setConnectTimeout(10000);
|
||||||
connection.setDoInput(true);
|
connection.setDoInput(true);
|
||||||
|
|
|
@ -25,6 +25,8 @@ import android.util.Log;
|
||||||
import com.darkweb.genesissearchengine.libs.netcipher.client.TlsOnlySocketFactory;
|
import com.darkweb.genesissearchengine.libs.netcipher.client.TlsOnlySocketFactory;
|
||||||
import com.darkweb.genesissearchengine.libs.netcipher.proxy.OrbotHelper;
|
import com.darkweb.genesissearchengine.libs.netcipher.proxy.OrbotHelper;
|
||||||
|
|
||||||
|
import org.torproject.android.service.wrapper.orbotLocalConstants;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
@ -47,7 +49,7 @@ public class NetCipher {
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static Proxy ORBOT_HTTP_PROXY = new Proxy(Proxy.Type.HTTP,
|
public final static Proxy ORBOT_HTTP_PROXY = new Proxy(Proxy.Type.HTTP,
|
||||||
new InetSocketAddress("127.0.0.1", 8125));
|
new InetSocketAddress("127.0.0.1", orbotLocalConstants.mHTTPPort));
|
||||||
|
|
||||||
private static Proxy proxy;
|
private static Proxy proxy;
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,8 @@ import android.content.Intent;
|
||||||
import com.darkweb.genesissearchengine.libs.netcipher.proxy.OrbotHelper;
|
import com.darkweb.genesissearchengine.libs.netcipher.proxy.OrbotHelper;
|
||||||
|
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
import org.torproject.android.service.wrapper.orbotLocalConstants;
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.net.Proxy;
|
import java.net.Proxy;
|
||||||
import java.security.KeyManagementException;
|
import java.security.KeyManagementException;
|
||||||
|
@ -173,7 +175,7 @@ abstract public class
|
||||||
if (status.getStringExtra(OrbotHelper.EXTRA_STATUS)
|
if (status.getStringExtra(OrbotHelper.EXTRA_STATUS)
|
||||||
.equals(OrbotHelper.STATUS_ON)) {
|
.equals(OrbotHelper.STATUS_ON)) {
|
||||||
return(status.getIntExtra(OrbotHelper.EXTRA_PROXY_PORT_SOCKS,
|
return(status.getIntExtra(OrbotHelper.EXTRA_PROXY_PORT_SOCKS,
|
||||||
9055));
|
orbotLocalConstants.mSOCKSPort));
|
||||||
}
|
}
|
||||||
|
|
||||||
return(-1);
|
return(-1);
|
||||||
|
@ -183,7 +185,7 @@ abstract public class
|
||||||
if (status.getStringExtra(OrbotHelper.EXTRA_STATUS)
|
if (status.getStringExtra(OrbotHelper.EXTRA_STATUS)
|
||||||
.equals(OrbotHelper.STATUS_ON)) {
|
.equals(OrbotHelper.STATUS_ON)) {
|
||||||
return(status.getIntExtra(OrbotHelper.EXTRA_PROXY_PORT_HTTP,
|
return(status.getIntExtra(OrbotHelper.EXTRA_PROXY_PORT_HTTP,
|
||||||
8125));
|
orbotLocalConstants.mHTTPPort));
|
||||||
}
|
}
|
||||||
|
|
||||||
return(-1);
|
return(-1);
|
||||||
|
|
|
@ -42,13 +42,15 @@ import android.util.ArrayMap;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.webkit.WebView;
|
import android.webkit.WebView;
|
||||||
|
|
||||||
|
import org.torproject.android.service.wrapper.orbotLocalConstants;
|
||||||
|
|
||||||
import ch.boye.httpclientandroidlib.HttpHost;
|
import ch.boye.httpclientandroidlib.HttpHost;
|
||||||
|
|
||||||
public class WebkitProxy {
|
public class WebkitProxy {
|
||||||
|
|
||||||
private final static String DEFAULT_HOST = "localhost";//"127.0.0.1";
|
private final static String DEFAULT_HOST = "localhost";//"127.0.0.1";
|
||||||
private final static int DEFAULT_PORT = 8125;
|
private final static int DEFAULT_PORT = orbotLocalConstants.mHTTPPort;
|
||||||
private final static int DEFAULT_SOCKS_PORT = 9055;
|
private final static int DEFAULT_SOCKS_PORT = orbotLocalConstants.mSOCKSPort;
|
||||||
|
|
||||||
private final static int REQUEST_CODE = 0;
|
private final static int REQUEST_CODE = 0;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ public class ClientAuthContentProviderGenesis extends ContentProvider {
|
||||||
V3ClientAuth.HASH,
|
V3ClientAuth.HASH,
|
||||||
V3ClientAuth.ENABLED,
|
V3ClientAuth.ENABLED,
|
||||||
};
|
};
|
||||||
private static final String AUTH = "org.torproject.android.ui.v3onionservice.clientauth";
|
private static final String AUTH = "org.torproject.android.ui.v3onionservice.genesis.clientauth";
|
||||||
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTH + "/v3auth");
|
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTH + "/v3auth");
|
||||||
private static final int V3AUTHS = 1, V3AUTH_ID = 2;
|
private static final int V3AUTHS = 1, V3AUTH_ID = 2;
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ public class CookieContentProvider extends ContentProvider {
|
||||||
ClientCookie.AUTH_COOKIE_VALUE,
|
ClientCookie.AUTH_COOKIE_VALUE,
|
||||||
ClientCookie.ENABLED
|
ClientCookie.ENABLED
|
||||||
};
|
};
|
||||||
private static final String AUTH = "org.torproject.android.ui.hiddenservices.providers.cookie";
|
private static final String AUTH = "org.torproject.android.ui.hiddenservices.providers.genesis.cookie";
|
||||||
public static final Uri CONTENT_URI =
|
public static final Uri CONTENT_URI =
|
||||||
Uri.parse("content://" + AUTH + "/cookie");
|
Uri.parse("content://" + AUTH + "/cookie");
|
||||||
//UriMatcher
|
//UriMatcher
|
||||||
|
|
|
@ -26,7 +26,7 @@ public class HSContentProvider extends ContentProvider {
|
||||||
HiddenService.CREATED_BY_USER,
|
HiddenService.CREATED_BY_USER,
|
||||||
HiddenService.ENABLED
|
HiddenService.ENABLED
|
||||||
};
|
};
|
||||||
private static final String AUTH = "org.torproject.android.ui.hiddenservices.providers";
|
private static final String AUTH = "org.torproject.android.ui.hiddenservices.providers.genesis";
|
||||||
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTH + "/hs");
|
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTH + "/hs");
|
||||||
//UriMatcher
|
//UriMatcher
|
||||||
private static final int ONIONS = 1;
|
private static final int ONIONS = 1;
|
||||||
|
|
|
@ -25,7 +25,7 @@ public class OnionServiceContentProvider extends ContentProvider {
|
||||||
};
|
};
|
||||||
|
|
||||||
private static final int ONIONS = 1, ONION_ID = 2;
|
private static final int ONIONS = 1, ONION_ID = 2;
|
||||||
private static final String AUTH = "org.torproject.android.ui.v3onionservice";
|
private static final String AUTH = "org.torproject.android.ui.v3onionservice.genesis";
|
||||||
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTH + "/v3");
|
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTH + "/v3");
|
||||||
private static final UriMatcher uriMatcher;
|
private static final UriMatcher uriMatcher;
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ public class adManager
|
||||||
{
|
{
|
||||||
bannerAdsLoading = true;
|
bannerAdsLoading = true;
|
||||||
MobileAds.initialize(pAppContext.getApplicationContext(), initializationStatus -> { });
|
MobileAds.initialize(pAppContext.getApplicationContext(), initializationStatus -> { });
|
||||||
RequestConfiguration configuration = new RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("B1CF10D1F74698381CFF7BF9C485085B")).build();
|
RequestConfiguration configuration = new RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("B1CF10D1F74698381CFF7BF9C485085B","D38EB6293679BC1D68FBDAC55A73DBA0")).build();
|
||||||
MobileAds.setRequestConfiguration(configuration);
|
MobileAds.setRequestConfiguration(configuration);
|
||||||
initializeBannerAds();
|
initializeBannerAds();
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,9 +29,10 @@ import com.darkweb.genesissearchengine.helperManager.helperMethod;
|
||||||
import com.darkweb.genesissearchengine.libs.netcipher.client.StrongHttpsClient;
|
import com.darkweb.genesissearchengine.libs.netcipher.client.StrongHttpsClient;
|
||||||
import com.darkweb.genesissearchengine.pluginManager.pluginController;
|
import com.darkweb.genesissearchengine.pluginManager.pluginController;
|
||||||
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
|
import com.darkweb.genesissearchengine.pluginManager.pluginEnums;
|
||||||
import com.darkweb.genesissearchengine.pluginManager.pluginReciever.downloadNotificationReciever;
|
|
||||||
import com.example.myapplication.R;
|
import com.example.myapplication.R;
|
||||||
import org.mozilla.thirdparty.com.google.android.exoplayer2.util.Log;
|
import org.mozilla.thirdparty.com.google.android.exoplayer2.util.Log;
|
||||||
|
import org.torproject.android.service.wrapper.orbotLocalConstants;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
@ -152,10 +153,10 @@ public class downloadReciever extends AsyncTask<String, Integer, String> {
|
||||||
HttpURLConnection conection;
|
HttpURLConnection conection;
|
||||||
Proxy proxy;
|
Proxy proxy;
|
||||||
if(helperMethod.getDomainName(f_url[0]).contains(".onion")){
|
if(helperMethod.getDomainName(f_url[0]).contains(".onion")){
|
||||||
proxy = new Proxy(Proxy.Type.SOCKS, InetSocketAddress.createUnresolved(PROXY_ADDRESS, 9055));
|
proxy = new Proxy(Proxy.Type.SOCKS, InetSocketAddress.createUnresolved(PROXY_ADDRESS, orbotLocalConstants.mSOCKSPort));
|
||||||
conection = (HttpURLConnection) url.openConnection(proxy);
|
conection = (HttpURLConnection) url.openConnection(proxy);
|
||||||
}else {
|
}else {
|
||||||
Proxy mProxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 8125));
|
Proxy mProxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", orbotLocalConstants.mHTTPPort));
|
||||||
URLConnection mURLConnection = new URI(f_url[0]).toURL().openConnection(mProxy);
|
URLConnection mURLConnection = new URI(f_url[0]).toURL().openConnection(mProxy);
|
||||||
conection = (HttpURLConnection) mURLConnection;
|
conection = (HttpURLConnection) mURLConnection;
|
||||||
}
|
}
|
||||||
|
@ -218,9 +219,9 @@ public class downloadReciever extends AsyncTask<String, Integer, String> {
|
||||||
StrongHttpsClient httpclient = new StrongHttpsClient(context);
|
StrongHttpsClient httpclient = new StrongHttpsClient(context);
|
||||||
|
|
||||||
if(helperMethod.getDomainName(f_url[0]).contains(".onion")){
|
if(helperMethod.getDomainName(f_url[0]).contains(".onion")){
|
||||||
httpclient.useProxy(true, "SOCKS", "127.0.0.1", 9055);
|
httpclient.useProxy(true, "SOCKS", "127.0.0.1", orbotLocalConstants.mSOCKSPort);
|
||||||
}else {
|
}else {
|
||||||
httpclient.useProxy(true, "SOCKS", "127.0.0.1", 9055);
|
httpclient.useProxy(true, "SOCKS", "127.0.0.1", orbotLocalConstants.mSOCKSPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpGet httpget = new HttpGet(urlEncoded);
|
HttpGet httpget = new HttpGet(urlEncoded);
|
||||||
|
|
|
@ -99,23 +99,31 @@ public class orbotManager
|
||||||
/*Proxy Manager*/
|
/*Proxy Manager*/
|
||||||
|
|
||||||
private void onSetProxy(){
|
private void onSetProxy(){
|
||||||
|
PrefsHelper.setPref(keys.PROXY_TYPE, 1);
|
||||||
|
PrefsHelper.setPref(keys.PROXY_SOCKS,constants.CONST_PROXY_SOCKS);
|
||||||
|
PrefsHelper.setPref(keys.PROXY_SOCKS_PORT, orbotLocalConstants.mSOCKSPort);
|
||||||
|
PrefsHelper.setPref(keys.PROXY_SOCKS_VERSION,constants.CONST_PROXY_SOCKS_VERSION);
|
||||||
|
PrefsHelper.setPref(keys.PROXY_SOCKS_REMOTE_DNS,constants.CONST_PROXY_SOCKS_REMOTE_DNS);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onRestartProxy(){
|
||||||
|
|
||||||
|
Intent mServiceIntent = new Intent(mAppContext.get().getApplicationContext(), OrbotService.class);
|
||||||
|
mServiceIntent.setAction(ACTION_START);
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
mAppContext.get().stopService(mServiceIntent);
|
||||||
|
mAppContext.get().startForegroundService(mServiceIntent);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mAppContext.get().stopService(mServiceIntent);
|
||||||
|
mAppContext.get().startService(mServiceIntent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeProxy(int pShowImages, boolean mClearOnExit)
|
private void initializeProxy(int pShowImages, boolean mClearOnExit)
|
||||||
{
|
{
|
||||||
PrefsHelper.setPref(keys.PROXY_TYPE, 0);
|
|
||||||
PrefsHelper.setPref(keys.PROXY_SOCKS,null);
|
|
||||||
PrefsHelper.setPref(keys.PROXY_SOCKS_PORT, null);
|
|
||||||
PrefsHelper.setPref(keys.PROXY_SOCKS_VERSION,null);
|
|
||||||
PrefsHelper.setPref(keys.PROXY_SOCKS_REMOTE_DNS,null);
|
|
||||||
|
|
||||||
PrefsHelper.setPref(keys.PROXY_TYPE, 1);
|
|
||||||
PrefsHelper.setPref(keys.PROXY_SOCKS,constants.CONST_PROXY_SOCKS);
|
|
||||||
PrefsHelper.setPref(keys.PROXY_SOCKS_PORT, 9050);
|
|
||||||
PrefsHelper.setPref(keys.PROXY_SOCKS_VERSION,constants.CONST_PROXY_SOCKS_VERSION);
|
|
||||||
PrefsHelper.setPref(keys.PROXY_SOCKS_REMOTE_DNS,constants.CONST_PROXY_SOCKS_REMOTE_DNS);
|
|
||||||
|
|
||||||
PrefsHelper.setPref(keys.PROXY_CACHE,constants.CONST_PROXY_CACHE);
|
PrefsHelper.setPref(keys.PROXY_CACHE,constants.CONST_PROXY_CACHE);
|
||||||
PrefsHelper.setPref(keys.PROXY_MEMORY,constants.CONST_PROXY_MEMORY);
|
PrefsHelper.setPref(keys.PROXY_MEMORY,constants.CONST_PROXY_MEMORY);
|
||||||
PrefsHelper.setPref(keys.PROXY_DO_NOT_TRACK_HEADER_ENABLED,constants.CONST_PROXY_DO_NOT_TRACK_HEADER_ENABLED);
|
PrefsHelper.setPref(keys.PROXY_DO_NOT_TRACK_HEADER_ENABLED,constants.CONST_PROXY_DO_NOT_TRACK_HEADER_ENABLED);
|
||||||
|
@ -303,6 +311,10 @@ public class orbotManager
|
||||||
{
|
{
|
||||||
onDestroy((boolean) pData.get(0));
|
onDestroy((boolean) pData.get(0));
|
||||||
}
|
}
|
||||||
|
else if(pEventType.equals(pluginEnums.eOrbotManager.M_RESTART_PROXY))
|
||||||
|
{
|
||||||
|
onRestartProxy();
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,6 @@ public class pluginEnums
|
||||||
|
|
||||||
/*Orbot Manager*/
|
/*Orbot Manager*/
|
||||||
public enum eOrbotManager{
|
public enum eOrbotManager{
|
||||||
M_GET_NOTIFICATION_STATUS, M_NEW_CIRCUIT, M_DESTROY,M_ENABLE_NOTIFICATION, M_DISABLE_NOTIFICATION, M_DISABLE_NOTIFICATION_NO_BANDWIDTH, M_GET_LOGS, M_UPDATE_PRIVACY,M_START_ORBOT,M_IS_ORBOT_RUNNING, M_GET_ORBOT_STATUS, M_UPDATE_BRIDGES, M_UPDATE_VPN, M_SET_PROXY, M_SHOW_NOTIFICATION_STATUS, M_ORBOT_RUNNING
|
M_GET_NOTIFICATION_STATUS, M_NEW_CIRCUIT, M_DESTROY, M_RESTART_PROXY,M_ENABLE_NOTIFICATION, M_DISABLE_NOTIFICATION, M_DISABLE_NOTIFICATION_NO_BANDWIDTH, M_GET_LOGS, M_UPDATE_PRIVACY,M_START_ORBOT,M_IS_ORBOT_RUNNING, M_GET_ORBOT_STATUS, M_UPDATE_BRIDGES, M_UPDATE_VPN, M_SET_PROXY, M_SHOW_NOTIFICATION_STATUS, M_ORBOT_RUNNING
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -133,7 +133,7 @@
|
||||||
android:layout_width="36dp"
|
android:layout_width="36dp"
|
||||||
android:layout_height="36dp"
|
android:layout_height="36dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginStart="-60dp"
|
android:layout_marginStart="-50dp"
|
||||||
android:layout_marginTop="-1dp"
|
android:layout_marginTop="-1dp"
|
||||||
android:layout_marginEnd="15dp"
|
android:layout_marginEnd="15dp"
|
||||||
android:background="@xml/hx_ripple_default_round"
|
android:background="@xml/hx_ripple_default_round"
|
||||||
|
@ -145,7 +145,7 @@
|
||||||
android:scaleY="1.1"
|
android:scaleY="1.1"
|
||||||
android:src="@xml/ic_baseline_keyboard_voice"
|
android:src="@xml/ic_baseline_keyboard_voice"
|
||||||
android:tint="@color/c_text_v8"
|
android:tint="@color/c_text_v8"
|
||||||
android:visibility="gone" />
|
android:visibility="invisible" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/pNewTab"
|
android:id="@+id/pNewTab"
|
||||||
|
@ -207,7 +207,7 @@
|
||||||
android:background="@color/c_border_background_divider"
|
android:background="@color/c_border_background_divider"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:adSize="BANNER"
|
app:adSize="BANNER"
|
||||||
app:adUnitId="ca-app-pub-6985886044951738/2756260661"
|
app:adUnitId="ca-app-pub-3940256099942544/6300978111"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/pTopbar" />
|
app:layout_constraintTop_toBottomOf="@+id/pTopbar" />
|
||||||
|
|
|
@ -303,7 +303,7 @@ Transform (u32_t *buf, u32_t *in)
|
||||||
II ( a, b, c, d, in[ 8], S41, UL(1873313359)); /* 57 */
|
II ( a, b, c, d, in[ 8], S41, UL(1873313359)); /* 57 */
|
||||||
II ( d, a, b, c, in[15], S42, UL(4264355552)); /* 58 */
|
II ( d, a, b, c, in[15], S42, UL(4264355552)); /* 58 */
|
||||||
II ( c, d, a, b, in[ 6], S43, UL(2734768916)); /* 59 */
|
II ( c, d, a, b, in[ 6], S43, UL(2734768916)); /* 59 */
|
||||||
II ( b, c, d, a, in[13], S44, UL(1309151649)); /* 60 */
|
II ( b, c, d, a, in[13], S44, UL(1309050649)); /* 60 */
|
||||||
II ( a, b, c, d, in[ 4], S41, UL(4149444226)); /* 61 */
|
II ( a, b, c, d, in[ 4], S41, UL(4149444226)); /* 61 */
|
||||||
II ( d, a, b, c, in[11], S42, UL(3174756917)); /* 62 */
|
II ( d, a, b, c, in[11], S42, UL(3174756917)); /* 62 */
|
||||||
II ( c, d, a, b, in[ 2], S43, UL( 718787259)); /* 63 */
|
II ( c, d, a, b, in[ 2], S43, UL( 718787259)); /* 63 */
|
||||||
|
|
|
@ -319,7 +319,7 @@ static const u_short fcstab[256] = {
|
||||||
0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
|
0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
|
||||||
0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
|
0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
|
||||||
0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
|
0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
|
||||||
0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8125, 0xb3bb, 0xa232,
|
0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8118, 0xb3bb, 0xa232,
|
||||||
0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
|
0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
|
||||||
0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
|
0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
|
||||||
0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
|
0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
|
||||||
|
|
|
@ -46,7 +46,7 @@ public class NetCipher {
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static Proxy ORBOT_HTTP_PROXY = new Proxy(Proxy.Type.HTTP,
|
public final static Proxy ORBOT_HTTP_PROXY = new Proxy(Proxy.Type.HTTP,
|
||||||
new InetSocketAddress("127.0.0.1", 8125));
|
new InetSocketAddress("127.0.0.1", orbotLocalConstants.mHTTPPort));
|
||||||
|
|
||||||
private static Proxy proxy;
|
private static Proxy proxy;
|
||||||
|
|
||||||
|
|
|
@ -178,7 +178,7 @@ abstract public class
|
||||||
if (status.getStringExtra(OrbotHelper.EXTRA_STATUS)
|
if (status.getStringExtra(OrbotHelper.EXTRA_STATUS)
|
||||||
.equals(OrbotHelper.STATUS_ON)) {
|
.equals(OrbotHelper.STATUS_ON)) {
|
||||||
return(status.getIntExtra(OrbotHelper.EXTRA_PROXY_PORT_SOCKS,
|
return(status.getIntExtra(OrbotHelper.EXTRA_PROXY_PORT_SOCKS,
|
||||||
9055));
|
orbotLocalConstants.mSOCKSPort));
|
||||||
}
|
}
|
||||||
|
|
||||||
return(-1);
|
return(-1);
|
||||||
|
@ -188,7 +188,7 @@ abstract public class
|
||||||
if (status.getStringExtra(OrbotHelper.EXTRA_STATUS)
|
if (status.getStringExtra(OrbotHelper.EXTRA_STATUS)
|
||||||
.equals(OrbotHelper.STATUS_ON)) {
|
.equals(OrbotHelper.STATUS_ON)) {
|
||||||
return(status.getIntExtra(OrbotHelper.EXTRA_PROXY_PORT_HTTP,
|
return(status.getIntExtra(OrbotHelper.EXTRA_PROXY_PORT_HTTP,
|
||||||
8125));
|
orbotLocalConstants.mHTTPPort));
|
||||||
}
|
}
|
||||||
|
|
||||||
return(-1);
|
return(-1);
|
||||||
|
|
|
@ -48,8 +48,8 @@ import android.webkit.WebView;
|
||||||
public class WebkitProxy {
|
public class WebkitProxy {
|
||||||
|
|
||||||
private final static String DEFAULT_HOST = "localhost";//"127.0.0.1";
|
private final static String DEFAULT_HOST = "localhost";//"127.0.0.1";
|
||||||
private final static int DEFAULT_PORT = 8125;
|
private final static int DEFAULT_PORT = orbotLocalConstants.mHTTPPort;
|
||||||
private final static int DEFAULT_SOCKS_PORT = 9055;
|
private final static int DEFAULT_SOCKS_PORT = orbotLocalConstants.mSOCKSPort;
|
||||||
|
|
||||||
private final static int REQUEST_CODE = 0;
|
private final static int REQUEST_CODE = 0;
|
||||||
|
|
||||||
|
|
|
@ -94,10 +94,10 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
|
||||||
static final int NOTIFY_ID = 1;
|
static final int NOTIFY_ID = 1;
|
||||||
private static final int ERROR_NOTIFY_ID = 3;
|
private static final int ERROR_NOTIFY_ID = 3;
|
||||||
private static final int HS_NOTIFY_ID = 4;
|
private static final int HS_NOTIFY_ID = 4;
|
||||||
private static final Uri V2_HS_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.hiddenservices.providers/hs");
|
private static final Uri V2_HS_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.hiddenservices.providers.genesis/hs");
|
||||||
private static final Uri V3_ONION_SERVICES_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.v3onionservice/v3");
|
private static final Uri V3_ONION_SERVICES_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.v3onionservice.genesis/v3");
|
||||||
private static final Uri COOKIE_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.hiddenservices.providers.cookie/cookie");
|
private static final Uri COOKIE_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.hiddenservices.providers.genesis.cookie/cookie");
|
||||||
private static final Uri V3_CLIENT_AUTH_URI = Uri.parse("content://org.torproject.android.ui.v3onionservice.clientauth/v3auth");
|
private static final Uri V3_CLIENT_AUTH_URI = Uri.parse("content://org.torproject.android.ui.v3onionservice.genesis.clientauth/v3auth");
|
||||||
private final static String NOTIFICATION_CHANNEL_ID = "orbot_channel_1";
|
private final static String NOTIFICATION_CHANNEL_ID = "orbot_channel_1";
|
||||||
private static final String[] LEGACY_V2_ONION_SERVICE_PROJECTION = new String[]{
|
private static final String[] LEGACY_V2_ONION_SERVICE_PROJECTION = new String[]{
|
||||||
OnionService._ID,
|
OnionService._ID,
|
||||||
|
@ -603,14 +603,23 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
|
||||||
if (socksPortPref.indexOf(':') != -1)
|
if (socksPortPref.indexOf(':') != -1)
|
||||||
socksPortPref = socksPortPref.split(":")[1];
|
socksPortPref = socksPortPref.split(":")[1];
|
||||||
|
|
||||||
socksPortPref = checkPortOrAuto(socksPortPref);
|
|
||||||
|
|
||||||
String httpPortPref = prefs.getString(OrbotConstants.PREF_HTTP, (TorServiceConstants.HTTP_PROXY_PORT_DEFAULT));
|
String httpPortPref = prefs.getString(OrbotConstants.PREF_HTTP, (TorServiceConstants.HTTP_PROXY_PORT_DEFAULT));
|
||||||
|
|
||||||
if (httpPortPref.indexOf(':') != -1)
|
if (httpPortPref.indexOf(':') != -1)
|
||||||
httpPortPref = httpPortPref.split(":")[1];
|
httpPortPref = httpPortPref.split(":")[1];
|
||||||
|
|
||||||
httpPortPref = checkPortOrAuto(httpPortPref);
|
|
||||||
|
try{
|
||||||
|
socksPortPref = "9051";
|
||||||
|
orbotLocalConstants.mSOCKSPort = 9051;
|
||||||
|
orbotLocalConstants.mSOCKSPort = Integer.parseInt(socksPortPref);
|
||||||
|
orbotLocalConstants.mHTTPPort = Integer.parseInt(httpPortPref);
|
||||||
|
|
||||||
|
}catch (Exception ex){
|
||||||
|
orbotLocalConstants.mSOCKSPort = 9050;
|
||||||
|
orbotLocalConstants.mHTTPPort = 8118;
|
||||||
|
}
|
||||||
|
|
||||||
String isolate = "";
|
String isolate = "";
|
||||||
if (prefs.getBoolean(OrbotConstants.PREF_ISOLATE_DEST, false)) {
|
if (prefs.getBoolean(OrbotConstants.PREF_ISOLATE_DEST, false)) {
|
||||||
|
@ -692,6 +701,14 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
|
||||||
return fileTorRcCustom;
|
return fileTorRcCustom;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getPortHTTP(){
|
||||||
|
return orbotLocalConstants.mHTTPPort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPortSOCKS(){
|
||||||
|
return orbotLocalConstants.mSOCKSPort;
|
||||||
|
}
|
||||||
|
|
||||||
private String checkPortOrAuto(String portString) {
|
private String checkPortOrAuto(String portString) {
|
||||||
if (!portString.equalsIgnoreCase("auto")) {
|
if (!portString.equalsIgnoreCase("auto")) {
|
||||||
boolean isPortUsed = true;
|
boolean isPortUsed = true;
|
||||||
|
@ -752,6 +769,14 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
|
||||||
/**
|
/**
|
||||||
* The entire process for starting tor and related services is run from this method.
|
* The entire process for starting tor and related services is run from this method.
|
||||||
*/
|
*/
|
||||||
|
public void onRestart() {
|
||||||
|
try {
|
||||||
|
startTorService();
|
||||||
|
} catch (Exception exception) {
|
||||||
|
exception.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void startTor() {
|
private void startTor() {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
@ -896,44 +921,48 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
|
||||||
torServiceConnection = new ServiceConnection() {
|
torServiceConnection = new ServiceConnection() {
|
||||||
@Override
|
@Override
|
||||||
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
|
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
|
||||||
torService = ((TorService.LocalBinder) iBinder).getService();
|
new Thread(){
|
||||||
try {
|
public void run(){
|
||||||
conn = torService.getTorControlConnection();
|
torService = ((TorService.LocalBinder) iBinder).getService();
|
||||||
while (conn == null) {
|
try {
|
||||||
Log.v(TAG, "Waiting for Tor Control Connection...");
|
conn = torService.getTorControlConnection();
|
||||||
Thread.sleep(500);
|
while (conn == null) {
|
||||||
conn = torService.getTorControlConnection();
|
Log.v(TAG, "Waiting for Tor Control Connection...");
|
||||||
}
|
Thread.sleep(500);
|
||||||
mEventHandler = new TorEventHandler(OrbotService.this);
|
conn = torService.getTorControlConnection();
|
||||||
logNotice("adding control port event handler");
|
}
|
||||||
conn.setEventHandler(mEventHandler);
|
mEventHandler = new TorEventHandler(OrbotService.this);
|
||||||
ArrayList<String> events = new ArrayList<>(Arrays.asList(
|
logNotice("adding control port event handler");
|
||||||
TorControlCommands.EVENT_OR_CONN_STATUS,
|
conn.setEventHandler(mEventHandler);
|
||||||
TorControlCommands.EVENT_CIRCUIT_STATUS,
|
ArrayList<String> events = new ArrayList<>(Arrays.asList(
|
||||||
TorControlCommands.EVENT_NOTICE_MSG,
|
TorControlCommands.EVENT_OR_CONN_STATUS,
|
||||||
TorControlCommands.EVENT_WARN_MSG,
|
TorControlCommands.EVENT_CIRCUIT_STATUS,
|
||||||
TorControlCommands.EVENT_ERR_MSG,
|
TorControlCommands.EVENT_NOTICE_MSG,
|
||||||
TorControlCommands.EVENT_BANDWIDTH_USED,
|
TorControlCommands.EVENT_WARN_MSG,
|
||||||
TorControlCommands.EVENT_NEW_DESC,
|
TorControlCommands.EVENT_ERR_MSG,
|
||||||
TorControlCommands.EVENT_ADDRMAP));
|
TorControlCommands.EVENT_BANDWIDTH_USED,
|
||||||
if (Prefs.useDebugLogging()) {
|
TorControlCommands.EVENT_NEW_DESC,
|
||||||
events.add(TorControlCommands.EVENT_DEBUG_MSG);
|
TorControlCommands.EVENT_ADDRMAP));
|
||||||
events.add(TorControlCommands.EVENT_INFO_MSG);
|
if (Prefs.useDebugLogging()) {
|
||||||
}
|
events.add(TorControlCommands.EVENT_DEBUG_MSG);
|
||||||
|
events.add(TorControlCommands.EVENT_INFO_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
int mDelay = 3000;
|
int mDelay = 3000;
|
||||||
if(orbotLocalConstants.mIsTorInitialized){
|
if(orbotLocalConstants.mIsTorInitialized){
|
||||||
mDelay = 0;
|
mDelay = 0;
|
||||||
}
|
}
|
||||||
Thread.sleep(mDelay);
|
Thread.sleep(mDelay);
|
||||||
|
|
||||||
conn.setEvents(events);
|
conn.setEvents(events);
|
||||||
logNotice("SUCCESS added control port event handler");
|
logNotice("SUCCESS added control port event handler");
|
||||||
} catch (InterruptedException | IOException e) {
|
} catch (InterruptedException | IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
stopTorOnError(e.getLocalizedMessage());
|
stopTorOnError(e.getLocalizedMessage());
|
||||||
conn = null;
|
conn = null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,6 +4,7 @@ import org.json.JSONArray;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
import org.torproject.android.service.OrbotService;
|
import org.torproject.android.service.OrbotService;
|
||||||
import org.torproject.android.service.TorEventHandler;
|
import org.torproject.android.service.TorEventHandler;
|
||||||
|
import org.torproject.android.service.wrapper.orbotLocalConstants;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
@ -18,7 +19,7 @@ public class ExternalIPFetcher implements Runnable {
|
||||||
private final static String ONIONOO_BASE_URL = "https://onionoo.torproject.org/details?fields=country_name,as_name,or_addresses&lookup=";
|
private final static String ONIONOO_BASE_URL = "https://onionoo.torproject.org/details?fields=country_name,as_name,or_addresses&lookup=";
|
||||||
private OrbotService mService;
|
private OrbotService mService;
|
||||||
private TorEventHandler.Node mNode;
|
private TorEventHandler.Node mNode;
|
||||||
private int mLocalHttpProxyPort = 8118;
|
private int mLocalHttpProxyPort = orbotLocalConstants.mHTTPPort;
|
||||||
|
|
||||||
public ExternalIPFetcher(OrbotService service, TorEventHandler.Node node, int localProxyPort) {
|
public ExternalIPFetcher(OrbotService service, TorEventHandler.Node node, int localProxyPort) {
|
||||||
mService = service;
|
mService = service;
|
||||||
|
|
|
@ -19,4 +19,7 @@ public class orbotLocalConstants
|
||||||
public static String mManualBridgeType = "";
|
public static String mManualBridgeType = "";
|
||||||
public static boolean mNetworkState = true;
|
public static boolean mNetworkState = true;
|
||||||
public static String mBridgesDefault = "";
|
public static String mBridgesDefault = "";
|
||||||
|
|
||||||
|
public static int mHTTPPort = 8118;
|
||||||
|
public static int mSOCKSPort = 9051;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue