Well, there are some differences between sshuttle and xiringuito:
1) xiringuito is great for UDP. I had issues with RTP streams (UDP, random ports) running over sshuttle , though they run perfectly over SSH tun/tap.
2) I can run low-level non-TCP, non-UDP, IP protocols like OSPF over tunnels I create with tun/tap.
3) xiringuito does not require python. Not everybody loves python.
Overally I am a fan of sshuttle, but the way it's made prevented me from using it in a few cases, so I created xiringuito ;)
Yeah sshuttle has basically got the "simplest VPN" problem completely closed up IMO.
Does sshuttle still cause occasional kernel panics on MacOS? (This is a real question, not a troll - I haven't used sshuttle for several years and it was a known issue among my colleagues at the time)
https://github.com/apenwarr/sshuttle
Edit: xiringuito uses the SSH tun/tap feature, which does TCP-over-TCP tunneling (which performs badly[1]). sshuttle instead multiplexes the TCP streams over a single connection by capturing them and opening a new TCP session at the remote end. This means it does not need root permissions on the remote side, since it does not need any raw sockets or even create tap devices.
The SOCKS proxy and the port forwards (-L, -R etc) work similarly, it's just the tunnel feature which should be avoided since it forwards whole packets.
[1]: http://sites.inka.de/bigred/devel/tcp-tcp.html