Chuyển hướng lưu lượng truy cập web (proxy SOCKS) cho một tên miền cụ thể


10

Tôi đã chặn YouTube tại nơi làm việc vì lý do.

Tôi là một nhà khoa học và tôi cần YouTube vì hầu hết các hội nghị và hội thảo mà tôi muốn xem đều có sẵn ở đó. Vâng, tôi thực sự cần YouTube, cho khoa học.

Tôi đã nói chuyện với quản trị viên mạng tại trường của tôi ở đây, nhưng anh ấy hơi khó đối phó và không hiểu bất kỳ lý do nào. Anh ta là kiểu người nghĩ rằng Internet bằng cách nào đó đi qua các kênh và cổng cố định và thực sự có thể chặn những thứ như truy cập YouTube.

Dù sao, may mắn thay tôi có một máy chủ chuyên dụng ở đâu đó để tôi có thể ssh-proxy ở đó như thế này:

ssh -D 5000 -CN mình @ myserver

Và sau đó định cấu hình Firefox (vâng, Firefox, vì Chrome lười biếng và chỉ dựa vào cài đặt OS X [vâng, tôi đang dùng OS X]) để sử dụng proxy SOCKS5 cho cổng đó và có khá nhiều Internet tôi muốn.

Vì Internet ở đây khá tuyệt nên tôi không có bất kỳ vấn đề nào về độ trễ hoặc băng thông đáng chú ý.

Điều đó là máy chủ chuyên dụng của tôi tính phí cho băng thông và tôi phải tắt mọi thứ để tải xuống một số tệp lớn (mà tôi cũng cần, vì khoa học). Vì vậy, vì tôi không muốn bật và tắt thứ này mỗi lần tôi muốn xem video youtube, tôi muốn nói với Firefox (hoặc máy tính của tôi) bằng cách nào đó chỉ định tuyến youtube.com thông qua proxy SOCKS5. Tôi thấy rằng có thể dễ dàng thực hiện theo cách khác (nghĩa là gửi tất cả lưu lượng truy cập qua proxy nếu chúng KHÔNG dành cho các miền này), nhưng tôi không biết các nhà thiết kế đã không nghĩ về trường hợp ngược lại.

Có ai biết một cách đơn giản để đạt được điều này?

Câu trả lời:


12

Bạn có thể tạo tệp Proxy AutoConfiguration (PAC) cho Firefox và định cấu hình tệp đó trong "URL cấu hình proxy tự động" (đặt tệp PAC trực tuyến ở đâu đó trên máy chủ HTTP hoặc bằng cách sử dụng file:///path/to/file.pacURL kiểu).

Bản thân tệp PAC là một tệp văn bản (JavaScript) xác định chức năng xác định proxy nào sẽ sử dụng:

function FindProxyForURL(url, host)
{
  if (shExpMatch(url, "*.youtube.com/*")) {
    return "SOCKS localhost:5000";
  } else {
    return "DIRECT";
  }
}

Đây là một ví dụ đơn giản phù hợp với nhu cầu của bạn, nhưng với PAC, có thể xác định các lược đồ proxy rất phức tạp (ví dụ: mất thời gian trong ngày trong tài khoản, có một số proxy, tùy thuộc vào địa chỉ IP cục bộ, v.v.). Bạn có thể dễ dàng tìm thêm thông tin về các tệp PAC trên Internet, ví dụ: http://findproxyforurl.com/pac-fifts/ .


sweeeeeeeeeeet!
almosnow

3

Tôi không biết về Firefox, nhưng trên Chrome, tôi sử dụng tiện ích mở rộng Proxy SwitchySharp ( https://chrome.google.com/webstore/detail/proxy-switchysharp/dpplabbmogkhghncfbfdeeokoefdjegm , hãy xem trên màn hình thứ ba trên trang web đó) nơi tôi có thể tạo quy tắc.

Với điều này, bạn có thể tạo quy tắc trong đó tên miền youtube.com sử dụng proxy được định cấu hình và tất cả các trang web khác không sử dụng bất kỳ proxy nào.


1

Nếu bạn chỉ muốn đi qua một proxy cho một số tên miền nhất định thì tiện ích mở rộng có thể đưa ra lựa chọn thông qua một mẫu. Ví dụ *youtube*và bất cứ điều gì khác mà tên miền mà họ sử dụng là. FoxyProxy thực hiện điều đó https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-st Chuẩn /


'"Tôi phải tắt tất cả mọi thứ" - ý bạn là gì?' Tôi đã loại bỏ điều đó. Đó là bình luận nên được đăng dưới dạng bình luận cho câu hỏi. Không phải là một phần của câu trả lời.
JakeGould
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.