diff options
author | Péter Szilágyi <peterke@gmail.com> | 2017-10-30 00:02:33 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2017-11-21 21:09:39 +0800 |
commit | 327dcd3622efd472c4d168cda657c55ef8e19889 (patch) | |
tree | deb67ea5b94dd0a6d257d00def88ce0b5ccb7b81 | |
parent | ffc12f63ec57682e7c7f6653332856acbeef3183 (diff) | |
download | go-tangerine-327dcd3622efd472c4d168cda657c55ef8e19889.tar.gz go-tangerine-327dcd3622efd472c4d168cda657c55ef8e19889.tar.zst go-tangerine-327dcd3622efd472c4d168cda657c55ef8e19889.zip |
cmd/faucet, cmd/puppeth: drop GitHub support at official request
-rw-r--r-- | cmd/faucet/faucet.go | 6 | ||||
-rw-r--r-- | cmd/faucet/faucet.html | 5 | ||||
-rw-r--r-- | cmd/faucet/website.go | 2 | ||||
-rw-r--r-- | cmd/puppeth/module_faucet.go | 17 | ||||
-rw-r--r-- | cmd/puppeth/wizard_faucet.go | 46 |
5 files changed, 8 insertions, 68 deletions
diff --git a/cmd/faucet/faucet.go b/cmd/faucet/faucet.go index 94d690e53..328029fdf 100644 --- a/cmd/faucet/faucet.go +++ b/cmd/faucet/faucet.go @@ -437,7 +437,11 @@ func (f *faucet) apiHandler(conn *websocket.Conn) { ) switch { case strings.HasPrefix(msg.URL, "https://gist.github.com/"): - username, avatar, address, err = authGitHub(msg.URL) + if err = sendError(conn, errors.New("GitHub authentication discontinued at the official request of GitHub")); err != nil { + log.Warn("Failed to send GitHub deprecation to client", "err", err) + return + } + continue case strings.HasPrefix(msg.URL, "https://twitter.com/"): username, avatar, address, err = authTwitter(msg.URL) case strings.HasPrefix(msg.URL, "https://plus.google.com/"): diff --git a/cmd/faucet/faucet.html b/cmd/faucet/faucet.html index ff9bef573..ab41b2c87 100644 --- a/cmd/faucet/faucet.html +++ b/cmd/faucet/faucet.html @@ -80,11 +80,8 @@ <div class="row" style="margin-top: 32px;"> <div class="col-lg-12"> <h3>How does this work?</h3> - <p>This Ether faucet is running on the {{.Network}} network. To prevent malicious actors from exhausting all available funds or accumulating enough Ether to mount long running spam attacks, requests are tied to certain common 3rd party accounts. Anyone having a GitHub, Twitter, Google+ or Facebook account may request funds within the permitted limits.</p> + <p>This Ether faucet is running on the {{.Network}} network. To prevent malicious actors from exhausting all available funds or accumulating enough Ether to mount long running spam attacks, requests are tied to common 3rd party social network accounts. Anyone having a Twitter, Google+ or Facebook account may request funds within the permitted limits.</p> <dl class="dl-horizontal"> - <dt style="width: auto; margin-left: 40px;"><i class="fa fa-github-alt" aria-hidden="true" style="font-size: 36px;"></i></dt> - <dd style="margin-left: 88px; margin-bottom: 10px;"></i> To request funds via GitHub, create a <a href="https://gist.github.com/" target="_about:blank">gist</a> with your Ethereum address embedded into the content (the file name doesn't matter).<br/>Copy-paste the gists URL into the above input box and fire away!</dd> - <dt style="width: auto; margin-left: 40px;"><i class="fa fa-twitter" aria-hidden="true" style="font-size: 36px;"></i></dt> <dd style="margin-left: 88px; margin-bottom: 10px;"></i> To request funds via Twitter, make a <a href="https://twitter.com/intent/tweet?text=Requesting%20faucet%20funds%20into%200x0000000000000000000000000000000000000000%20on%20the%20%23{{.Network}}%20%23Ethereum%20test%20network." target="_about:blank">tweet</a> with your Ethereum address pasted into the contents (surrounding text doesn't matter).<br/>Copy-paste the <a href="https://support.twitter.com/articles/80586" target="_about:blank">tweets URL</a> into the above input box and fire away!</dd> diff --git a/cmd/faucet/website.go b/cmd/faucet/website.go index ca49b047a..7936b158e 100644 --- a/cmd/faucet/website.go +++ b/cmd/faucet/website.go @@ -68,7 +68,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _faucetHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x7a\x6d\x73\xe3\x36\x92\xf0\x67\xcf\xaf\xe8\xf0\x19\xaf\xa4\xc7\x22\x29\xdb\x33\xb3\x3e\x89\x54\x6a\x76\x36\x9b\x9d\xab\xbb\x24\x95\x4c\xea\x6e\x2b\x9b\xba\x02\x89\x96\x88\x31\x08\x30\x00\x28\x59\x71\xe9\xbf\x5f\x01\x20\x29\xea\xc5\x1e\xcf\xcb\xdd\xc5\x1f\x64\x12\x68\x74\x37\xfa\x1d\x0d\x26\x5f\xfd\xf5\xfb\x37\xef\xfe\xf1\xc3\x37\x50\x98\x92\xcf\x9f\x25\xf6\x1f\x70\x22\x96\x69\x80\x22\x98\x3f\x3b\x4b\x0a\x24\x74\xfe\xec\xec\x2c\x29\xd1\x10\xc8\x0b\xa2\x34\x9a\x34\xa8\xcd\x22\xbc\x09\x76\x13\x85\x31\x55\x88\xbf\xd5\x6c\x95\x06\xff\x19\xfe\xfc\x3a\x7c\x23\xcb\x8a\x18\x96\x71\x0c\x20\x97\xc2\xa0\x30\x69\xf0\xf6\x9b\x14\xe9\x12\x7b\xeb\x04\x29\x31\x0d\x56\x0c\xd7\x95\x54\xa6\x07\xba\x66\xd4\x14\x29\xc5\x15\xcb\x31\x74\x2f\x63\x60\x82\x19\x46\x78\xa8\x73\xc2\x31\xbd\x0c\xe6\xcf\x2c\x1e\xc3\x0c\xc7\xf9\xfd\x7d\xf4\x1d\x9a\xb5\x54\xb7\xdb\xed\x14\x5e\xd7\xa6\x40\x61\x58\x4e\x0c\x52\xf8\x1b\xa9\x73\x34\x49\xec\x21\xdd\x22\xce\xc4\x2d\x14\x0a\x17\x69\x60\x59\xd7\xd3\x38\xce\xa9\x78\xaf\xa3\x9c\xcb\x9a\x2e\x38\x51\x18\xe5\xb2\x8c\xc9\x7b\x72\x17\x73\x96\xe9\xd8\xac\x99\x31\xa8\xc2\x4c\x4a\xa3\x8d\x22\x55\x7c\x1d\x5d\x47\x7f\x8e\x73\xad\xe3\x6e\x2c\x2a\x99\x88\x72\xad\x03\x50\xc8\xd3\x40\x9b\x0d\x47\x5d\x20\x9a\x00\xe2\xf9\xa7\xd1\x5d\x48\x61\x42\xb2\x46\x2d\x4b\x8c\x5f\x44\x7f\x8e\x26\x8e\x64\x7f\xf8\x71\xaa\x96\xac\xce\x15\xab\x0c\x68\x95\x3f\x99\xee\xfb\xdf\x6a\x54\x9b\xf8\x3a\xba\x8c\x2e\x9b\x17\x47\xe7\xbd\x0e\xe6\x49\xec\x11\xce\x3f\x0b\x77\x28\xa4\xd9\xc4\x57\xd1\x8b\xe8\x32\xae\x48\x7e\x4b\x96\x48\x5b\x4a\x76\x2a\x6a\x07\xbf\x18\xdd\x87\x74\xf8\xfe\x50\x85\x5f\x82\x58\x29\x4b\x14\x26\x7a\xaf\xe3\xab\xe8\xf2\x26\x9a\xb4\x03\xc7\xf8\x1d\x01\xab\x34\x4b\xea\x2c\x5a\xa1\xb2\x96\xcb\xc3\x1c\x85\x41\x05\xf7\x76\xf4\xac\x64\x22\x2c\x90\x2d\x0b\x33\x85\xcb\xc9\xe4\x7c\x76\x6a\x74\x55\xf8\x61\xca\x74\xc5\xc9\x66\x0a\x0b\x8e\x77\x7e\x88\x70\xb6\x14\x21\x33\x58\xea\x29\x78\xcc\x6e\x62\xeb\x68\x56\x4a\x2e\x15\x6a\xdd\x10\xab\xa4\x66\x86\x49\x31\xb5\x16\x45\x0c\x5b\xe1\x29\x58\x5d\x11\x71\xb4\x80\x64\x5a\xf2\xda\xe0\x01\x23\x19\x97\xf9\xad\x1f\x73\xde\xdc\xdf\x44\x2e\xb9\x54\x53\x58\x17\xac\x59\x06\x8e\x10\x54\x0a\x1b\xf4\x50\x11\x4a\x99\x58\x4e\xe1\x55\xd5\xec\x07\x4a\xa2\x96\x4c\x4c\x61\xb2\x5b\x92\xc4\xad\x18\x93\xd8\x07\xae\x67\x67\x49\x26\xe9\xc6\xe9\x90\xb2\x15\xe4\x9c\x68\x9d\x06\x07\x22\x76\x01\x69\x0f\xc0\xc6\x21\xc2\x44\x3b\xb5\x37\xa7\xe4\x3a\x00\x47\x28\x0d\x3c\x13\x61\x26\x8d\x91\xe5\x14\x2e\x2d\x7b\xcd\x92\x03\x7c\x3c\xe4\xcb\xf0\xf2\xaa\x9d\x3c\x4b\x8a\xcb\x16\x89\xc1\x3b\x13\x3a\xfd\x74\x9a\x09\xe6\x09\x6b\xd7\x2e\x08\x2c\x48\x98\x11\x53\x04\x40\x14\x23\x61\xc1\x28\x45\x91\x06\x46\xd5\x68\xed\x88\xcd\xa1\x1f\xfe\x1e\x88\x7e\xc5\x65\xcb\x57\x4c\xd9\xaa\xd9\x56\xef\xf1\x60\x87\x0f\x6f\xe2\x06\x9a\x07\xb9\x58\x68\x34\x61\x6f\x4f\x3d\x60\x26\xaa\xda\x84\x4b\x25\xeb\xaa\x9b\x3f\x4b\xdc\x28\x30\x9a\x06\xb5\xe2\x41\x13\xfe\xdd\xa3\xd9\x54\x8d\x28\x82\x6e\xe3\x52\x95\xa1\xd5\x84\x92\x3c\x80\x8a\x93\x1c\x0b\xc9\x29\xaa\x34\xf8\x49\xe6\x8c\x70\x10\x7e\xcf\xf0\xf3\x8f\xff\x06\x8d\xca\x98\x58\xc2\x46\xd6\x0a\xbe\x31\x05\x2a\xac\x4b\x20\x94\x5a\x73\x8d\xa2\xa8\xc7\x88\xb3\xdd\x63\x56\xc3\xcc\x88\x1d\xd4\x59\x92\xd5\xc6\xc8\x0e\x30\x33\x02\x32\x23\x42\x8a\x0b\x52\x73\x03\x54\xc9\x8a\xca\xb5\x08\x8d\x5c\x2e\x6d\xa6\xf3\x9b\xf0\x8b\x02\xa0\xc4\x90\x66\x2a\x0d\x5a\xd8\x56\x87\x44\x57\xb2\xaa\xab\x46\x8b\x7e\x10\xef\x2a\x22\x28\x52\xab\x73\xae\x31\x98\x7f\xcb\x56\x08\x25\xfa\xbd\x9c\x1d\x9a\x44\x4e\x14\x9a\xb0\x8f\xf4\xc8\x30\x92\xd8\x33\xe3\xb7\x04\xcd\x5f\x52\xf3\x16\x53\xb7\x85\x12\x45\x0d\x7b\x6f\xa1\xb2\x71\x25\x98\xdf\xdf\x2b\x22\x96\x08\xcf\x19\xbd\x1b\xc3\x73\x52\xca\x5a\x18\x98\xa6\x10\xbd\x76\x8f\x7a\xbb\xdd\xc3\x0e\x90\x70\x36\x4f\xc8\x63\xe6\x0d\x52\xe4\x9c\xe5\xb7\x69\x60\x18\xaa\xf4\xfe\xde\x22\xdf\x6e\x67\x70\x7f\xcf\x16\xf0\x3c\xfa\x11\x73\x52\x99\xbc\x20\xdb\xed\x52\xb5\xcf\x11\xde\x61\x5e\x1b\x1c\x8e\xee\xef\x91\x6b\xdc\x6e\x75\x9d\x95\xcc\x0c\xdb\xe5\x76\x5c\xd0\xed\xd6\xf2\xdc\xf0\xb9\xdd\x42\x6c\x91\x0a\x8a\x77\xf0\x3c\xfa\x01\x15\x93\x54\x83\x87\x4f\x62\x32\x4f\x62\xce\xe6\xcd\xba\x7d\x21\xc5\x35\xdf\xd9\x4b\x6c\x0d\xa6\xb3\x73\xe7\x36\x8e\xd5\x3e\xa7\x27\xbc\x60\x19\x76\xdc\x37\xf6\xa0\x99\xc1\x5b\xdc\xa4\xc1\xfd\x7d\x7f\x6d\x33\x9b\x13\xce\x33\x62\xe5\xe2\xb7\xd6\x2d\xfa\x1d\xad\x9d\xae\x98\x76\x25\xd5\xbc\xe5\x60\xc7\xf6\x13\xdd\xfa\x20\x70\x19\x59\x4d\xe1\xfa\xaa\x17\xb5\x4e\x79\xfc\xab\x03\x8f\xbf\x3e\x09\x5c\x11\x81\x1c\xdc\x6f\xa8\x4b\xc2\xdb\xe7\xc6\x5b\x7a\xce\x77\xb8\x28\xb4\x31\xba\x63\xad\x8b\xf5\x93\x19\xc8\x15\xaa\x05\x97\xeb\x29\x90\xda\xc8\x19\x94\xe4\xae\xcb\x77\xd7\x93\x49\x9f\x6f\x5b\x0a\x92\x8c\xa3\x8b\x2e\x0a\x7f\xab\x51\x1b\xdd\xc5\x12\x3f\xe5\x7e\x6d\x48\xa1\x28\x34\xd2\x03\x69\x58\x8a\x56\xb4\x0e\xaa\xa7\xfa\x4e\x98\x27\x79\x5f\x48\xd9\xa5\x90\x3e\x1b\x0d\xea\x5e\xb6\x0b\xe6\x89\x51\x3b\xb8\xb3\xc4\xd0\x8f\x4a\x01\xca\x96\x78\x0f\x65\x00\x1f\xd1\xec\xde\x2b\x44\xe5\xeb\x0b\x6b\xb2\xe0\x5e\x93\xd8\xd0\xcf\xa0\x6c\x8d\x30\x23\x1a\x9f\x42\xde\x65\xfa\x1d\x79\xf7\xfa\xb9\xf4\x0b\x24\xca\x64\x48\xcc\x53\x18\x58\xd4\x82\xf6\xf6\xef\x62\xe7\xe7\x32\x50\x0b\xb6\x42\xa5\x99\xd9\x3c\x95\x03\xa4\x3b\x16\xfc\xfb\x3e\x0b\x49\x6c\xd4\xe3\xb6\xd6\x7f\xf9\x42\xce\xfd\xa1\x92\xe4\x7a\xfe\x77\xb9\x06\x2a\x51\x83\x29\x98\x06\x9b\x5c\xbf\x4e\xe2\xe2\xba\x03\xa9\xe6\xef\xec\x84\x13\x2a\x2c\x5c\x69\x01\x4c\x83\xaa\x85\xcb\xbc\x52\x80\x29\x70\xbf\x1c\x69\x92\x74\x04\xef\xa4\x2d\xe9\x56\x28\x0c\x94\x84\xb3\x9c\xc9\x5a\x03\xc9\x8d\x54\x1a\x16\x4a\x96\x80\x77\x05\xa9\xb5\xb1\x88\x6c\xf8\x20\x2b\xc2\xb8\xf3\x25\xa7\x52\x90\x0a\x48\x9e\xd7\x65\x6d\x4b\x52\xb1\x04\x14\xb2\x5e\x16\x0d\x2f\x46\x82\x4f\x4c\x5c\x8a\x65\xc7\x8f\xae\x48\x09\xc4\x18\x92\xdf\xea\x31\xb4\x51\x01\x88\x42\x30\x0c\xa9\x5d\x95\xa3\xb2\x75\x03\xe4\xb2\x2c\xa5\x80\x6b\x45\xa1\x22\xca\x6c\x2c\x2d\x97\xde\x22\x78\x2d\x36\x52\x20\x14\x64\xe5\x58\x83\x6f\x99\xf9\x7b\x9d\x8d\xe1\x9d\x3f\x4f\x8c\xe1\x5b\x29\x97\x1c\x2f\x2c\x87\x7f\x23\x39\x66\x52\xde\xb6\xcb\xa1\x24\x9b\x96\x70\xb3\x8f\x35\x33\x05\xf3\x82\xaa\x50\x95\x16\x07\x05\xce\x4a\x66\x74\x94\xc4\xd5\x2e\xb6\xee\xb2\x34\x0f\x0b\xa9\xd8\xef\xb6\xc4\xe1\x9d\xbe\x00\x12\x6a\x0e\xe2\x4c\x1b\x26\x9d\x01\x70\x5c\x98\x29\xbc\xf0\x61\xf2\xd0\xa4\x97\xcc\x14\x75\x16\x12\x7e\xd2\xa9\x5a\xb4\xee\x9c\x69\xd3\xcf\x14\xae\x7d\x71\xeb\xcb\x0a\x6a\x7a\x21\x91\x1e\x18\x9e\xa7\x7b\x73\x53\xdd\x75\xac\x74\x15\xf2\xa4\x43\x62\xed\x61\x5f\x30\x2b\xb6\x93\x6d\xae\x90\x18\x04\x02\x09\x39\x38\x30\x2f\x99\x36\x91\xe7\xde\x1d\xb9\x02\x30\x44\x2d\xd1\xa4\xc1\x7f\x91\x4c\xd6\x66\x9a\x71\x22\x6e\x83\xb9\x85\xb3\x19\xde\xc9\xfb\x74\x4d\x08\x58\x66\x48\x29\x52\x60\xc2\x48\xa7\x91\xa6\x03\x01\x43\xfb\xb2\x60\x1c\x5d\x91\xea\x7c\x42\x0c\xac\x36\xad\xc6\x47\x51\x92\xa9\x78\xfe\x46\x56\x9b\xb0\x22\xda\xa0\x5b\x6a\x09\x6a\x57\x8b\x76\xd8\x48\x26\x57\x08\xbe\xea\xcd\xe4\x1d\x10\x41\x61\xc1\x14\x02\x59\x93\xcd\x57\x49\x4c\xdd\x19\xa5\x95\xe3\xa7\x2b\xb3\x39\xd9\xfe\xa1\x34\xd9\x79\x47\x49\x6e\x4f\x2a\xb2\x61\xda\x29\x91\x39\xa9\xc7\x66\x8d\x68\xbe\xb6\x21\x39\xfd\xd1\x23\x64\x62\x79\x7e\x35\xf1\x91\xc6\x3e\x58\xf4\xe7\x57\x13\x2b\xe1\xf3\xab\xc9\xe4\x6e\xf2\xc4\xbf\xf3\xab\x89\x14\xe7\x57\x13\x53\xe0\xf9\xd5\xe4\xfc\xea\xba\x1f\xa3\xfc\x48\x6b\x1d\x16\x0a\xb5\xa5\xd6\x86\xae\x87\x4c\xcc\xb1\xfb\x21\x1b\x73\x06\x72\x6c\x61\x1a\x86\xba\x56\x4a\xd6\xc2\x56\x3b\x60\xf7\xfc\x24\x2b\x3b\x12\xa3\xae\xab\x4a\x2a\x13\xf5\xc5\x49\xec\xf9\x96\xa3\x8e\x6f\x26\x2f\x6f\x5e\x3d\xca\xbe\xb3\x58\xb7\x87\xff\x75\xab\x5d\xba\xb0\x19\x56\xbc\xd6\xb6\xb4\x64\xf6\x4c\xf7\x87\x32\x61\x1f\xd7\xe1\x07\x5e\xeb\x31\x54\x75\xc6\x99\x2e\x80\x80\xc0\x35\x24\xda\x28\x29\x96\x73\x37\x9a\x27\x71\xf3\x0a\x95\xd4\xe6\x13\x23\xce\x27\x99\x83\xa5\xf7\x7f\x14\x74\x16\x4d\xaa\xfb\x43\xa9\xac\xcd\xbf\x7f\x54\x7d\x1d\xb9\xef\x7a\xbd\x8e\x5a\x49\x3a\xdf\x2d\x90\x57\xb1\xad\x46\x6a\xc1\xcc\x26\xf6\x51\x50\x8a\xf8\x6b\x46\xd3\xab\x9b\xab\x57\xaf\xae\x5e\xfc\xcb\xcd\xcb\x97\x57\x37\x2f\x5e\x3e\xe4\xd8\x9d\x51\x7c\xba\x5f\xfb\xd3\xed\x77\xf2\x75\x6d\x8a\xee\x68\xeb\xed\xa5\x3d\x52\xd9\xc2\x99\x12\xb1\xb4\x79\xe7\x53\x6d\xa8\x16\xf6\x7c\xf0\x05\xaa\x10\x67\x46\x8f\x70\xf6\x99\xa6\xd5\x9a\x8f\xb5\x14\x59\x1b\xbb\xc3\xb6\xc7\xc6\xa4\xe8\xcc\x69\x0c\x9a\x95\x15\xdf\x40\xbe\xd3\xfa\x69\xbb\x7a\x50\x29\x1f\x34\xab\x7d\xb5\x79\x23\x73\x45\x79\x29\x29\xda\x62\x5c\xd7\x3a\xc7\xca\x5d\xbe\xd8\x02\xf7\x2f\x9b\xdf\x89\x30\x4c\x60\x5b\x08\x47\xf0\xbd\xe0\x1b\xa8\x35\xc2\x42\x2a\xa0\x98\xd5\xcb\xa5\xab\xde\x15\x54\x8a\xad\x6c\xdd\xd5\x64\x3e\xdd\x58\x45\x67\x14\xbd\x86\x83\x3d\x89\xf0\xde\xc1\xe0\x1f\xb2\x86\x9c\x08\x30\x8a\xe4\xb7\xde\x53\x6a\xa5\xac\xa7\x54\xe8\x77\xd3\xd5\xdf\x19\x72\xb9\x76\x20\x7e\xdf\x0b\x86\xdc\x15\xe3\x1a\x11\x0a\xb9\x86\xb2\xce\x9d\x43\xda\x9a\xdb\x6d\x62\x4d\x98\x81\x5a\x18\xc6\xbd\x3c\x4d\xad\x5c\xc9\x8e\x7b\x25\xf3\x51\x4b\x26\xc1\x72\xfe\xce\x16\x72\x47\x27\x95\xae\x99\x02\x0a\xdf\x78\x70\xa8\x94\x34\x98\x5b\x85\x02\x59\x12\x26\xb4\xd5\x88\x2b\xca\xb1\x7c\x42\xb3\xa5\x7b\x6a\x1e\x76\x17\x07\x6e\x3a\x8e\xe1\x5b\x2e\x33\xc2\x61\x65\x2d\x3d\xe3\xf6\x94\x25\xa1\x90\x76\xeb\x3d\x69\x69\x43\x4c\xad\x41\x2e\xdc\xa8\xe7\xdc\xae\x5f\x11\x65\x35\x88\x65\x65\x20\x6d\xda\xde\x76\x4c\xa3\x5a\x35\xcd\x7c\xfb\x6a\x18\xaa\xbd\xf9\x4e\xea\x29\xfc\xf2\xeb\xec\x59\xc3\xca\x5f\x71\xe1\x4c\xc2\xda\xb7\xdf\xb2\x29\x88\x69\xca\x6e\x0d\x39\x97\xba\x56\x9e\x43\xaa\x64\x05\x96\xcb\x16\x53\x8b\xd9\x4e\x54\x8e\x5a\x8b\x64\x58\x10\x5d\x8c\x9a\xae\xbd\x42\xa7\xa5\x6e\xae\x1d\x3f\xb3\x56\x37\xb4\x08\x58\x3a\x99\x01\x4b\x5a\xbc\x11\x47\xb1\x34\xc5\x0c\xd8\xc5\x45\x07\x7c\xc6\x16\x30\x6c\x21\x7e\x61\xbf\x46\xe6\x2e\xb2\x54\x20\x4d\xa1\x4f\xcd\x11\x6c\xf0\xe8\x8a\xb3\x1c\x87\x6c\x0c\x97\xa3\x59\x3b\x9b\x29\x24\xb7\xed\x5b\xa3\x47\xff\xcf\xfd\x6e\x67\xfb\x92\x71\xc2\xdf\x93\x8d\x6f\xc9\x69\x20\xae\xd2\x87\x5a\x71\x68\x7c\xd8\xab\xa0\x53\x88\x83\xeb\x4b\xe5\xc8\x2e\x9b\x87\xc6\xa6\xda\x2d\x78\x34\x91\x46\x41\x87\xff\xfa\xd3\xf7\xdf\x45\xda\x28\x26\x96\x6c\xb1\x19\xde\xd7\x8a\x4f\xe1\xf9\x30\xf8\x7f\xb5\xe2\xc1\xe8\x97\xc9\xaf\xd1\x8a\xf0\x1a\xc7\x4e\xdf\x53\xf7\x7b\x44\x65\x0c\xcd\xe3\x14\xf6\x09\x6e\x47\xa3\xd9\xe9\xf6\x65\xaf\xdb\xaa\x50\xa3\x19\x5a\xc0\xce\xf0\x0f\x65\x44\xa0\x44\x53\x48\xe7\xba\x0a\x73\x29\x04\xe6\x06\xea\x4a\x8a\x46\x24\xc0\xa5\xd6\x3b\x43\x6c\x21\xd2\x63\xa3\x68\xe0\x53\x97\xac\xff\x03\xb3\x9f\x64\x7e\x8b\x66\x38\x1c\xae\x99\xa0\x72\x1d\x71\xe9\x43\x6d\x64\x9d\x54\xe6\x92\x43\x9a\xa6\xd0\x64\xd1\x60\x04\x5f\x43\xb0\xd6\x36\x9f\x06\x30\xb5\x8f\xf6\x69\x04\x17\x70\xb8\xbc\xb0\xf9\xfe\x02\x82\x98\x54\x2c\x18\x79\x77\x68\x05\x2f\x45\x89\x5a\x93\x25\xf6\x19\x74\x0d\x8b\xce\xc8\xec\x3e\x4a\xbd\x84\x14\x9c\x82\x2a\xa2\x34\x7a\x90\x88\x12\x43\x5a\x6b\xb3\x36\xeb\xc0\xd2\x14\x44\xcd\xf9\xce\x48\xbd\x53\xcc\x5a\xf3\xdb\x03\x8f\x7c\xae\xf9\x2a\x4d\xa1\x16\xd4\x89\x98\xee\x56\x5a\xe5\xfb\xde\xd6\x28\xb2\x79\x61\xb7\x62\x34\xeb\x5b\xf3\x1e\x36\xa4\x1f\x42\x87\xf4\x10\x1f\xd2\x07\x10\xba\x56\xe2\x63\xf8\x7c\xeb\xb1\x87\xce\x0d\x3c\x80\x4d\xd4\x65\x86\xea\x31\x74\xbe\x95\xd8\xa0\x73\xa2\x7e\x2b\x4c\x6f\xed\x18\x2e\x5f\x8d\x1e\xc0\x8e\x4a\xc9\x07\x91\x0b\x69\x36\xc3\x7b\x4e\x36\xb6\x66\x82\x81\x91\xd5\x1b\xd7\xf9\x1b\x8c\x5d\xc6\x9d\x42\x87\x61\xec\xee\x74\xa6\x30\x70\x6f\x76\x9e\x95\xe8\x56\xbd\x9c\x4c\x26\x63\x68\x2f\x43\xff\x42\xac\x13\xaa\x1a\xb7\x0f\xf0\xa3\xeb\x3c\xb7\x79\xff\x73\x38\x6a\x70\x74\x3c\x35\xef\x9f\xc1\x55\x97\x1b\xf6\xd8\x82\x3f\xfd\x09\x8e\x66\xf7\xcd\x38\x8e\xe1\xdf\x89\xba\x75\x7d\xba\x4a\xe1\xca\xf5\xf2\x3a\xf8\x92\x69\xed\x5a\x65\x1a\xa8\x14\xd8\xac\xf9\xb8\xb0\x7f\xc4\x63\x03\x06\x73\x98\x1c\x32\x68\xc3\x61\x2f\x2d\x9c\xc8\x16\x3d\xbc\xfb\x89\xe0\x6c\xdb\xa7\xb7\xb7\x92\x95\x08\x5f\xa5\x10\x04\xfd\xc5\x47\x10\x16\xa0\x43\x76\xa6\xd1\xbc\xf3\xba\x18\x36\xd9\xf1\x54\xee\x1a\x8d\xe1\x7a\x32\x99\x8c\x8e\x98\xd8\xee\xc4\xfb\xba\xb2\x65\x13\x10\xb1\x71\x21\xb1\x93\xad\x2b\x1c\x6d\x09\x64\x43\x1a\x87\x5c\x72\xee\x6b\x96\x66\xa9\x15\x70\xd3\xcb\x4c\x21\xbc\x9c\x9d\xc8\xa2\x3d\x49\xf6\xb6\x76\xa8\x9e\x13\xb2\x3f\x54\xd1\xbe\xcc\x0e\x80\xc3\xcb\x3d\xa5\xec\xe9\xeb\xb4\x62\xce\x3a\xbe\xd9\x4e\xa2\x07\xea\xda\xe9\xeb\x50\x66\x3d\xfe\x3d\x9e\x8b\xcb\x27\x6e\xa3\x9b\xae\x6a\x5d\x0c\x0f\x18\x1d\xcd\x8e\x75\xf3\xd6\xa0\xb2\x55\xb2\xb4\x29\xcb\xea\xc2\x1e\x05\x14\x1e\xa9\xc4\x95\xea\x0a\x43\x85\x82\xa2\x6a\x4b\x0a\x5f\xd9\xdb\x02\x70\x4f\x65\xfe\x54\xd9\x37\xa7\x8f\x74\x18\x57\x92\x49\x81\x00\x00\x07\x4e\xe0\x0c\x75\xcf\x52\x2d\x30\x72\x52\x69\xa4\x90\x82\xff\x36\x65\x38\x8a\x6a\xc1\xee\x86\xa3\xb0\x79\x3f\xc4\xd1\xce\xcf\xba\x63\x62\xcb\xf6\x45\x0a\x41\x62\x14\x30\x9a\x0e\x02\xb8\x38\xe5\x82\x36\xeb\x0e\xe6\x3b\x0e\xfa\x4b\x01\x12\x43\xe7\xee\x7a\xc2\x9f\xd7\xfe\x19\x64\x24\xbf\x5d\xba\x83\xd0\xd4\x96\x5a\xc3\x23\xb4\x64\x45\x0c\x51\x0e\xeb\x68\x06\x3b\xf0\xe6\xa0\x98\x5b\xe5\xcc\xc0\x9f\x48\xdd\x2d\x08\x74\x37\x87\xee\x2d\x93\x8a\xa2\x0a\x15\xa1\xac\xd6\x53\x78\x51\xdd\xcd\xfe\xd9\xde\xac\xba\xbb\x9a\x47\x59\xad\x14\xce\x8f\x38\x6a\x5a\xfe\x17\x10\x24\xb1\x05\xf8\x10\x9a\x6e\xb3\xfd\x6f\x62\xe0\xc4\x8d\x14\x74\x5f\xac\x34\xe3\x25\xa3\x94\xa3\x65\x78\x87\xde\x3a\xa3\xd5\x7f\xdf\xa5\xf6\x49\x42\x73\x15\xb5\x5b\xb3\x05\xe4\x1a\x1f\x59\xd0\xdd\x6a\x0d\xac\x01\x84\x76\xcb\xcc\xc9\xbc\x39\x6c\xbb\x61\x35\x70\xb2\x68\xbe\x70\xa2\xb5\x72\xb5\xd6\x30\x6c\x0c\x6c\x0c\x03\x6d\x6b\x3f\xaa\x07\xa3\xa8\xa8\x4b\x22\xd8\xef\x38\xb4\x79\x69\xe4\x65\xe5\xae\xc9\x82\xe3\x90\x7c\xc4\xcc\xee\xfe\x6a\xd0\xe6\xb8\x41\x23\xc4\x41\xab\xdd\x17\xbb\xb3\xfd\x14\x26\xb3\xc1\x47\x4a\xe8\x34\x95\x30\x23\x0a\xfa\x2f\x61\x9b\x7c\x41\x49\x4b\xbd\x9d\xcb\x88\x1a\xf8\x4e\x86\xab\xcf\x85\x5c\xa7\x83\xeb\x49\xc7\xa4\x57\xb4\xd3\xf3\xa0\xb1\xb5\x23\x65\x58\x2e\x5b\xd7\x9c\xc3\xf5\xe4\x4b\x70\xeb\xbb\x21\x07\x3b\x30\x8a\x55\x48\x81\xe4\x86\xad\xf0\x7f\x60\x23\x5f\x40\xc8\x1f\xcd\xa2\xb5\xc3\x56\x78\xce\x4c\xf7\xf8\xb5\xb3\x9d\x6c\xff\xbf\xf5\x37\x88\x9d\x84\x2f\x20\x38\xb9\x91\x07\x2d\xf1\x00\xf0\xc0\xb5\x1f\xf6\x7b\x77\xef\x1b\x1c\xe6\x14\x5b\xed\x76\xdf\x2c\x8c\xa2\xc2\x94\x7c\x18\x24\xc6\x7d\xbb\x66\x79\xee\x30\x38\x04\x7e\x78\xbf\xa4\xdb\xee\x1f\x64\xec\xf9\x1d\x0f\xce\x59\xd0\x2b\x4e\xba\xb3\x58\x5b\x89\xc0\x76\xf7\x89\x5f\x1c\xc3\x4f\x86\x28\x03\x04\x7e\x7e\x0b\x75\x45\x89\xf1\x37\xac\x36\x3f\xfa\xae\x73\xfb\x0d\x60\x46\x94\x86\x85\x54\x6b\xa2\x68\xd3\x9f\x31\x05\x6e\xdc\x0d\x6b\x5b\xfa\x69\x34\x6f\x6d\x14\x5b\x11\x3e\x3c\x3a\xf7\x3d\x1f\x0e\xa2\xbe\xca\x07\xa3\x08\x49\x5e\x1c\x03\xba\x8c\xd5\xd1\x4d\xe1\x3b\x77\x04\x18\x3e\x1f\x9a\x82\xe9\x51\x44\x8c\x51\xc3\xc1\x9e\x31\x0c\x46\x56\xaf\x97\xbd\x23\x59\xb7\x3c\xd9\x73\xab\xc7\x70\xec\x8a\xe9\xae\x10\x68\xc1\x73\xad\x87\xde\xae\x06\xe3\x1e\xee\x7d\xb3\x1a\x9c\x0f\x3a\x45\xed\xdc\x7b\xb7\x8f\xf4\x24\x27\x7b\xa8\x07\xd6\xcb\x06\x47\xe4\x09\xa5\x6f\xac\xff\x0c\x83\x13\x9e\x7e\x68\x1d\xa3\x4e\xd8\x3e\x5e\x3f\x2a\x65\xff\xb5\xd4\x03\x22\x66\x74\x30\x8a\x74\x9d\xf9\xde\xc4\xf0\x65\x77\x00\x6b\xc1\x9c\xf1\x1e\xa6\x82\xa3\x82\xc2\x92\xd8\x2f\x2a\xc2\x83\x22\xe4\x91\xac\xd1\x90\xf4\xbb\xda\x8e\xad\xc0\x27\xa3\xae\xb5\xf5\x8d\xb6\xc5\x95\x6f\xfd\xaf\x31\xd3\xae\x93\x00\x8d\xbd\xbb\x6e\x8e\xef\xda\xbc\xfe\xe1\x6d\xaf\x73\xd3\x79\xc4\xd0\x61\xef\x3e\xcf\x3d\xd5\x27\x39\xf9\x3d\xf0\x7a\xbd\x8e\xfc\x8d\x96\x6b\xe3\x77\x8d\x94\x98\x54\x2c\x7a\xaf\x03\x20\x7a\x23\x72\xa0\xb8\x40\x35\xef\xa1\x6f\xba\x2b\x49\xec\xbf\x54\x4d\x62\xff\x31\xfe\x7f\x07\x00\x00\xff\xff\x70\x2d\x96\x9f\x9d\x2f\x00\x00") +var _faucetHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x5a\x71\x73\xdb\xb6\x92\xff\xdb\xf9\x14\x5b\x5e\xfc\x24\x9d\x4d\x52\xb6\x93\x3c\x9f\x44\xaa\x93\x97\xd7\xd7\xcb\xcd\x5d\xdb\x69\xd3\xb9\x7b\xd3\xd7\xb9\x01\x89\x95\x88\x18\x04\x58\x00\x94\xac\x7a\xf4\xdd\x6f\x00\x90\x14\x29\xc9\x6e\xd2\xe4\xde\x34\x7f\x38\x24\xb0\xd8\x5d\xec\xfe\x16\xbb\x58\x2a\xf9\xe2\xaf\xdf\xbe\x79\xf7\xf7\xef\xbe\x82\xc2\x94\x7c\xf1\x2c\xb1\xff\x01\x27\x62\x95\x06\x28\x82\xc5\xb3\xb3\xa4\x40\x42\x17\xcf\xce\xce\x92\x12\x0d\x81\xbc\x20\x4a\xa3\x49\x83\xda\x2c\xc3\xdb\x60\x3f\x51\x18\x53\x85\xf8\x4b\xcd\xd6\x69\xf0\x3f\xe1\x8f\xaf\xc3\x37\xb2\xac\x88\x61\x19\xc7\x00\x72\x29\x0c\x0a\x93\x06\x6f\xbf\x4a\x91\xae\xb0\xb7\x4e\x90\x12\xd3\x60\xcd\x70\x53\x49\x65\x7a\xa4\x1b\x46\x4d\x91\x52\x5c\xb3\x1c\x43\xf7\x72\x09\x4c\x30\xc3\x08\x0f\x75\x4e\x38\xa6\x57\xc1\xe2\x99\xe5\x63\x98\xe1\xb8\x78\x78\x88\xbe\x41\xb3\x91\xea\x6e\xb7\x9b\xc1\xeb\xda\x14\x28\x0c\xcb\x89\x41\x0a\x7f\x23\x75\x8e\x26\x89\x3d\xa5\x5b\xc4\x99\xb8\x83\x42\xe1\x32\x0d\xac\xea\x7a\x16\xc7\x39\x15\xef\x75\x94\x73\x59\xd3\x25\x27\x0a\xa3\x5c\x96\x31\x79\x4f\xee\x63\xce\x32\x1d\x9b\x0d\x33\x06\x55\x98\x49\x69\xb4\x51\xa4\x8a\x6f\xa2\x9b\xe8\xcf\x71\xae\x75\xdc\x8d\x45\x25\x13\x51\xae\x75\x00\x0a\x79\x1a\x68\xb3\xe5\xa8\x0b\x44\x13\x40\xbc\xf8\x7d\x72\x97\x52\x98\x90\x6c\x50\xcb\x12\xe3\x17\xd1\x9f\xa3\xa9\x13\xd9\x1f\x7e\x5a\xaa\x15\xab\x73\xc5\x2a\x03\x5a\xe5\x1f\x2c\xf7\xfd\x2f\x35\xaa\x6d\x7c\x13\x5d\x45\x57\xcd\x8b\x93\xf3\x5e\x07\x8b\x24\xf6\x0c\x17\x9f\xc4\x3b\x14\xd2\x6c\xe3\xeb\xe8\x45\x74\x15\x57\x24\xbf\x23\x2b\xa4\xad\x24\x3b\x15\xb5\x83\x9f\x4d\xee\x63\x3e\x7c\x7f\xe8\xc2\xcf\x21\xac\x94\x25\x0a\x13\xbd\xd7\xf1\x75\x74\x75\x1b\x4d\xdb\x81\x63\xfe\x4e\x80\x75\x9a\x15\x75\x16\xad\x51\x59\xe4\xf2\x30\x47\x61\x50\xc1\x83\x1d\x3d\x2b\x99\x08\x0b\x64\xab\xc2\xcc\xe0\x6a\x3a\x3d\x9f\x9f\x1a\x5d\x17\x7e\x98\x32\x5d\x71\xb2\x9d\xc1\x92\xe3\xbd\x1f\x22\x9c\xad\x44\xc8\x0c\x96\x7a\x06\x9e\xb3\x9b\xd8\x39\x99\x95\x92\x2b\x85\x5a\x37\xc2\x2a\xa9\x99\x61\x52\xcc\x2c\xa2\x88\x61\x6b\x3c\x45\xab\x2b\x22\x8e\x16\x90\x4c\x4b\x5e\x1b\x3c\x50\x24\xe3\x32\xbf\xf3\x63\x2e\x9a\xfb\x9b\xc8\x25\x97\x6a\x06\x9b\x82\x35\xcb\xc0\x09\x82\x4a\x61\xc3\x1e\x2a\x42\x29\x13\xab\x19\xbc\xaa\x9a\xfd\x40\x49\xd4\x8a\x89\x19\x4c\xf7\x4b\x92\xb8\x35\x63\x12\xfb\x83\xeb\xd9\x59\x92\x49\xba\x75\x3e\xa4\x6c\x0d\x39\x27\x5a\xa7\xc1\x81\x89\xdd\x81\x34\x20\xb0\xe7\x10\x61\xa2\x9d\x1a\xcc\x29\xb9\x09\xc0\x09\x4a\x03\xaf\x44\x98\x49\x63\x64\x39\x83\x2b\xab\x5e\xb3\xe4\x80\x1f\x0f\xf9\x2a\xbc\xba\x6e\x27\xcf\x92\xe2\xaa\x65\x62\xf0\xde\x84\xce\x3f\x9d\x67\x82\x45\xc2\xda\xb5\x4b\x02\x4b\x12\x66\xc4\x14\x01\x10\xc5\x48\x58\x30\x4a\x51\xa4\x81\x51\x35\x5a\x1c\xb1\x05\xf4\x8f\xbf\x47\x4e\xbf\xe2\xaa\xd5\x2b\xa6\x6c\xdd\x6c\xab\xf7\x78\xb0\xc3\xc7\x37\x71\x0b\xcd\x83\x5c\x2e\x35\x9a\xb0\xb7\xa7\x1e\x31\x13\x55\x6d\xc2\x95\x92\x75\xd5\xcd\x9f\x25\x6e\x14\x18\x4d\x83\x5a\xf1\xa0\x39\xfe\xdd\xa3\xd9\x56\x8d\x29\x82\x6e\xe3\x52\x95\xa1\xf5\x84\x92\x3c\x80\x8a\x93\x1c\x0b\xc9\x29\xaa\x34\xf8\x41\xe6\x8c\x70\x10\x7e\xcf\xf0\xe3\xf7\xff\x09\x8d\xcb\x98\x58\xc1\x56\xd6\x0a\xbe\x32\x05\x2a\xac\x4b\x20\x94\x5a\xb8\x46\x51\xd4\x53\xc4\x61\xf7\x58\xd5\x30\x33\x62\x4f\x75\x96\x64\xb5\x31\xb2\x23\xcc\x8c\x80\xcc\x88\x90\xe2\x92\xd4\xdc\x00\x55\xb2\xa2\x72\x23\x42\x23\x57\x2b\x9b\xe9\xfc\x26\xfc\xa2\x00\x28\x31\xa4\x99\x4a\x83\x96\xb6\xf5\x21\xd1\x95\xac\xea\xaa\xf1\xa2\x1f\xc4\xfb\x8a\x08\x8a\xd4\xfa\x9c\x6b\x0c\x16\x5f\xb3\x35\x42\x89\x7e\x2f\x67\x87\x90\xc8\x89\x42\x13\xf6\x99\x1e\x01\x23\x89\xbd\x32\x7e\x4b\xd0\xfc\x4b\x6a\xde\x72\xea\xb6\x50\xa2\xa8\x61\xf0\x16\x2a\x7b\xae\x04\x8b\x87\x07\x45\xc4\x0a\xe1\x39\xa3\xf7\x97\xf0\x9c\x94\xb2\x16\x06\x66\x29\x44\xaf\xdd\xa3\xde\xed\x06\xdc\x01\x12\xce\x16\x09\x79\x0a\xde\x20\x45\xce\x59\x7e\x97\x06\x86\xa1\x4a\x1f\x1e\x2c\xf3\xdd\x6e\x0e\x0f\x0f\x6c\x09\xcf\xa3\xef\x31\x27\x95\xc9\x0b\xb2\xdb\xad\x54\xfb\x1c\xe1\x3d\xe6\xb5\xc1\xf1\xe4\xe1\x01\xb9\xc6\xdd\x4e\xd7\x59\xc9\xcc\xb8\x5d\x6e\xc7\x05\xdd\xed\xac\xce\x8d\x9e\xbb\x1d\xc4\x96\xa9\xa0\x78\x0f\xcf\xa3\xef\x50\x31\x49\x35\x78\xfa\x24\x26\x8b\x24\xe6\x6c\xd1\xac\x1b\x1a\x29\xae\xf9\x1e\x2f\xb1\x05\x4c\x87\x73\x17\x36\x4e\xd5\xbe\xa6\x27\xa2\x60\x15\x76\xda\x37\x78\xd0\xcc\xe0\x1d\x6e\xd3\xe0\xe1\xa1\xbf\xb6\x99\xcd\x09\xe7\x19\xb1\x76\xf1\x5b\xeb\x16\xfd\x8a\x16\xa7\x6b\xa6\x5d\x49\xb5\x68\x35\xd8\xab\xfd\x81\x61\x7d\x70\x70\x19\x59\xcd\xe0\xe6\xba\x77\x6a\x9d\x8a\xf8\x57\x07\x11\x7f\x73\x92\xb8\x22\x02\x39\xb8\xbf\xa1\x2e\x09\x6f\x9f\x9b\x68\xe9\x05\xdf\xe1\xa2\xd0\x9e\xd1\x9d\x6a\xdd\x59\x3f\x9d\x83\x5c\xa3\x5a\x72\xb9\x99\x01\xa9\x8d\x9c\x43\x49\xee\xbb\x7c\x77\x33\x9d\xf6\xf5\xb6\xa5\x20\xc9\x38\xba\xd3\x45\xe1\x2f\x35\x6a\xa3\xbb\xb3\xc4\x4f\xb9\xbf\xf6\x48\xa1\x28\x34\xd2\x03\x6b\x58\x89\xd6\xb4\x8e\xaa\xe7\xfa\xce\x98\x27\x75\x5f\x4a\xd9\xa5\x90\xbe\x1a\x0d\xeb\x5e\xb6\x0b\x16\x89\x51\x7b\xba\xb3\xc4\xd0\x8f\x4a\x01\xca\x96\x78\x8f\x65\x00\x7f\xa2\xd9\xbd\x57\x88\xca\xd7\x17\x16\xb2\xe0\x5e\x93\xd8\xd0\x4f\x90\x6c\x41\x98\x11\x8d\x1f\x22\xde\x65\xfa\xbd\x78\xf7\xfa\xa9\xf2\x0b\x24\xca\x64\x48\xcc\x87\x28\xb0\xac\x05\xed\xed\xdf\x9d\x9d\x9f\xaa\x40\x2d\xd8\x1a\x95\x66\x66\xfb\xa1\x1a\x20\xdd\xab\xe0\xdf\x87\x2a\x24\xb1\x51\x4f\x63\xad\xff\xf2\x99\x82\xfb\xb7\x4a\x92\x9b\xc5\xbf\xcb\x0d\x50\x89\x1a\x4c\xc1\x34\xd8\xe4\xfa\x65\x12\x17\x37\x1d\x49\xb5\x78\x67\x27\x9c\x51\x61\xe9\x4a\x0b\x60\x1a\x54\x2d\x5c\xe6\x95\x02\x4c\x81\xc3\x72\xa4\x49\xd2\x11\xbc\x93\xb6\xa4\x5b\xa3\x30\x50\x12\xce\x72\x26\x6b\x0d\x24\x37\x52\x69\x58\x2a\x59\x02\xde\x17\xa4\xd6\xc6\x32\xb2\xc7\x07\x59\x13\xc6\x5d\x2c\x39\x97\x82\x54\x40\xf2\xbc\x2e\x6b\x5b\x92\x8a\x15\xa0\x90\xf5\xaa\x68\x74\x31\x12\x7c\x62\xe2\x52\xac\x3a\x7d\x74\x45\x4a\x20\xc6\x90\xfc\x4e\x5f\x42\x7b\x2a\x00\x51\x08\x86\x21\xb5\xab\x72\x59\x96\x52\xc0\x8d\xa2\x50\x11\x65\xb6\xa0\x87\xb5\x05\xc9\x73\x97\xe5\x22\x78\x2d\xb6\x52\x20\x14\x64\xed\x34\x84\x77\xfe\x3a\x71\x09\x5f\x4b\xb9\xe2\x78\x61\x15\xfc\x1b\xc9\x31\x93\xb2\x5b\x06\x25\xd9\xb6\x72\x9b\x6d\x6c\x98\x29\x98\xb7\x53\x85\xaa\xb4\x3c\x28\x70\x56\x32\xa3\xa3\x24\xae\xf6\x47\xeb\x3e\x49\xf3\xb0\x90\x8a\xfd\x6a\x2b\x1c\xde\x3f\x47\xcd\xc1\x29\xd3\x1e\x92\xce\xfd\x1c\x97\x66\x06\x2f\xfc\x21\x79\x08\xe8\xe6\x2a\x74\x0a\xcd\x2d\x4f\x77\xc5\xb4\x99\x67\x06\x37\xbe\xae\xf5\x15\x05\x35\x3d\x0d\xe8\x01\xe6\xbc\xd0\xdb\xdb\xea\xbe\xd3\xa3\x2b\x8e\xa7\x1d\x13\x0b\x85\xa1\x51\xd6\xac\x67\xcf\x92\xdc\x21\x10\x48\xc8\xc1\x55\xb9\x51\xda\x5d\xb4\x98\x6b\x14\xc4\x66\x83\x68\xbe\xb4\x31\x9c\x7e\xef\x19\x32\xb1\x3a\xbf\x9e\x7a\x68\xda\x07\xcb\xfe\xfc\x7a\xca\x84\x91\xe7\xd7\xd3\xe9\xfd\xf4\x03\xff\x9d\x5f\x4f\xa5\x38\xbf\x9e\x9a\x02\xcf\xaf\xa7\xe7\xd7\x37\x7d\x50\xfb\x91\xb6\xc4\xb4\x54\xa8\xad\xb4\x16\xeb\x01\x18\xa2\x56\x68\xd2\xe0\x7f\x49\x26\x6b\x33\xcb\x38\x11\x77\xc1\xc2\xa9\x6b\xcb\x0e\x87\x82\xd3\x85\x2a\x54\x44\x5b\x48\x58\x8d\x1d\x4a\x9a\xa6\x88\x86\xb1\xae\x95\x92\xb5\xb0\xe9\x11\xec\x9e\x5d\xa8\x8a\x91\x45\x99\x35\xcc\x24\x4a\x32\x15\x2f\xde\xc8\x6a\x1b\x3a\x26\x6e\xf9\x91\x19\x75\x5d\x55\x52\x99\xa8\x6f\x4e\x62\x2f\x44\x1c\x75\x7c\x3b\x7d\x79\xfb\xea\x49\xf5\xb5\x2d\xb7\xdd\x1e\x3a\x0d\x49\x26\xd7\x08\xbe\xb8\xcf\xe4\x3d\x10\x41\x61\xc9\x14\x02\xd9\x90\xed\x17\x49\x4c\xdd\x55\xec\xd3\x51\xbb\x72\x81\x16\x56\xbc\xd6\xb6\x16\x61\x36\x50\xff\x50\x10\xf6\x27\x01\x7c\xc7\x6b\x7d\x09\x55\x9d\x71\xa6\x0b\x20\x20\x70\x03\x89\x36\x4a\x8a\xd5\xc2\x8d\xe6\xf6\xaa\xea\x5e\xa1\x92\xda\x3c\x85\x06\x2c\x33\xa4\xf4\x04\x1e\x7e\x27\x1c\xac\x3c\xe7\xc2\x7f\xbe\xfb\x96\xcd\xe1\xf8\x87\x72\x59\x7b\x62\xff\x51\xfd\x75\x14\xbe\x9b\xcd\x26\x6a\x2d\xe9\x62\xb7\x40\x5e\xc5\x36\x8d\xd5\x82\x99\x6d\xec\x4f\x41\x29\xe2\x2f\x19\x4d\xaf\x6f\xaf\x5f\xbd\xba\x7e\xf1\x6f\xb7\x2f\x5f\x5e\xdf\xbe\x78\xf9\x58\x60\x77\xa0\xf8\xfd\x71\xed\xaf\x43\xdf\xc8\xd7\xb5\x29\xba\xbb\x90\xc7\x4b\x5b\x83\xdb\x4a\x8b\xda\xbb\xa4\x0a\x7e\x37\x86\x6a\x61\x0b\xca\x90\xf0\x93\xb5\xe0\x47\xa0\xc8\xc1\xe8\x09\xcd\x3e\x11\x5a\x2d\x7c\x2c\x52\x64\x6d\xec\x0e\xdb\xa6\x0c\x93\xa2\x83\xd3\x25\x68\x56\x56\x7c\x0b\xf9\xde\xeb\xa7\x71\xf5\xa8\x53\x7e\x13\x56\x43\xb7\x79\x90\xb9\x2a\xae\x94\x14\x6d\xf5\xa6\x6b\x9d\x63\xe5\xba\xf5\xb6\x22\xfa\xcb\xf6\x57\x22\x0c\x13\xd8\x56\x4e\x11\x7c\x2b\xf8\x16\x6a\x8d\xb0\x94\x0a\x28\x66\xf5\x6a\xe5\xca\x3d\x05\x95\x62\x6b\x62\xb0\x2d\x97\x74\x83\x8a\x0e\x14\xbd\x1b\xaa\x2d\x5d\x79\xaf\x92\xfc\xbb\xac\x21\x27\x02\x8c\x22\xf9\x9d\x8f\x94\x5a\x29\x1b\x29\x15\xfa\xdd\x74\x05\x5b\x86\x5c\x6e\x1c\x89\xdf\xf7\x92\x21\x77\xd5\x9b\x46\x84\x42\x6e\xa0\xac\x73\x17\x90\xb6\x3a\x73\x9b\xd8\x10\x66\xa0\x16\x86\x71\x6f\x4f\x53\x2b\x61\x6b\x3d\x1c\x14\x59\x47\x77\xf8\x04\xcb\xc5\xbb\x02\x4f\x94\xb6\xdd\xed\x1b\x14\xbe\xf1\xe4\x50\x29\x69\x30\xb7\x0e\x05\xb2\x22\x4c\x68\xeb\x11\x57\xc6\x61\xf9\x01\xb7\xf3\xee\xa9\x79\xd8\x77\x9a\xdd\x74\x1c\xc3\xd7\x5c\x66\x84\xc3\xda\x22\x3d\xe3\xb6\x2c\x97\x50\x48\xbb\xf5\x9e\xb5\xb4\x21\xa6\xd6\x20\x97\x6e\xd4\x6b\x6e\xd7\xaf\x89\xb2\x1e\xc4\xb2\x32\x90\x36\x7d\x52\x3b\xa6\x51\xad\x9b\xee\xaf\x7d\x35\x0c\xd5\x60\xbe\xb3\x7a\x0a\x3f\xfd\x3c\x7f\xd6\xa8\xf2\x57\x5c\x3a\x48\x58\x7c\xfb\x2d\x9b\x82\x18\xc8\x15\x12\x83\x1a\x72\x2e\x75\xad\xbc\x86\x54\xc9\x0a\xac\x96\x2d\xa7\x96\xb3\x9d\xa8\x9c\xb4\x96\xc9\xb8\x20\xba\x98\x34\x6d\x5e\x85\xce\x4b\xdd\x5c\x3b\x7e\x66\x51\x37\xb6\x0c\x58\x3a\x9d\x03\x4b\x5a\xbe\x11\x47\xb1\x32\xc5\x1c\xd8\xc5\x45\x47\x7c\xc6\x96\x30\x6e\x29\x7e\x62\x3f\x47\xe6\x3e\xb2\x52\x20\x4d\xa1\x2f\xcd\x09\x6c\xf8\xe8\x8a\xb3\x1c\xc7\xec\x12\xae\x26\xf3\x76\x36\x53\x48\xee\xda\xb7\xc6\x8f\xfe\x3f\xf7\x77\x37\x1f\x5a\xc6\x19\x7f\x60\x1b\xdf\xc3\xd1\x40\x60\xc5\xb4\x81\x5a\x71\x68\x62\xd8\xbb\xa0\x73\x88\xa3\xeb\x5b\xe5\x08\x97\xcd\x43\x83\xa9\x76\x0b\x9e\x4d\xa4\x51\xd0\xf1\x7f\xfc\xf0\xed\x37\x91\x36\x8a\x89\x15\x5b\x6e\xc7\x0f\xb5\xe2\x33\x78\x3e\x0e\xfe\xa5\x56\x3c\x98\xfc\x34\xfd\x39\x5a\x13\x5e\xe3\xa5\xf3\xf7\xcc\xfd\x3d\x92\x72\x09\xcd\xe3\x0c\x86\x02\x77\x93\xc9\xfc\x74\xbf\xab\xd7\x9e\x53\xa8\xd1\x8c\x2d\x61\x07\xfc\x43\x1b\x11\x28\xd1\x14\xd2\x85\xae\xc2\x5c\x0a\x81\xb9\x81\xba\x92\xa2\x31\x09\x70\xa9\xf5\x1e\x88\x2d\x45\x7a\x0c\x8a\x86\x3e\x75\xc9\xfa\xbf\x31\xfb\x41\xe6\x77\x68\xc6\xe3\xf1\x86\x09\x2a\x37\x11\x97\xfe\xa8\x8d\x6c\x90\xca\x5c\x72\x48\xd3\x14\x9a\x2c\x1a\x4c\xe0\x4b\x08\x36\xda\xe6\xd3\x00\x66\xf6\xd1\x3e\x4d\xe0\x02\x0e\x97\x17\x36\xdf\x5f\x40\x10\x93\x8a\x05\x13\x1f\x0e\xad\xe1\xa5\x28\x51\x6b\xb2\xc2\xbe\x82\xee\x86\xdb\x81\xcc\xee\xa3\xd4\x2b\x48\xc1\x39\xa8\x22\x4a\xa3\x27\x89\x28\x31\xa4\x45\x9b\xc5\xac\x23\x4b\x53\x10\x35\xe7\x7b\x90\xfa\xa0\x98\xb7\xf0\x1b\x90\x47\x3e\xd7\x7c\x91\xa6\x50\x0b\xea\x4c\x4c\xf7\x2b\xad\xf3\x7d\x33\x64\x12\xd9\xbc\xb0\x5f\x31\x99\xf7\xd1\x3c\xe0\x86\xf4\xb7\xd8\x21\x3d\xe4\x87\xf4\x11\x86\xae\xf7\xf4\x14\x3f\xdf\xab\xea\xb1\x73\x03\x8f\x70\x13\x75\x99\xa1\x7a\x8a\x9d\xef\x3d\x35\xec\x9c\xa9\xdf\x0a\xd3\x5b\x7b\x09\x57\xaf\x26\x8f\x70\x47\xa5\xe4\xa3\xcc\x85\x34\xdb\xf1\x03\x27\x5b\x5b\x33\xc1\xc8\xc8\xea\x8d\x6b\x15\x8d\x2e\x5d\xc6\x9d\x41\xc7\xe1\xd2\x7d\x04\x98\xc1\xc8\xbd\xd9\x79\x56\xa2\x5b\xf5\x72\x3a\x9d\x5e\x42\xfb\xf5\xec\x2f\xc4\x06\xa1\xaa\x71\xf7\x88\x3e\xba\xce\x73\x9b\xf7\x3f\x45\xa3\x86\x47\xa7\x53\xf3\xfe\x09\x5a\x75\xb9\x61\xa0\x16\xfc\xe9\x4f\x70\x34\x3b\x84\x71\x1c\xc3\x7f\x11\x75\xe7\x1a\x3b\x95\xc2\xb5\x6b\xfe\x74\xf4\x25\xd3\xda\x35\x55\x34\x50\x29\xb0\x59\xf3\x71\xc7\xfe\x91\x8e\x0d\x19\x2c\x60\x7a\xa8\xa0\x3d\x0e\x7b\x69\xe1\x44\xb6\xe8\xf1\x1d\x26\x82\xb3\x5d\x5f\xde\x60\x25\x2b\x11\xbe\x48\x21\x08\xfa\x8b\x8f\x28\x2c\x41\xc7\xec\x4c\xa3\x79\xe7\x7d\x31\x6e\xb2\xe3\xa9\xdc\x35\xb9\x84\x9b\xe9\x74\x3a\x39\x52\x62\xb7\x37\xef\xeb\xca\x96\x4d\x40\xc4\xd6\x1d\x89\x9d\x6d\x5d\xe1\x68\x4b\x20\x7b\xa4\x71\xc8\x25\xe7\xbe\x66\x69\x96\x5a\x03\x37\x4d\xb0\x14\xc2\xab\xf9\x89\x2c\xda\xb3\x64\x6f\x6b\x87\xee\x39\x61\xfb\x43\x17\x0d\x6d\x76\x40\x1c\x5e\x0d\x9c\x32\xf0\xd7\x69\xc7\x9c\x75\x7a\xb3\xbd\x45\x0f\xdc\xb5\xf7\xd7\xa1\xcd\x7a\xfa\x7b\x3e\x17\x57\x1f\xb8\x8d\x6e\xba\xaa\x75\x31\x3e\x50\x74\x32\x3f\xf6\xcd\x5b\x83\xca\x56\xc9\xd2\xa6\x2c\xeb\x0b\x7b\x15\x50\x78\xe4\x12\x57\xaa\x2b\x0c\x15\x0a\x8a\xaa\x2d\x29\x7c\x65\x6f\x0b\xc0\x81\xcb\xfc\xad\xb2\x0f\xa7\x8f\x0c\x18\x57\x92\x49\x81\x00\x00\x07\x41\xe0\x80\x3a\x40\xaa\x25\x46\x4e\x2a\x8d\x14\x52\xf0\x3f\x66\x18\x4f\xa2\x5a\xb0\xfb\xf1\x24\x6c\xde\x0f\x79\xb4\xf3\xf3\xee\x9a\xd8\xaa\x7d\x91\x42\x90\x18\x05\x8c\xa6\xa3\x00\x2e\x4e\x85\xa0\xcd\xba\xa3\xc5\x5e\x83\xfe\x52\x80\xc4\xd0\x85\xeb\x67\xfb\xfb\xda\x3f\x82\x8c\xe4\x77\x2b\x77\x11\x9a\xd9\x52\x6b\x7c\xc4\x96\xac\x89\x21\xca\x71\x9d\xcc\x61\x4f\xde\x5c\x14\x73\xeb\x9c\x39\xf8\x1b\xa9\x6b\x9b\x43\xf7\xa9\xc9\xbd\x65\x52\x51\x54\xa1\x22\x94\xd5\x7a\x06\x2f\xaa\xfb\xf9\x3f\xda\x4f\x71\xae\xb9\xff\xa4\xaa\x95\xc2\xc5\x91\x46\x4d\x93\xf8\x02\x82\x24\xb6\x04\xbf\xc5\xa6\xdb\x6c\xff\x47\x14\x70\xe2\x13\x06\x74\x3f\x71\x68\xc6\x4b\x46\x29\x47\xab\xf0\x9e\xbd\x0d\x46\xeb\xff\x7e\x48\x0d\x45\x42\xf3\xed\x62\xbf\x66\x07\xc8\x35\x3e\xb1\xa0\xfb\x0c\x32\xb2\x00\x08\xed\x96\x99\xb3\x79\x73\xd9\x76\xc3\x6a\xe4\x6c\xd1\xfc\x24\x86\xd6\xca\xd5\x5a\xe3\xb0\x01\xd8\x25\x8c\xb4\xad\xfd\xa8\x1e\x4d\xa2\xa2\x2e\x89\x60\xbf\xe2\xd8\xe6\xa5\x89\xb7\x95\xfb\xae\x12\x1c\x1f\xc9\x47\xca\xec\x3f\x78\x8c\xda\x1c\x37\x6a\x8c\x38\x6a\xbd\xfb\x62\x7f\xb7\x9f\xc1\x74\x3e\xfa\x48\x0b\x9d\x96\x12\x66\x44\x41\xff\x25\x6c\x93\x2f\x28\x69\xa5\xb7\x73\x19\x51\x23\xdf\xc9\x70\xf5\xb9\x90\x9b\x74\x74\x33\xed\x94\xf4\x8e\x76\x7e\x1e\x35\x58\x3b\x72\x86\xd5\xb2\x0d\xcd\x05\xdc\x4c\x3f\x87\xb6\xbe\x1b\x72\xb0\x03\xa3\x58\x85\x14\x48\x6e\xd8\x1a\xff\x1f\x36\xf2\x19\x8c\xfc\xd1\x2a\x5a\x1c\xb6\xc6\x73\x30\x1d\xe8\x6b\x67\x3b\xdb\xfe\xab\x8d\x37\x88\x9d\x85\x2f\x20\x38\xb9\x91\x47\x91\x78\x40\x78\x10\xda\x8f\xc7\xbd\xfb\x50\x18\x1c\xe6\x14\x5b\xed\x76\x1f\xb9\x27\x51\x61\x4a\x3e\x0e\x12\xe3\x7e\xec\x64\x75\xee\x38\x38\x06\x7e\x78\x58\xd2\xed\x86\x17\x19\x7b\x7f\xc7\x83\x7b\x16\xf4\x8a\x93\xee\x2e\xd6\x56\x22\xb0\xdb\xff\x26\x2c\x8e\xe1\x07\x43\x94\x01\x02\x3f\xbe\x85\xba\xa2\xc4\xf8\x4f\x72\x36\x3f\xfa\xae\x73\xfb\xa3\xb1\x8c\x28\x0d\x4b\xa9\x36\x44\xd1\xa6\x3f\x63\x0a\xdc\xba\x4f\x72\x6d\xe9\xa7\xd1\xbc\xb5\xa7\xd8\x9a\xf0\xf1\xd1\xbd\xef\xf9\x78\x14\xf5\x5d\x3e\x9a\x44\x48\xf2\xe2\x98\xd0\x65\xac\x4e\x6e\x0a\xdf\xb8\x2b\xc0\xf8\xf9\xd8\x14\x4c\x4f\x22\x62\x8c\x1a\x8f\x06\x60\x18\x4d\xac\x5f\xaf\x7a\x57\xb2\x6e\x79\x32\x08\xab\xa7\x78\xec\x8b\xe9\xae\x10\x68\xc9\x73\xad\xc7\x1e\x57\xa3\xcb\x1e\xef\x21\xac\x46\xe7\xa3\xce\x51\xfb\xf0\xde\xef\x23\x3d\xa9\xc9\x80\xf5\xc8\x46\xd9\xe8\x48\x3c\xa1\xf4\x8d\x8d\x9f\x71\x70\x22\xd2\x0f\xd1\x31\xe9\x8c\xed\xcf\xeb\x27\xad\xec\x7f\x5e\xf3\x88\x89\x19\x1d\x4d\x22\x5d\x67\xbe\x37\x31\x7e\xd9\x5d\xc0\x5a\x32\x07\xde\xc3\x54\x70\x54\x50\x58\x11\xc3\xa2\x22\x3c\x28\x42\x9e\xc8\x1a\x8d\x48\xbf\xab\xdd\xa5\x35\xf8\x74\xd2\xb5\xb6\xbe\xd2\xb6\xb8\xf2\xad\xff\x0d\x66\xda\x75\x12\xa0\xc1\xbb\xeb\xe6\xf8\xae\xcd\xeb\xef\xde\xf6\x3a\x37\x5d\x44\x8c\x1d\xf7\xee\xf7\x9c\xa7\xfa\x24\x27\x7f\x40\xba\xd9\x6c\x22\xff\x45\xcb\xb5\xf1\xbb\x46\x4a\x4c\x2a\x16\xbd\xd7\x01\x10\xbd\x15\x39\x50\x5c\xa2\x5a\xf4\xd8\x37\xdd\x95\x24\xf6\x3f\x6d\x4c\x62\xff\xeb\xed\xff\x0b\x00\x00\xff\xff\x56\xf8\xb5\xef\xce\x2d\x00\x00") func faucetHtmlBytes() ([]byte, error) { return bindataRead( diff --git a/cmd/puppeth/module_faucet.go b/cmd/puppeth/module_faucet.go index 09113c3e6..812c32d83 100644 --- a/cmd/puppeth/module_faucet.go +++ b/cmd/puppeth/module_faucet.go @@ -42,7 +42,7 @@ ADD account.pass /account.pass ENTRYPOINT [ \ "faucet", "--genesis", "/genesis.json", "--network", "{{.NetworkID}}", "--bootnodes", "{{.Bootnodes}}", "--ethstats", "{{.Ethstats}}", "--ethport", "{{.EthPort}}", \ "--faucet.name", "{{.FaucetName}}", "--faucet.amount", "{{.FaucetAmount}}", "--faucet.minutes", "{{.FaucetMinutes}}", "--faucet.tiers", "{{.FaucetTiers}}", \ - {{if .GitHubUser}}"--github.user", "{{.GitHubUser}}", "--github.token", "{{.GitHubToken}}", {{end}}"--account.json", "/account.json", "--account.pass", "/account.pass" \ + "--account.json", "/account.json", "--account.pass", "/account.pass" \ {{if .CaptchaToken}}, "--captcha.token", "{{.CaptchaToken}}", "--captcha.secret", "{{.CaptchaSecret}}"{{end}}{{if .NoAuth}}, "--noauth"{{end}} \ ]` @@ -65,8 +65,6 @@ services: - FAUCET_AMOUNT={{.FaucetAmount}} - FAUCET_MINUTES={{.FaucetMinutes}} - FAUCET_TIERS={{.FaucetTiers}} - - GITHUB_USER={{.GitHubUser}} - - GITHUB_TOKEN={{.GitHubToken}} - CAPTCHA_TOKEN={{.CaptchaToken}} - CAPTCHA_SECRET={{.CaptchaSecret}} - NO_AUTH={{.NoAuth}}{{if .VHost}} @@ -94,8 +92,6 @@ func deployFaucet(client *sshClient, network string, bootnodes []string, config "Bootnodes": strings.Join(bootnodes, ","), "Ethstats": config.node.ethstats, "EthPort": config.node.portFull, - "GitHubUser": config.githubUser, - "GitHubToken": config.githubToken, "CaptchaToken": config.captchaToken, "CaptchaSecret": config.captchaSecret, "FaucetName": strings.Title(network), @@ -114,8 +110,6 @@ func deployFaucet(client *sshClient, network string, bootnodes []string, config "ApiPort": config.port, "EthPort": config.node.portFull, "EthName": config.node.ethstats[:strings.Index(config.node.ethstats, ":")], - "GitHubUser": config.githubUser, - "GitHubToken": config.githubToken, "CaptchaToken": config.captchaToken, "CaptchaSecret": config.captchaSecret, "FaucetAmount": config.amount, @@ -152,8 +146,6 @@ type faucetInfos struct { minutes int tiers int noauth bool - githubUser string - githubToken string captchaToken string captchaSecret string } @@ -171,11 +163,6 @@ func (info *faucetInfos) Report() map[string]string { "Captha protection": fmt.Sprintf("%v", info.captchaToken != ""), "Ethstats username": info.node.ethstats, } - if info.githubUser != "" { - report["GitHub authentication"] = info.githubUser - } else { - report["GitHub authentication"] = "disabled, rate-limited" - } if info.noauth { report["Debug mode (no auth)"] = "enabled" } @@ -249,8 +236,6 @@ func checkFaucet(client *sshClient, network string) (*faucetInfos, error) { amount: amount, minutes: minutes, tiers: tiers, - githubUser: infos.envvars["GITHUB_USER"], - githubToken: infos.envvars["GITHUB_TOKEN"], captchaToken: infos.envvars["CAPTCHA_TOKEN"], captchaSecret: infos.envvars["CAPTCHA_SECRET"], noauth: infos.envvars["NO_AUTH"] == "true", diff --git a/cmd/puppeth/wizard_faucet.go b/cmd/puppeth/wizard_faucet.go index e7d5ad488..7ecb376de 100644 --- a/cmd/puppeth/wizard_faucet.go +++ b/cmd/puppeth/wizard_faucet.go @@ -19,7 +19,6 @@ package main import ( "encoding/json" "fmt" - "net/http" "github.com/ethereum/go-ethereum/accounts/keystore" "github.com/ethereum/go-ethereum/log" @@ -79,51 +78,6 @@ func (w *wizard) deployFaucet() { log.Error("At least one funding tier must be set") return } - // Accessing GitHub gists requires API authorization, retrieve it - if infos.githubUser != "" { - fmt.Println() - fmt.Printf("Reuse previous (%s) GitHub API authorization (y/n)? (default = yes)\n", infos.githubUser) - if w.readDefaultString("y") != "y" { - infos.githubUser, infos.githubToken = "", "" - } - } - if infos.githubUser == "" { - // No previous authorization (or new one requested) - fmt.Println() - fmt.Println("Which GitHub user to verify Gists through? (default = none = rate-limited API)") - infos.githubUser = w.readDefaultString("") - - if infos.githubUser == "" { - log.Warn("Funding requests via GitHub will be heavily rate-limited") - } else { - fmt.Println() - fmt.Println("What is the GitHub personal access token of the user? (won't be echoed)") - infos.githubToken = w.readPassword() - - // Do a sanity check query against github to ensure it's valid - req, _ := http.NewRequest("GET", "https://api.github.com/user", nil) - req.SetBasicAuth(infos.githubUser, infos.githubToken) - res, err := http.DefaultClient.Do(req) - if err != nil { - log.Error("Failed to verify GitHub authentication", "err", err) - return - } - defer res.Body.Close() - - var msg struct { - Login string `json:"login"` - Message string `json:"message"` - } - if err = json.NewDecoder(res.Body).Decode(&msg); err != nil { - log.Error("Failed to decode authorization response", "err", err) - return - } - if msg.Login != infos.githubUser { - log.Error("GitHub authorization failed", "user", infos.githubUser, "message", msg.Message) - return - } - } - } // Accessing the reCaptcha service requires API authorizations, request it if infos.captchaToken != "" { fmt.Println() |