Redirect traffic web (SOCKS proxy) untuk domain tertentu

10

Saya memiliki YouTube yang diblokir di tempat kerja saya karena alasan.

Saya seorang ilmuwan dan saya membutuhkan YouTube karena sebagian besar konferensi dan pembicaraan yang ingin saya saksikan tersedia di sana. Ya, saya benar-benar membutuhkan YouTube, untuk sains.

Saya berbicara dengan admin jaringan di sekolah saya di sini, tetapi dia agak sulit untuk ditangani dan tidak mengerti alasan apa pun. Dia adalah tipe orang yang berpikir bahwa Internet entah bagaimana melewati saluran dan port tetap dan bahwa sebenarnya mungkin untuk memblokir hal-hal seperti akses ke YouTube.

Bagaimanapun, untungnya saya memiliki server khusus di suatu tempat sehingga saya dapat ssh-proxy di sana seperti ini:

ssh -D 5000 -CN diriku sendiri @ myserver

Dan kemudian konfigurasikan Firefox (ya, Firefox, karena Chrome malas dan hanya mengandalkan pengaturan OS X [ya, saya menggunakan OS X]) untuk menggunakan proxy SOCKS5 ke port itu dan memiliki hampir semua internet yang saya inginkan.

Karena internet di sini cukup keren, saya tidak punya masalah latensi atau bandwidth.

Masalahnya adalah dedicated server saya membebani saya untuk bandwidth dan saya harus mematikan semuanya untuk mengunduh beberapa file besar (yang juga saya butuhkan, karena sains). Jadi, karena saya tidak ingin menghidupkan dan mematikan hal ini setiap kali saya ingin melihat video youtube, saya ingin memberi tahu Firefox (atau komputer saya) untuk merutekan youtube.com melalui proxy SOCKS5. Saya melihat bahwa hal itu dapat dengan mudah dilakukan sebaliknya (yaitu mengirim semua lalu lintas melalui proxy jika mereka TIDAK untuk domain ini), tetapi saya tidak tahu bagaimana para perancang tidak memikirkan hal sebaliknya.

Adakah yang tahu cara sederhana untuk mencapainya?

almnow sekarang
sumber

Jawaban:

12

Anda dapat membuat file Proxy AutoConfiguration (PAC) untuk Firefox, dan mengkonfigurasinya di bawah "URL Konfigurasi Proxy Otomatis" (baik menempatkan file PAC online di suatu tempat di server HTTP, atau dengan menggunakan file:///path/to/file.pacURL-gaya).

File PAC itu sendiri adalah file teks (JavaScript) yang mendefinisikan fungsi yang menentukan proxy yang akan digunakan:

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

Ini adalah contoh sederhana yang harus sesuai dengan kebutuhan Anda, tetapi dengan PAC dimungkinkan untuk menentukan skema proxy yang sangat kompleks (misalnya, mengambil waktu sepanjang hari dalam akun, memiliki beberapa proxy, tergantung pada alamat IP lokal, dll.). Anda dapat dengan mudah menemukan info lebih lanjut tentang file PAC di Internet, misalnya http://findproxyforurl.com/pac-functions/ .

Ale
sumber
sweeeeeeeeeeet!
alnownow
3

Saya tidak tahu tentang Firefox, tetapi di Chrome saya menggunakan ekstensi Proxy SwitchySharp ( https://chrome.google.com/webstore/detail/proxy-switchysharp/dpplabbmogkhghncfbfdeeokoefdjegm , lihat di layar ketiga di situs itu), dimana saya bisa membuat aturan.

Dengan ini, Anda dapat membuat aturan di mana domain youtube.com menggunakan proxy yang dikonfigurasi, dan semua situs lain tidak menggunakan proxy apa pun.

thomasgustavo
sumber
1

Jika Anda ingin pergi melalui proxy hanya untuk domain tertentu maka ekstensi dapat membuat pilihan melalui suatu pola. Misalnya *youtube*dan apa pun domain yang mereka gunakan. FoxyProxy melakukannya https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-standard/

manos
sumber
'"Aku harus mematikan semuanya" -Apa maksudmu?' Saya menghapusnya. Itulah komentar yang harus diposting sebagai komentar pada pertanyaan. Bukan sebagai bagian dari jawaban.
JakeGould