I actually had the same thought as you. I ran Syncthing on my ODROID-XU4 for about a year (eventually switching from btrfs to ZFS), which worked well enough, although it was a kind of slow (mostly because it couldn’t handle ZFS that well).
I wanted to try to get better performance, so I recently bought a Rock64 (the 4GB RAM version), but I haven’t had time to get Syncthing running on it yet. The main reasons I like the Rock64 are that it has the most RAM in its price range (important for ZFS), it’s 64 bit (ZFS technically only supports 64 bit systems) and it has hardware accelerated crypto. Not only does it accelerate AES for encryption, but it also does SHA256, which should make Syncthing faster.
Here are the results of cryptsetup benchmark
:
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 254015 iterations per second for 256-bit key
PBKDF2-sha256 474898 iterations per second for 256-bit key
PBKDF2-sha512 248713 iterations per second for 256-bit key
PBKDF2-ripemd160 151178 iterations per second for 256-bit key
PBKDF2-whirlpool 66737 iterations per second for 256-bit key
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 348.5 MiB/s 435.4 MiB/s
serpent-cbc 128b N/A N/A
twofish-cbc 128b 31.6 MiB/s 34.2 MiB/s
aes-cbc 256b 302.2 MiB/s 397.4 MiB/s
serpent-cbc 256b N/A N/A
twofish-cbc 256b 32.1 MiB/s 34.2 MiB/s
aes-xts 256b 384.4 MiB/s 389.0 MiB/s
serpent-xts 256b N/A N/A
twofish-xts 256b 33.7 MiB/s 34.5 MiB/s
aes-xts 512b 356.5 MiB/s 357.4 MiB/s
serpent-xts 512b N/A N/A
twofish-xts 512b 34.0 MiB/s 34.5 MiB/s
If I have time later, I’ll try to run Syncthing’s benchmark.
The software support for the Rock64 is significantly worse than the ODROID-XU4. Only a few distributions explicitly support the Rock64. For others you will have to compile your own bootloader and kernel for all the hardware to work. The mainline Linux kernel boots fine, but USB does not work. For USB support you have to use the officially supported 4.4 kernel.