I looked at porting this over to my fork, and also had the problem. Found the offending line with some of my own debug code....the conversion from backquotes broke a function...
Thanks, I'll revert the change. I only did so for better code uniformity, but otherwise the original code was fine.
(1) If your VPN provider pushes multiple DNS servers which would be used in 'Exclusive' mode, only the first one will actually be used
That's correct. There's no way around this, and it generally should not be a problem. The only real solution would be for dnsmasq to start supporting different resolvers based on the MAC or IP address of the client.
(2) If you defined a CIDR range for VPN, then excludes from that range to WAN, it won't work. You need to specify each client individually
That's indeed a limitation of the current implementation. One fix would be to insert iptables rules as well for WAN clients, with a -j RETURN in them, I just haven't gotten around to looking into it yet (I only briefly tested that CIDR VPN rules worked, but didn't go any further yet with testing).