diff --git a/.idea/misc.xml b/.idea/misc.xml index f70bc04..7a7d23f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -13,7 +13,7 @@ - + diff --git a/README.md b/README.md index f69a9c9..d506af0 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ SocksDroid ## SOCKS5 client for Android 5.0+ using VpnService +## Download from [Releases](https://gitlab.com/cuynu/socksdroid/-/releases) + Imported from : https://github.com/bndeff/socksdroid This is an updated version of [SocksDroid by PeterCxy](https://github.com/PeterCxy/SocksDroid) to support modern Android version. \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index c0d4274..0575b2b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,7 +7,7 @@ android { minSdkVersion 21 targetSdkVersion 33 versionCode 13 - versionName "1.0.4" + versionName "1.0.7" } buildTypes { release { diff --git a/app/src/main/java/net/typeblog/socks/MainActivity.java b/app/src/main/java/net/typeblog/socks/MainActivity.java index 2821d1f..8aabae4 100644 --- a/app/src/main/java/net/typeblog/socks/MainActivity.java +++ b/app/src/main/java/net/typeblog/socks/MainActivity.java @@ -1,6 +1,8 @@ package net.typeblog.socks; import android.app.Activity; +import android.content.Intent; +import android.net.VpnService; import android.os.Bundle; public class MainActivity extends Activity { @@ -8,6 +10,13 @@ public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + // Prepare the VPN connection (this will request permission if needed) + Intent prepareIntent = VpnService.prepare(this); + if (prepareIntent != null) { + // Permission not yet granted, start the activity to request it + startActivityForResult(prepareIntent, 0); + } + this.getFragmentManager().beginTransaction().replace(android.R.id.content, new ProfileFragment()).commit(); } } diff --git a/app/src/main/java/net/typeblog/socks/SocksVpnService.java b/app/src/main/java/net/typeblog/socks/SocksVpnService.java index 7d27acb..aa93dc1 100644 --- a/app/src/main/java/net/typeblog/socks/SocksVpnService.java +++ b/app/src/main/java/net/typeblog/socks/SocksVpnService.java @@ -93,7 +93,7 @@ public class SocksVpnService extends VpnService { new Intent(this, MainActivity.class), intentFlags); startForeground(NOTIFICATION_ID, builder .setContentTitle(getString(R.string.notify_title)) - .setContentText(String.format(getString(R.string.notify_msg), name)) + .setContentText(String.format( getString(R.string.notify_msg), name)) .setPriority(Notification.PRIORITY_MIN) .setSmallIcon(R.drawable.ic_vpn) .setContentIntent(contentIntent) diff --git a/app/src/main/java/net/typeblog/socks/util/Profile.java b/app/src/main/java/net/typeblog/socks/util/Profile.java index 2f83e45..4a04911 100644 --- a/app/src/main/java/net/typeblog/socks/util/Profile.java +++ b/app/src/main/java/net/typeblog/socks/util/Profile.java @@ -84,7 +84,7 @@ public class Profile { } public boolean isPerApp() { - return mPref.getBoolean(key("perapp"), false); + return mPref.getBoolean(key("perapp"), true); } public void setIsPerApp(boolean is) { @@ -92,7 +92,7 @@ public class Profile { } public boolean isBypassApp() { - return mPref.getBoolean(key("appbypass"), false); + return mPref.getBoolean(key("appbypass"), true); } public void setIsBypassApp(boolean is) { @@ -100,7 +100,7 @@ public class Profile { } public String getAppList() { - return mPref.getString(key("applist"), ""); + return mPref.getString(key("applist"), "com.termux"); } public void setAppList(String list) { @@ -116,7 +116,7 @@ public class Profile { } public boolean hasUDP() { - return mPref.getBoolean(key("udp"), false); + return mPref.getBoolean(key("udp"), true); } public void setHasUDP(boolean has) { diff --git a/app/src/main/res/drawable/ic_gitlab.png b/app/src/main/res/drawable/ic_gitlab.png new file mode 100644 index 0000000..cb98d33 Binary files /dev/null and b/app/src/main/res/drawable/ic_gitlab.png differ diff --git a/app/src/main/res/drawable/ic_termux.png b/app/src/main/res/drawable/ic_termux.png new file mode 100644 index 0000000..30c3218 Binary files /dev/null and b/app/src/main/res/drawable/ic_termux.png differ diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index e72ae0c..fca6fba 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -1,8 +1,11 @@ Xem mã nguồn + Mở Termux + Cài đặt nâng cao + IP máy chủ, Xác thực, Cổng, IPv6, v.v... + Termux có thể cần thiết trong 1 số mục đích cụ thể, ví dụ như sử dụng internet miễn phí. Xem mã nguồn dự án trên GitLab - Để sử dụng, hãy bật tất cả 3 tùy chọn dưới, và thêm com.termux vào danh sách ứng dụng nhé ! Chế độ bỏ qua Bật tùy chọn này để bỏ qua các ứng dụng đã chọn thay vì ủy quyền chúng Danh sách ứng dụng @@ -39,5 +42,7 @@ Cổng UDP (Từ xa) Chuyển tiếp UDP Chuyển tiếp gói UDP tới badvpn-udpgw qua SOCKS5. Điều này cần badvpn-udpgw chạy trên máy chủ từ xa (thường listen trên 127.0.0.1) để hoạt động. - + Thông tin ứng dụng + Phiên bản ứng dụng + Thời gian biên dịch diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 532e66c..786101a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,12 +2,17 @@ SocksDroid - In order to use, enable all available option below, and add com.termux to App List ! + Advanced Settings + Server IP, Authentication, Ports, IPv6, etc... + Open Termux + This might be needed for some purpose, such as getting free internet. View source code View project source code on GitLab Profile Default - + App info + App version + Compile time Connection Server IP Server Port diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml index 3cd9baf..62f9c09 100644 --- a/app/src/main/res/xml/settings.xml +++ b/app/src/main/res/xml/settings.xml @@ -1,6 +1,7 @@ - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +