Please test....
1. Got "txn-mempool-conflict (code 18)" when sending coins to cpu1qvu8kc6uvncpvwrhmz7vzdxtm5g6c2u7zyv2edg. If someone gets some coins and someone else also wants to get some coins, the second player have to wait as long as the first player's transaction will get at least one confirmation. If it is in mempool for more than five minutes, everyone will have to wait.
2. It is possible to get some coins in a bit shorter time than 5 minutes (transactions ebcaa3ebf49c420427f4bac03aa0d2079fc7574286e20609653b2ed62074b8c3 and 4c56ede5ba9ca883a258690d187970ecbe13bb019962a5352f9ea3b92fb8be2d). It is also possible to get "Coins are not ripe yet" message even if nobody received any coins in the last five minutes (because of transactions stuck in mempool mentioned above).
3. Users are probably identified by IP addresses, cookies or something similar. So it is possible to use Tor, get new circuit for every request, and get coins every five minutes, locking faucet for everyone else.
4. There is no captcha, so it is possible to implement some bot for getting funds and run it over Tor the way I described it above.
5. Distributed amounts are smaller than I can solo mine in the same time. Mining on a virtual machine connected to Tor can give me about one block per day. It means 50 coins per 24 hours, so about 2 coins per hour. Here I can get about 0.001 coins per hour playing honestly or about 10 times more when changing IP and clearing cookies every 5 or 6 minutes. So solo mining is more than 200 times more profitable than using this faucet even if someone is cheating and using it alone. That is why some users may wonder why they should use such faucet when they can just connect to some pool or solo mine much more coins. Also, you are paying 10% transaction fee, which seems quite high. Typical mining pools take something around 1% and now mempool is almost empty, so you can easily pay 1 minktoshi per byte and have your transaction confirmed in the next block.
Edit:
Donate to the faucet: soon
Is it really needed? I sent some of my coins back to the faucet and available amount on your site increased above 500 coins, so it is possible to give donations right now, just by sending coins to the address they came from, in this case cpu1qf4hnx95tp4a5x7ssdxduneymptvvy9vu3wamu5.
Edit:
Use only bech32 addresses!!!
As a tester if some programmer say "please don't" I always want to check "what happens if I do". Here it comes:
Fatal error: Uncaught BitWasp\Bitcoin\Exceptions\UnrecognizedAddressException in /home/admin/web/cpu-mining.info/public_html/vendor/faucet/vendor/bitwasp/bitcoin/src/Address/AddressCreator.php:116 Stack trace: #0 /home/admin/web/cpu-mining.info/public_html/cpuchain-faucet/index.php(458): BitWasp\Bitcoin\Address\AddressCreator->fromString('CWfH3BKi9Rktyyf...') #1 {main} thrown in /home/admin/web/cpu-mining.info/public_html/vendor/faucet/vendor/bitwasp/bitcoin/src/Address/AddressCreator.php on line 116
Too much info for the outside world. It can be used to attack this site, because the attacker will now know much more than it should (it does not apply if you want to make it open source, but "copyright - soon" suggest not publishing the code). If you want to handle it correctly, you should display some message like "invalid type of address".
Edit: Wow! It is possible to send faucet coins to faucet address, for example in tx 901f5b585440f5a097f6dc04139b8b62f1dd4a36425d5e7230f9c063fc04f5a3.
Edit: I do not know is it correct, but "Last tx" field will show any last transaction that is connected to faucet, not only transactions when faucet's address is an input. For example it showed me 84a2d372f154009944159313501dca6a08ab4b697c20567322bce178ec82d99f.
Edit: I wondered if this faucet will use coins sent to address it uses for giving them. And it can throw an exception when one of these outputs will contain less than 0.0011 coins (it can be easily triggered by sending coins from faucet to faucet, in this case output will always be less because of fees).
Fatal error: Uncaught RuntimeException: Transaction output value cannot be negative in /home/admin/web/cpu-mining.info/public_html/vendor/faucet/vendor/bitwasp/bitcoin/src/Transaction/TransactionOutput.php:34 Stack trace: #0 /home/admin/web/cpu-mining.info/public_html/vendor/faucet/vendor/bitwasp/bitcoin/src/Transaction/Factory/TxBuilder.php(154): BitWasp\Bitcoin\Transaction\TransactionOutput->__construct(-10000, Object(BitWasp\Bitcoin\Script\Script)) #1 /home/admin/web/cpu-mining.info/public_html/vendor/faucet/vendor/bitwasp/bitcoin/src/Transaction/Factory/TxBuilder.php(268): BitWasp\Bitcoin\Transaction\Factory\TxBuilder->output(-10000, Object(BitWasp\Bitcoin\Script\Script)) #2 /home/admin/web/cpu-mining.info/public_html/cpuchain-faucet/index.php(457): BitWasp\Bitcoin\Transaction\Factory\TxBuilder->payToAddress(-10000, Object(BitWasp\Bitcoin\Address\SegwitAddress)) #3 {main} thrown in /home/admin/web/cpu-mining.info/public_html/vendor/faucet/vendor/bitwasp/bitcoin/src/Transaction/TransactionOutput.php on line 34