Does this look familiar?
The reason for this is Metamask's RPC server is currently overloaded by requests, most likely due to EOS Token Distribution use. The EOS team is already looking to bring up more RPC servers, but in the meanwhile, you can create your own!
Error: SyntaxError: Unexpected end of JSON input
at Object.InvalidResponse (chrome-extension://-----/scripts/inpage.js:8237:28386)
1. Download Parity: https://parity.io/parity.html
Assuming you are using Windows, scroll down and click the Windows Download button.
2. Once downloaded, double click on the downloaded file to install, assuming you are using chrome, it will look like this on the bottom left :
3. An agreement will come up. If you agree, click "I Agree" - you need to agree to it to install, most standard programs have one.
4. Click Install. Optional: Choose installation directory if necessary.
5. Once installed, a firewall window might popup. Doesn't matter what you select, just click okay. Parity will popup in your browser and ask you for an username/password/etc. Put anything, you will not be using Parity's wallet, you will be using your Metamask wallet so it does not matter.
6. Once you are finished setting it up, at the bottom right it will need to sync with the network.
7. Still syncing:
8. When it is fully synced, it will say best block on the bottom right. I would give it 30 seconds or so to write the cache to the hard drive if you are not using a SSD. (If you don't know what that is, you probably aren't)
9. You now have a working RPC Server! Click on Metamask where it says on my screen, Ethereum Main Net, and select Custom RPC. I may have a few additional servers added to mine you do not.
10. In the url, put in or copy paste:
http://localhost:8545

11. Then click Save. It will connect to your new RPC server.
12. You should now be able to access http://eos.io/distribution as normal.
Alternative:
The developer of EOS is currently using his own Parity server, which is what the above steps explain. But if you prefer to use/trust a third party parity server, you can replace http://localhost:8545 with https://mainnet.infura.io:8545 in step 10.
