Pages:
Author

Topic: FaucetBOX.com Discussion - page 93. (Read 237001 times)

full member
Activity: 168
Merit: 100
November 29, 2015, 05:01:21 AM
can we really know which of those addresses are bots?
Bots are not visit to your faucet, but they send some line of code to claim satoshi so that if referral address is not seen in google analytics that we can say it is bots
full member
Activity: 182
Merit: 100
November 29, 2015, 02:15:34 AM
can we really know which of those addresses are bots?
sr. member
Activity: 350
Merit: 250
November 28, 2015, 08:28:24 PM
thank you Salmen .. tell me how you did this ?
I replaced in Windows Editor the spaces to tabulator and saved as .csv file.
I opened the .csv file with Open Office Excel and after every tabulator, it create a new column. Then I removed the two column and saved the file then I changed from .csv to .txt and opened it with Windows Editor.

Cheers
Salmen

nice  Smiley
Hello, and know that they are bots?


check this address 13cGwTHDcgQuuBG7SCFsq26t8bkXpXUvDY and watch his pattern .
anybody think i am wrong please post you reason here ...

It might be a Rotator friend
sr. member
Activity: 350
Merit: 250
November 28, 2015, 06:45:00 PM
thank you Salmen .. tell me how you did this ?
I replaced in Windows Editor the spaces to tabulator and saved as .csv file.
I opened the .csv file with Open Office Excel and after every tabulator, it create a new column. Then I removed the two column and saved the file then I changed from .csv to .txt and opened it with Windows Editor.

Cheers
Salmen

nice  Smiley
Hello, and know that they are bots?
legendary
Activity: 1059
Merit: 1020
November 28, 2015, 05:57:34 PM
thank you Salmen .. tell me how you did this ?
I replaced in Windows Editor the spaces to tabulator and saved as .csv file.
I opened the .csv file with Open Office Excel and after every tabulator, it create a new column. Then I removed the two column and saved the file then I changed from .csv to .txt and opened it with Windows Editor.

Cheers
Salmen
legendary
Activity: 1059
Merit: 1020
November 28, 2015, 05:48:39 PM
help me extract bot referrals address ...


You mean this?

1FFEghcFDVaus67inG7Bytc3cUGEdAUwsA
1K9stGd3XdYtUCzo8RW3ETp2rdKAc2wCKb
1Dy4iKA7fpVveAEbQP8XGa8nq556oRRMn2
14VEwmGe1mpqX3bAtoGZeJnUZ48SQeZwst
17sF95axFPUv79X4UXDyBGhJxFHdwduJ4m
1KaCaTjc8UrzfsLQKYDtvi2mD3FkAtLtuG
166bxFWV9bfn4HKnHQ82yQLY4z29BeJSuW
1KDrmsv3hw74rR8CYGscvz361nvxYLzgNa
1JsnYEzVdszmn13wyFxtM8Emci3g6asxbX
174JiiBN7VJ5HzTGukgSJCo8o2vK3bQJX1
19R42nsEm6wEhr6iqCGCLrKZRx2L1tdCc5
1P5xqHDQnZW8Gj3PAj1c1Sm8An2oqyMtof
148qthqC9wmatTcLg9UoBmPo1cYLjoiY57
19Aq2TgP7Mx2apRHBe85Badyvo2j2aHnpF
17pQmTXF92XGakWpMYfq68eCNGyHBYXckF
1PDbK2fTKEWbmYZD7jm31j1P95VuyfDxRZ
1EiYFuxSYKchLix1MqjdmUjFx7Q1FgFR16
18kEV6amZCiRkmhUKJbe8m76wup5NCrVm4
1KdwXfHhF2dGPJdMPbcbKyTywjnvsEp4aN
1JPPZTq2ry1HSEoGy4oHNEYiSh6Wm522xg
19usXfxkAFGhqa3W7JAQKq2spS8Bw7Sh4Q
12rpMACoaZwXyQgWKsUJ7AeYVtZzU35bno
1G6JwBFjKqSvY2s4rzNSsfXbRSdiUCXFYE
1NqrRm7vaehUzqDwD4WnotybBySYAtqdKt
1Jo8wyfkcxVbPEygfJDArSm9653RgmEcre
1MaMri9vd4kon9ZU6jrFXu2Bd8SBtNKGvu
1CR2dQ9xWSHPMW4DVZyH2RCfTdBGUvJjPd
1Q5SpKNvev5tKzGq95qMjcsnLGBP5gHAFB
1PNEe1z38Ti6Utmd24tXTxP2dec2cuiiVT
1KrPGgo7aBYffjdq2JzfMRomiA9N3CkxDz
14SwgyHxb9HieHwKCqb812znuWFnbQn5wK
1MndHNoi36iBdXT1fHfWBZoBuoZzQkkRNw
1Q5k86qtKEZwiyf9K22TN8hL1vHkmnbFp1
14aNwNVj5UFTB49998NCHfYwGzJfUUqk67
1yjojHatBMj4HLWQakrNYf2fncmQHZMvw
1N7gRQWRwkczxx182LfYBsuSJGMsCwUxJE
1LFUfyaGHd81rABkFMksDcikVutxnwp6aq
1B9E3LT5C3jXfjGNomKNcPKWAD4u1ovzjU
1P5bxvBVc3SxKPhArFBxkbGBCrTyjHfVWn
187HGdWY8CWKqK4nTHPaZQZRjdk7oJ4TjB
12igoQGsFDEPJyKCvXcJjC5dED4qkuRkJN
167RLWG482ZD1f6gMELGoLJPnfhR4UB3Kn
1NpF9JndNkfUCBfmKTGE6mPBqFVZib4fX1
18CcmhTn2caGUoK1x2AUC634kWYTc5NMop
1Fo1iyMgpBGEp7gtWdcXkgEbAsAHCwgZAa
1FGAu8vqkgTH7BP3C7SaEqWbm9pDgTch1G
1HWiXF2PFYb18ebKrMAkZGbMakPHuTLFh9
1QzLTKRZWNV2JkeENvbQSriF8Zi1Yzmaj
16dHuWarsqu1SNdqEPCkJwanG5vK7P8jFw
16UFK6giL3mWr4XBrMdTRhARt2HsqnwMiu
1Lo6BJ95FxPYc5U1iqT5eQYGhnBZ4EnWiH
19Hq4K18qrWfHsPJCaNEe4u6QBTAgVPJ9e
1BEoKnoiyfhCzYY221sjCh2fMPQ15LBA7o
14x3FW11RQvb6JRtBgYDe6ToHTJ1ePp3zC
1KTcp2K11YxDHisN5GaBjHHsky2atDunza
1PnpFStNjQZa9bnsdHbbvskvsMQizy8oFi
1JfJr9z6RVHp6ETGQ1Tpeg945jq7WiZ88D
1LdzBbCfm1gcv31ujipu7TFcZx7k11cw2t
13stsNxFa8EWitoaSQn9oDGK4sqXibHGTC
1H8WTSnwDvw3GdeJxURT6NgQmFxsmhFNHA
15QaiRrePjfuNttaZasVDedJd8GqoyGN9m
1HSJkWwYHgWzttwDiYRkrT9h8nWermL74N
14BBPt1zLLV48Lk8wHv19TxaG7BgPHmf84
1NVaiNPNGap9S3atXigQNCfmRr5zPjVmN1
1JKY4Sk8TtT9TDLUuMMmw31ttPmGPfaR8w
1JkaNEeNu97uETCFXp9umPKzBJxt8mprN2
1Js14NvSfd5L5Jfx1qtvNfSJZGJ8pYRT9V
162XxmFAkzxkosESL7HCwjcw5JgDoQLF7j
1Je2KzMaFr8tnfcESZE1KvErdrZ9a9edCB
1HAqTXbMRHPcqKjTUUNtmU6B3rBUir52Rm
1DJhYJ3KBYKnSo6wSdu45YzrLzSRE4mExi
12bm9LXhq1Ej1jJ3d3DffhTUEnFYSQLuzo
1EHd5Cs93rhUeMLANidG1JTBP85VPZUZhW
1P3giQLB6FJ7eQ1Sy9D2WuZbRfdiYLWWR6
1F9DhB7BkDJUinfPjmQFMWYEAYtZzZShBW
1AQAAi1LyHypXsZnPSK1Tx6NvKJ3eHdaDX
16JP4XEJEY5Bm8iNWPYvJchup8wZuPxX4d
1NKzBxas2DcBNS3BRdwQuvhDWfN8yHzGkX
1D49fFjqWKfNFYK3QagDH6guhkzSrgMBo1
198RrZgR71suAzyMZCybrtMGX4WkgfaudH
19AUNGKoFy12CA27PjTJCRKBBc2E918oZ3
1369So7CWzghD5cxVmKf8Yf6syam4V6S7t
1B7WKLoeYoTMvmv1byPdivm8F8W9MPWPHt
1MkQL3ZwgggKjwBpuED4oT9zDwF5iiZTah
1PvZDm1fQFfKbrqZXRejS1wr4XufngGazS
17uR2kJUnMqABHe6CbSnLaY7jEzXvzrWfT
1KTpnuu9aZ7kT4qjqcz2wMjEjC6RetBLzd
17BFdnW7e4ss26sp2E5hZfHRRqWUNhsoJs
1BEEoYC6L6ifVcpmXPj4PxhzbHHgocCGn2
1J5oRWJk6TztKY4UdeobcBmuP4uvRruo4D
179MCTXhXw1h5FmkRJuFf6tZScTfbWpYDD
1NcsbZRjQU3mfL2WgkTV8Ua8mtiJB5Pr7R
13uunyDYnWYxY9Fha6rpA3jfxtFdFRsJqA
1NA9kj6FPbZijRF9CARNm6uC8KieUhegta
1GuJGRxak2Th8HWTmhZHaiWW91yLg17ocX
1Jvu2FeGAmTZuQU8j3HNAFtJvqWndLGWwG
1MqG5PM21Dy2pqaSuvEf3vkAijhsbJe6jB
1MiHJMotCmhhYFvAiRsGB89DP9NpR3QCek
1PDWhYsxcGL3qwUmXvq1bkUKAN7AgmYqjj
17dfChU9zmEGH3Y5Q5jr4rbV9ybwwdF4EC
18VLvB3mRTFTVkp6fW4mMtQV3yh4xP4jWR
1NMoh89jyStEDNGpyDbrZjWcCSZavDwHMW
1BeRLFVpuhQ3zvxwY8XSxZcsFXhuXNie1h
12gysDfnheYsdbcjQJXgGxkQerc7xAkBg7
1DQKcFgzPNWFrEUcXJtp2jEEJi3Dh8i2jA
1BvkJUPHtaeKzYbbykqwgM9DzrZjT3tU2q
1DpqVXjCTJRkjFjhYKH5eum8jcd3Fc5m3Y
12sEyLoNXxkU1Ch2PmLTG4dCfx5P8oW6Pb
1EgvKb2fakimU55bhuhe6fp5RxGaRUAa5B
1MDX1G5JWFqFcVRXFFT4kAA4J2yanoNyAM
1GHoV2Fvq8fXUdDMpdxsztHPwvi5YMn4gb
1C6qbiLhLoyedMvncSdyeBiW7GYajMKU2Y
181PTUYUJM3mc8VQRCMy6Qn4YUcZRNTZbu
1PH4K19fswCFzjgaZbpBXHFXiTTSjxkYNc
168Zu45h7SgXVRwDxAuhx3K1uxc2pBF9Z3
1CeYkPZfecub3uKQNfhoRkugDAgmgpdk1S
13R7ykksL1JV6M8dNQiWq3MbnZk8FTYnWF
1MjtWRxnnuEzFtXYpQzNWaNp2ehT8QPfyL
1AEs2PoX1T3PMpUG3aLpNtYCoQdmEGGTnZ
12zGKxWumjGFCuEQpdQQzcVC46T65DttFC
12HA1pne1csvX9zUhgq2opAVMB3XFTqrfo
1JKTRX1Ga6isySx3gzxThH1aWy5Rhd7zXk
1Bkv7j91jRaBmCQvYE1NWKPKEgZc9EMagr
1GYvLTZPky7kZJKPYuXLYPCT7zmeym4nUt
1FZZM16rt5v4KVFQyEDjsTVkDsrBFcPtSx
1P1VTxB1qiyv8ebZHQmGbiUdBGQFtFJ2qo
1PtitR7vW3duJayzxQmLT3WE6G6Znrj75d
1ujAS8SqisECJAeipTxmZj9WnqsJYrWmx
1JhVzt7eFxDdY3nFh8oqovPpK3p7Zjfht1
1KSL5UnGoMq4LsgRnegdq7in3MRjekE3zQ
126Y9yfnaEqtvYEsSfG7JqjRTRd2Dpk5Wk
13CtVxVzDjcvm5i236vikV8ybDPRVCrgTY
1t9c4iv1WbxMFPXpJMxGw8vuk6Rzmo118
1D6uULzJjcU3AQNLfCFaQ1eh51aAjJwNrz
1NkQLVRp8x2hbyc2XpmpmZjmoMbxsV5nes
13YgSKGTCEB8nibsQR76kniTCXTqw2BuJs
1G8jrqkb9MJE9eoFinP5QsL7pGaP1YVb3A
1LSZJMNtAcpvr83hKTtEoerc4Hxs3bo1PH
19oXVJy13Wx7XccmVcUmSWcX8oq6VLkgkp
15iDvgZMREoauzVnBx25sZarreKT3tZywA
18dmDswaJHBLyf5Y186LmNa56Gt5TMHoVF
1N5AyAfAu8ymFVkiBt6WFGM1UAvHwbDqkR
1F2tD8eTGYBHJb7jq7S8Z9aMtSofXAkTtb
1BMiFGHHPFoBbWMnBj1LaV9QJdsFFT3Hwu
1FNMpbUyfhYooXJrzLqa1H8HoRbvAErFau
1LFPzx5nbH3Y49uKiXg9KDdmvNfzJGGCK4
1MEK6v8CQYgZ3tdCmqLB7ZKnaVGqmdnF6W
1HPq6QRMSjnEPhLAbVXd9MTVHWqKrG7RF4
159k466omR5HG1aN76r2MtxtKMv9ASUDq5
1FpUiMnC4yiDQKY1G7unugD2hxL8dQv3jk
1QKZhGHoRYvyutwmP4XRz6SFPQdSSoWCVT
149rVvJG7ckBPS1zvoW8UCDW3spAaNxb9w
1NUFVvGEUNauHUM3qqttbzYWXARs9mR7TA
1HXTRrpkC481AkTGDngKUuNRqu1hTFkRC
1CwriXgKihWWKV7czquKysn54UqvvKD1GR
15PRc3q1Pae8bs5FK46nzHDpr37pRe7Qh2
1NTCikjX8KeprSkcNtCqjdgqFq1zJUKszq
1JvZKHu5z3BFjgb9S2fyxY9YbzcArnB1fp
1DeKREdUo7Qs2He5N942aHYDuFNmdPZH16
1oPQRQ2CWM9GhDMSxTmNNrv2CA4Cr9VJr
1CySdCZKV9FaXSng9uLRywvdAdPaZqB9mU
1CbqvHdqctp3VytRrc4j7ATLJXcWJ6TJEL
195hoEdQgk6Wva2hQnpGYvhRvsmNwTWqZE
1LbZsLS5rkwYtTDr658FfWcuSQjeaLMRKN
1KY4NPxFh4qkjn1E3YQiCtPoxvzih4JMd2
19KiMV9KDbn3b8w4DNiQmLgjXCZr4kTqXV
1DQ5ft2JdbADiBcXqj629DyNEKmaMX3cP6
14NG279Eeb2FK68k3sSUCahffFHHKi9ipF
1GSFyCGNYDRgccgPBykSBVhY6ug2tNw3bx
1ANtcscWKGd9qjMduPVRPL2xu5aKPaaPa8
1GrKbPX5M3q6PcrBMjULqzfQGskAUGZVwP
13RZUD3MVeamM6rma3iUb5pcSL91RTrH5z
16r2R3LLDfrMcURcjVdq8D8v7TUuJnPxTU
15gmJkqPgXXVYR3qkcVogLXa9jHqi7nedF
1HsuzP5hG4Mb9VKB6Lw8oojGcPFzmPh7mT
1BTo7912t3VPr6SjNMjS5pS2VS218ZRp9T
1Ky4ScuNCUioQpmnreDFPgZgHitPiUNyuJ
1FxEy25zB7W739YVn7DMSsbvZbwLkbz8tD
13M8oU9DvTrEMy5Xp1JC2HvmTpW9puKGBL
14awVTPNyeW15WeYxkBybQY244e4k2CUyT
18RU86gBwE9sGfFa12wfa2WXkmnByyq2Wv
1iRafPjVrZRC2vCoejcsTmnZ2hEFPuH7j
13e1UZZ95Ha4p4cHWax5VAP9XiYD6A3Bpy
1CTFExy5iZ1XBAjmgSjdD84yTjL9vsDrt9
1Q1mB7crzmJRCXYwVYvP1drcTqzDLvwxn6
1EPT3MEpXr6KgBuLuutpL9TbwZ1KAzR5PM
12PEW7HP2xA3ZavdyREjg9Cw9ZKmk7Kqvq
1DbDoTG6KzWLLrW5x2Lmi5yWRikLoPx3wn
1HASAt4n5M6mdyDUTMooTLt11zb1Ey9g49
16dGqiw7cTHZrxDTokaVyizHdFW2XN6APy
1H4T4XFQwLmTeBQJ5aNZT4g4WtjAbajP9U
15JqMaiY1um4D5vU96r41B7WHCfaG3A9vn
147tXH5fj1dD5h3x7DgaCbWRQvJNrtLrPJ
1H1voPKmkq4bzxSDDTYyaQTszw2Bzacj6x
1CP4AkqTPgsCm4soKUBSMPvnnWfUZuR5kA
15yxG1ic4ixXiJ8ybVenyri1SDhGuPuHgP
17pqpiFiBQg3xwDKTDfLvBvRmUweK3dZ8Z
1EXXNmNrh4k9qnUJBXu2cBAxA7MNa41YNE
15hKxsV62M8r1oiyTuf3VyeD7ZNUy8uKvY
3DbTvzqKyqXGVBbTcnPnEyW2eojfVQ62e2
3HQCduweXmWxqDgDoBW4pV7Sg9aNUDCHNr
3LKQyvo6XAjZVd9aDC1YKi41wnkGqXeoG4
3FxWk3ffRNGrfmCkkT6FC9D8sPxrsmSMkW
3QLJjjJD2KPRLEMeDmWJdzp3LdwapMeEUN
3GFQc6PTakXjKDJcczJaRcnM35DxrdLbdX
3BTD5fYj5R5JhpfXTD8NgtjgFMDfULuJ8H
38Cf9io6EWQb5PrH3LP1GKzVgxmpxmxgKq
38d6eQg1wjT8oy1jGL7qt5VFukkBEBtoGV
36sTshGcajFXnPVp9wJv7jFRXrBBdFxVyj
3Q5a7uuCzqRkukMbxvoL5vnRqvQ561247J
38WyvVb4T8jKLjZeBsxzZ9eQjvnr2DFyFD
3Gx1yNZvcdV3rG64xdbe6BonMfVjPnzbF5
3HNiUqZ9XtqTeA3qUw6G5vD1vu8xJEYwSU
3GtznJm7cb3pgVZDz5eV86Lm9BnhwSUpuZ
393GMZvnvpRUHRs2ZFTZu7A6PdRnQ8hRSf
3LpAudHgKocETuzRv1U9twsnY9L63vm9FC
3HAkFSYdL1n6EeBbd8DBYv1h1eZjUxiPLF
35ktCXnnRK5GGyzV6NEAHwxzoZUzYPA52M
387zcvicqTDQkQFF7EcW5LAvjdyZ7D73gA
3B1QuMXSmF8DMwJiLQ6AWowg1RLBTzeysM
3KD3CBJ2mM5RpAWUoQjLafWot68R8nMt76
347YjyLvVJJMTgx4DgLjw52sCLucPLn9Ed
39Jn7BBFBxPhYLCnS4pos8sLATMQ1FheB3
3KDZ9sRbxaRQw43nTfudRSSVC2qMVqydZP
3DJKx1Ss2uHA7ryrR4bUVYhYzw84qw8irG
3Jbb7679BPdRB66Uyajb8tEkUKwdnYCWQY
35ToXoWfKQpUs7mAUtAQf1q85dVHeovEQM
376WgjcoKpHSvznievvMV3nARSo2nW2U54
3MvFQsKxC3HAq7weMF8C8J9x5f7UkR7uYL
34LsfTnMkwDxzgDhqBYgmG4w91qov8Q1xj
363eQkG4Ct7NEcgWiPMZ8GsW9D3iqgcJjF
32tETKmbF5B6BWJH18LJdeBbzASrchKYLN
3NahJrqsFERLJeEPCPKodLCegFFbu7TFys
37JV6ioi5q7caPezp7rBz3QDEA24Mteu51
3MTaA5CJBBbC4oiPYwZ19Qgx5w3eTUf2uN
3Erwor3QZU5DV4RKMzqBfWKMs166wLNySZ
3NvfcWTScJtxm9QrBRt1CzY8zi9KJXg3n7
3QcMC4p23fcYt8zXTVcp259gMtaoANKb8b
32sFWVioURcwFhjCwXSBRnpJE4MUABaBKy
3G7vj6efwXsUosUuskDRXAiv8DDUafNHzt
32cUKgHKXcNGe3PuBJqgDkgYYkwB8sA3wu
3Qx7JZiNp7i9MdvjftjLhpnLvzfR2imCDf
3QA6EG5PV1A7DBjrBpR4sLkzTKhtt3kPxX
37xZNoy5SvnQ6WWzbpU7JTM8bvQ9MW1YB2
372ceSm4zUc6paHLHo9kvsRkW5PzndhSwK
3PV5iFKyJBymcKYeQVBMn7VAnZrE2kXbKc
32G35zHMoqDc3Wd4ADUhUcMwzUuFhPVAFr
35hWjePpzPmJXTWUUUBSDpRXis3JmvU3YC
3KhTvoMA9BhQthXHNEFxTnzUQzWHQUCXgr
38sv5TPPqXdePAdAMyyzevAPXsRsjjskx8
3Fx291NqvUhrbYZjckqua61VVNPswQjZSS
3NFdbRavXutxjNuXk3LC57KZjoEvx6wftX
3DEnGQjuZPPKTBBmeMGWa84eSdHpj2DB4v
3Jinyp7mmZWYPA7cnwDzEL53qFUAU7gbvQ
35yQHcQYyFETEpWaRmtvGqEfS42PY9TYUs
32BWHyadQzSpvSQqNiyXe9WYyokG4yUbaU
3BbhAJuYzexS8YYec7vTNEqe66ua5SGMA4
3KpPcvtoKb2ujC7LpeDVedzX1WqmjPweqV
3ASjxsWfoTo657mVaKEsWJiDFeqmnPvkTB
377gdJxVfd5M9LESayAp8hA22ybhL76ubo
3JQ82nwq1gtQaoef1tARBtH32q9i3kZSc7
3FXRB2SE54Y68dHuT894qaToLkqjte1Rrx
3EwbVgh73UcMGq8QdmXLrfUspDBcCUR7Zo
3BewdQzer1231j4jkPLmkfvwgvHy5ExnM2
3PStq7f75cybSsf7eK6GyLLfUq19saB8dW
38eHi3MWPNTbwgj7Jk2cHqnKdA6jSa7xGL
31pz53A1weVfZtN2XUSttbWtsUztK6c8Jh
3DNzwQ7oLpi6WXnR5UxJ2gbbAgzV1JWTdR
3GUzrCEC59yAxVzk5wx3fV74pw9tTNFbfj
385UDBTc2GnEt1om4tn4aBLewgYzCSDbKx
3KM5QSrACaTiemaxBbCk9rSUxMay3U19ad
35Ps3NYLmPYMLTCxUQT258BDxUQyMjL6NW
3HJgaMVdbrk9kLY6NrCN9mKnqiaEzHMQNd
3PYYXDdQDmdokyEx1gq95DEnt76hkmV5XS
3QFBy9x5no6YnppvCMZaDTBcTeTU9hJDVx
3QAaJzLVSA8M1xGy658cBBdC7QWdPx5LQF
38zAw8WPuQkw1HDPy3NssLVXRnb8hen1T4
3CuhrWU6snDsrtHRNqBSahkW6oBdNU15ko
34vMXGdxDkB3B2F8K1u6XJr3D5gb4d2xUj
3Fc8C3uep64atHHPwJdnXgrEnjUfyKWfUN
3Fw7WHQ7q5PTdsMsUMMdCqGXCyzJsAW2FY
3HEUgFtsVpPsURLuzTuHRpLNv1X236Lwu3
3DCnYo6TMSXKw2eqnmaJss6E8LiWfmCPjD
3HeBNDXiq1qN8c9dgffMcgUVwkuoLB6opG
3EEwnEPjPJJj5us93it5o55rehoNcy3mzQ
3EfJKhrR4xdoAkiJMuG3hSm8KpL4ZB1cjf
3QMjyfsuX5yN9zjdTZukZDkwHWY88Pnk2w
33LDWBoFsbiTRjhkJRMzrQnSQnhNt7NwK2
34V4W1majVUay8Q9s6MfDHfWwA1fi4WfUN
3BZSRewMu1k7UTWVLcmNm7LZwyM1JVAYAz
3AuFR8BewsDTwNBUvtQb7pgAFULw6S47Gh
3Mx6pEx28io5fAGpN7FgB3ZjTZb2VUqX3z
32RpjsdGX3GAbf8ujruj1jehPkoo89jArX
3GWX4oEu756iKhgYg2Z4jSUvoHnFmXnHTw
3D4XUBatDXfwSn8VqmCkuw6BjZfXE71pXi
353rehncd5ebSm7Hsytws2b1p7GNfk1iSJ
3Le86jjXSJuDAS6P8Wqug5bG4eTaG6eGs3
3QBmWNrKNrAFH76i82H1xvbVXauK7D4uVC
legendary
Activity: 1524
Merit: 1001
NOBT - WNOBT your saving bank◕◡◕
November 28, 2015, 03:37:24 PM
Who knows how to add this feature? You know, when you have to click on all these "I'm human" things to see Get Reward button


It does not protect against bots ... there are faucets that use the links to clickjack their users.

If you want something that works against bots try this:
http://bit.makejar.com/labs/anti-bot-links-201/
http://bit.makejar.com/labs/anti-bot-links-201/install.php

Don't use it for clickjacking please.

3~5 links are enough to make a brute-force unprofitable.

Don't forget to create your own challenges other than the sample ones.
In my opinion recaptcha or funcaptcha are very good to avoid bots.
hero member
Activity: 896
Merit: 500
Roma Fan Since 1999 ! #ForzaRoma
November 28, 2015, 03:20:13 AM
tutorial FaucetBOX include database  bro ?
full member
Activity: 500
Merit: 100
November 27, 2015, 05:07:35 PM
Who knows how to add this feature? You know, when you have to click on all these "I'm human" things to see Get Reward button


It does not protect against bots ... there are faucets that use the links to clickjack their users.

If you want something that works against bots try this:
http://bit.makejar.com/labs/anti-bot-links-201/
http://bit.makejar.com/labs/anti-bot-links-201/install.php

Don't use it for clickjacking please.

3~5 links are enough to make a brute-force unprofitable.

Don't forget to create your own challenges other than the sample ones.
sr. member
Activity: 350
Merit: 250
November 27, 2015, 03:55:15 PM
Who knows how to add this feature? You know, when you have to click on all these "I'm human" things to see Get Reward button

This is how your faucets turns to shit and people start avoiding it and puting it in their rotators.

i don't like that kind of captcha
and i will not use that faucets..
hero member
Activity: 686
Merit: 500
November 27, 2015, 03:12:52 PM
Who knows how to add this feature? You know, when you have to click on all these "I'm human" things to see Get Reward button

This is how your faucets turns to shit and people start avoiding it and puting it in their rotators.
member
Activity: 95
Merit: 10
November 27, 2015, 01:35:44 PM
Who knows how to add this feature? You know, when you have to click on all these "I'm human" things to see Get Reward button
legendary
Activity: 2352
Merit: 1268
In Memory of Zepher
November 27, 2015, 12:41:30 PM
Also that new measure that ask to turn off AddBlock and Private Browsing in Firefox prevents in most cases using of faucet even if I disable both?
That's due to Firefox implementing a new feature where external services can't track you in Private Browsing. I quite like it, though you can just turn it off by clicking on the shield and pressing this:


That should stop any captcha malfunctions or anti-adblock scripts.
legendary
Activity: 3234
Merit: 5637
Blackjack.fun-Free Raffle-Join&Win $50🎲
November 27, 2015, 10:46:38 AM
Sorry, but in my settings I found new:
Send limits
Limits of how much this faucet can payout in a 30 minute window.

What is it? What a "30 minute window"?

How much your faucet can send in 30 minutes. For example if you set it to 0.001 BTC, that's how much the faucet will be able to spend between 12:00 and 12:30. The amount that faucet has spent resets every 30 minutes. If your faucet tries to spend more than that, API will return:

Code:
{"status": 450, "message": "This faucet exceeded it's safety limits!"}

We also plan adding email notifications to that and optional "paranoid mode" that will reset the API kay if the limit is hit.

It's meant to be a protection from hackers stealing all coins if they get the API key in their hands and mass attacks of bots.
It seems great to me! Is there any way to change that message?
For example
Code:
This site has a maximum of x satoshi every half an hour.

I understand that the owners of the faucets want to protection from bots,but do not think about legitimate users.When a user opens your faucet message should warn them "This faucet exceeded it's safety limits!"
If I visit faucet several times today and I do all that is required instead of a reward I get this message it might be called cheating.
Also that new measure that ask to turn off AddBlock and Private Browsing in Firefox prevents in most cases using of faucet even if I disable both?
legendary
Activity: 1582
Merit: 1268
November 27, 2015, 03:57:47 AM
well, this thread turned too geeky for me  Grin

I agree  Smiley
full member
Activity: 182
Merit: 100
November 27, 2015, 03:53:37 AM
well, this thread turned too geeky for me  Grin
hero member
Activity: 622
Merit: 500
SatoshiGalaxy
November 26, 2015, 11:19:55 PM
Hey Kazuldur, our people sent us this, saying your people might be interested:

http://www.satoshigalaxy.xyz/tmp/faucetbox.patch.txt



Here's a detailed explanation of what this patch does, in case it doesn't get accepted by FaucetBOX team, but you (faucet owner) still want to apply it.

NOTE: You should never trust third-party code unless you have complete understanding of what it does. I'll try my best to break down this patch and explain what it does, but if you're new to PHP it might be a good idea to avoid it.

The problem:

Sometimes, FaucetBOX takes too long to respond. Meanwhile, all PHP scripts executed by SAPI have a "max_execution_time" setting, mercilessly cutting execution off at some point.

So, for example, if you have this pseudo-code:

Code:
$fb = new FaucetBox(blah);
$fb->send(blah)
echo "OK, Sent some satoshi";

-- it's quite possible to arrive at situation when your "echo" IS NEVER executed, because "$fb->send()" took too much time.

Before we tackle this problem, we shall also allow faucetbox.php to report errors a little bit better and also handle some more regular errors.

Connection error patch:

Let's imagine a situation when faucetbox.com doesn't connect at all.

(To test such situation, change
Code:
-protected $api_base = "https://faucetbox.com/api/v1/";
+protected $api_base = "http://localhost:91234/";
where "91234" is an unused port on your machine.)

In __execPHP (the "fopen" method):

Code:
        $ctx = stream_context_create($opts);
-        $fp = fopen($this->api_base . $method, 'rb', null, $ctx);
+        $fp = @fopen($this->api_base . $method, 'rb', null, $ctx);
+        if (!$fp) {
+            return array(
+                'status' => 503,
+                'message' => 'Connection error',
+            );
+        }
         $response = stream_get_contents($fp);
         if($response && !$this->disable_curl) {
             $this->curl_warning = true;

fopen may echo warnings, so we silence it with an "@".
At the same time we add an error check to make sure it doesn't return NULL, for broken connections.

In __execCURL (the "curl" method):

Code:
        $response = curl_exec($ch);
-        if(!$response) {
-            $response = $this->__execPHP($method, $params);
-        }
         curl_close($ch);
 
+        if(!$response) {
+            return array(
+                'status' => 504,
+                'message' => 'Connection error',
+            );
+        }
         return $response;

Same deal with curl.

Note, that this changes the behavior of those 2 methods: originally they would either return JSON, either NULL/false, now they can also return an array. The error codes 503 and 504 were picked from the HTTP (they are for "503 (Service unavailable)" and "504 (Gateway timeout)"), but most importantly, they are currently unused by FaucetBOX.

Also note! Originally, faucetbox.php tries to use curl (unless $disable_curl is true) and if that fails, tries to use "fopen". The above change removes the "fopen" fallback from the curl method: if it failed, it failed, end of story.

To handle this new array, we also make this change in __exec:

Code:
        if($this->disable_curl) {
             $response = $this->__execPHP($method, $params);
         } else {
             $response = $this->__execCURL($method, $params);
         }
-        $response = json_decode($response, true);
+        if(is_array($response)) { //connection error
+            return $response;
+        }
+        $response = @json_decode($response, true);

This way, we now ALWAYS get an array, and probably will NEVER hit the following code:

Code:
       return array(
            'success' => false,
            'message' => 'Unknown error.',
            'html' => '
Unknown error.
',
            'response' => json_encode($r)
        );

in "send".

Invalid response patch:

Let's imagine our next problem. Say faucetbox.com connects, but returns some unexpected data, instead of JSON. Why would that happen? Well, let's say they use CloudFlare protection; if they're being (D)DoS'ed, CloudFlare might return a response, but full of it's HTML instead of JSON. Some other proxying service or a gateway on their chain might do something similar.

(To test such situation, change
Code:
-protected $api_base = "https://faucetbox.com/api/v1/";
+protected $api_base = "http://localhost:80/";
where "localhost:80" is an actual webserver you control, and that would return some garbage/html/404 error page instead of expected JSON.)

Here's how we deal with it. In __exec:

Code:
+        $response = @json_decode($response, true);
         if($response) {
             $this->last_status = $response['status'];
         } else {
             $this->last_status = null;
+            $response = array(
+                'status' => 502,
+                'message' => 'Invalid response',
+            );
         }
         return $response;

Again, we silence possible json_decode warnings with an "@".
Additionally, if we can't parse it correctly, we return an array anyway.
502 error code (HTTP's "Bad gateway/Invalid response from upstream server") was picked for similar reasons: it's currently unused by FaucetBOX.

Timeout patch:

Now, we're ready to handle the more serious problem of timeouts. To test a timeout problem you might need a custom socket handler that never returns. If you have PHP 5.4, you can use the nifty 'php -S' feature, you might also be able to achive something like that with netcat, or a python script like this:

Code:
#!/usr/bin/env python

import socket
import time

host = ''
port = 50000

waste_seconds = 600

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host,port))
s.listen(5)
while 1:
    client, address = s.accept()
    data = client.recv(1024)
    print ("Connection from", address)
    if data:
     for i in range(0, waste_seconds):
         #client.send()
         time.sleep(1)
    print ("Letting go")
    client.close()

This script will run a TCP server on port 50000 and hang for "waste_seconds" (600) seconds instead of providing a response.

(Again, to test, we will change the api_base like that
Code:
-protected $api_base = "https://faucetbox.com/api/v1/";
+protected $api_base = "http://localhost:50000/";
where "50000" is the port our dummy server runs on.)

On to patching. Here, implemenations may differ quite a bit, but I think using half of PHP's max_execution_time is fair for both faucetbox and our script.

Code:
{
     protected $api_key;
     protected $currency;
+    public $timeout = null;
     public $last_status = null;
     protected $api_base = "https://faucetbox.com/api/v1/";

- declared new variable to handle timeouts

Code:
    public function __exec($method, $params = array()) {
         $this->last_status = null;
+        if($this->timeout === null) {
+            $socket_timeout = ini_get('default_socket_timeout');
+            $script_timeout = ini_get('max_execution_time');
+            $this->timeout = min($script_timeout / 2, $socket_timeout);
+        }
         if($this->disable_curl) {


- set it to something, if it's NULL (half of max_execution_time)

Code:
+    public function setTimeout($timeout) {
+        $this->timeout = $timeout;
+    }
+

- allow to change it. This breaks faucetbox.php's coding standards a bit.

Code:
            "http" => array(
                 "method" => "POST",
                 "header" => "Content-type: application/x-www-form-urlencoded\r\n",
-                "content" => http_build_query($params)
+                "content" => http_build_query($params),
+                "timeout" => $this->timeout,
             ),
             "ssl" => array(
                 "verify_peer" => $this->verify_peer
             )
         );

- using it in "fopen" method (__execPHP)

Code:
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->verify_peer);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+        curl_setopt($ch, CURLOPT_TIMEOUT, (int)$this->timeout);
 
         $response = curl_exec($ch);

- using it in "curl" method (__execCURL)

Notes: for streams, floats are allowed as "timeout" parameter, but for curl we should pass ints. In either case, if timeout is 0, there's no timeout (old behavior).

With all those patches applied, we can now do this:

Code:
$fb = new FaucetBOX();
$fb->setTimeout(NULL); //auto-generate timeout, default
$fb->setTimeout(0); //no timeout
$fb->setTimeout(10); //timeout is 10 seconds
$fb->send(....);

Bonus patch:

Code:
    public function send($to, $amount, $referral = "false") {
+        if ($referral === false) $referral = "false";
+        if ($referral === true) $referral = "true";

FaucetBOX library's send method expects $referral as string. This might be counter-intuitive to PHP devs, who would assume it's a bool.

This small patch allows for both bool and string to be used, i.e:
Code:
$fb->send('addr', 10000, true);
$fb->send('addr', 10000, 'true');
//same result

Phew! That took longer to explain, than to implement :)
newbie
Activity: 3
Merit: 0
November 26, 2015, 04:53:34 PM
You have to pass the API key as a POST parameter, not in query. Something like curl -d api_key=4VdBEIAQKPpZ4SWOhQLUMn7mMNVql -X POST https://faucetbox.com/api/v1/balance

Also, don't set the content type to json, as that's not true. Only response is in json, request should be application/x-www-form-urlencoded or similar, but you can just omit that.

Ouch, you're right! Thanks!
legendary
Activity: 971
Merit: 1000
November 26, 2015, 03:15:53 PM
Hello,
@Kazuldur: Do you have an API key which could be used for testing purposes of FaucetBox REST API?
I'm asking because I'm trying to test my Ruby on Rails code and API key shown on API page doesn't work for balance query (some headers omitted):

Code:
$curl -i -X POST -H "Content-Type:application/json" https://faucetbox.com/api/v1/balance?api_key=4VdBEIAQKPpZ4SWOhQLUMn7mMNVql

HTTP/1.1 200 OK
Date: Thu, 26 Nov 2015 17:46:57 GMT
Content-Type: text/html

{"status":403,"message":"Invalid API key."}

It would be great if that API key could be used for all request (balance, send, payouts) even if it would return some constant and fake data for correct parameters.




You have to pass the API key as a POST parameter, not in query. Something like curl -d api_key=4VdBEIAQKPpZ4SWOhQLUMn7mMNVql -X POST https://faucetbox.com/api/v1/balance

Also, don't set the content type to json, as that's not true. Only response is in json, request should be application/x-www-form-urlencoded or similar, but you can just omit that.
newbie
Activity: 3
Merit: 0
November 26, 2015, 01:10:47 PM
Hello,
@Kazuldur: Do you have an API key which could be used for testing purposes of FaucetBox REST API?
I'm asking because I'm trying to test my Ruby on Rails code and API key shown on API page doesn't work for balance query (some headers omitted):

Code:
$curl -i -X POST -H "Content-Type:application/json" https://faucetbox.com/api/v1/balance?api_key=4VdBEIAQKPpZ4SWOhQLUMn7mMNVql

HTTP/1.1 200 OK
Date: Thu, 26 Nov 2015 17:46:57 GMT
Content-Type: text/html

{"status":403,"message":"Invalid API key."}

It would be great if that API key could be used for all request (balance, send, payouts) even if it would return some constant and fake data for correct parameters.


Pages:
Jump to: