Is your Wireguard server not as fast as you thought? Does it suffer from constant disconnects and packet drops? Sometimes, it is simply caused by Wireguard using UDP instead of TCP. In some public networks, the ISP loves interrupting UDP traffic. With a technique called Quality of Service, they deliberately slow down UDP traffic to avoid network congestion in busy hours.
The Raspberry Pi 4 is the fastest of all Pi. It brings new interfaces to the Pi family: The USB 3.0 port, and gigabit ethernet. Now, people won’t have to be constrained by the crappy USB 2.0 interface of the previous Raspberry Pi generations. The Raspberry Pi Compute Module 4 is even better.
Wireguard sure is nice. It is both easy to use and has quite good network performance. It is almost unambiguously better than its predecessor, OpenVPN. Moreover, Wireguard is already deployed everywhere (yes, Cloudflare Warp is pure Wireguard). So, what’s the problem? If Wireguard is so good, just use a Wireguard VPN everywhere, and you can forget about leaking your IP addresses or being DDoSed.
Hosting Shadowsocks proxy servers is usually an easy task. You install it, and just forget about everything. And due to it being a lightweight proxy, shadowsocks is usually I/O-bounded: To achieve highest throughput, you need higher ethernet, not faster CPU. However, it is not always the case. It is known that some VPS providers only focus on premium connections and bandwidth, and completely ignores CPU and RAM performance to save money(cough bandwagonhost cough).
Update Mar 23 ‘21: Improve the stability of IPv6 tunnel. I like IPv6, but Cox’s IPv6 network is suboptimal. I like the idea of a VPN providing millions of IPv6 addresses to its clients. Wireguard, it seems, is the obvious choice for creating an IPv6 VPN. Yes, I did set up Wireguard servers before using Debian, /etc/network/interfaces and wg-quick.