Wireguard can configure tun address
local tun address is also used by Wireguard server to check against its "allowedIPs" setting
This commit is contained in:
@@ -106,6 +106,9 @@ class ServerActivity : BaseActivity() {
|
||||
private val et_reserved1: EditText? by lazy { findViewById(R.id.et_reserved1) }
|
||||
private val et_reserved2: EditText? by lazy { findViewById(R.id.et_reserved2) }
|
||||
private val et_reserved3: EditText? by lazy { findViewById(R.id.et_reserved3) }
|
||||
private val et_local_v4_address: EditText? by lazy { findViewById(R.id.et_local_v4_address) }
|
||||
private val et_local_v6_address: EditText? by lazy { findViewById(R.id.et_local_v6_address) }
|
||||
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
@@ -210,6 +213,14 @@ class ServerActivity : BaseActivity() {
|
||||
et_reserved2?.text = Utils.getEditable(outbound.settings?.reserved?.get(1).toString())
|
||||
et_reserved3?.text = Utils.getEditable(outbound.settings?.reserved?.get(2).toString())
|
||||
}
|
||||
if (outbound.settings?.address == null) {
|
||||
et_local_v4_address?.text = Utils.getEditable("172.16.0.2/32")
|
||||
et_local_v6_address?.text = Utils.getEditable("2606:4700:110:8f81:d551:a0:532e:a2b3/128")
|
||||
} else {
|
||||
val list = outbound.settings?.address as List<*>
|
||||
et_local_v4_address?.text = Utils.getEditable(list.get(0).toString())
|
||||
et_local_v6_address?.text = Utils.getEditable(list.get(1).toString())
|
||||
}
|
||||
}
|
||||
val securityEncryptions = if (config.configType == EConfigType.SHADOWSOCKS) shadowsocksSecuritys else securitys
|
||||
val security = Utils.arrayFind(securityEncryptions, outbound.getSecurityEncryption().orEmpty())
|
||||
@@ -295,6 +306,8 @@ class ServerActivity : BaseActivity() {
|
||||
et_reserved1?.text = Utils.getEditable("0")
|
||||
et_reserved2?.text = Utils.getEditable("0")
|
||||
et_reserved3?.text = Utils.getEditable("0")
|
||||
et_local_v4_address?.text = Utils.getEditable("172.16.0.2/32")
|
||||
et_local_v6_address?.text = Utils.getEditable("2606:4700:110:8f81:d551:a0:532e:a2b3/128")
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -407,6 +420,8 @@ class ServerActivity : BaseActivity() {
|
||||
}else {
|
||||
wireguard.reserved = null
|
||||
}
|
||||
wireguard.address = listOf(et_local_v4_address?.text.toString().trim(),
|
||||
et_local_v6_address?.text.toString().trim())
|
||||
}
|
||||
|
||||
private fun saveStreamSettings(streamSetting: V2rayConfig.OutboundBean.StreamSettingsBean) {
|
||||
|
||||
@@ -427,9 +427,13 @@ object V2rayConfigUtil {
|
||||
}
|
||||
|
||||
if (protocol.equals(EConfigType.WIREGUARD.name, true)) {
|
||||
val localTunAddr = mutableListOf("172.16.0.2/32")
|
||||
if (settingsStorage?.decodeBool(AppConfig.PREF_PREFER_IPV6) == true) {
|
||||
localTunAddr.add("2606:4700:110:8f81:d551:a0:532e:a2b3/128")
|
||||
var localTunAddr = if (outbound.settings?.address == null) {
|
||||
listOf("172.16.0.2/32", "2606:4700:110:8f81:d551:a0:532e:a2b3/128")
|
||||
} else {
|
||||
outbound.settings?.address as List<*>
|
||||
}
|
||||
if (settingsStorage?.decodeBool(AppConfig.PREF_PREFER_IPV6) != true) {
|
||||
localTunAddr = listOf(localTunAddr.first())
|
||||
}
|
||||
outbound.settings?.address = localTunAddr
|
||||
}
|
||||
|
||||
@@ -151,6 +151,43 @@
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/layout_margin_top_height"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/server_lab_local_v4_address" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_local_v4_address"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/edit_height"
|
||||
android:inputType="text" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/layout_margin_top_height"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/server_lab_local_v6_address" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_local_v6_address"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/edit_height"
|
||||
android:inputType="text" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -64,6 +64,8 @@
|
||||
<string name="server_lab_short_id" translatable="false">ShortId</string>
|
||||
<string name="server_lab_spider_x" translatable="false">SpiderX</string>
|
||||
<string name="server_lab_reserved">Reserved (اختياري)</string>
|
||||
<string name="server_lab_local_v4_address">العنوان المحلي IPv4(اختياري)</string>
|
||||
<string name="server_lab_local_v6_address">العنوان المحلي IPv6(اختياري, يستخدم فقط عندما تفضل IPv6)</string>
|
||||
<string name="toast_success">نجاح</string>
|
||||
<string name="toast_failure">فشل</string>
|
||||
<string name="toast_none_data">لا يوجد شيء</string>
|
||||
|
||||
@@ -61,6 +61,8 @@
|
||||
<string name="server_lab_encryption">رمزگذاری</string>
|
||||
<string name="server_lab_flow">جریان</string>
|
||||
<string name="server_lab_reserved">Reserved (اختیاری)</string>
|
||||
<string name="server_lab_local_v4_address">آدرس محلی IPv4(اختیاری)</string>
|
||||
<string name="server_lab_local_v6_address">آدرس محلی IPv6(اختیاری, فقط زمانی استفاده می شود که IPv6 را ترجیح می دهد)</string>
|
||||
<string name="toast_success">موفقیت</string>
|
||||
<string name="toast_failure">شکست</string>
|
||||
<string name="toast_none_data">چیزی نیست</string>
|
||||
|
||||
@@ -66,6 +66,8 @@
|
||||
<string name="server_lab_short_id" translatable="false">ShortId</string>
|
||||
<string name="server_lab_spider_x" translatable="false">SpiderX</string>
|
||||
<string name="server_lab_reserved">Reserved (необязательно)</string>
|
||||
<string name="server_lab_local_v4_address">локальный адрес IPv4(необязательно)</string>
|
||||
<string name="server_lab_local_v6_address">локальный адрес IPv6(необязательно, используется только в том случае если предпочитаете IPv6)</string>
|
||||
<string name="toast_success">Успешно</string>
|
||||
<string name="toast_failure">Ошибка</string>
|
||||
<string name="toast_none_data">Ничего нет</string>
|
||||
|
||||
@@ -60,6 +60,8 @@
|
||||
<string name="server_lab_encryption">Mã hoá</string>
|
||||
<string name="server_lab_flow">Kiểm soát lưu lượng</string>
|
||||
<string name="server_lab_reserved">Reserved (Bổ sung)</string>
|
||||
<string name="server_lab_local_v4_address">địa chỉ cục bộ IPv4(Bổ sung)</string>
|
||||
<string name="server_lab_local_v6_address">địa chỉ cục bộ IPv6(Bổ sung, chỉ được sử dụng khi thích IPv6)</string>
|
||||
<string name="toast_success">Thành công!</string>
|
||||
<string name="toast_failure">Đã xảy ra lỗi, vui lòng thử lại!</string>
|
||||
<string name="toast_none_data">Không có gì ở đây</string>
|
||||
|
||||
@@ -60,6 +60,8 @@
|
||||
<string name="server_lab_encryption">加密方式(encryption)</string>
|
||||
<string name="server_lab_flow">流控(flow)</string>
|
||||
<string name="server_lab_reserved">Reserved(可选)</string>
|
||||
<string name="server_lab_local_v4_address">本地 IPv4 地址(可选)</string>
|
||||
<string name="server_lab_local_v6_address">本地 IPv6 地址(可选, 仅 IPv6 优先时使用)</string>
|
||||
<string name="toast_success">成功</string>
|
||||
<string name="toast_failure">失败</string>
|
||||
<string name="toast_none_data">没有数据</string>
|
||||
|
||||
@@ -60,6 +60,8 @@
|
||||
<string name="server_lab_encryption">加密 (encryption)</string>
|
||||
<string name="server_lab_flow">流程 (flow)</string>
|
||||
<string name="server_lab_reserved">Reserved (可選)</string>
|
||||
<string name="server_lab_local_v4_address">本機 IPv4 位址(可選)</string>
|
||||
<string name="server_lab_local_v6_address">本機 IPv6 位址(可選, 僅偏好 IPv6 時使用)</string>
|
||||
<string name="toast_success">成功</string>
|
||||
<string name="toast_failure">失敗</string>
|
||||
<string name="toast_none_data">無資料</string>
|
||||
|
||||
@@ -67,6 +67,8 @@
|
||||
<string name="server_lab_spider_x" translatable="false">SpiderX</string>
|
||||
<string name="server_lab_secret_key" translatable="false">SecretKey</string>
|
||||
<string name="server_lab_reserved">Reserved(Optional)</string>
|
||||
<string name="server_lab_local_v4_address">local address IPv4(Optional)</string>
|
||||
<string name="server_lab_local_v6_address">local address IPv6(Optional, only used when prefer IPv6)</string>
|
||||
<string name="toast_success">Success</string>
|
||||
<string name="toast_failure">Failure</string>
|
||||
<string name="toast_none_data">There is nothing</string>
|
||||
|
||||
Reference in New Issue
Block a user