I was going to fork the one you have in github but I see that version is a bit ahead of what’s released.
I made a new repo, put the 3.7.3 file there. Then the changes to it that I used for the user-agent and then made a new branch of that for the purge varnish button changes I did (since that change is probably specific to me).
https://github.com/madavorMichaelMa/varnish-http-purge/commits/
Basically, my Varnish VCL uses a modified version of the devicedetect that’s out there (mostly the same but I reduced the total amount of devices identifiers that are passed) since some of the sites I manage have different versions for mobile, tablet and desktop. Purging the cache when a person made an update only purged the desktop (WordPress user-agent resolved to desktop as “other”) so I needed to be able to pass in user-agents to purge all versions of the cache. Added in the filter to allow you to pass in user-agents that it will loop through.
For the Purge Varnish button, I never found a good use for it in it’s current implementation. Wiping the entire cache is an extreme measure and rarely ever needed to be done for me. But purging a specific page URL is something my editors have requested quite often. Plus, I never liked that the button to wipe the entire cache was just a few pixels away from the “edit post” button.
So I modified the Purge Varnish button in the admin tool bar to “Purge Varnish URL” which will purge the current URL as if you made an update to the page (even allows you to purge static files by manually editing the request). Since this isn’t as extreme as purging the entire cache, I was more than happy to allow editors access to this (debatable for others I guess).