prdatur / phpminer Goto Github PK
View Code? Open in Web Editor NEWPHPMiner is a web interface for cgminer on linux machines
License: Other
PHPMiner is a web interface for cgminer on linux machines
License: Other
Love your frontend, its nice clean and simple. I'll be sure to leave donation option enabled
It would be good if when adding pools, to have a option to allow "RIG BASED" usernames/worker.
So when you switch a rig to a pool, it switches and uses its own workername defined per rig
I'm open to conversation on how you think this should be best implemented.
This is particularly important when multiple rigs are connected to pools with VARDIF
Hi,
Thanks for all the hard work. I am running on a server with IIS. And have two instances of php_rpcclient for each miner on my desktop. MySQL is on the same box.
Can php_rpcclient handle two miners that are on the same rig?
I want to enable access control but it seems the save button doesn't do anything to enabled access control.
Any ideas? The Firefox dev console doesn't show any errors and there isn't any entires in the network tab.
Let me know if there is anyway I can help to get any bug sorted for Windows.
Reopen #38 - whatever was happening in sgminer did not happen until now, but captured the following error from the phpminer_rpclcient screen:
PHP Warning: socket_recv(): unable to read from socket [11]: Resource temporarily unavailable in /var/www/phpminer/phpminer_rpcclient/includes/RPCClientConnection.class.php on line 182
Hope that helps!
Love the project, any possibility of incorporating coinvert into the rpc for miner/algo selection via the gui?
Motivation: better integration with BAMT, which uses /etc/init.d/ for mining initiation:
mine start
mine stop
mine restart
If you are using SGMiner instead of CGMiner you will be using kernels with the names ckolivas, zuikkis, psw, alexcarnew, or alexcarold. Perhaps it would be better to make this a text field rather than a select field?
'ps a' on my linux system (BAMT 1.3) does not output a defunct process, need to use 'ps ax' or 'ps x'. However change to RPCClientApi.class.php still does not trigger an action.
Currently, running bfgminer results in empty rigs view or even broken. Having support for it would be nice, for those of us that prefer running an actively developed miner.
I want to know which files are still needed and which are replaced by MySQL.
I have right now:
phpminer/config# tree
.
|-- access.json
|-- config.json
|-- config.php
|-- config.php.dist
|-- notify.json
|-- phpminer.db
`-- pools.json
Pressing this button doesnt do anything.
Pressing Reset Stats on each individual rig works fine.
I would like to be able to reorder pools inside a pool group, since cgminer will always try pool 0 first.
Make it optional to, instead of running or killing cgminer directly, use the already existing mine
service:
Usage: /etc/init.d/mine {start|stop|restart|reload|force-reload|status}
In RPCClientApi.class.php
add a check for the option Use BAMT/SMOS mine service
enabled/disabled and if enabled:
kill_cgminer()
should use mine stop
restart_cgminer()
should use mine restart
Will make a PR with smos/bamt code only, for others to test.
I think there should be a dist config file phpminer_rpcclient/config.dist.php
with all default values with the repo version, and each user creates a copy phpminer_rpcclient/config.php
and sets their own values there.
Then phpminer_rpcclient uses phpminer_rpcclient/config.php
and fails back to phpminer_rpcclient/config.dist.php
if needed.
Also config versioning could be added. If phpminer_rpcclient/config.dist.php
version is 1.0.1, and phpminer_rpcclient/config.php
is <1.0.1 then service should notify the user someway and (depends on backwards compatibility) stops the service until version on phpminer_rpcclient/config.php
is the same as phpminer_rpcclient/config.dist.php
.
Normally a user should update config changes and then set the version to the latest, same one from the phpminer_rpcclient/config.dist.php
file used.
I'm getting this warning in many setups and only one rig is displayed, and only the header and no rows for gpus.
Warning: reset() expects parameter 1 to be array, boolean given in /var/phpminer/controllers/main.php on line 971
So, with the advent of multiple hashing types, it will be a need to be able to switch between them seamlessly from the web interface
ie, cgminer --scrypt, or --keccak. or even between cgminer and sgminer.
conceptually i foresee the following setup on a miner rig..
2 copies of cgminer, installed as following
/opt/cgminer-scrypt
/opt/cgminer-keccak
both contain cgminer.conf files.
phpminer_rpcclient would be configured with multiple miner applications, and know the paths / config file locations.
I think it would be important that each mining software has its on cgminer.conf file as each could require different settings for performance tuning.
when adding pools to phpminer, we would need to specify the hash type for this to work correctly.
The role of phpminer_rpcclient would be to quit/kill cgminer-scrypt, and start up cgminer-keccak, if a pool switch requires a change in hashing.
Of course this shouldn't be limited to only 2 mining applications, but potentially many.
I think sgminer is possibly the future for gpu mining anyways, and it wouldn't surprise me if they bring out a build which also supports keccak natively, and be simplier to switch, ie, pool configuration contains details of hash type, rather than having to restart the miner with scrypt or keccak support enabled.
Could we get that disabled/changed? We're able to add rigs to a pool group, but unable to then edit the group once pools are added.
The linux_rpcclient_setup.sh file exits prematurely due to a misplaced exit command.
rpcclient screen session starts. but its unable to start cgminer screen session
removed the unlink /tmp/startcg, and manually ran it, and it works fine, but rpc client is unable to start cgminer again if requested.
Add an edit symbol next to the pool group name to show pop up textfield (like the one in pool edit).
Right now clicking on the pool group name toggles show/hide...
Sometimes it happens that the cronjob never ends. Need to be fixed.
It keeps telling me that the sgminer/cgminer config file is not editable, however it has 777 permissions on it.
I'm using bamt 1.3 and 1.5, and both rigs are having the issue.
The rpcclient on both have been updated and restarted.
Just upgraded to latest and purged my unused config files but it appears cron.php still references config.json as opposed to mysql db for configuration resulting in notification and auto task failure:
cron.php
// Get the system config.
$config = new Config(SITEPATH . '/config/config.json');
// Can't do anything if nothing is configurated.'
if ($config->is_empty()) {
unlock();
exit;
}
https://github.com/prdatur/phpminer/blob/master/phpminer_rpcclient/test_api_commands.php#L55
Uses old ($config['miner_api_ip'], $config['miner_api_port'])
configs that were removed.
I have an issue with multiple instances of cron.php running at the same time causing weird things:
15622 ? S 0:00 /USR/SBIN/CRON
15625 ? Ss 0:00 /bin/sh -c php -f /var/phpminer/cron.php > /var/phpminer/cron.log 2>&1
15630 ? S 0:00 php -f /var/phpminer/cron.php
16056 ? S 0:00 /USR/SBIN/CRON
16058 ? Ss 0:00 /bin/sh -c php -f /var/phpminer/cron.php > /var/phpminer/cron.log 2>&1
16062 ? S 0:00 php -f /var/phpminer/cron.php
16177 ? S 0:00 /USR/SBIN/CRON
16179 ? Ss 0:00 /bin/sh -c php -f /var/phpminer/cron.php > /var/phpminer/cron.log 2>&1
16183 ? S 0:00 php -f /var/phpminer/cron.php
16615 ? S 0:00 /USR/SBIN/CRON
16619 ? Ss 0:00 /bin/sh -c php -f /var/phpminer/cron.php > /var/phpminer/cron.log 2>&1
16626 ? S 0:00 php -f /var/phpminer/cron.php
16760 ? S 0:00 /USR/SBIN/CRON
16763 ? Ss 0:00 /bin/sh -c php -f /var/phpminer/cron.php > /var/phpminer/cron.log 2>&1
16766 ? S 0:00 php -f /var/phpminer/cron.php
I suggest adding a PID file and check for existence of file then process, before running cron script.
Like the stop/start rig button.
Can you put a button to allow manual reboots.. (save me having to ssh to the rigs)
I think it may come in handy to be able to set an option custom worker name (suffix) for each rig on setup.
When we add a new Rig, one more field should be added with:
Worker Name: [_____]
This way we can set better more descriptive rig names and keep workers short and simple.
We need a groups for rig.
Like i did a group name "Henry Rigs" , "Alex Rigs" and etc.
after i add rigs to each of group.
So i wanna do massive pool change for all rigs or for selected group of rigs.
We have pool in sql db from where we can select which pool we wanna selected for all rigs or for selected group.
After we select pool we also can select way to cgminer becose somebody have 4-5 different cgminer version to start - like vertcoin mod or script jane or keccak cgminer or karoth edition.
We can just add differents cgminer way to some area in setting and just select some option from this list when we wanna accept massive chages for all rigs or one of the selected group.
I've upgraded to new version, which is brand new from app perspective (didn't overwrite, just changed symlink).
First bug that it required explicit path in phpminer-1.3.1/includes/Db.class.php,
if (file_exists('/path_to_phpminer/miner/config/config.php')) {
/*
include $SITEPATH . '/config/config.php';
*/
include '//path_to_phpminer/miner/config/config.php';
}
After fixing this cron job stopped complaining and run quietly. But the web-page is stuck with model "Setup" dialog, which is irritating. Keeps showing "Could not connect to PHPMiner RPC, please check IP and port settings for PHPMiner RPC".
Was it indented to have it this way, when no options available till it "configures" miner?
Over the next week or so I will be working on a scheduled datalogger for cgminer which will dump on an interval all cgminer mining parameters together with configuration (for efficiency review) into a sqlite db. I want to know if there would be any possibility or what requirements phpminer would have to utilize such information.
PHPMAILER has the following code
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
So the "SMTP Security:" option has no effect, especially when security is set to none
Hi
I got an error during installation:
Creating database and user
ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'phpminer'@'localhost'
Setup required variables.
Any clue what is wrong please?
Thanks
I do have problems with my set up of phpminer.
I do run it on a server in the Internet.
Everything is fine (connects to miner, gets stats, can controll miner).
But if I want to enable acces control, i can not (phpminer) can not create a user Table and no group table is created either.
I did not use the linux_setup.sh, because it breaks my vhosts configuration and apache2 wont start after it anymore, until i delete the vhosts conf.
Pls help.
Nice work btw!!
Hey there, I am trying to get your PHPMiner running and I'm getting constant phperror... See below (since I can't attach a log file sorry). the only modifications I've made to the php files is my configs. the rest is exactly what I took out of https://github.com/prdatur/phpminer/archive/1.3.1.zip
Please assist!! :-) Thanks!!!
PHPMiner version: 1.3.1
Error: NOTICE: Undefined index: pools in C:\inetpub\wwwroot\miner\controllers\main.php on line 1063
Backtrace:
File: C:\inetpub\wwwroot\miner\index.php
Line: 159: call_user_func_array (Args: array(), array())
File: (unknown)
Line: (unknown): main->get_device_list (no args)
File: C:\inetpub\wwwroot\miner\controllers\main.php
Line: 721: main->get_device_data (Args: , 0, 0, array())
Line: 931: main->get_detailed_rig_data (Args: "localhost", )
Error: WARNING: Invalid argument supplied for foreach() in C:\inetpub\wwwroot\miner\controllers\main.php on line 1063
Backtrace:
File: C:\inetpub\wwwroot\miner\index.php
Line: 159: call_user_func_array (Args: array(), array())
File: (unknown)
Line: (unknown): main->get_device_list (no args)
File: C:\inetpub\wwwroot\miner\controllers\main.php
Line: 721: main->get_device_data (Args: , 0, 0, array())
Line: 931: main->get_detailed_rig_data (Args: "localhost", )
Error: NOTICE: Undefined index: pools in C:\inetpub\wwwroot\miner\controllers\main.php on line 1071
Backtrace:
File: C:\inetpub\wwwroot\miner\index.php
Line: 159: call_user_func_array (Args: array(), array())
File: (unknown)
Line: (unknown): main->get_device_list (no args)
File: C:\inetpub\wwwroot\miner\controllers\main.php
Line: 721: main->get_device_data (Args: , 0, 0, array())
Line: 931: main->get_detailed_rig_data (Args: "localhost", )
Error: WARNING: Invalid argument supplied for foreach() in C:\inetpub\wwwroot\miner\controllers\main.php on line 1071
Backtrace:
File: C:\inetpub\wwwroot\miner\index.php
Line: 159: call_user_func_array (Args: array(), array())
File: (unknown)
Line: (unknown): main->get_device_list (no args)
File: C:\inetpub\wwwroot\miner\controllers\main.php
Line: 721: main->get_device_data (Args: , 0, 0, array())
Line: 931: main->get_detailed_rig_data (Args: "localhost", )
In the spirit of #22, What about a pulldown for custom commands/actions that can be fired on the target rig (understanding they would also have to exist on that rig). This would open up a world of possibilities. Activating/changing a mining schedule, swapping out miners and configurations, et al.
I know many users have their rigs open to the internet and there is not any protection for phpminer webfront, anyone can enter, so i would suggest adding a password, or user password combination that can be set in a config file.
We should check for a valid session before any change is made. And prevent direct address to POST or GET requests in every file.
Deleted my rigs.
Went to add one of my rigs,I saw a Incoming data request: test_connection
but nothing further happens, and i get a connection timed out
It would be good to have rpcclient start / stop on command.
Do not restart cgminer if restart is enabled if stop was pushed until start is commanded again.
Sometimes ( not all the time ) the rcpclient starts taking 100% cpu and slows down the cgminer/sgminer , thus reducing hashrate.
When using filesystem to store sessions, sometimes initalizing session is slow sometimes. Only when using Access Management. More info here :
http://stackoverflow.com/questions/10385582/session-start-seems-to-be-very-slow-but-only-sometimes
There is 2 solutions :
--- a/includes/Session.class.php
+++ b/includes/Session.class.php
@@ -97,6 +97,7 @@ class Session
if (empty($tmp_sessid)) {
session_start();
$this->session_id = session_id();
+ session_write_close();
}
else if (empty($this->session_id)) {
$this->session_id = $tmp_sessid;
@@ -112,4 +113,4 @@ class Session
return $this->session_id;
}
-}
\ No newline at end of file
+}
I am having a hard time getting a pool to support myuser_rb_workername format.
Normally they use a .
(dot) to split username and workername.
I know sometime ago @prdatur explained why the need for _rb_
but can we just replace that token with .
? I will check the code to make sure i am not saying rubbish, but without looking this seems pretty valid following a normal logic.
@prdatur can you explain again the need for _rb_
as in why not another token please?
Hi
Please add or replace RapidPush on Pushover
Pushover dont have any limits of massages per day like other and is free
also i compatible for iOS and Android and have the most easy API to provide
(over bash, perl, php, ruby)
Please just look on page
https://pushover.net and sample code
Im using on my iPhone 1 year with other apps and never i had any problems
When i saw today on my friend phone (android) RapidPush and limit 5 msg per day and adverts
i just say WTF :/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.