Tun2Socks Android: đưa cả máy qua SOCKS5, kiểm DNS và UDP
Tun2Socks Android là ứng dụng tạo một VPN cục bộ trên điện thoại để đẩy lưu lượng của cả máy qua một proxy SOCKS5, kể cả ứng dụng không có ô cài proxy. ProxyVN đọc mô tả chính thức của bản 1.6.2 trên Google Play, tài liệu VPN của Android và chạy một script kiểm SOCKS5 với hai máy chủ thử. Bài giải thích cơ chế, cách cài và cách kiểm DNS, UDP.
Tun2Socks Android dùng trong tình huống nào
Android cho phép đặt proxy trong cài đặt Wi-Fi, nhưng proxy đó chỉ có kiểu HTTP, không có ô tên đăng nhập và nhiều ứng dụng bỏ qua nó. Bài cài proxy cho Android đã nói rõ các giới hạn này. Khi cần ép mọi ứng dụng đi proxy, hoặc dùng proxy SOCKS5 có tài khoản, anh em cần một ứng dụng kiểu tun2socks.
Tun2socks nghĩa là gì
Tun2socks là tên chung của kỹ thuật chuyển lưu lượng từ giao diện mạng ảo TUN sang proxy SOCKS. Giao diện TUN nhận các gói tin IP thô của hệ điều hành. Phần mềm tun2socks đọc từng gói, dựng lại kết nối TCP hoặc luồng UDP, rồi mở kết nối tương ứng qua proxy SOCKS5.
Trên Android, ứng dụng dùng dịch vụ VpnService để tạo giao diện TUN. Hệ điều hành coi đây là một VPN, nên hiện biểu tượng chìa khóa trên thanh trạng thái. Nhưng khác VPN thật, không có máy chủ VPN nào cả. Dữ liệu đi thẳng từ điện thoại tới proxy SOCKS5 mà anh em khai báo.
Ứng dụng Tun2Socks trong bài
Trên Google Play có nhiều ứng dụng dùng kỹ thuật này. Bài tập trung vào ứng dụng tên Tun2Socks của nhà phát triển elseplus, mã gói com.elseplus.tun2socks. Khi kiểm ngày 25/10/2026, trang ứng dụng ghi bản cập nhật ngày 15/06/2026, hơn 500 nghìn lượt tải, và trong mã trang có số phiên bản 1.6.2.
Nếu anh em thích ứng dụng mã nguồn mở, SocksTun trên kho F-Droid là lựa chọn tương tự. Theo trang SocksTun trên F-Droid, bản 8.0 thêm ngày 20/07/2026, cần Android 7.0 trở lên, hỗ trợ chuyển TCP, UDP, xác thực user và mật khẩu, DNS tùy chỉnh, chế độ toàn máy hoặc từng ứng dụng.
So với proxy trong cài đặt Wi-Fi
Bảng dưới so sánh ba cách đưa điện thoại qua proxy mà anh em hay gặp, để chọn đúng công cụ trước khi cài.
Tiêu chí |
Proxy trong cài đặt Wi-Fi |
Tun2Socks (Play) |
SocksTun (F-Droid) |
|---|---|---|---|
Loại proxy |
HTTP |
SOCKS5 |
SOCKS5 |
Ô tài khoản |
Không có |
Có |
Có |
Áp dụng cho |
Ứng dụng tôn trọng proxy hệ thống |
Cả máy hoặc từng ứng dụng |
Cả máy hoặc từng ứng dụng |
Mạng di động |
Phải sửa APN |
Chạy trên cả Wi-Fi và 4G |
Chạy trên cả Wi-Fi và 4G |
UDP |
Không |
UDP ASSOCIATE hoặc UDP over TCP |
UDP ASSOCIATE hoặc UDP qua TCP |
Mã nguồn |
Có sẵn trong Android |
Không công bố trong mô tả |
Mã nguồn mở, giấy phép MIT |
Proxy trong cài đặt Wi-Fi đủ dùng khi chỉ cần trình duyệt đi proxy HTTP không mật khẩu. Khi cần tài khoản, cần cả máy hoặc cần đi qua mạng di động, ứng dụng kiểu tun2socks là lựa chọn gọn hơn.
Giới hạn cần biết trước
Tun2socks không mã hóa gì thêm. Dữ liệu giữa điện thoại và proxy SOCKS5 đi dạng thường, chỉ nội dung HTTPS của website là được TLS bảo vệ. Ứng dụng cũng chỉ đẩy được những gì proxy hỗ trợ: proxy không có UDP thì game, gọi thoại và giao thức QUIC sẽ không qua được.
Mình không có máy Android để chạy ứng dụng trong bài này. Phần giao diện dựa trên mô tả chính thức của nhà phát triển. Phần kiểm proxy SOCKS5 thì mình chạy thật bằng script trên máy tính, vì đó là phần quyết định ứng dụng có chạy ổn hay không.
Phiên bản, quyền và thông tin cần chuẩn bị cho Tun2Socks Android
Quyền VPN và giới hạn một VPN
Lần đầu bật, ứng dụng xin quyền VPN qua hộp thoại của hệ thống. Theo hướng dẫn VPN trên trang dành cho nhà phát triển Android, mỗi người dùng hoặc hồ sơ chỉ có một dịch vụ VPN hoạt động, bật dịch vụ mới sẽ tự tắt dịch vụ cũ. Nghĩa là không chạy được Tun2Socks cùng lúc với một VPN khác.
Đây là điều cần biết khi điện thoại đã có ứng dụng VPN của công ty hay ứng dụng chặn quảng cáo dạng VPN. Bật Tun2Socks sẽ làm các ứng dụng đó ngừng, và ngược lại.
Các tùy chọn chính theo mô tả của nhà phát triển
Mô tả trên Google Play liệt kê khá đủ các tùy chọn. Bảng dưới tóm tắt những tùy chọn liên quan tới proxy, kèm giá trị mặc định nhà phát triển ghi.
Tùy chọn |
Mặc định |
Tác dụng |
|---|---|---|
Global Mode / Per-App |
Global |
Cả máy hoặc chỉ ứng dụng được chọn đi proxy |
IPv4 route 0.0.0.0/0 |
Bật |
Đẩy lưu lượng IPv4 vào TUN |
IPv6 route ::/0 |
Tắt |
Đẩy lưu lượng IPv6 vào TUN |
DNS IPv4 |
8.8.8.8 |
Máy chủ DNS cho giao diện TUN |
Remote DNS (MapDNS) |
198.18.0.2, cổng 53, cache 10.000 |
Đưa truy vấn DNS qua proxy |
UDP over TCP |
Tắt |
Bọc UDP trong kết nối TCP |
LAN Proxy Sharing |
Cổng 7890 |
Biến điện thoại thành proxy cho máy khác |
MTU |
8500 |
Kích thước gói của giao diện TUN |
Các giá trị MTU 8500, MapDNS 198.18.0.2 và cache 10.000 trùng với giá trị trong file cấu hình mẫu của HevSocks5Tunnel, lõi tun2socks mã nguồn mở mà SocksTun dùng. Mình không khẳng định ứng dụng Tun2Socks dùng lõi này, nhưng file mẫu đó giúp hiểu ý nghĩa từng tùy chọn.
Nguồn cài và quyền ứng dụng
Ứng dụng VPN nhìn thấy toàn bộ lưu lượng của điện thoại, nên chỉ cài từ Google Play hoặc F-Droid, kiểm đúng tên nhà phát triển và mã gói. Bản APK trôi nổi trên các trang tải về có thể bị sửa, mình không khuyên dùng.
Trang F-Droid liệt kê quyền của SocksTun: chạy dịch vụ nền, truy cập mạng đầy đủ, hiện thông báo, xem danh sách ứng dụng đã cài để làm chế độ Per-App, và tự chạy khi khởi động máy. Đó là bộ quyền hợp lý cho một ứng dụng tun2socks. Ứng dụng nào xin thêm quyền đọc tin nhắn, danh bạ hay vị trí thì nên cân nhắc.
Phần an toàn dữ liệu trên trang Google Play của Tun2Socks ghi ứng dụng có thể chia sẻ mã định danh thiết bị với bên thứ ba và dữ liệu được mã hóa khi truyền. Anh em đọc phần này trên trang ứng dụng trước khi cài, vì thông tin có thể thay đổi theo bản cập nhật.
Thông tin proxy cần có
Ứng dụng chỉ nhận proxy SOCKS5. Chuẩn bị địa chỉ, cổng, tên đăng nhập và mật khẩu. Nếu nhà cung cấp cấp proxy dạng chuỗi ip:port:user:pass, đọc bài định dạng proxy để tách đúng các phần. Nếu chỉ có proxy HTTP, Tun2Socks không dùng được, xem bài Tun2Tap hoặc chọn ứng dụng khác nhận HTTP.
Hỏi nhà cung cấp hai câu trước khi dùng: proxy có hỗ trợ lệnh UDP ASSOCIATE không, và có giới hạn số kết nối đồng thời không. Một điện thoại mở hàng trăm kết nối nền cùng lúc, nhiều hơn anh em nghĩ.

Các tùy chọn chính của Tun2Socks
Cơ chế TUN chuyển lưu lượng tới SOCKS và cấu hình Tun2Socks Android
Hiểu đường đi của một gói tin giúp anh em đặt đúng các tùy chọn và đoán được lỗi khi có sự cố.
Đường đi của một kết nối TCP
Khi trình duyệt mở một trang, nó hỏi DNS rồi mở kết nối TCP tới IP của website. Android đưa gói tin đó vào giao diện TUN vì tuyến 0.0.0.0/0 đang trỏ vào TUN. Tun2socks đọc gói, thấy đây là bắt đầu một kết nối TCP, liền mở một kết nối tới proxy SOCKS5, gửi lệnh CONNECT kèm địa chỉ đích.
Proxy kết nối tới website, từ đó dữ liệu chạy hai chiều: trình duyệt, TUN, tun2socks, proxy, website. Website chỉ thấy IP của proxy. Trình duyệt không biết có proxy, nó tưởng đang nói chuyện thẳng với website.
DNS đi đường nào
DNS là phần dễ lộ nhất. Không bật Remote DNS thì truy vấn DNS là gói UDP tới máy chủ 8.8.8.8 qua TUN. Tun2socks phải chuyển gói đó qua UDP của proxy. Nếu proxy không hỗ trợ UDP, truy vấn thất bại, kết quả là trang không mở được dù proxy vẫn sống.
Remote DNS, nhà phát triển gọi là MapDNS, giải quyết việc này theo cách khác. Ứng dụng trả lời truy vấn DNS ngay trên máy bằng một IP giả trong dải dành riêng, ghi nhớ IP giả đó ứng với tên miền nào. Khi trình duyệt kết nối tới IP giả, tun2socks gửi lệnh CONNECT kèm tên miền thật cho proxy. Proxy tự phân giải tên miền.
Kết quả là truy vấn DNS không bao giờ rời khỏi điện thoại, và không cần UDP. Đây là tùy chọn mình khuyên bật cho hầu hết trường hợp. Tài liệu file mẫu của HevSocks5Tunnel cũng mô tả mapdns với địa chỉ, dải IP ánh xạ và kích thước cache.
UDP: hai cách mang qua proxy
Cách chuẩn là lệnh UDP ASSOCIATE của SOCKS5. Tun2socks xin proxy một cổng chuyển tiếp UDP, rồi gửi từng gói UDP kèm địa chỉ đích tới cổng đó. Cách này cần proxy hỗ trợ và mạng giữa điện thoại với proxy cho UDP đi qua.
Cách thứ hai là UDP over TCP, bọc gói UDP trong một kết nối TCP tới proxy. Mô tả của nhà phát triển ghi tùy chọn này hợp với mạng bị hạn chế hoặc đường hầm SSH chỉ cho chuyển TCP. Nhưng phía proxy phải hiểu kiểu bọc này. README của SocksTun ghi máy chủ hev-socks5-server hỗ trợ chuyển UDP qua TCP. Proxy SOCKS5 thông thường của nhà cung cấp thường không hiểu kiểu bọc riêng này, nên để tắt trừ khi nhà cung cấp xác nhận.
Các bước cấu hình
Theo mô tả trên Google Play, trang cấu hình chia năm nhóm: Proxy, Network, DNS, LAN Sharing và Advanced. Các bước cơ bản như sau.
- Mở danh sách proxy, thêm hồ sơ mới gồm tên, địa chỉ, cổng, tên đăng nhập và mật khẩu.
- Chạm vào hồ sơ để chọn làm proxy đang dùng, hồ sơ được đánh dấu tích.
- Ở trang chủ, bật Remote DNS. Giữ IPv6 tắt nếu proxy không có IPv6.
- Chọn Global Mode cho cả máy, hoặc Per-App rồi tích các ứng dụng cần đi proxy.
- Bấm nút tròn ở giữa để kết nối, cho phép hộp thoại VPN của hệ thống.
Mô tả ghi trạng thái hiển thị bằng màu: xám là chưa kết nối, xanh dương là đang kết nối, xanh lá là đã kết nối, cam là đang ngắt. Đổi cài đặt khi VPN đang chạy thì đường hầm tự khởi động lại.
Per-App: chọn ứng dụng đi proxy
Tài liệu Android ghi ứng dụng VPN có thể đặt danh sách cho phép hoặc danh sách loại trừ, không đặt cả hai. Với danh sách cho phép, chỉ ứng dụng trong danh sách đi VPN, các ứng dụng khác dùng mạng bình thường như không có VPN.
Per-App hợp khi chỉ một vài ứng dụng cần IP proxy, ví dụ ứng dụng mạng xã hội cho tài khoản công việc. Các ứng dụng còn lại đi mạng thường, đỡ tốn dung lượng proxy và không bị chậm.
MTU: để mặc định trừ khi có lỗi
MTU là kích thước tối đa của một gói trên giao diện TUN. Giá trị lớn giúp tun2socks xử lý ít gói hơn, đỡ tốn CPU. Mô tả ghi mặc định Android là 8500, giống file mẫu của HevSocks5Tunnel. Vì gói chỉ đi trong điện thoại trước khi tun2socks dựng lại kết nối TCP tới proxy, MTU lớn không gây phân mảnh trên đường mạng thật.
Chỉ đổi MTU khi gặp lỗi lạ như một số trang tải mãi không xong trong khi trang khác bình thường. Thử hạ về 1500, kết nối lại và so sánh. Nếu không khác, trả về mặc định.
LAN Proxy Sharing: biến điện thoại thành proxy
Mô tả ghi tính năng này mở một máy chủ SOCKS5 trên điện thoại, mặc định cổng 7890, cho máy khác trong cùng mạng dùng. Lưu lượng chia sẻ không đi qua TUN mà được chuyển thẳng tới proxy cấp trên. Ví dụ máy tính bảng hay máy tính cùng Wi-Fi trỏ proxy SOCKS5 tới IP điện thoại, cổng 7890, là ra cùng IP proxy với điện thoại.
Tính năng tiện khi anh em có một proxy và nhiều thiết bị, nhưng nhớ rằng mọi thiết bị dùng chung sẽ cùng chiếm số kết nối và dung lượng của gói proxy đó.
IPv6: vì sao nên để tắt
Nếu mạng di động cấp IPv6 cho điện thoại mà tuyến IPv6 không đi vào TUN, ứng dụng ưu tiên IPv6 sẽ đi thẳng ra mạng, lộ IP thật. Nếu bật tuyến IPv6 mà proxy không có IPv6, kết nối IPv6 sẽ lỗi. Bài proxy IPv4 và IPv6 giải thích khác biệt hai loại địa chỉ.
Với proxy chỉ có IPv4, cách an toàn là bật tuyến IPv6 vào TUN để chặn đường thoát, chấp nhận kết nối IPv6 lỗi, các ứng dụng sẽ tự lùi về IPv4. Cách này cần thử trên mạng của anh em, vì mỗi nhà mạng xử lý IPv6 khác nhau.

Remote DNS: DNS không rời điện thoại
Kiểm tra IP thoát, DNS và UDP thực tế với Tun2Socks Android
Trước khi đưa proxy vào điện thoại, mình kiểm nó từ máy tính bằng script. Lỗi proxy trên điện thoại rất khó đọc vì ứng dụng chỉ báo kết nối hay không, kiểm trên máy tính cho ra nguyên nhân cụ thể.
Script kiểm SOCKS5 bốn bước
Script dưới kiểm bốn việc: xác thực, kết nối TCP bằng tên miền như khi bật Remote DNS, xin UDP ASSOCIATE, và gửi một truy vấn DNS qua UDP của proxy.
import socket, struct, sys, time
host, port, user, pw = sys.argv[1], int(sys.argv[2]), sys.argv[3], sys.argv[4]
def mo_phien():
s = socket.create_connection((host, port), timeout=10)
s.sendall(b"\x05\x02\x00\x02")
chon = s.recv(2)[1]
if chon == 2:
s.sendall(bytes([1, len(user)]) + user.encode() + bytes([len(pw)]) + pw.encode())
if s.recv(2) != b"\x01\x00":
raise SystemExit("Xac thuc that bai")
return s, chon
s, chon = mo_phien()
print("1. Xac thuc:", "OK" if chon == 2 else "proxy khong doi tai khoan")
s.sendall(b"\x05\x01\x00\x03\x0bexample.com\x00\x50")
print("2. TCP CONNECT:", "OK" if s.recv(10)[1] == 0 else "loi")
s, _ = mo_phien()
s.sendall(b"\x05\x03\x00\x01" + b"\x00" * 6)
r = s.recv(10)
if r[1] != 0:
raise SystemExit(f"3. UDP ASSOCIATE bi tu choi, ma {r[1]}")
relay = (socket.inet_ntoa(r[4:8]), struct.unpack(">H", r[8:10])[0])
relay = (host, relay[1]) if relay[0] == "0.0.0.0" else relay
q = b"\xab\xcd\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x07example\x03com\x00\x00\x01\x00\x01"
u = socket.socket(socket.AF_INET, socket.SOCK_DGRAM); u.settimeout(5)
u.sendto(b"\x00\x00\x00\x01" + socket.inet_aton("1.1.1.1") + struct.pack(">H", 53) + q, relay)
try:
print("4. DNS qua UDP:", len(u.recvfrom(2048)[0]), "byte")
except socket.timeout:
print("4. DNS qua UDP: het gio")
Chạy bằng lệnh python kiem_socks5.py dia_chi cong ten_tai_khoan mat_khau. Script chỉ dùng thư viện chuẩn của Python, không cần cài thêm gì.
Kết quả với hai proxy thử
Mình chạy script với hai máy chủ SOCKS5 có cùng tài khoản user1. Máy thứ nhất là proxy tự viết, không hỗ trợ UDP. Máy thứ hai là inbound SOCKS của V2Ray 5.53.0, bật xác thực và UDP. Kết quả như bảng.
Bước |
Proxy không có UDP |
Proxy có UDP |
|---|---|---|
Xác thực user và mật khẩu |
Đạt |
Đạt |
TCP CONNECT bằng tên miền |
Đạt, trang trả 200 |
Đạt, example.com trả 200 |
UDP ASSOCIATE |
Bị từ chối, mã 7 |
Chấp nhận, trả cổng chuyển tiếp |
DNS qua UDP của proxy |
Không thử được |
Có trả lời 61 byte sau 71 ms |
Để đối chiếu, mình gửi cùng truy vấn DNS thẳng từ máy tới 1.1.1.1, nhận 61 byte sau 60 ms. Chặng proxy chạy trên cùng máy nên chỉ thêm khoảng 11 ms. Với proxy thật ở xa, con số này lớn hơn và phụ thuộc vị trí proxy.
Với mật khẩu sai, script dừng ngay ở bước một với thông báo xác thực thất bại. Trên điện thoại, cùng lỗi này thường chỉ hiện là không có Internet sau khi kết nối, rất khó đoán nguyên nhân.
Đọc kết quả để chọn tùy chọn trong ứng dụng
Proxy từ chối UDP ASSOCIATE: bật Remote DNS để DNS không cần UDP, chấp nhận game và gọi thoại không chạy qua proxy. Trình duyệt sẽ tự lùi từ QUIC về TCP với phần lớn website.
Proxy nhận UDP ASSOCIATE nhưng DNS hết giờ: mạng giữa điện thoại và proxy có thể chặn UDP, hoặc proxy nhận lệnh mà không chuyển gói. Một lần thử khác của mình với V2Ray đứng trước một proxy không có UDP cho đúng triệu chứng này: lệnh được chấp nhận, gói biến mất, không có thông báo lỗi nào.
Proxy qua đủ bốn bước: có thể tắt Remote DNS nếu muốn dùng máy chủ DNS riêng, nhưng bật vẫn an toàn hơn vì DNS không rời điện thoại.
Chạy script ngay trên điện thoại
Không có máy tính bên cạnh, anh em vẫn chạy được script nếu điện thoại đã cài Termux, ứng dụng dòng lệnh có trên F-Droid. Cài Python trong Termux bằng lệnh pkg install python, chép file script vào rồi chạy như trên máy tính. Nên chạy khi Tun2Socks đang tắt, để kết quả phản ánh proxy chứ không bị đường hầm xen vào.
Chạy một lần trên Wi-Fi và một lần trên 4G. Nếu kết quả khác nhau, ví dụ UDP chạy trên Wi-Fi mà hết giờ trên 4G, nhà mạng di động đang chặn hoặc giới hạn UDP tới proxy. Khi đó bật Remote DNS và chấp nhận UDP không qua proxy trên 4G.
Chọn loại proxy cho điện thoại
Proxy cho điện thoại nên có SOCKS5, tài khoản user và mật khẩu, và vị trí gần nơi anh em dùng để giảm độ trễ. Với tài khoản mạng xã hội, proxy dân cư tĩnh hoặc 4G giữ một IP lâu dài, hợp hơn proxy xoay. Với việc kiểm tra quảng cáo theo vùng, proxy xoay giúp thấy nhiều góc nhìn hơn.
Kiểm trên điện thoại sau khi kết nối
Mở trình duyệt, vào trang hiển thị IP, so với IP proxy. Vào thêm trang kiểm tra DNS, xem máy chủ DNS hiển thị có thuộc nhà mạng của anh em không. Nếu có, DNS đang đi ngoài proxy, kiểm lại Remote DNS và chế độ Per-App.
Nếu dùng trình duyệt, kiểm thêm WebRTC vì nó có thể lộ IP qua UDP. Bài cách tắt WebRTC có hướng dẫn cho từng trình duyệt.
Theo dõi lưu lượng
Trang chủ ứng dụng hiện số byte và số gói gửi, nhận theo thời gian thực, cập nhật mỗi giây theo mô tả. Con số này hữu ích khi dùng proxy tính tiền theo dung lượng: để điện thoại chạy một ngày ở chế độ Global, ghi lại tổng, rồi so với khi dùng Per-App. Mức chênh thường rất lớn vì ứng dụng nền tải cập nhật, ảnh và video liên tục.

Kiểm SOCKS5 bốn bước
Chẩn đoán lỗi Tun2Socks Android: giao thức, xác thực, DNS và timeout
Kết nối xong nhưng không vào được mạng
Đây là triệu chứng chung của nhiều lỗi. Kiểm theo thứ tự: chạy script kiểm SOCKS5 từ máy tính với cùng thông tin, xem bước nào hỏng. Nếu bước xác thực hỏng, nhập lại tài khoản trong hồ sơ. Nếu bước TCP hỏng, proxy hết hạn hoặc chặn đích. Nếu chỉ DNS hỏng, bật Remote DNS.
Nhập proxy HTTP vào ứng dụng
Tun2Socks chỉ nói SOCKS5. Nhập cổng proxy HTTP sẽ làm bước bắt tay thất bại ngay. Một số nhà cung cấp cấp hai cổng khác nhau cho HTTP và SOCKS5 trên cùng một địa chỉ, kiểm lại trong trang quản lý. Bài proxy HTTP và SOCKS5 so sánh hai giao thức.
Proxy xác thực bằng IP không chạy trên 4G
Proxy xác thực theo IP chỉ cho IP đã đăng ký dùng. IP mạng di động đổi thường xuyên, nên proxy chạy ở nhà qua Wi-Fi có thể không chạy khi chuyển sang 4G. Dùng proxy có user và mật khẩu cho điện thoại, đỡ phải cập nhật danh sách IP. Bài xác thực proxy bằng IP whitelist hay user password phân tích thêm.
Chậm, hết giờ, tốn pin
Kiểm độ trễ tới proxy bằng script từ cùng mạng. Proxy ở xa làm mọi kết nối chậm theo. Ứng dụng chạy nền liên tục cũng tốn pin hơn, nhất là khi đẩy cả máy qua proxy. Dùng Per-App để chỉ ứng dụng cần mới đi proxy.
Mất mạng khi chuyển giữa Wi-Fi và 4G
Khi điện thoại đổi mạng, mọi kết nối TCP tới proxy bị đứt và phải mở lại. Phần lớn ứng dụng tự kết nối lại sau vài giây. Nếu mạng không trở lại, tắt và bật lại đường hầm trong ứng dụng. Với proxy xác thực theo IP, chuyển mạng còn làm đổi IP nguồn, proxy sẽ từ chối như đã nói ở trên.
Ứng dụng khác ngừng chạy khi bật Tun2Socks
Do giới hạn một VPN của Android. Ứng dụng VPN, ứng dụng chặn quảng cáo dạng VPN hay tường lửa không cần root đều dùng chung chỗ đó. Chọn một trong hai, hoặc dùng proxy trong cài đặt riêng của ứng dụng cần đi proxy.
Chia sẻ proxy cho máy khác trong mạng
Tính năng LAN Proxy Sharing mở một máy chủ SOCKS5 trên điện thoại ở cổng 7890. Nếu bật mà không đặt tài khoản, mọi máy trong cùng Wi-Fi dùng được proxy của anh em, tốn dung lượng và có thể bị lạm dụng. Mô tả ghi tính năng này hỗ trợ xác thực, hãy đặt tài khoản khi bật.
Checklist Tun2Socks Android và câu hỏi thường gặp
Checklist trước khi dùng hằng ngày
- Kiểm proxy SOCKS5 bằng script từ máy tính: xác thực, TCP, UDP.
- Tạo hồ sơ proxy với user và mật khẩu, đặt tên dễ nhận.
- Bật Remote DNS.
- Quyết định IPv6: chặn đường thoát IPv6 nếu proxy chỉ có IPv4.
- Chọn Per-App nếu chỉ vài ứng dụng cần proxy.
- Kiểm IP, DNS và WebRTC trên điện thoại sau khi kết nối.
- Đặt tài khoản nếu bật LAN Proxy Sharing.
- Ghi nhớ ngày hết hạn proxy để tránh mất mạng bất ngờ.
Cần proxy SOCKS5 cho điện thoại, anh em có thể mua proxy giá rẻ tại ProxyVN. Có proxy dân cư tĩnh Viettel, VNPT, FPT, 4G và proxy xoay, hỗ trợ SOCKS5 với tài khoản user và mật khẩu.
Tun2Socks chỉ là đường ống. Đường ống có chở được DNS và UDP hay không phụ thuộc vào proxy ở đầu kia, nên kiểm proxy trước rồi mới cài vào điện thoại.

Checklist trước khi dùng hằng ngày
Câu hỏi thường gặp
Tun2Socks Android có cần root không. Không. Ứng dụng dùng VpnService của Android, chỉ cần anh em cho phép trong hộp thoại VPN của hệ thống lần đầu bật.
Tun2Socks có phải là VPN không. Hệ điều hành coi nó là VPN vì dùng giao diện TUN, nhưng không có máy chủ VPN và không mã hóa thêm. Bài proxy và VPN khác gì nhau giải thích kỹ hơn.
Có giữ kết nối khi màn hình tắt không. Tài liệu Android ghi tính năng VPN luôn bật có từ Android 7.0, kèm tùy chọn chặn kết nối không qua VPN trong phần cài đặt VPN. Mình chưa thử Tun2Socks với tính năng này. Nếu bật chặn kết nối, khi proxy chết điện thoại sẽ mất mạng thay vì lộ IP thật.
Dùng Tun2Socks với proxy 4G được không. Được, miễn proxy 4G có cổng SOCKS5. Bài proxy 4G nói về loại proxy này.
Một proxy dùng chung cho điện thoại và máy tính được không. Được nếu gói proxy cho phép nhiều kết nối đồng thời. Cách gọn là bật LAN Proxy Sharing có tài khoản, hoặc cài cùng thông tin proxy trên từng thiết bị. Hai thiết bị sẽ ra cùng một IP, nên đừng dùng cách này nếu cần mỗi thiết bị một IP riêng.
Tắt Tun2Socks có cần gỡ gì không. Chỉ cần bấm ngắt kết nối, biểu tượng chìa khóa biến mất là điện thoại trở lại mạng thường. Nếu đã bật tùy chọn chặn kết nối không qua VPN trong cài đặt hệ thống, nhớ tắt tùy chọn đó, nếu không điện thoại sẽ không có mạng.
Có cần đổi DNS trong cài đặt Private DNS của Android không. Private DNS gửi truy vấn qua DNS over TLS tới máy chủ anh em chọn. Khi đã bật Remote DNS trong Tun2Socks, mình khuyên để Private DNS ở chế độ tự động, tránh hai cơ chế DNS chồng nhau khó đoán đường đi. Mình chưa thử tổ hợp này trên máy thật, nên kiểm bằng trang kiểm tra DNS sau khi bật.
Vì sao game vẫn báo IP thật. Game thường dùng UDP. Nếu proxy không hỗ trợ UDP hoặc tùy chọn UDP chưa đúng, gói UDP không đi qua proxy được. Chạy script kiểm UDP trước khi kết luận.
Tun2Socks Android và những điều cần nhớ
Tun2Socks Android tạo VPN cục bộ để đẩy lưu lượng qua proxy SOCKS5, không cần root. Bật Remote DNS để DNS không rời máy, kiểm UDP của proxy bằng script trước khi cài, chọn Per-App nếu chỉ vài ứng dụng cần đi proxy. Cần proxy ổn định, liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam cho Tun2Socks Android.