Ein Gateway ist ein Server kein Programm. auf Programmebene nennt man das, wie du schon erwähnt hast, Proxy ("Stellvertreter").
Programme für diesen Zweck gibt es einige. Du kannst mit Netzwerkkomponenten, wie z.B.
INDY, synapse o.ä. auch ein solches Programm schreiben. Verwende mal die Suche hier nach Proxy.