Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions app/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,12 @@ var app = angular.module('poolui', [
templateUrl: 'user/help/faq.html',
controller: 'FAQCtrl',
activetab: 'help'
});
})
.when('/help/config_generator', {
templateUrl: 'user/help/config_generator.html',
controller: 'ConfigGeneratorCtrl',
activetab: 'help'
});

$routeProvider.otherwise({redirectTo: '/home'});

Expand Down Expand Up @@ -229,4 +234,4 @@ var app = angular.module('poolui', [
// Sponsor
$scope.sponsor_open = false

});
});
4 changes: 2 additions & 2 deletions app/globals.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ angular.module('pool.globals', [])
return {
pool_name: "supportXMR.com",
api_url : 'https://supportxmr.com/api',
api_refresh_interval: 6000,
api_refresh_interval: 30000,
app_update_interval: 10*60000
};
});
});
7 changes: 7 additions & 0 deletions app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,12 @@
Getting Started
</md-button>
</md-list-item>
<md-list-item>
<md-button href="#/help/config_generator" ng-class="isActivePage('help/config_generator')">
<md-icon md-font-set="material-icons" class="menu-item">brush</md-icon>
Config generator
</md-button>
</md-list-item>
<!-- <md-list-item>
<md-button href="#/help/faq" ng-class="isActivePage('help/faq')">
<md-icon md-font-set="material-icons" class="menu-item">help_outline</md-icon>
Expand Down Expand Up @@ -149,6 +155,7 @@
<script src="user/help/chat.js"></script>
<script src="user/help/getting_started.js"></script>
<script src="user/help/portsmodal.js"></script>
<script src="user/help/config_generator.js"></script>
<script src="user/help/faq.js"></script>
</body>
</html>
19 changes: 12 additions & 7 deletions app/user/dashboard/dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@
<div flex layout="column" layout-md="row" layout-gt-md="row" class="text-center">
<div flex layout="column" layout-gt-xs="row">
<div flex>
<h4> Hash Rate<h2>{{miner.hash | toHashRate}}</h2></h4>
<h4> Hash Rate (24h Avg)<h2>{{miner.hash | toHashRate}} ({{minerStats[addr].dataset['global'].avghstfhour | toHashRate}})</h2></h4>
</div>
<div flex>
<h4> Total Hashes<h2>{{miner.totalHashes | number}}</h2></h4>
Expand All @@ -184,19 +184,24 @@ <h4> Total Paid<h2>{{miner.amtPaid | toXMR | number:10}} XMR</h2></h4>
<table md-table md-row-select ng-model="minerStats[addr].table_selected" md-progress="minerStats[addr].promise" data-md-row-select="minerStats[addr].table_options.rowSelection" multiple="{{minerStats[addr].table_options.multiSelect}}">
<thead md-head>
<tr md-row>
<th md-column md-numeric><h2 class="md-subhead">Worker</h2></th>
<th md-column md-numeric><h2 class="md-subhead">#'s</h2></th>
<th md-column md-numeric><h2 class="md-subhead">Total #'s</h2></th>
<th md-column md-numeric><h2 class="md-subhead">Last Hash</h2></th>
<th md-column md-numeric><h2 class="md-subhead">№</h2></th>
<th md-column md-numeric><h2 class="md-subhead">Worker</h2></th>
<th md-column md-numeric><h2 class="md-subhead">Hash Rate</h2></th>
<th md-column md-numeric><h2 class="md-subhead">1 Hour Avg. Hash Rate</h2></th>
<th md-column md-numeric><h2 class="md-subhead">24 Hour Avg. Hash Rate</h2></th>
<th md-column md-numeric><h2 class="md-subhead">Total Hashes</h2></th>
<th md-column md-numeric><h2 class="md-subhead">Last Hash</h2></th>
</tr>
</thead>
<tbody md-body>
<tr md-row ng-repeat="(index, id) in addrStats[addr].ids" md-select="id" data-md-on-select="updateCharts" md-on-deselect="updateCharts">
<td md-cell><p class="md-body-2">{{$index + 1}}</p></td>
<td md-cell><p class="md-body-2">{{id}}</p></td>
<td md-cell><p class="md-body-2">{{minerStats[addr].dataset[id][0].hs | toHashRate}}</p></td>
<td md-cell><p class="md-body-2">{{minerStats[addr].dataset[id].avghshour | toHashRate}}</p></td>
<td md-cell><p class="md-body-2">{{minerStats[addr].dataset[id].avghstfhour | toHashRate}}</p></td>
<td md-cell><p class="md-body-2">{{addrStats[addr].workerStats[id].totalHash | number}}</p></td>
<td md-cell>
<span class="md-body-2" am-time-ago="minerStats[addr].dataset[id][0].ts"></span>
<td md-cell><span class="md-body-2" am-time-ago="minerStats[addr].dataset[id][0].ts"></span>
<md-tooltip>
{{minerStats[addr].dataset[id][0].ts | date: 'HH:mm:ss dd/MM/yy'}}
</md-tooltip>
Expand Down
96 changes: 96 additions & 0 deletions app/user/help/config_generator.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<div layout="row" flex>
<div layout="column" flex>
<md-card>
<md-toolbar class="md-table-toolbar md-default">
<div class="md-toolbar-tools">
<span class="md-title">Config Generator</span>
</div>
</md-toolbar>
<md-card-content>
<p class="panel-subtitle">Simply generate configurations for the most popular mining software</p>

<div layout="column" layout-padding="" ng-cloak="" class="inputExamples" >

<md-input-container flex="50">
<label>Choose your hardware</label>
<md-icon class="material-icons">computer</md-icon>
<md-select name="type" ng-model="example_attr['with_custom_port']" ng-change="updateExample()" required="">
<md-option value="3333">Port 3333 (Low-End CPUs)</md-option>
<md-option value="5555">Port 5555 (Fast CPUs)</md-option>
<md-option value="7777">Port 7777 (GPU rigs)</md-option>
<md-option value="9000">Port 9000 (SSL/TLS)</md-option>
<md-option value="80">Port 80 (Firewall bypass)</md-option>
<md-option value="8080">Port 8080 (Firewall bypass)</md-option>
<md-option value="443">Port 443 (Firewall bypass SSL/TLS)</md-option>
</md-select>
</md-input-container>

<md-input-container class="md-icon-float md-block">
<label>Wallet Address</label>
<md-icon class="material-icons">account_balance_wallet</md-icon>
<input ng-model="example_attr['with_custom_wallet']" ng-change="updateExample()" type="text" required="">
</md-input-container>
<div layout="row" flex>
<div flex="initial">
<md-switch ng-model="example_attr['with_worker_id']" ng-change="updateExample()" aria-label="Worker">
</md-switch>
</div>
<div flex="100">
<md-input-container class="md-icon-float md-block">
<label>Worker Name</label>
<md-icon class="material-icons">add_box</md-icon>
<input ng-model="example_attr['with_custom_worker']" ng-disabled="!example_attr['with_worker_id']" ng-change="updateExample()" type="text">
</md-input-container>
</div>
</div>
<div layout="row" flex>
<div flex="initial">
<md-switch ng-model="example_attr['with_mail']" ng-change="updateExample()" aria-label="Email">
</md-switch>
</div>
<div flex="100">
<md-input-container class="md-icon-float md-block">
<label>E-mail Address</label>
<md-icon class="material-icons">email</md-icon>
<input type="email" minlength="10" maxlength="100" ng-pattern="/^.+@.+\..+$/" ng-model="example_attr['with_custom_email']" ng-disabled="!example_attr['with_mail']" ng-change="updateExample()" type="text">
</md-input-container>
</div>
</div>
</div>

<h3>Example configuration for <a href="https://github.com/fireice-uk/xmr-stak/releases" target="_blank">XMR-Stak</a> and <a href="https://github.com/Dead2/CryptoGoblin/releases" target="_new" style="text-decoration: underline;">CryptoGoblin</a>:</h3>
<div class="md-body-1 code-snippet" layout='row' flex>
<p>Start the client without any config files, and enter the following when asked:</p>
<code class='code-snippet'>
Currency: monero7</br>
Pool address: "{{ example_config['pool_address'] }}",</br>
Username: "{{ example_config['username'] }}",</br>
Password: "{{ example_config['password'] }}",</br>
Rid ID: "{{ example_config['rigid'] }}",</br>
TLS/SSL: "{{ example_config['tls-yn'] }}",</br>
Nicehash: No</br>
</code>
</div>
<h3>Example configuration for <a href="https://github.com/xmrig/xmrig/releases" target="_blank">XMRig</a>, <a href="https://github.com/xmrig/xmrig-nvidia/releases" target="_blank">XMRig-NVIDIA</a>, <a href="https://github.com/xmrig/xmrig-amd/releases" target="_blank">XMRig-AMD</a>:</h3>
<div class="md-body-1 code-snippet" layout='row' flex>
<code class='code-snippet'>
"url": "{{ example_config['pool_address'] }}",</br>
"user": "{{ example_config['username'] }}",</br>
"pass": "{{ example_config['password'] }}",</br>
"keepalive": true,</br>
"nicehash": false</br>
</code>
</div>
<h3>Example configuration for <a href="https://bitcointalk.org/index.php?topic=638915.0" target="_blank">Claymore's CryptoNote GPU Miner</a>:</h3>
<div class="md-body-1 code-snippet" layout='row' flex>
<code class='code-snippet'>
-o stratum+tcp://{{ example_config['pool_address'] }}</br>
-u {{ example_config['username'] }}</br>
-p {{ example_config['password'] }}</br>
</code></br></br>*For SSL use stratum+ssl://
</div>
<br>
</md-card-content>
</md-card>
</div>
</div>
65 changes: 65 additions & 0 deletions app/user/help/config_generator.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
'use strict';

app.controller('ConfigGeneratorCtrl', function($scope) {


//angular.module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache'])

//.controller('ConfigGeneratorCtrl', function($scope) {

$scope.example_config = {
'pool_address': '',
'username': '',
'password': '',
};


$scope.example_attr = {
'with_mail': false,
'with_worker_id': false,
'with_pool_address' : 'pool.supportxmr.com',
'with_custom_wallet': '43QGgipcHvNLBX3nunZLwVQpF6VbobmGcQKzXzQ5xMfJgzfRBzfXcJHX1tUHcKPm9bcjubrzKqTm69JbQSL4B3f6E3mNCbU',
'with_custom_worker': 'MyWorker',
'with_custom_email': 'me@email.com',
'with_custom_port': '5555',
}



$scope.updateExample = function() {
var attr = $scope.example_attr;
var conf = $scope.example_config;

conf['username'] = attr['with_custom_wallet'];

conf['pool_address'] = attr['with_pool_address'] + ':' + attr['with_custom_port'];

if (attr['with_custom_port'] == '9000' || attr['with_custom_port'] == '443') {
conf['tls'] = 'true';
conf['tls-yn'] = 'Yes';
} else {
conf['tls'] = 'false';
conf['tls-yn'] = 'No';
}

if (attr['with_worker_id']) {
conf['password'] = attr['with_custom_worker'];
conf['rigid'] = attr['with_custom_worker'];
} else {
conf['password'] = 'x:';
conf['rigid'] = 'x:';
}

if (attr['with_mail'] && attr['with_worker_id'])
conf['password'] += ':';

if (attr['with_mail'])
conf['password'] += attr['with_custom_email'];

if (!attr['with_mail'] && !attr['with_worker_id']) {
conf['password'] = 'x';
}
}

$scope.updateExample();
});
68 changes: 51 additions & 17 deletions app/user/help/getting_started.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
</md-toolbar>
<md-card-content>
<p class="panel-subtitle">Welcome to supportXMR.com! If you are new to mining, this is the place for you.</p>
<p>The owner of this pool is <strong>M5M400</strong>. If your miner gets banned, your payout is late, your connetion is lost - he is the one you want to ask for help. For urgent matters you can mail him at <a href="mailto: support@supportxmr.com">support@supportXMR.com</a></p>
<p>The pool has also quite stable and knowlegable <strong>community</strong> - you can join the <a href="https://supportxmr.chatango.com/" target="_new" style="text-decoration: underline; font-weight: bold;">chat</a> and seek the answers there :)</p>
<p>The owners of this pool are <strong>M5M400</strong> and <strong>Snipa22</strong>.</p>
<p>If your miner gets banned, your payout is late, your connetion is lost - first <b>ask for help in the chat</b>. For urgent matters you can email him at <a href="mailto: support@supportxmr.com">support@supportXMR.com</a>, but due to a high amount of support emails, turnaround can reach 1+ week. Please do not send multiple emails.</p>
<p>The pool has a quite stable and knowlegable <strong>community</strong> - you can join the <a href="https://supportxmr.chatango.com/" target="_new" style="text-decoration: underline; font-weight: bold;">chat</a> and seek help and a friendly chat there :)</p>
</md-card-content>
</md-card>
<md-card>
Expand All @@ -19,36 +20,60 @@
</div>
</md-toolbar>
<md-card-content>
<p class="panel-subtitle">You can choose between online wallets and hardware wallets - both have their pros and cons.</p>
<p class="panel-subtitle">You can choose between online wallets and hardware wallets - each have their pros and cons.</p>
<p><a href="https://getmonero.org/downloads/" target="_blank">Monero GUI Wallet</a>: The safest way to store and secure your XMR, but it is your responsibility to keep your computer and thus XMR safe.</p>
<p><a href="https://www.mymonero.com" target="_blank">MyMonero</a>: MyMonero is an online wallet maintained by a member of the core monero team, so while safe is still suceptable to hacks.</p>
<p><a href="https://getmonero.org/2017/03/29/monero-gui-beta-2-released.html" target="_blank">Monero GUI Wallet (beta2)</a>: The safest way to store and secure your XMR, although it would be your responsibility to keep your XMR safe.</p>
<p><a href="https://moneroaddress.org/" target="_blank">Offline wallet generator</a>: Let's you generate a wallet with no internet connetion for better security. To later check the ballance Monero GUI is best choice.</p>
<p><a href="https://moneroaddress.org/" target="_blank">Offline wallet generator</a>: Let's you generate a wallet with no internet connetion for better security. To later check the balance Monero GUI is best choice.</p>
</md-card-content>
</md-card>
<md-card>
<md-toolbar class="md-table-toolbar md-default">
<div class="md-toolbar-tools">
<span class="md-title">Pick a miner for cpu, gpu or both</span>
<span class="md-title">Pick a miner for cpu, gpu or both</span>
</div>
</md-toolbar>
<md-card-content>
<p class="panel-subtitle">You can choose from variety of miners.</p>
<p>All are nice pieces of software and you should try what suits you best. Most common are <a href="https://github.com/fireice-uk/xmr-stak-cpu/releases" target="_new" style="text-decoration: underline">xmr-stak-cpu</a>/<a href="https://github.com/fireice-uk/xmr-stak-amd/releases" target="_new" style="text-decoration: underline;">amd</a>, <a href="https://github.com/wolf9466/wolf-xmr-miner/releases" target="_new" style="text-decoration: underline;">wolf's miner</a>, <a href="https://bitcointalk.org/index.php?topic=638915.0" target="_new" style="text-decoration: underline;">claymore's miner</a>, <a href="https://github.com/KlausT/ccminer-cryptonight/releases" target="_new" style="text-decoration: underline;">ccminer-cryptonight</a>.</p>
<p><h3>More info soon.</h3></p>
<p>All are nice pieces of software and you should try what suits you best. Most common are (ordered alphabetically):<br/>
<blockquote>
<a href="https://github.com/KlausT/ccminer-cryptonight/releases" target="_new" style="text-decoration: underline;">ccminer-cryptonight</a> (Nvidia)<br/>
<a href="https://bitcointalk.org/index.php?topic=638915.0" target="_new" style="text-decoration: underline;">Claymore's miner</a> (CPU, AMD)<br/>
<a href="https://github.com/Dead2/CryptoGoblin/releases" target="_new" style="text-decoration: underline;">CryptoGoblin</a> (CPU, Nvidia, AMD)<br/>
<a href="https://github.com/xmrig/xmrig/" target="_new" style="text-decoration: underline">XMRig</a> (CPU, Nvidia, AMD)<br/>
<a href="https://github.com/fireice-uk/xmr-stak/releases" target="_new" style="text-decoration: underline">XMR-Stak</a> (CPU, Nvidia, AMD)
</blockquote>
</p>
</md-card-content>
</md-card>
<md-card>
<md-toolbar class="md-table-toolbar md-default">
<div class="md-toolbar-tools">
<span class="md-title">Pick a mining server and port</span>
<span class="md-title">Pick a mining server and port</span>
</div>
</md-toolbar>
<md-card-content>
<p class="panel-subtitle">Currently there is only one port type and it's PPLNS. It helps to combat pool hopping and ensures a good payout for miners.</p>
<p>For pool's url use <code> pool.supportxmr.com </code></p><p>The Port is used in conjunciton with the url and is used to specify the starting difficulty. You should select this depending on the total #ing power of your rig (see port descriptions). Examples below.</p>
<p class="panel-subtitle">This pool uses PPLNS to determine payouts. It helps to combat pool hopping and ensures a good payout for miners.</p>
<p>For pool's url use <code> pool.supportxmr.com </code></p><p>The Port is used in conjunciton with the url and is used to specify the starting difficulty. You should select this depending on the total hashing power of your mining rig. Also see config examples below.</p>
<p class="panel-subtitle">Port descriptions:</p>
<blockquote>
<p>
- <strong>3333</strong> Low-end CPU<br/>
- <strong>5555</strong> Fast/Multi CPU<br/>
- <strong>7777</strong> GPU rigs<br/>
- <strong>9000</strong> SSL/TLS
</p>
</blockquote>
<p class="panel-subtitle">If you can't get through firewall, try these:</p>
<blockquote>
<p>
- 8080 Firewall bypass<br/>
- 80 Firewall bypass<br/>
- 443 Firewall bypass w/SSL/TLS
</p>
</blockquote>
<div flex layout="row">
<div flex></div>
<md-button ng-click="viewPorts($event)">View Ports list</md-button>
<md-button ng-click="viewPorts($event)">View complete ports list</md-button>
<div flex></div>
</div>
</md-card-content>
Expand All @@ -66,12 +91,21 @@
<p>Here are some examples of the parameters that you need to pass on to your miner software, the format matters so be careful.</p>
<p>Depending on your miner you need to add the required parameters via command line or config.txt</p>
<p>Required fields are payment <b>address</b> and <b>MinerIdentifier</b></p>
<blockquote>
<i>Username format</i> : address.paymentID+FixedDifficulty<br/>
<i>Password Format</i> : MinerIdentifier:Email<br/>
</blockquote>
<p>MinerIdentifier is where you can set a name for your miner. Set email if you want to be able to log into the webpage to set options.</p>
<p><b>Basic</b>:<br/>
<blockquote>
<b>Username</b> : address<br/>
<b>Password</b> : MinerIdentifier<br/>
</blockquote>
</p>
<p><b>Advanced</b>:<br/>
<blockquote>
<b>Username</b> : address.paymentID+FixedDifficulty<br/>
<b>Password</b> : MinerIdentifier:Email<br/>
</blockquote>
</p>
<md-list flex>
<md-subheader class="md-no-sticky">Username / Password Samples</md-subheader>
<md-subheader class="md-no-sticky">Username / Password Examples:</md-subheader>
<md-divider></md-divider>
<md-list-item class="md-3-line" ng-repeat="sample in samples">
<div class="md-list-item-text" layout="column">
Expand Down
4 changes: 2 additions & 2 deletions app/user/home/console.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
<form name="thresholdForm" autocomplete="off">
<md-input-container>
<label>Payment Threshold Limit</label>
<input type="number" ng-model="paymentThresh" name="threshold" step="any" required min="{{min_wallet_payout | toXMR}}">
<input type="number" ng-model="paymentThresh" name="threshold" step="any" required min="{{manual_wallet | toXMR}}">
</md-input-container>
<div ng-messages="thresholdForm.threshold.$error" multiple>
<div ng-message="min">
This value cannot be lower than {{min_wallet_payout | toXMR}} XMR
This value cannot be lower than {{manual_wallet | toXMR}} XMR
</div>
</div>
<p>The pool will pay out to your wallet once your total due exceeds the payment threshold</p>
Expand Down
Loading