Non serve conoscere il protocollo applicativo, lavori a livello di trasporto (TCP). Banalmente tutto quello che da client arriva a proxy lo rigiri al server e viceversa.
Nel caso di FTP ti si complica un po' la vita in quanto FTP utilizza una secondo canale per trasferire i dati quindi ci sarebe un'ulteriore connessione da far rimbalzare e forse per il tempo che ci devi spendere su nel sviluppare una cosa simile alla fine non ne vale la pena.

Al limite impiega il proxy per il solo HTTP. Per FTP operi manualmente da shell, al limite scrivendo qualche semplice .sh con cui semplificarti la vita.

PS - hai visto se, magari, esistono dei client FTP semi-grafici stile lynx?