Well, spiped lets you say "when connections arrive here, encrypt/decrypt them and send them over there". But if "over there" is behind a NAT, there's no way to do that; you would need a persistent connection, which is what ssh does and what spiped is designed to avoid.