mirror of
				https://github.com/yggdrasil-network/yggdrasil-android.git
				synced 2025-11-04 11:15:08 +03:00 
			
		
		
		
	Updated DNS.
This commit is contained in:
		
							parent
							
								
									6a66960666
								
							
						
					
					
						commit
						c7d13339be
					
				
					 4 changed files with 33 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -73,9 +73,9 @@
 | 
			
		|||
    <string name="tile_enabled">Включено (Нет подключения)</string>
 | 
			
		||||
    <string name="tile_connected">Подключено</string>
 | 
			
		||||
    <string name="location_amsterdam">Амстердам, Нидерланды</string>
 | 
			
		||||
    <string name="location_prague">Прага, Чехия</string>
 | 
			
		||||
    <string name="location_frankfurt">Франкфурт, Германия</string>
 | 
			
		||||
    <string name="location_bratislava">Братислава, Словакия</string>
 | 
			
		||||
    <string name="location_buffalo">Баффало, США</string>
 | 
			
		||||
    <string name="location_buffalo">Буффало, США</string>
 | 
			
		||||
    <string name="channel_name">Сервис VPN</string>
 | 
			
		||||
    <string name="channel_description">Главный канал нотификаций сервиса</string>
 | 
			
		||||
    <string name="permission_notification_text">Нажмите здесь чтобы включить Yggdrasil.</string>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -73,7 +73,7 @@
 | 
			
		|||
    <string name="tile_enabled">Enabled (No connectivity)</string>
 | 
			
		||||
    <string name="tile_connected">Connected</string>
 | 
			
		||||
    <string name="location_amsterdam">Amsterdam, NL</string>
 | 
			
		||||
    <string name="location_prague">Prague, CZ</string>
 | 
			
		||||
    <string name="location_frankfurt">Frankfurt, DE</string>
 | 
			
		||||
    <string name="location_bratislava">Bratislava, SK</string>
 | 
			
		||||
    <string name="location_buffalo">Buffalo, US</string>
 | 
			
		||||
    <string name="channel_name">VPN Service</string>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue