Bitcoin Forum
June 16, 2024, 08:31:40 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Frage zu CGMiner API  (Read 773 times)
SpAcEDeViL (OP)
Legendary
*
Offline Offline

Activity: 986
Merit: 1027


Miner-Control.de Pooler


View Profile WWW
January 09, 2014, 09:59:38 PM
 #1

Moin zusammen,

Ich schreibe gerade ein PHP Script um den CGMiner zu steuern. Also ehr eine Erweiterung.

Leider bekomme ich von der API, wenn ich ein "restart" absetzen möchte, bekomme ich nur :
Code:
stdClass Object ( [STATUS] => Array ( [0] => stdClass Object ( [STATUS] => E [When] => 1389304624 [Code] => 45 [Msg] => Access denied to 'restart' command [Description] => cgminer 3.8.5 ) ) [id] => 1 ) 

Weiß vielleicht jemand warum das nicht funktioniert?

Beste[/code]

Ginsley
Full Member
***
Offline Offline

Activity: 234
Merit: 114


View Profile
January 09, 2014, 10:01:59 PM
 #2

Hast du z.B.

"api-allow" : "W:127.0.0.1"

in deiner cgminer.conf drin? Wenn nicht, kann es zu diesem access denied kommen. kommt es zu access denied.

Ist unter https://github.com/ckolivas/cgminer/blob/master/API-README erläutert - ganz oben im ersten richtig großen Absatz.
Wenn du dann weiter runter zu den API-Befehlen scrollst, siehst du hinter restart ein (*).
(*) bedeutet, dass der privileged command status erlaubt sein muss (was durch api-allow für die spezielle IP geschieht).

1HYeuyxKHGmFs1ARvAPGgmEW9pW6u8L26U
SpAcEDeViL (OP)
Legendary
*
Offline Offline

Activity: 986
Merit: 1027


Miner-Control.de Pooler


View Profile WWW
January 10, 2014, 05:49:35 PM
 #3

Hast du z.B.

"api-allow" : "W:127.0.0.1"

in deiner cgminer.conf drin? Wenn nicht, kann es zu diesem access denied kommen. kommt es zu access denied.

Ist unter https://github.com/ckolivas/cgminer/blob/master/API-README erläutert - ganz oben im ersten richtig großen Absatz.
Wenn du dann weiter runter zu den API-Befehlen scrollst, siehst du hinter restart ein (*).
(*) bedeutet, dass der privileged command status erlaubt sein muss (was durch api-allow für die spezielle IP geschieht).

Code:
"api-listen" : true,
"api-port" : "4028",
"api-allow" : "0/0, W:127.0.0.1, 192.168.0.142",

habe ich zur API hinterlegt.

Ich kann auch alle Werte auslesen, nur halt nicht restart, oder quit...

Code:
#CGMiner Restart
  function restart() {
    return $this->request(array('command' => 'restart', 'parameter' => ''));
  }

Als Antwort bekomme ich nur das, was ich oben gepostet habe... steh da bisschen aufm Schlau.

Ginsley
Full Member
***
Offline Offline

Activity: 234
Merit: 114


View Profile
January 10, 2014, 06:30:58 PM
 #4

mhm - ich hab das gerade mal bei mir probiert (in meinem VB-Programm) - ein restart an cgminer geschickt und das Programm hat genau das gemacht, was es soll. Ich führe das aber auch auf dem localhost aus.

Falls du Windows benutzt:

Schau mal hier in dem Post

https://bitcointalk.org/index.php?topic=28402.8684

Ganz unten im Post ist ein Link zu einem kleinen Visual Basic Testprogramm, das du runterladen kannst. Damit könntest du zumindest auch mal auf anderem Wege testen, ob das funktioniert.


Welche Werte liest du denn aus? Kannst du z.B. Pools über dein Script switchen?

1HYeuyxKHGmFs1ARvAPGgmEW9pW6u8L26U
SpAcEDeViL (OP)
Legendary
*
Offline Offline

Activity: 986
Merit: 1027


Miner-Control.de Pooler


View Profile WWW
January 10, 2014, 06:48:51 PM
 #5

Moin,

bisher nur auslesen.


Bild: http://sven-goessling.de/wp-content/uploads/2014/01/mining.jpg

Nun wollt ich mich an nützliche Befehle machen. Aber wenn ein restart schon nicht klappt.... sehr komisch.

Ginsley
Full Member
***
Offline Offline

Activity: 234
Merit: 114


View Profile
January 10, 2014, 07:03:11 PM
 #6

Falls du mehrere Pools in deinem cgminer eingetragen hast, versuch doch mal den Befehl

switchpool|poolnummer

abzusetzen (Poolnummer in dem Fall ein Pool, der aktuell nicht aktiv geschalten ist).

1HYeuyxKHGmFs1ARvAPGgmEW9pW6u8L26U
SpAcEDeViL (OP)
Legendary
*
Offline Offline

Activity: 986
Merit: 1027


Miner-Control.de Pooler


View Profile WWW
January 10, 2014, 07:29:22 PM
 #7

 Mit :
Code:
return $this->request(array('command' => 'switchpool', 'parameter' => '1'));

Code:
stdClass Object
(
    [STATUS] => Array
        (
            [0] => stdClass Object
                (
                    [STATUS] => E
                    [When] => 1389382030
                    [Code] => 45
                    [Msg] => Access denied to 'switchpool' command
                    [Description] => cgminer 3.5.0
                )

        )

    [id] => 1
)


Leider auch nichts... Kann es vielleicht noch am User liegen? der apache hat ja www-data:www-data ?
[/code]

Ginsley
Full Member
***
Offline Offline

Activity: 234
Merit: 114


View Profile
January 10, 2014, 08:47:45 PM
 #8

Mit der php-Sache kenn ich mich leider nicht so aus. Aber an sich schaut der cgminer nicht auf spezielle User, sondern auf die IP, von der aus der Aufruf getätigt wurde (mir zumindest nicht anders bekannt).

Ich würde aber mal noch folgendes versuchen:

Code:
"api-allow" : "0/0, W:127.0.0.1, 192.168.0.142",
ändern auf
Code:
"api-allow" : "W:0/0",
dann cgminer neu starten (manuell) und den Zugriff fürs Pool switchen bzw. restarten über deinen Code testen.

1HYeuyxKHGmFs1ARvAPGgmEW9pW6u8L26U
SpAcEDeViL (OP)
Legendary
*
Offline Offline

Activity: 986
Merit: 1027


Miner-Control.de Pooler


View Profile WWW
January 10, 2014, 09:03:52 PM
 #9

HY,

DANKE!

Das wars, nun nimmt er auch die Befehle an Wink

Beste

Ginsley
Full Member
***
Offline Offline

Activity: 234
Merit: 114


View Profile
January 10, 2014, 09:06:47 PM
 #10

Ja sehr gerne.

Bedenke aber, dass nun ein Zugriff auf deine cgminer API von jeder IP aus möglich ist. Da solltest du nochmal genauer schauen, wie du es u.U. anders angeben kannst, sodass der Zugriff nur von den speziellen IPs bzw. IP-Subnetzen möglich ist, aus denen heraus du selbst zugreifen möchtest. Einfach nochmal genauer auf der API Beschreibung vom cgminer nachlesen Smiley

1HYeuyxKHGmFs1ARvAPGgmEW9pW6u8L26U
SpAcEDeViL (OP)
Legendary
*
Offline Offline

Activity: 986
Merit: 1027


Miner-Control.de Pooler


View Profile WWW
January 10, 2014, 09:12:10 PM
 #11

Ja sehr gerne.

Bedenke aber, dass nun ein Zugriff auf deine cgminer API von jeder IP aus möglich ist. Da solltest du nochmal genauer schauen, wie du es u.U. anders angeben kannst, sodass der Zugriff nur von den speziellen IPs bzw. IP-Subnetzen möglich ist, aus denen heraus du selbst zugreifen möchtest. Einfach nochmal genauer auf der API Beschreibung vom cgminer nachlesen Smiley

Das werd ich machen. Die Oberfläche soll höchstens über das SubNetz (Locales Netzwerk erreichbar sein. Denke da muss ich die .htaccess noch anpassen.
Und ggf. ehr eine direkte Steuerung, und nicht den cgminer.conf in eine <textarea>  und wieder rein. Obwohl das jetzt auch nicht schlimm wäre Wink

Beste

Pages: [1]
  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!