Bitcoin Forum
April 19, 2024, 10:30:24 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 [78] 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 ... 205 »
  Print  
Author Topic: bitHopper: Python Pool Hopper Proxy  (Read 355546 times)
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 29, 2011, 01:58:56 PM
 #1541

The timeouts are caused by the pool on purpose though because we're identified by IP and user/workername as offending hoppers (see burnbacks post a few pages back). How will client side worker management get around this?

ok, client side worker are not really needed to solve this as bithopper could just split getwork requests through its workers; but i am very sure that missing them is the reason we got currupted (NOT stale) shares)

but i think its easier to implement - as you "always" know worker 1 goes to pool worker 1 and so on.


Yeah the main way people appear to identify bitthopper is the corrupted shares issue and its user-agent. I change the json user agent in work.py (lines 61 & 83) to match a common miner.

and are you getting good work with bitclockers? If so could you pm me with details? Save me the trial and error of figuring out which bits to change  Wink

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
Every time a block is mined, a certain amount of BTC (called the subsidy) is created out of thin air and given to the miner. The subsidy halves every four years and will reach 0 in about 130 years.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713565824
Hero Member
*
Offline Offline

Posts: 1713565824

View Profile Personal Message (Offline)

Ignore
1713565824
Reply with quote  #2

1713565824
Report to moderator
1713565824
Hero Member
*
Offline Offline

Posts: 1713565824

View Profile Personal Message (Offline)

Ignore
1713565824
Reply with quote  #2

1713565824
Report to moderator
1713565824
Hero Member
*
Offline Offline

Posts: 1713565824

View Profile Personal Message (Offline)

Ignore
1713565824
Reply with quote  #2

1713565824
Report to moderator
licutis
Newbie
*
Offline Offline

Activity: 38
Merit: 0


View Profile
July 29, 2011, 02:17:00 PM
Last edit: August 21, 2011, 12:39:09 AM by licutis
 #1542

.
bitcoindaddy
Hero Member
*****
Offline Offline

Activity: 481
Merit: 500


View Profile
July 29, 2011, 02:31:35 PM
 #1543

Yeah the main way people appear to identify bitthopper is the corrupted shares issue and its user-agent. I change the json user agent in work.py (lines 61 & 83) to match a common miner.

Here's the relevant code and what I changed it to (I hope this could be included in the official version):

Code:
diff --git a/work.py b/work.py
index 7063219..aeeaa34 100644
--- a/work.py
+++ b/work.py
@@ -58,7 +58,7 @@ def jsonrpc_lpcall(agent,server, url, update):
     request = json.dumps({'method':'getwork', 'params':[], 'id':i}, ensure_ascii = True)
     i = i +1
     
-    header = {'Authorization':["Basic " +base64.b64encode(server['user']+ ":" + server['pass'])], 'User-Agent': ['bitHopper'],'Content-Type': ['application/
+    header = {'Authorization':["Basic " +base64.b64encode(server['user']+ ":" + server['pass'])], 'User-Agent': ['poclbm/20110709'],'Content-Type': ['applic
     d = agent.request('GET', "http://" + url, Headers(header), None)
     d.addErrback(print_error)
     body = yield d
@@ -80,7 +80,7 @@ def jsonrpc_call(agent, server, data , set_lp):
         request = json.dumps({'method':'getwork', 'params':data, 'id':i}, ensure_ascii = True)
         i = i +1
         
-        header = {'Authorization':["Basic " +base64.b64encode(server['user']+ ":" + server['pass'])], 'User-Agent': ['bitHopper'],'Content-Type': ['applicat
+        header = {'Authorization':["Basic " +base64.b64encode(server['user']+ ":" + server['pass'])], 'User-Agent': ['poclbm/20110709'],'Content-Type': ['ap
         d = agent.request('POST', "http://" + server['mine_address'], Headers(header), StringProducer(request))
         response = yield d
         header = response.headers
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 29, 2011, 02:36:34 PM
 #1544

so my latest annoyance/confusion: If I go to localhost:8337/stats it works fine - if I go to 192.168.1.xxx:8337/stats it works fine - if I go to <external_address>:8337/stats it does not work fine. I've got my router set to forward 8337 and just to verify I fired up ryouiki's mod and I can still access that stats page with the external IP, just not c00w's version. Is c00w's version set to only allow HTTP connections from localhost or something? If so, how do I change that?
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 29, 2011, 02:38:31 PM
 #1545

Yeah the main way people appear to identify bitthopper is the corrupted shares issue and its user-agent. I change the json user agent in work.py (lines 61 & 83) to match a common miner.

Here's the relevant code and what I changed it to (I hope this could be included in the official version):

....


Nice - that's actually a great heads up that there's a new poclbm version available! Git me up baby.

hooo-ever it might be not such a good idea to post such goodies here since it's monitored by pool ops. There's a speakeasy i know of....

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
bitcoindaddy
Hero Member
*****
Offline Offline

Activity: 481
Merit: 500


View Profile
July 29, 2011, 02:39:25 PM
 #1546

so my latest annoyance/confusion: If I go to localhost:8337/stats it works fine - if I go to 192.168.1.xxx:8337/stats it works fine - if I go to <external_address>:8337/stats it does not work fine. I've got my router set to forward 8337 and just to verify I fired up ryouiki's mod and I can still access that stats page with the external IP, just not c00w's version. Is c00w's version set to only allow HTTP connections from localhost or something? If so, how do I change that?
I'm doing the same thing and it is working fine. Make sure you are doing TCP forwarding, check the internal IP address to make sure it matches the rule in your router. Check if you are running any firewall rules with "iptables -L".
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 29, 2011, 02:45:14 PM
 #1547

so my latest annoyance/confusion: If I go to localhost:8337/stats it works fine - if I go to 192.168.1.xxx:8337/stats it works fine - if I go to <external_address>:8337/stats it does not work fine. I've got my router set to forward 8337 and just to verify I fired up ryouiki's mod and I can still access that stats page with the external IP, just not c00w's version. Is c00w's version set to only allow HTTP connections from localhost or something? If so, how do I change that?
I'm doing the same thing and it is working fine. Make sure you are doing TCP forwarding, check the internal IP address to make sure it matches the rule in your router. Check if you are running any firewall rules with "iptables -L".

I'll reiterate: If I run ryouiki's mod which also listens on 8337 and attempt to access that stats page from the external IP it works correctly. If I close ryouiki's mod and open c00w's main branch I can no longer connect via the outside world. Obviously the problem is not in my TCP forwarding settings, firewall rules, etc else it would fail on ryouiki's mod too.
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
July 29, 2011, 03:01:00 PM
 #1548

hooo-ever it might be not such a good idea to post such goodies here since it's monitored by pool ops. There's a speakeasy i know of....
Well, what shall they do - UserAgent ban/annoy all poclbm users? Wink

If yes, we can just rotate between headers of all miners...

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 29, 2011, 03:17:18 PM
 #1549

hooo-ever it might be not such a good idea to post such goodies here since it's monitored by pool ops. There's a speakeasy i know of....
Well, what shall they do - UserAgent ban/annoy all poclbm users? Wink

If yes, we can just rotate between headers of all miners...

weeeeeell, i was kinda speaking generally. And putting in a plug for another forum  Wink

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
paraipan
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
July 29, 2011, 03:24:53 PM
 #1550

so my latest annoyance/confusion: If I go to localhost:8337/stats it works fine - if I go to 192.168.1.xxx:8337/stats it works fine - if I go to <external_address>:8337/stats it does not work fine. I've got my router set to forward 8337 and just to verify I fired up ryouiki's mod and I can still access that stats page with the external IP, just not c00w's version. Is c00w's version set to only allow HTTP connections from localhost or something? If so, how do I change that?

usually soho routers don't allow you to access external interface from the same pc you redirect the port to (80 for example) instead try to acces it through an external web proxy (http://hidemyass.com/) or from a pc outside your local lan

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 29, 2011, 03:44:16 PM
 #1551

so my latest annoyance/confusion: If I go to localhost:8337/stats it works fine - if I go to 192.168.1.xxx:8337/stats it works fine - if I go to <external_address>:8337/stats it does not work fine. I've got my router set to forward 8337 and just to verify I fired up ryouiki's mod and I can still access that stats page with the external IP, just not c00w's version. Is c00w's version set to only allow HTTP connections from localhost or something? If so, how do I change that?

usually soho routers don't allow you to access external interface from the same pc you redirect the port to (80 for example) instead try to acces it through an external web proxy (http://hidemyass.com/) or from a pc outside your local lan

Never had that problem before but that seems to have done it... So weird.

Thanks!

Edit: I'm using a router that's been flashed to DD-WRT so even though it's a soho router it's not exactly a stock soho router.

Edit #2: Holy crap, look who just hit hero member when he wasn't paying attention  Grin
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 29, 2011, 03:55:05 PM
 #1552

you'll always be my hero  Grin

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 29, 2011, 03:57:19 PM
 #1553

getting the following error which is preventing the database from updating:

Code:
Traceback (most recent call last):
  File "bitHopper.py", line 39, in __init__
    self.db = database.Database(self)
  File "/home/user/bitHopper/database.py", line 32, in __init__
    call.start(60)
  File "/usr/lib/python2.6/dist-packages/twisted/internet/task.py", line 163, in start
    self()
  File "/usr/lib/python2.6/dist-packages/twisted/internet/task.py", line 194, in __call__
    d = defer.maybeDeferred(self.f, *self.a, **self.kw)
--- <exception caught here> ---
  File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 133, in maybeDeferred
    result = f(*args, **kw)
  File "/home/user/bitHopper/database.py", line 73, in write_database
    self.update_user_shares_db()
  File "/home/user/bitHopper/database.py", line 144, in update_user_shares_db
    self.curs.execute(sql)
sqlite3.OperationalError: no such column: user

Also, any easy way to reset the db to start from scratch?

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 29, 2011, 04:00:40 PM
 #1554

you'll always be my hero  Grin

Heeeeey getting pretty close there yourself 494  Grin
Clipse
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502


View Profile
July 29, 2011, 04:13:18 PM
 #1555

getting the following error which is preventing the database from updating:

Code:
Traceback (most recent call last):
  File "bitHopper.py", line 39, in __init__
    self.db = database.Database(self)
  File "/home/user/bitHopper/database.py", line 32, in __init__
    call.start(60)
  File "/usr/lib/python2.6/dist-packages/twisted/internet/task.py", line 163, in start
    self()
  File "/usr/lib/python2.6/dist-packages/twisted/internet/task.py", line 194, in __call__
    d = defer.maybeDeferred(self.f, *self.a, **self.kw)
--- <exception caught here> ---
  File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 133, in maybeDeferred
    result = f(*args, **kw)
  File "/home/user/bitHopper/database.py", line 73, in write_database
    self.update_user_shares_db()
  File "/home/user/bitHopper/database.py", line 144, in update_user_shares_db
    self.curs.execute(sql)
sqlite3.OperationalError: no such column: user

Also, any easy way to reset the db to start from scratch?

Just delete the stats.db file.

...In the land of the stale, the man with one share is king... >> Clipse

We pay miners at 130% PPS | Signup here : Bonus PPS Pool (Please read OP to understand the current process)
hawks5999
Full Member
***
Offline Offline

Activity: 168
Merit: 100



View Profile WWW
July 29, 2011, 04:40:55 PM
 #1556

Edit #2: Holy crap, look who just hit hero member when he wasn't paying attention  Grin

http://youtu.be/Dq0llrCYtCQ?t=1m18s

■ ▄▄▄
■ ███
■ ■  ■               
LEDGER  WALLET    ████
■■■ ORDER NOW! ■■■
              LEDGER WALLET
Smartcard security for your BTCitcoins
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Decentralized. Open. Secure.
hawks5999
Full Member
***
Offline Offline

Activity: 168
Merit: 100



View Profile WWW
July 29, 2011, 04:44:45 PM
 #1557

Code:
diff --git a/work.py b/work.py
index 7063219..aeeaa34 100644
--- a/work.py
+++ b/work.py
@@ -58,7 +58,7 @@ def jsonrpc_lpcall(agent,server, url, update):
     request = json.dumps({'method':'getwork', 'params':[], 'id':i}, ensure_ascii = True)
     i = i +1
     
-    header = {'Authorization':["Basic " +base64.b64encode(server['user']+ ":" + server['pass'])], 'User-Agent': ['bitHopper'],'Content-Type': ['application/
+    header = {'Authorization':["Basic " +base64.b64encode(server['user']+ ":" + server['pass'])], 'User-Agent': ['poclbm/20110709'],'Content-Type': ['applic
     d = agent.request('GET', "http://" + url, Headers(header), None)
     d.addErrback(print_error)
     body = yield d
@@ -80,7 +80,7 @@ def jsonrpc_call(agent, server, data , set_lp):
         request = json.dumps({'method':'getwork', 'params':data, 'id':i}, ensure_ascii = True)
         i = i +1
         
-        header = {'Authorization':["Basic " +base64.b64encode(server['user']+ ":" + server['pass'])], 'User-Agent': ['bitHopper'],'Content-Type': ['applicat
+        header = {'Authorization':["Basic " +base64.b64encode(server['user']+ ":" + server['pass'])], 'User-Agent': ['poclbm/20110709'],'Content-Type': ['ap
         d = agent.request('POST', "http://" + server['mine_address'], Headers(header), StringProducer(request))
         response = yield d
         header = response.headers

So this begs the question why we'd ever use bitHopper as UA string?
And the followup:
should  'User-Agent': ['phoenix/v1.5'], be used if mining with phoenix or is it all the same?

■ ▄▄▄
■ ███
■ ■  ■               
LEDGER  WALLET    ████
■■■ ORDER NOW! ■■■
              LEDGER WALLET
Smartcard security for your BTCitcoins
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Decentralized. Open. Secure.
Clipse
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502


View Profile
July 29, 2011, 05:00:17 PM
 #1558

So, btcworld.de should be scraping the poolspeed from the main page and not the statistics page (shares etc obviously should scrape from statistics page)

Anyone got a way around scraping from 2 locations. Statistics page caching is messing with poolspeed updates.

...In the land of the stale, the man with one share is king... >> Clipse

We pay miners at 130% PPS | Signup here : Bonus PPS Pool (Please read OP to understand the current process)
gooie
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
July 29, 2011, 05:22:04 PM
 #1559

is anyone able to mine from arsbitcoin with bithopper? for some reason it refuses to switch to that pool even though it's not lagging and I've disabled the other backup pools.
anty
Newbie
*
Offline Offline

Activity: 40
Merit: 0



View Profile WWW
July 29, 2011, 06:15:13 PM
 #1560

is anyone able to mine from arsbitcoin with bithopper? for some reason it refuses to switch to that pool even though it's not lagging and I've disabled the other backup pools.
Yes, I mined some hours ago on arsbitcoin.
Pages: « 1 ... 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 [78] 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 ... 205 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!