Ruby Net::FTP lewat SOCKS: login berhasil, unduhan menggantung
Lacak koneksi kontrol dan data Ruby FTP melalui rute proxy yang sama dan dimaksudkan.
Login FTP memakai koneksi kontrol. Setelah itu, daftar direktori atau unduhan memerlukan koneksi data, yang bisa gagal meskipun login melalui SOCKS berhasil.
Identifikasi dulu mode pasif atau aktif. Pada mode pasif, klien membuka koneksi baru ke alamat dan port yang diberikan server FTP. Koneksi itu juga memerlukan rute proxy yang dimaksudkan.
Integrasi socket Ruby
Net::FTP API Ruby mendokumentasikan perilaku koneksi dan mode pasifnya. Integrasi SOCKS harus mencakup pembuatan socket yang dipakai jalur kontrol maupun jalur data; pengaturan proxy klien HTTP di tempat lain tidak mengonfigurasinya.
Jika integrasi mengubah perilaku socket secara global, tinjau cakupan konkurensinya. Blok di sekitar satu transfer tidak dapat mengisolasi thread lain dari perubahan pada keadaan bersama.
Penyedia dapat menawarkan endpoint statis, tetapi itu fitur layanan, bukan persyaratan umum SOCKS. Jika koneksi terpisah dapat memakai jalan keluar berbeda, periksa bagaimana server FTP mengaitkan koneksi datanya dengan koneksi kontrol yang terautentikasi.
Catat tahap yang dicapai, mode, dan endpoint data, tanpa kredensial. Ini membedakan jalur data yang terblokir dari kegagalan login proxy.