diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/DnsActivity.kt b/app/src/main/java/eu/neilalexander/yggdrasil/DnsActivity.kt
index 264a335..f3f9ed8 100644
--- a/app/src/main/java/eu/neilalexander/yggdrasil/DnsActivity.kt
+++ b/app/src/main/java/eu/neilalexander/yggdrasil/DnsActivity.kt
@@ -13,6 +13,7 @@ import androidx.preference.PreferenceManager
import com.google.android.material.textfield.TextInputEditText
const val KEY_DNS_SERVERS = "dns_servers"
+const val KEY_DNS_VERSION = "dns_version"
const val KEY_ENABLE_CHROME_FIX = "enable_chrome_fix"
class DnsActivity : AppCompatActivity() {
@@ -41,10 +42,10 @@ class DnsActivity : AppCompatActivity() {
val descriptionRevertron = getString(R.string.dns_server_info_revertron)
// Here we can add some other DNS servers in a future
defaultDnsServers = hashMapOf(
- "302:7991::53" to Pair(getString(R.string.location_amsterdam), descriptionRevertron),
- "302:db60::53" to Pair(getString(R.string.location_prague), descriptionRevertron),
- "300:6223::53" to Pair(getString(R.string.location_bratislava), descriptionRevertron),
- "301:1088::53" to Pair(getString(R.string.location_buffalo), descriptionRevertron),
+ "308:62:45:62::" to Pair(getString(R.string.location_amsterdam), descriptionRevertron),
+ "308:84:68:55::" to Pair(getString(R.string.location_frankfurt), descriptionRevertron),
+ "308:25:40:bd::" to Pair(getString(R.string.location_bratislava), descriptionRevertron),
+ "308:c8:48:45::" to Pair(getString(R.string.location_buffalo), descriptionRevertron),
)
serversTableLayout = findViewById(R.id.configuredDnsTableLayout)
diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/GlobalApplication.kt b/app/src/main/java/eu/neilalexander/yggdrasil/GlobalApplication.kt
index 85f9a09..49a544b 100644
--- a/app/src/main/java/eu/neilalexander/yggdrasil/GlobalApplication.kt
+++ b/app/src/main/java/eu/neilalexander/yggdrasil/GlobalApplication.kt
@@ -8,6 +8,7 @@ import android.os.Build
import android.service.quicksettings.TileService
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat
+import androidx.preference.PreferenceManager
const val PREF_KEY_ENABLED = "enabled"
const val MAIN_CHANNEL_ID = "Yggdrasil Service"
@@ -15,7 +16,7 @@ const val MAIN_CHANNEL_ID = "Yggdrasil Service"
class GlobalApplication: Application(), YggStateReceiver.StateReceiver {
private lateinit var config: ConfigurationProxy
private var currentState: State = State.Disabled
- var updaterConnections: Int = 0
+ private var updaterConnections: Int = 0
override fun onCreate() {
super.onCreate()
@@ -24,6 +25,7 @@ class GlobalApplication: Application(), YggStateReceiver.StateReceiver {
callback.register()
val receiver = YggStateReceiver(this)
receiver.register(this)
+ migrateDnsServers(this)
}
fun subscribe() {
@@ -64,6 +66,28 @@ class GlobalApplication: Application(), YggStateReceiver.StateReceiver {
}
}
+fun migrateDnsServers(context: Context) {
+ val preferences = PreferenceManager.getDefaultSharedPreferences(context)
+ if (preferences.getInt(KEY_DNS_VERSION, 0) >= 1) {
+ return
+ }
+ val serverString = preferences.getString(KEY_DNS_SERVERS, "")
+ if (serverString!!.isNotEmpty()) {
+ // Replacing old Revertron's servers by new ones
+ val newServers = serverString
+ .replace("300:6223::53", "308:25:40:bd::")
+ .replace("302:7991::53", "308:62:45:62::")
+ .replace("302:db60::53", "308:84:68:55::")
+ .replace("301:1088::53", "308:c8:48:45::")
+ val editor = preferences.edit()
+ editor.putInt(KEY_DNS_VERSION, 1)
+ if (newServers != serverString) {
+ editor.putString(KEY_DNS_SERVERS, newServers)
+ }
+ editor.apply()
+ }
+}
+
fun createServiceNotification(context: Context, state: State): Notification {
createNotificationChannels(context)
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 35be1ee..0a38dee 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -73,9 +73,9 @@
Включено (Нет подключения)
Подключено
Амстердам, Нидерланды
- Прага, Чехия
+ Франкфурт, Германия
Братислава, Словакия
- Баффало, США
+ Буффало, США
Сервис VPN
Главный канал нотификаций сервиса
Нажмите здесь чтобы включить Yggdrasil.
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7bf2dac..a2398f4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -73,7 +73,7 @@
Enabled (No connectivity)
Connected
Amsterdam, NL
- Prague, CZ
+ Frankfurt, DE
Bratislava, SK
Buffalo, US
VPN Service