diff --git a/app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java b/app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java
index 16f61d34..4831aad2 100644
--- a/app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java
+++ b/app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java
@@ -146,6 +146,7 @@ public class ApplicationSettings {
// @formatter:off
Daemon type = Daemon.fromCode(prefs.getString("server_type_" + order, null));
boolean ssl = prefs.getBoolean("server_sslenabled_" + order, false);
+ boolean localSsl = prefs.getBoolean("server_localsslenabled_" + order, false);
String port = prefs.getString("server_port_" + order, null);
if (TextUtils.isEmpty(port))
@@ -172,7 +173,7 @@ public class ApplicationSettings {
parseInt(localPort, parseInt(port, Daemon.getDefaultPortNumber(type, ssl))),
prefs.getString("server_localnetwork_" + order, null),
parseInt(port, Daemon.getDefaultPortNumber(type, ssl)),
- ssl,
+ ssl, localSsl,
prefs.getBoolean("server_ssltrustall_" + order, false),
prefs.getString("server_ssltrustkey_" + order, null),
prefs.getString("server_folder_" + order, null),
@@ -213,6 +214,7 @@ public class ApplicationSettings {
edit.putString("server_localnetwork_" + i, prefs.getString("server_localnetwork_" + (i + 1), null));
edit.putString("server_port_" + i, prefs.getString("server_port_" + (i + 1), null));
edit.putBoolean("server_sslenabled_" + i, prefs.getBoolean("server_sslenabled_" + (i + 1), false));
+ edit.putBoolean("server_localsslenabled_" + i, prefs.getBoolean("server_localsslenabled_" + (i + 1), false));
edit.putBoolean("server_ssltrustall_" + i, prefs.getBoolean("server_ssltrustall_" + (i + 1), false));
edit.putString("server_ssltrustkey_" + i, prefs.getString("server_ssltrustkey_" + (i + 1), null));
edit.putString("server_folder_" + i, prefs.getString("server_folder_" + (i + 1), null));
@@ -237,6 +239,7 @@ public class ApplicationSettings {
edit.remove("server_localnetwork_" + max);
edit.remove("server_port_" + max);
edit.remove("server_sslenabled_" + max);
+ edit.remove("server_localsslenabled_" + max);
edit.remove("server_ssltrustall_" + max);
edit.remove("server_ssltrustkey_" + max);
edit.remove("server_folder_" + max);
diff --git a/app/src/main/java/org/transdroid/core/app/settings/ServerSetting.java b/app/src/main/java/org/transdroid/core/app/settings/ServerSetting.java
index 71323bea..c61e1d13 100644
--- a/app/src/main/java/org/transdroid/core/app/settings/ServerSetting.java
+++ b/app/src/main/java/org/transdroid/core/app/settings/ServerSetting.java
@@ -56,6 +56,7 @@ public class ServerSetting implements SimpleListItem {
private final boolean alarmOnFinishedDownload;
private final boolean alarmOnNewTorrent;
private final boolean ssl;
+ private final boolean localSsl;
private final boolean sslTrustAll;
private final String sslTrustKey;
private final String excludeFilter;
@@ -83,7 +84,7 @@ public class ServerSetting implements SimpleListItem {
* @param isAutoGenerated Whether this setting was generated rather than manually inputed by the user
*/
public ServerSetting(int key, String name, Daemon type, String address, String localAddress, int localPort, String localNetwork, int port,
- boolean ssl, boolean sslTrustAll, String sslTrustKey, String folder, boolean useAuthentication, String username,
+ boolean ssl, boolean localSsl, boolean sslTrustAll, String sslTrustKey, String folder, boolean useAuthentication, String username,
String password, String extraPass, OS os, String downloadDir, String ftpUrl, String ftpPassword, int timeout,
boolean alarmOnFinishedDownload, boolean alarmOnNewTorrent, String excludeFilter, String includeFilter,
boolean isAutoGenerated) {
@@ -96,6 +97,7 @@ public class ServerSetting implements SimpleListItem {
this.localNetwork = localNetwork;
this.port = port;
this.ssl = ssl;
+ this.localSsl = localSsl;
this.sslTrustAll = sslTrustAll;
this.sslTrustKey = sslTrustKey;
this.folder = folder;
@@ -155,6 +157,10 @@ public class ServerSetting implements SimpleListItem {
return ssl;
}
+ public boolean getLocalSsl() {
+ return localSsl;
+ }
+
public boolean getSslTrustAll() {
return sslTrustAll;
}
@@ -305,6 +311,7 @@ public class ServerSetting implements SimpleListItem {
}
String addressToUse = address;
int portToUse = port;
+ boolean sslEnable = ssl;
if (!TextUtils.isEmpty(localNetwork) && !TextUtils.isEmpty(localAddress) &&
!TextUtils.isEmpty(connectedToNetwork)) {
String[] localNetworks = localNetwork.split("\\|");
@@ -312,11 +319,12 @@ public class ServerSetting implements SimpleListItem {
if (connectedToNetwork.equals(network)) {
addressToUse = localAddress;
portToUse = localPort;
+ sslEnable = localSsl;
break;
}
}
}
- return new DaemonSettings(name, type, addressToUse, portToUse, ssl, sslTrustAll, sslTrustKey, folder,
+ return new DaemonSettings(name, type, addressToUse, portToUse, sslEnable, sslTrustAll, sslTrustKey, folder,
useAuthentication, username, password, extraPass, os, downloadDir, ftpUrl, ftpPassword, timeout,
alarmOnFinishedDownload, alarmOnNewTorrent, Integer.toString(key), isAutoGenerated);
}
diff --git a/app/src/main/java/org/transdroid/core/app/settings/SettingsPersistence.java b/app/src/main/java/org/transdroid/core/app/settings/SettingsPersistence.java
index f19afdf2..45cb368a 100644
--- a/app/src/main/java/org/transdroid/core/app/settings/SettingsPersistence.java
+++ b/app/src/main/java/org/transdroid/core/app/settings/SettingsPersistence.java
@@ -107,6 +107,8 @@ public class SettingsPersistence {
editor.putString("server_port_" + postfix, server.getString("port"));
if (server.has("ssl"))
editor.putBoolean("server_sslenabled_" + postfix, server.getBoolean("ssl"));
+ if (server.has("local_ssl"))
+ editor.putBoolean("server_localsslenabled_" + postfix, server.getBoolean("local_ssl"));
if (server.has("ssl_accept_all"))
editor.putBoolean("server_ssltrustall_" + postfix, server.getBoolean("ssl_accept_all"));
if (server.has("ssl_trust_key"))
@@ -271,6 +273,7 @@ public class SettingsPersistence {
server.put("local_port", prefs.getString("server_localport_" + postfixi, null));
server.put("port", prefs.getString("server_port_" + postfixi, null));
server.put("ssl", prefs.getBoolean("server_sslenabled_" + postfixi, false));
+ server.put("local_ssl", prefs.getBoolean("server_localsslenabled_" + postfixi, false));
server.put("ssl_accept_all", prefs.getBoolean("server_ssltrustall_" + postfixi, false));
server.put("ssl_trust_key", prefs.getString("server_ssltrustkey_" + postfixi, null));
server.put("folder", prefs.getString("server_folder_" + postfixi, null));
diff --git a/app/src/main/java/org/transdroid/core/gui/settings/ServerSettingsActivity.java b/app/src/main/java/org/transdroid/core/gui/settings/ServerSettingsActivity.java
index e0c1f5d4..477e1ec2 100644
--- a/app/src/main/java/org/transdroid/core/gui/settings/ServerSettingsActivity.java
+++ b/app/src/main/java/org/transdroid/core/gui/settings/ServerSettingsActivity.java
@@ -78,6 +78,7 @@ public class ServerSettingsActivity extends KeyBoundPreferencesActivity {
initTextPreference("server_ftppass");
initBooleanPreference("server_disableauth");
initBooleanPreference("server_sslenabled");
+ initBooleanPreference("server_localsslenabled");
initBooleanPreference("server_ssltrustall", false, "server_sslenabled");
initTextPreference("server_ssltrustkey", null, "server_sslenabled");
onPreferencesChanged();
diff --git a/app/src/main/java/org/transdroid/core/seedbox/DediseedboxSettings.java b/app/src/main/java/org/transdroid/core/seedbox/DediseedboxSettings.java
index 49817dd2..6ba11653 100644
--- a/app/src/main/java/org/transdroid/core/seedbox/DediseedboxSettings.java
+++ b/app/src/main/java/org/transdroid/core/seedbox/DediseedboxSettings.java
@@ -55,8 +55,9 @@ public class DediseedboxSettings extends SeedboxSettingsImpl implements SeedboxS
null,
443,
null,
- 443,
- true,
+ 443,
+ true,
+ true,
false,
null,
"/rutorrent/plugins/httprpc/action.php",
diff --git a/app/src/main/java/org/transdroid/core/seedbox/SeedstuffSettings.java b/app/src/main/java/org/transdroid/core/seedbox/SeedstuffSettings.java
index 494118ab..8bfe7dfc 100644
--- a/app/src/main/java/org/transdroid/core/seedbox/SeedstuffSettings.java
+++ b/app/src/main/java/org/transdroid/core/seedbox/SeedstuffSettings.java
@@ -55,8 +55,9 @@ public class SeedstuffSettings extends SeedboxSettingsImpl implements SeedboxSet
null,
443,
null,
- 443,
- true,
+ 443,
+ true,
+ true,
false,
null,
"/user/" + user,
diff --git a/app/src/main/java/org/transdroid/core/seedbox/XirvikDediSettings.java b/app/src/main/java/org/transdroid/core/seedbox/XirvikDediSettings.java
index 3788120d..e6bc2b2a 100644
--- a/app/src/main/java/org/transdroid/core/seedbox/XirvikDediSettings.java
+++ b/app/src/main/java/org/transdroid/core/seedbox/XirvikDediSettings.java
@@ -53,8 +53,9 @@ public class XirvikDediSettings extends SeedboxSettingsImpl implements SeedboxSe
null,
0,
null,
- type == Daemon.uTorrent? 5010: 443,
- type == Daemon.uTorrent? false: true,
+ type == Daemon.uTorrent? 5010: 443,
+ type == Daemon.uTorrent? false: true,
+ type == Daemon.uTorrent? false: true,
false,
null,
type == Daemon.Deluge? "/deluge": null,
diff --git a/app/src/main/java/org/transdroid/core/seedbox/XirvikSemiSettings.java b/app/src/main/java/org/transdroid/core/seedbox/XirvikSemiSettings.java
index 79b5b97c..600d759a 100644
--- a/app/src/main/java/org/transdroid/core/seedbox/XirvikSemiSettings.java
+++ b/app/src/main/java/org/transdroid/core/seedbox/XirvikSemiSettings.java
@@ -52,8 +52,9 @@ public class XirvikSemiSettings extends SeedboxSettingsImpl implements SeedboxSe
null,
0,
null,
- 443,
- true,
+ 443,
+ true,
+ true,
false,
null,
"/RPC2",
diff --git a/app/src/main/java/org/transdroid/core/seedbox/XirvikSharedSettings.java b/app/src/main/java/org/transdroid/core/seedbox/XirvikSharedSettings.java
index bf88b7b7..e23be404 100644
--- a/app/src/main/java/org/transdroid/core/seedbox/XirvikSharedSettings.java
+++ b/app/src/main/java/org/transdroid/core/seedbox/XirvikSharedSettings.java
@@ -53,8 +53,9 @@ public class XirvikSharedSettings extends SeedboxSettingsImpl implements Seedbox
null,
0,
null,
- 443,
- true,
+ 443,
+ true,
+ true,
false,
null,
rpc,
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 795b7bbf..7bdb87ab 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -293,6 +293,8 @@
Don\'t send username and password
Use SSL
Connect using https
+ Use SSL on local network
+ Connect using https
Custom SSL thumbprint (SHA-1)
Permit only connections to this specific certificate
Accept all SSL certificates
diff --git a/app/src/main/res/xml/pref_server.xml b/app/src/main/res/xml/pref_server.xml
index bf941fca..360cb1f3 100644
--- a/app/src/main/res/xml/pref_server.xml
+++ b/app/src/main/res/xml/pref_server.xml
@@ -84,6 +84,11 @@
android:title="@string/pref_sslenable"
android:summary="@string/pref_sslenable_info"
android:defaultValue="false" />
+