Tuesday, November 19, 2024

Shadowsocks là gì?

-

Shadowsocks là gì?

Shadowsocks là một phần mềm mã nguồn mở cho phép tạo ra một kết nối mạng an toàn (VPN) để truy cập các trang web bị chặn hoặc giới hạn trên Internet. Nó được phát triển ban đầu để giúp người dùng ở Trung Quốc có thể truy cập các trang web bị chặn, nhưng hiện nay được sử dụng rộng rãi trên toàn thế giới.

Shadowsocks hoạt động bằng cách ẩn địa chỉ IP và mã hóa dữ liệu truyền tải giữa máy tính của người dùng và máy chủ đích. Khi kết nối được thiết lập, người dùng có thể truy cập Internet một cách an toàn và riêng tư, giúp tránh được sự giám sát và kiểm soát của các tổ chức chính phủ hay các nhà cung cấp dịch vụ Internet.

Shadowsocks được phát triển dựa trên ngôn ngữ lập trình Python và có thể được sử dụng trên nhiều hệ điều hành, bao gồm Windows, macOS, Linux và các thiết bị di động chạy hệ điều hành Android hoặc iOS.

Chi phí cho Shadowsocks

Shadowsocks là một phần mềm mã nguồn mở và được cung cấp miễn phí. Bạn có thể tải về và sử dụng Shadowsocks mà không cần trả bất kỳ khoản phí nào.

Tuy nhiên, nếu bạn muốn sử dụng các dịch vụ cung cấp máy chủ Shadowsocks của bên thứ ba, bạn có thể phải trả phí cho những dịch vụ này. Một số nhà cung cấp dịch vụ Shadowsocks có thể cung cấp một số tính năng và tốc độ kết nối tốt hơn và yêu cầu người dùng trả phí để sử dụng.

Ngoài ra, nếu bạn sử dụng Shadowsocks để truy cập các trang web bị chặn hoặc giới hạn trên Internet, bạn cũng có thể cần trả phí cho dịch vụ proxy hay VPN được sử dụng để kết nối đến máy chủ Shadowsocks. Tùy thuộc vào nhu cầu sử dụng của mỗi người dùng, việc phải trả phí cho các dịch vụ này có thể khác nhau.

Shadowsocks và VPN

Shadowsocks không phải là một VPN, mặc dù chức năng của nó có thể giống với một VPN.

Shadowsocks tạo ra một kết nối mã hóa giữa máy tính của người dùng và một máy chủ đích thông qua một giao thức mã hóa nhẹ và đơn giản. Mục đích của nó là che giấu hoạt động truy cập mạng của người dùng khỏi việc giám sát và kiểm soát của các tổ chức chính phủ hay các nhà cung cấp dịch vụ Internet.

Trong khi đó, một VPN tạo ra một kết nối an toàn giữa máy tính của người dùng và một máy chủ VPN thông qua một giao thức VPN phức tạp hơn. Khi kết nối VPN được thiết lập, toàn bộ lưu lượng truy cập mạng sẽ được định tuyến thông qua máy chủ VPN, giúp che giấu địa chỉ IP của người dùng và mã hóa dữ liệu truyền tải.

Việc dựng một máy chủ VPN ở một quốc gia cho phép truy cập các trang web bị chặn có thể là một giải pháp để truy cập bbc.com tại Việt Nam.

Tuy nhiên, phương pháp này khác với việc triển khai Shadowsocks. Với Shadowsocks, dữ liệu được mã hóa và giải mã trên đầu cuối, giúp tăng cường tính riêng tư và bảo mật. Trong khi đó, với VPN, dữ liệu được truyền đi dưới dạng gói tin được mã hóa, nhưng khi đến đầu cuối, các gói tin được giải mã trước khi được đưa đến máy tính của người dùng.

Tóm lại, việc sử dụng VPN có thể giúp truy cập vào các trang web bị chặn nhưng không cung cấp tính riêng tư và bảo mật như Shadowsocks.

Sử dụng Shadowsocks cho trường hợp nào?

Ví dụ nếu bạn ở Việt Nam và muốn truy cập vào trang web bbc.com bị chặn, bạn có thể triển khai một máy chủ Shadowsocks ở một đất nước không bị chặn truy cập vào bbc.com (ví dụ như Anh), sau đó sử dụng dịch vụ proxy hoặc VPN để kết nối đến máy chủ Shadowsocks này. Khi bạn kết nối thành công, bạn sẽ có thể truy cập vào trang web bbc.com một cách dễ dàng.

Việc triển khai máy chủ Shadowsocks ở đất nước khác để truy cập vào trang web bị chặn là một trong những ứng dụng phổ biến của Shadowsocks. Ngoài ra, bạn cũng có thể sử dụng các giải pháp khác như VPN, dịch vụ proxy hoặc một số công cụ tương tự để truy cập vào các trang web bị chặn.

Nếu bạn triển khai máy chủ Shadowsocks ở một quốc gia bị chặn truy cập trang web bbc.com, thì việc sử dụng máy chủ này để truy cập vào trang web bbc.com từ Việt Nam có thể không hiệu quả hoặc thậm chí không thể thực hiện được.

Điều này bởi vì khi bạn kết nối đến máy chủ Shadowsocks ở quốc gia bị chặn, toàn bộ lưu lượng truy cập của bạn sẽ đi qua mạng Internet công cộng ở quốc gia đó, và lưu lượng này có thể bị chặn hoặc giới hạn bởi các cơ quan quản lý mạng của quốc gia đó. Do đó, việc triển khai máy chủ Shadowsocks ở một quốc gia bị chặn không phải là giải pháp tốt để truy cập các trang web bị chặn.

Trong trường hợp này, bạn có thể cần phải tìm các giải pháp khác, chẳng hạn như sử dụng VPN hoặc dịch vụ proxy. Tuy nhiên, tôi nhắc lại rằng việc truy cập vào các trang web bị chặn có thể vi phạm luật pháp của một số quốc gia, vì vậy bạn nên thực hiện các hoạt động trên Internet một cách cẩn thận và trách nhiệm.

Yêu cầu để triển khai Shadowsocks

Để triển khai Shadowsocks, bạn cần có các yêu cầu sau:

  • Một máy tính hoặc một máy chủ có thể truy cập được từ Internet. Bạn có thể sử dụng một máy tính cá nhân hoặc thuê một máy chủ từ một nhà cung cấp dịch vụ đám mây.
  • Hệ điều hành phù hợp để chạy Shadowsocks, bao gồm Windows, macOS, Linux và một số hệ điều hành khác.
  • Phiên bản Shadowsocks phù hợp với hệ điều hành của bạn. Bạn có thể tìm và tải phiên bản Shadowsocks mới nhất trên trang web chính thức của dự án hoặc thông qua các kho lưu trữ phần mềm như GitHub.
  • Các thông tin cấu hình của Shadowsocks, bao gồm địa chỉ IP và cổng được sử dụng để kết nối đến máy chủ Shadowsocks, tên người dùng và mật khẩu để xác thực kết nối.

Ngoài ra, nếu bạn muốn triển khai Shadowsocks để truy cập các trang web bị chặn hoặc giới hạn, bạn cần sử dụng một dịch vụ proxy hoặc VPN để kết nối đến máy chủ Shadowsocks. Tùy thuộc vào nhu cầu sử dụng của mỗi người dùng, các yêu cầu phần cứng và phần mềm có thể khác nhau.

Triển khai Shadowsocks sử dụng Docker

Bạn có thể sử dụng Docker run.

docker run -e PASSWORD=Hoanghd164 -e METHOD=aes-256-gcm -p 8388:8388 -p 8388:8388/udp -d --restart always shadowsocks/shadowsocks-libev
$ docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED         STATUS         PORTS                                                                                  NAMES
d6ca95fd4836   shadowsocks/shadowsocks-libev   "/bin/sh -c 'exec ss…"   6 minutes ago   Up 6 minutes   0.0.0.0:8388->8388/tcp, 0.0.0.0:8388->8388/udp, :::8388->8388/tcp, :::8388->8388/udp   gifted_shirley

Để triển khai Shadowsocks bằng Docker, bạn có thể sử dụng file docker-compose.yml. Đây là một ví dụ về file docker-compose.yml để triển khai Shadowsocks:

version: '3.7'
services:
  shadowsocks:
    image: shadowsocks/shadowsocks-libev
    restart: always
    ports:
      - "8388:8388/tcp"
      - "8388:8388/udp"
    environment:
      - PASSWORD=Hoanghd164
      - METHOD=aes-256-gcm
      - TIMEOUT=300
      - DNS_ADDRS=1.1.1.1,1.0.0.1
    command: ss-server -s 0.0.0.0 -p 8388 -m $METHOD -k $PASSWORD -t $TIMEOUT --fast-open --plugin v2ray-plugin --plugin-opts "mode=fast2;server=your_server_ip_here;host=your_domain_name_here;tls;loglevel=none"

Bạn có thể đặt mật khẩu của bạn trong biến môi trường PASSWORD, chọn phương pháp mã hóa trong biến môi trường METHOD (ví dụ như aes-256-gcm), và thiết lập thời gian chờ trong biến môi trường TIMEOUT.

Để sử dụng v2ray-plugin để giảm khả năng bị phát hiện, bạn cần thay đổi your_server_ip_hereyour_domain_name_here thành địa chỉ IP và tên miền của máy chủ của bạn.

Sau khi tạo file docker-compose.yml, bạn chỉ cần chạy lệnh docker-compose up -d để bắt đầu triển khai Shadowsocks.

Và đây là kết quả port 8388 của Shadowsocks đã listen trên server.

$ netstat -tlnp | grep 8388
tcp        0      0 0.0.0.0:8388            0.0.0.0:*               LISTEN      24226/docker-proxy  
tcp6       0      0 :::8388                 :::*                    LISTEN      24232/docker-proxy

Chạy shadowsocks dưới client.

Sau khi triển khai xong Shadowsocks, bạn có thể sử dụng các ứng dụng khác nhau để kết nối và sử dụng nó.

Ví dụ, nếu bạn muốn sử dụng Shadowsocks trên máy tính của mình, bạn có thể cài đặt một trong những ứng dụng như ShadowsocksX-NG trên macOS, Shadowsocks-Qt5 trên Windows, hoặc shadowsocks-libev trên Linux. Sau khi cài đặt, bạn chỉ cần nhập địa chỉ IP và cổng của máy chủ Shadowsocks của mình, cùng với mật khẩu và phương pháp mã hóa đã thiết lập trong file docker-compose.yml, và kết nối để bắt đầu sử dụng.

Nếu bạn muốn sử dụng Shadowsocks trên điện thoại di động, bạn có thể tải xuống ứng dụng Shadowsocks trên App Store hoặc Google Play Store. Sau đó, bạn chỉ cần nhập các thông tin tương tự như trên để kết nối và sử dụng.

Nếu bạn muốn sử dụng Shadowsocks cho toàn bộ mạng của mình, bạn có thể cài đặt Shadowsocks trên một router hoặc một thiết bị chạy OpenWRT. Bạn cũng có thể sử dụng Shadowsocks cho một số ứng dụng nhất định bằng cách thiết lập proxy cho các ứng dụng đó.

Ví dụ dưới đây áp dụng cho máy chạy MacOS. Hãy tải phần mềm tên là Shadowsocks về máy của bạn. Vào Servers – (No Selected) › Server Preferences…

Thiết lập các thông tin chúng ta đã khai báo trên máy chủ, ví dụ password, ip server,…

Như vậy trong danh sách server Shadowsocks bạn đã có server đầu tiên đã được thêm vào.

Bây giờ bạn có thể bấm vào HTTP Proxy Export Line To Pasteboard để copy một dòng command dán vào terminal để chuyển traffic của trình duyệt sang proxy.

Nội dung command có dạng như sau, bạn hãy paste vào terminal của MacOS.

export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;

Vậy là từ bây giờ trình duyệt của bạn sẽ truy cập website thông qua Shadowsocks. Để kiểm tra bạn có thể làm như sau:

  • Trường hợp Container Shadowsocks đang running, bạn truy cập các website bình thường.

Bây giờ mình stop Container Shadowsocks bạn không còn truy cập được các website.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories