Làm cách nào để kết nối với SOCKS Proxy từ iPhone / iPod Touch?


18

Tôi thích lướt web an toàn và riêng tư thông qua proxy SOCKS mà tôi đã tạo thông qua đường hầm SSH, trên máy Mac. Tôi đã sử dụng máy khách SSH trên máy Mac của mình để đạt được điều này. Sau đó tôi nghĩ, vì HĐH iPhone thực chất là Mac OS, nên thủ thuật tương tự cũng có thể hoạt động trên iPhone.

Tôi đã quản lý để tạo một đường hầm SSh trên iPhone của mình thông qua Terminal (Terminal của iPhone). (Vâng, nó đã bị bẻ khóa)

ssh -D [port] user@domain.com

Ở giai đoạn này, iPhone của tôi là SOCKS proxy.

Tuy nhiên, dường như không có cách nào trong bảng ưu tiên mạng iPhone để chỉ định proxy SOCKS. Ai đó đề nghị tạo tệp Proxy Auto-Contig (PAC) để khắc phục điều này, nhưng điều đó nghe có vẻ phức tạp.

Bạn có ý tưởng nào để làm cho iPhone sử dụng proxy SOCKS của riêng mình không?

Câu trả lời:


20

Tôi đoán, không có cách nào tốt hơn để làm điều đó. Bạn thật là Apple, thật khó để đặt cài đặt SOCKS Proxy trong bảng cài đặt mạng iPhone OS phải không? :-(

Dù sao, câu trả lời tốt nhất cho đến nay và là câu trả lời duy nhất tôi có thể tìm thấy trên Net, là từ một tài liệu từ trang web SNIPPLR Code 2.0 có tên Cách kết nối với SOCKS Proxy từ iPhone / iPod Touch không bị phá vỡ .

Dưới đây là phiên bản làm sạch của giải pháp của họ:

Có thể giả sử, có lẽ bạn đã chuyển tiếp lưu lượng truy cập web của mình thông qua một đường hầm SSH / SOCKS tại nơi làm việc (vì lý do riêng tư) và bạn muốn sử dụng cùng một đường hầm trên iPhone / iPod Touch. Điều này thực sự khá dễ dàng để thực hiện.

  1. Đảm bảo đường hầm SOCKS trên máy tính làm việc của bạn cho phép kết nối mạng LAN để iPhone / iPod Touch của bạn có thể kết nối với nó.

    ssh -N -g -D 1080 user@domain.com
    
  2. Tạo một tệp văn bản và chèn mã sau đây:

    function FindProxyForURL(url, host)
    { 
         return "SOCKS 192.168.xx.xx:yyyy";
    }
    

    Thay thế x x bằng IP của bạn và y bằng cổng bạn đã sử dụng sau -D trong lệnh SSH của bạn

  3. Lưu tệp văn bản dưới dạng tệp Proxy Auto-Config (PAC) vào nơi có thể truy cập web có phần mở rộng .pac .

    Nếu bạn đang đọc cơ hội này, bạn sẽ biết cách phân phát tệp qua HTTP trên mạng LAN công việc của mình, vì vậy tôi sẽ không nghiên cứu sâu về điều đó.

  4. Cuối cùng, trên iPhone / iPod Touch, hãy đi tới Cài đặt → Wi-Fi và nhấp vào mũi tên màu xanh ở bên phải mạng làm việc của bạn. Cuộn xuống dưới cùng, nhấp vào Tự động và nhập địa chỉ vào tệp PAC của bạn (ví dụ: http: //192.168.xx.xx/mysupersecretproxy.pac ).

Giờ đây, bạn có thể lướt web an toàn từ iPhone / iPod touch.


Điều này bao gồm trường hợp sử dụng WIFI, nhưng không phải là liên kết mạng 2g / 3g.
Douglas Held

Điều này không đánh bại toàn bộ mục đích của đường hầm ssh? Lưu lượng giữa iPhone và máy tính sẽ không được mã hóa?
JBis

Dường như cài đặt proxy bị bỏ qua khi được kết nối với VPN (WireGuard), điều này gây khó chịu, vì tôi muốn dựa vào đó để mã hóa kết nối giữa thiết bị iOS và máy chủ đang chạy ssh -gD. Trở lại với bản vẽ.
sjy

4

Wow cảm ơn vì câu trả lời cuối cùng.

Cùng với bài đăng trên blog "SSH để có được iPhone của bạn trực tuyến qua cáp USB" , tôi đã tìm ra một giải pháp SSH / SOCKS đảo ngược tức thì khá chắc chắn qua USB chỉ được cung cấp một máy chủ SSH ở đâu đó trên mạng của bạn. Điều này cho phép tất cả các ứng dụng dựa trên tcp của tôi sử dụng internet của máy chủ SSH qua USB mặc dù WiFi của tôi bị lỗi và không có gói dữ liệu điện thoại mạnh (Trả trước T-Mobile).

Không cần cấu hình máy chủ proxy.

Điểm chính của bài đăng trên blog là bạn CÓ THỂ kiểm soát proxy từ dòng lệnh. Sử dụng tệp:

/private/var/preferences/SystemConfiguration/preferences.plist

Tìm phần "ip1" (nếu bạn muốn thay thế giao diện GPRS / EDGE / 3G) như:

<dict>
<key>Interface</key>
<dict>
<key>DeviceName</key>
<string>ip1</string>
<key>Hardware</key>
<string>com.apple.CommCenter</string>
<key>Type</key>
<string>com.apple.CommCenter</string>
</dict>

Hãy cẩn thận rằng bạn đã có phần ip1 nếu bạn muốn ghi đè EDGE / 3G! Đừng tìm các mục Proxy khác trong tệp.

Sau đó thêm phần sau đây:

<key>Proxies</key>
<dict>
<key>ProxyAutoConfigEnable</key>
<integer>1</integer>
<key>ProxyAutoConfigURLString</key>
<string>file:///private/var/preferences/proxy.pac</string>
</dict>

Sau đó, sử dụng thủ thuật của bạn để chỉ định proxy SOCKS trong tệp chúng tôi vừa chỉ định:

/private/var/preferences/proxy.pac

Thêm vào:

function FindProxyForURL(url, host)
{ 
     return "SOCKS 127.0.0.1:1080";
}

Thay đổi quyền trên proxy.pac thành 777 (tất cả đều có thể đọc, viết, thực thi).

Khởi động lại iPhone.

Tải xuống iTunnel cho iTunes 9 (phiên bản cũ hơn cũng có sẵn). (http://www.mediafire.com/?2q1fzowoy12)

Tạo kết nối Putty mới: trong phần Kết nối> SSH> Đường hầm thêm cổng "từ xa" được chuyển tiếp mới, như cổng 202 trên iPhone vào máy chủ SSH đối diện internet của bạn (giả sử 192.168.2.100:22).

Source Port: 202
Destination: 192.168.2.100:22

Trong phần SSH của cùng một kết nối Putty, hãy đặt Remote Commmand của bạn thành:

ssh -D 1080 user@127.0.0.1 -p 202

Lưu cấu hình Putty của bạn vào một phiên có tên mới.

Tùy chọn tạo khóa và thêm khóa công khai vào * ~ / .ssh / ủy quyền_key * cho cả hai đầu để bạn không cần nhập mật khẩu. Sử dụng putty.exe -load "Tên hồ sơ" trong một phím tắt để tăng tốc hơn nữa.


Tất nhiên, nếu bạn đang chạy một máy chủ OpenSSH trên Windows với Cygwin hoặc một cái gì đó, thì bạn có thể chỉ cần bỏ qua đường hầm trung gian.
thadk

Đây là một người làm điều ngược lại để thực hiện việc trói
thadk

0

Thông báo này dường như gợi ý rằng không thể thực hiện điều này thông qua dòng lệnh, nếu tôi diễn giải nó chính xác. Tôi nghĩ điều đó có nghĩa là bạn thực sự không thể, vì các tùy chọn Mạng không hỗ trợ SOCKS.


Trang web này nói rằng không có vấn đề gì với việc tạo proxy SOCKS, nhưng cài đặt phải được đặt bằng các tệp PAC. Tôi đã wodnerign nếu có một cách dễ dàng hơn. snipplr.com/view/16563/ từ
GeneQ


0

Các câu trả lời ở trên không phải là tất cả.

  1. Ssh -D không phải là proxy toàn cầu trên hệ thống iOS (như iPhone và iPad).

  2. Proxy HTTP cũng không phải là proxy toàn cầu.

Cả hai không thể được sử dụng trên hầu hết các trò chơi và IM (tin nhắn tức thời). Nó chỉ dành cho một số lướt web (Safari là ổn) nhưng chủ yếu chỉ có điều này.

Cách tốt nhất và dễ dàng nhất trên iPhone và iPad là sử dụng VPN. Đó là đại lý toàn cầu, có thể chuyển tất cả dữ liệu Internet qua máy chủ VPN từ xa. Một lựa chọn khác là OpenVPN, cung cấp cho khách hàng trên iOS.

Không có một chương trình nào như vậy cho iPhone và iPad để chạy proxy vớ toàn cầu như thế trên Windows.


0

Tôi đã tìm thấy một cách để làm điều này mà không cần bẻ khóa, nhưng bạn sẽ cần truy cập vào một máy chủ ssh, mà bạn có thể lưu trữ trên máy tính tại nhà của riêng bạn.

Bạn sẽ cần hai ứng dụng iPhone; iSSH (đường hầm ssh) và ProxyBrowse (trình duyệt vớ5).

Bạn cũng sẽ cần một máy chủ SSH.

Trong ví dụ này, chúng tôi sẽ gọi máy chủ SSH [máy chủ] và tài khoản người dùng của chúng tôi cho máy chủ ssh [người dùng].


Máy chủ SSH

Chạy lệnh sau:

SSH -f -N -D 8080 [user]@[host]

Đúng vậy, bạn đang ở [máy chủ] tạo một cổng động chuyển tiếp về [máy chủ], bạn sẽ thấy tại sao sớm.


iSSH

"Thêm cấu hình ...", điền vào những thứ thông thường cho máy chủ / tên người dùng / v.v. Gần phía dưới, bạn có thể chọn SSH> Không và bạn sẽ thấy tùy chọn cho "Đường hầm", chọn tùy chọn đó. Chọn nút "Thêm đường hầm".

Cổng địa phương: 8080

Dest Host: [máy chủ]

Cổng Dest: 8080

Lưu tất cả mọi thứ và mở kết nối.


ProxyBrowse

Máy chủ: localhost

Cảng: 8080

Không điền tên người dùng hoặc mật khẩu, bạn sẽ không cần, vì iSSH đã tạo đường hầm và iSSH tiếp tục chạy trong nền trên iPhone của bạn.

Thế là xong, giờ bạn có thể duyệt web qua một đường hầm SSH.


Bạn muốn đi một bước xa hơn? Cài đặt Tor trên máy chủ của bạn, kết nối đường hầm iSSH với cổng Tor và sau đó từ điện thoại của bạn, bạn có thể thực sự duyệt web ẩn danh.

Đối với những người có khuynh hướng kỹ thuật muốn biết thêm một chút chi tiết về những gì vừa xảy ra:

[host] : ssh -f -N -D 8080 [host]
[client_tunnel] : ssh -L 8080:localhost:8080 [host]
[client_socks5] : localhost:8080

Trình duyệt proxy SOCKS giao tiếp qua đường hầm chuyển tiếp cổng cục bộ đến đường hầm chuyển tiếp cổng động trên máy chủ.

đầu tiên


Điều này không bao gồm bất kỳ truy cập mạng nào ngoại trừ ProxyBrowse. Các email chẳng hạn, không được bảo vệ.
Douglas Held

0

Nếu bạn có quyền truy cập vào trình bao (bẻ khóa) và có thể đặt proxy.pactệp vào vị trí được đề cập ở trên, bạn cũng có thể sử dụng liên kết sau cho proxy.pactệp trong tùy chọn Mạng cho kết nối bạn đang cố gắng tạo đường hầm:

file://private/var/preferences/proxy.pac

Cùng với đường hầm SSH đến máy chủ SSH ở Hoa Kỳ, tôi có thể nghe Pandora / Slacker, v.v. qua
Wi-Fi bên ngoài khu vực phủ sóng được phép (tức là khi đi du lịch bên ngoài Hoa Kỳ).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.