[How To] Coinhive / Epvp Goldmine über die Linux Commandline

12/23/2017 18:19 Ares#1
Mit Coinhive über die Linux Commandline zu minen, ist im Prinzip recht simpel und funktioniert mit jeder Website. In diesem Beispiel nutze ich einen Ubuntu Server 16.04.3 LTS (Xenial Xerus) und die Epvp Goldmine.
  1. Zu Beginn benötigen wir einen Browser, über den gemined werden soll. Für Einsteiger empfiehlt sich hier der Chromium Browser, da sich der stable Build relativ einfach über die offiziellen Paketquellen installieren und updaten lässt. Google Chrome lässt sich seperat über Deb-Pakete installieren, ist allerdings keine freie Software und hat hier auch keine Vorteile gegenüber Chromium.
    Code:
    apt install chromium-browser
    Bei Bedarf zusätzlich chromium-browser-l10n für die deutsche Lokalisierung. Die restlichen Abhängigkeiten werden mitinstalliert.

  2. Als Nächstes wird euer Coinhive-Link benötigt, den ihr in der Textbox in der [Only registered and activated users can see links. Click Here To Register...] findet. Der Link setzt sich aus der Domain/Website, dem Sitekey und eurer User-ID zusammen, z.B. https://coinhive.com/media/miner.html?key=0NhxZMXyTUaFFAOlPOHXeEcVX92cjwGa&us er=4565205, wobei 0NhxZMXyTUaFFAOlPOHXeEcVX92cjwGa der Sitekey und 4565205 meine Userkennung ist.

  3. Um den Browser unter der Commandline nutzen zu können, wird er im Headless-Mode gestartet. Wenn ihr über ein Terminal verbunden seid und das nicht die ganze Zeit offen lassen wollt, solltet ihr zusätzlich screen installieren, um die Sitzung in den Hintergrund zu schieben. Der Browser wird mit chromium-browser aufgerufen. Mit dem Parameter --repl (read-eval-print loop) lassen sich JavaScript-Befehle ausführen und Werte zurückgeben.
    Code:
    chromium-browser --headless --disable-gpu --repl https://coinhive.com/media/miner.html
    Jetzt folgt die Aufforderung, eine 'Javascript expression' einzugeben. Zuerst müssen wir der Website mitteilen, wer wir sind.
    Code:
    miner = new CoinHive.User('Sitekey', "User-ID");
    -> miner = new CoinHive.User('0NhxZMXyTUaFFAOlPOHXeEcVX92cjwGa', "4565205");
    Das war im großen und ganzen auch schon das Schwierigste. Der Miner lässt sich nun weiter bedienen mit:
    Code:
    miner.start() 
    miner.isRunning()
    miner.stop()
  4. Wollt ihr nicht die komplette CPU zum Minen nutzen, lässt sich beim Starten des Miners bspw. noch ein throttle und threads Paramter mitgeben.
    Code:
    miner = new CoinHive.User('Sitekey', "User-ID", { throttle: 0.7, threads: auto});
    miner = new CoinHive.User('Sitekey', "User-ID", { throttle: 0.5, threads: 4}); o.ä.
    Wobei ein Throttle-Wert von 0.7 bedeutet, dass die Threads 70% der Zeit im Idle bleiben.

  5. Weitere (vielleicht nützliche) Commands gibt's in der offiziellen Coinhive Dokumentation.
    Code:
    .getHashesPerSecond()
    .getAcceptedHashes()
    .setNumThreads(numThreads)
    .setThrottle(throttle)
    etc. Die letzten beiden noch mal zum Ändern der beim Starten verwendeten Thread und Throttle Settings.
12/24/2017 16:27 iDeliver#2
Gibt's schon:
[Only registered and activated users can see links. Click Here To Register...]
12/25/2017 20:51 Ares#3
Oh, gar nicht gesehen.
02/04/2018 20:07 maxpolska#4
--disable-gpu ?? geht da etwa auch die greka??
02/04/2018 21:43 Ares#5
Quote:
Originally Posted by maxpolska View Post
--disable-gpu ?? geht da etwa auch die greka??
Wat? Das ist ein Parameter für den Browser, damit er weiß, dass er keine GPU nutzen kann/soll.
07/30/2018 00:52 maxpolska#6
Das geht nicht mehr oder?

error:
[0730/004944.171898:ERROR:gpu_process_transport_factory. cc(1017)] Lost UI shared context.
08/18/2018 10:16 Asanu#7
Quote:
Originally Posted by maxpolska View Post
Das geht nicht mehr oder?

error:
[0730/004944.171898:ERROR:gpu_process_transport_factory. cc(1017)] Lost UI shared context.
die fehlermeldung kannst du ignorieren, geht 1a