I have a slow connection between two machines, one in Germany and another in China. Connection sometimes breaks apart, and the packet loss is about 5%, at times even reaching 20%. Chinese machine has an outgoing bandwidth of ~256 kbit. Transfer of machines to another location is impossible. There is a sort of replication process between them, coming from China.
So far I had good experience with tunneling specific traffic through zebedee. However it all stops on network split (which is often), and I have to manually restart it on client side.
I'm basically looking for config or tool that can buffer all traffic on client side, and push it through tunnel only when the connection is available. If not, it must be accumulated in file, and be able to survive system restart.
I'm thinking of writing a simple proxy daemon doing just that, but I feel there are some ready solutions available.