How to download and install builds of the latest iperf3 Windows versions

iperf3 is a very useful network throughput testing tool, however the most prominent versions available for Windows are either old, buggy or superceded by newer builds. It's always worth keeping up to date with the latest available build, but most people on Windows won't be able to compile from source due to lack of knowledge/lack of time.

The ESNet project maintains iperf3 but doesn't release compiled binaries for Windows. Sites like the high-visibility only host up to v3.1.3 which dates back to 2016 - six years old as of writing, and the operator of that site appears to have gone AWOL or has stopped updating it.

Fortunately, the wonderful user BudMan on the Neowin forums decided to do something about this, and has been steadily compiling the latest iperf3 builds for Windows and hosting them for download since 2014! Someone should buy BudMan a beer. Another Neowin user CryptAnalyst has also recently begun compiling for Windows and is publishing builds to their GitHub. Spoiled for choice! has the latest build linked directly, and you can download all previous releases from

For ease of use on the command line, don't forget to extract the zip to a 'persistent' location, then add that folder to your Windows PATH environment variable (it only takes a few seconds). Here's another guide on how to do it in Windows 10; the process is very similar for Windows 7 (see also

Of course, adding the iperf3 path to your Windows PATH variable is optional, but it's convenient. Once done, you can just invoke "iperf3" from a prompt like anything else. Happy throughput testing.

Compiling the HTTP Substitutions Filter module for NGINX on CentOS 7

I use NGINX for various things, including one niche case, where I rewrite and replace strings before presenting them to the user. I do this using the HTTP substitutions filter module. The readily-compiled module to accomplish this is included with the paid NGINX Plus, but is also available to DIY compile if you have the ability.

If you're just looking for precompiled .so files you can use with NGINX on CentOS 7 available from the repository, see the end of this post.

A while ago I took the time to work out how to compile this for updates; the CentOS box I run NGINX on uses yum packages for updates, but then the subs filter module stops working. So, after half an hour or so of tinkering, quiet swearing, obtaining of additional packages, tweaking commandlines etc... I have a working oneliner to make an NGINX build which will also compile a suitable file. 

To compile this dynamic module you generally need to build with the same switches used for the packaged build. So, first step was to find out how it was compiled:

See how to check your compile flags, and how to build from source

Guide: Creating more professional livestreams with OBS & VoiceMeeter

I've used VoiceMeeter for years. It can be confusing at first, but its powerful features make it an invaluable tool. 

During this time, quite a few people have asked me about how to configure VoiceMeeter and OBS for their own streaming needs. More recently, questions about setting up a livestream or podcast streaming setup for going live on the web-based Melon and more fully-fledged services prompted me to update and publish a guide I'd had in my drafts for some time. 

If you're a PC streamer, it's worth familiarising yourself with OBS and VoiceMeeter. This combo is really useful and opens up a tremendous amount of flexibility. 

There's a lot I haven't covered in this first guide. I've barely scratched the surface of optimising OBS for recording and streaming, particularly as there is so much to cover depending on whether you are Intel/AMD or NVidia/AMD for graphics, whether you have one or two machines for presenting/gaming and streaming... NDI also creates more possibilities in this regard.

And with regard to VoiceMeeter, there's also more to cover - VBAN (low latency, uncompressed networked two-way audio), VoiceMeeter's processing and effects, the wonderful virtual insert feature which lets you route audio into a DAW via ASIO and back into VoiceMeeter as an insert... All incredibly powerful features. 

I'll write further guides covering these - please leave a comment or tweet me with what you'd like to see. Likewise, if you spot any errors, please leave a comment or contact me on social media.

What is VoiceMeeter?

How to make read-only 'virtual' exFAT directories for FTP users on Synology NAS running DSM 6

Update, December 2019: installing third-party scripts or package managers which run on boot may overwrite the file /etc/rc.local which I initially recommended using. I've revised this article to recommend a better autostart script directory; feel free to borrow the simple start/stop script I included at the end of this post.

I recently purchased a Synology NAS running DSM 6, and sharing directories via FTP is easy. In Control Panel, make sure the Shared Folder is defined, then using File Station, define access permissions (read, write, execute) for each group or user.

If you want an additional user for FTP access, you make your user (or make a group then add your user to that) then Allow access to the FTP application inside Control Panel -> Users or Groups. The permissions are inherited, UNIX style, to effectively restrict rights over folders and their files.

So far, so simple; this works great for everything on the NAS' internal storage, because by default it uses EXT4 filesystem which supports file & directory permissions and ACLs. On the terminal, a plus symbol at the end of an ls directory listing denotes the file or directory has additional ACLs applied, which can overrule standard UNIX permissions.

However, on any external drives connected to the Synology, for example a large USB3 drive for temporary storage of additional material, those drives may use file systems other than EXT4 so they're accessible by, say, Windows PCs. In this case, given we're probably also dealing with very large files, exFAT is a sensible choice - and the Synology does support exFAT, albeit there's a long story about that. tl;dr - pay $4 and just get the official exFAT Access package from Synology through the Package Manager, it's zero-hassle and has full read/write support. More info on supported external devices here.

One thing exFAT volumes lack when used through the Synology is support for any UNIX file and directory permissions. Normally that's acceptable, but if you're sharing files to other users, either via NFS, SMB or FTP, you may wish to use permissions to prevent accidental deletion - and on an exFAT volume, this means you can't.

But we can do read-only access with exFAT! It just requires some creative thinking...

Click to read the article and find out how