Giter Club home page Giter Club logo

foxy-proxy's People

Contributors

cohsrt avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar felixbrucker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

foxy-proxy's Issues

Replace ‘Rounds’ Pie Chart with Line Graph or Stacked Bar Graph

Describe the solution you'd like
Replace the pie chart with a line graph or stacked bar graph that shows rounds completed / historicalRoundsToKeep, rounds won, and full rounds completed before the round ends. This would give a nice visual representation of how miner(s) are performing on multi coin mining setups. This would also be a nice way to add additional metrics to the proxy UI without needing to tie up additional space.

Option to reload Config

Describe the solution you'd like
Aside the "update Foxy Proxy" a "reload Config" button.
Giving me the opportunity to reload the config without restarting the proxy itself (including that the states are kept in place, to avoid double scans for the same block)

Describe alternatives you've considered
restarting by hand, but that doesnt keep the state and does double scans for the same block

App request

With all these shitcoins coming out, it would be great if a very basic app was made that outputs a valid config.yaml

The app asks you what coin, what pool address and so forth, and has a color hex wheel for the rainbows

UI options

With the advent of new coins to multi-mine, I would like to suggest UI variations to support fitting it all on the screen, without requiring the user to reduce their browser's zoom.

Ideally, we would still be able to get additional information, maybe through hovering or a popup modal.

A compact mode that shows the following:

  • block wins
  • time/elapsed time
  • scan progress bar
  • coin name
  • no graphs to save room

You would still have the main scanner box:

image

It would be nice to have the scanner box in a fix position, maybe top left?

minerName passthru

THIS>
"you could write an enhancement issue on github to add a config option to pass through the miners minerName"
;)

Ability to scan walletUrl to list/show all historical blocks won

Is your feature request related to a problem? Please describe.
Not really a problem, just an enhancement

Describe the solution you'd like
possibility to let it scan the walletUrl for historical blocks won... maybe a startupflag, so it doesn't always runs each launch.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Solo burst mining with passphrase in miner config

The ability to have the passphrase for burst solo in the proxy for all miners connected to a specific upstream is great, but it would also be nice to have the option to mine solo with the traditional way of having the passphrase in the miner config only.

Skip Blocks

A proxy-option for each coin to skip every nth block to reduce stress on hardware while multimining

First Deadline Reported Metric

Is your feature request related to a problem? Please describe.
Currently there is no way to see how long a round has been ongoing before the first deadline was received by the pool. It would be helpful to see how long it took for first deadline to be received on a certain upstream. The more chains being mined make this information more relevant to see.

Describe the solution you'd like
Add a new row in each proxy upstream that displays "First dl received after xx s" or even better: "First dl: xx s (xx s average round)" with average round being tied to historicalRoundsToKeep.

Only problem I see with using historicalRoundsToKeep is if the round passes without a deadline what value would you use for an average?

plotter ID with hyperlink to bhd/burst explore for each miner system

Is your feature request related to a problem? Please describe.

It is very frustrating not being able to see plotter id for each miner pointed at the proxy and not being able to see the total capacity for the group of miners with the same plotter id.

Describe the solution you'd like

Adding a BURST/BHD plotter ID with relevant hyperlink to explorer in front of each miner and sorting the list by groups of the same plotter ID with total capacity right below each group of same id miners would solve this. Then total capacity of all grouped miners at the bottom of the entire list would be reflected.

Describe alternatives you've considered

Currently using a spreadsheet to keep track of capacities and miners ids and have to update manually. not a good alternative.

Additional context
Add any other context or screenshots about the feature request here.
![feature]

list

feature

Boom agent

When can you increase the boom agent mining that supports B3pool onepool?

Additional Foxy Miner Stats

Is your feature request related to a problem? Please describe.
Display which Foxy Miner is scanning in a dashboard like view. Currently details are available via SSH sessions but not via the web GUI.

Describe the solution you'd like
Details with a progress bar showing live stats ingested from Foxy Miner.

mail notifications for offline miners

Describe the solution you'd like
The status indicators for the miners in the Webui are helpful, but it would be nice to get emails and/or SMS messages if a miner is offline or has not submitted dealdines recently.

Describe alternatives you've considered
Swatchdog to monitor logs files.

Add a login page

  • Authenticate via user/pass, use hash
  • Authenticate using ws connection
  • Save the successful login in browser

Add console color support

  • Add colors for log levels
  • Add colors for successful init events
  • Add custom colors per proxy and upstream

Use BN for all capacities

JS max safe integer is equivalent to about 8PB, so usage of BN is required for larger miner capacities.

Auto update proxy

add an enhancement so that when you edit the config.yaml it auto updates/restarts the proxy, on windows

Error: connect ECONNREFUSED :::443

I recently installed the latest version of foxy-proxy, and every couple seconds I get this error:
Error: connect ECONNREFUSED :::443 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) { errno: 'ECONNREFUSED', code: 'ECONNREFUSED', syscall: 'connect', address: '::', port: 443 }
Everything seems to be working fine as far as i can tell, so i'm curious about what this error is and what is causing it. I have my config.yaml below.
config.yaml.txt (it's a .txt file because github doesn't support uploading .yaml files)

Support for hpool's new protocol

Is your feature request related to a problem? Please describe.
bhd.hpool.com recently has posted an announcement: https://bhd.hpool.com/news/5cc1a87c5333e70348d65d74 where they warn about a required change in supported mining software. It's a bit hard to understand what they say exactly, but it looks like they will be rejecting incompatible clients and proxies and will require using their own specific proxy. Since the english version of the text is a bit hard to grasp, I tried the chinese version and google-translate, here's the result:

Notice about Hpool's BHD mining agent software: In order to optimize the data collection effect of the mining pool and take into account the revenue of different capacity mining machines, hpool has launched a mining agent software, and the agent software is used together with the mining software. Welcome everyone. Go to the download experience and give your valuable feedback. During the experience period, hpool will still adopt the answer that does not use hpool official agent software; after the expiration period, hpool will only adopt the answer using hpool official agent software, and the experience period is tentatively set to 4.25 - 5.8

They plan to activate new rules on May 8th (the end of 'experience period'). They already require use of their own miner, so it seems possible that this will be extended to proxies as well. On https://bhd.hpool.com/download they have posted a modified blago miner and a new piece called "x-proxy".

I have played a bit with that and it seems that when I connect the newest blago miner (190301) either directly, or via their x-proxy, it is always seen by the pool as 0.0TB capacity. That's because their modified blago sends some extra headers along with normal requests. From what I've seen, these are, at least:

X-Miner: Blago v1.170997_AVX2
X-Capacity: 1154
X-ClientIP: 127.0.0.1
X-Minername: quetzalcoatl
X-Account: abcdef01-2345-6789-abcd-ef0123456789

X-Miner is hardcoded to the .exe name, X-Capacity is just the total plot files in GB, X-ClientIP is obvious I suppose we could just hardwire it to 127.0.0.1, X-Minername and X-Account are read from configuration file and passed through. I don't know if they verify X-Miner name, so it probably would need to be configurable.

Plain blago miner doesn't send them and has no options for configuring this data. Without those headers, hpool doesn't seem to fully respect the miner. Since those headers are quite simple, the proxy seems a nice place to inject them on the fly.

Describe the solution you'd like
I'd like to be able to configure the content of those headers via config yaml file and I'd like bhd-burst-proxy to send those header for me, as they are given in the config file, regardless of what miners connected to the proxy are sending.

Describe alternatives you've considered
Once the rules are changed, I don't see any alternatives other than giving up on bhd-burst-proxy and switching to their modified blago and their x-proxy. I really don't want to do that, but right now I don't see any other way, since no other mining software has any options to send those headers.

Installation on Ubuntu nad nodejs 14.16 unsupported

`npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (debug-js/debug#797)
npm WARN deprecated [email protected]: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
npm WARN deprecated [email protected]: request has been deprecated, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
/usr/bin/bhd-burst-proxy -> /usr/lib/node_modules/foxy-proxy/main.js
/usr/bin/foxy-proxy -> /usr/lib/node_modules/foxy-proxy/main.js

[email protected] install /usr/lib/node_modules/foxy-proxy/node_modules/sqlite3
node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp WARN Pre-built binaries not installable for [email protected] and [email protected] (node-v83 ABI, glibc) (falling back to source compile with node-gyp)
node-pre-gyp WARN Hit error EACCES: permission denied, mkdir '/usr/lib/node_modules/foxy-proxy/node_modules/sqlite3/lib/binding'
gyp WARN EACCES current user ("nobody") does not have permission to access the dev dir "/root/.cache/node-gyp/14.16.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/foxy-proxy/node_modules/sqlite3/.node-gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/foxy-proxy/node_modules/sqlite3/.node-gyp'
gyp ERR! System Linux 5.4.0-70-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/usr/lib/node_modules/foxy-proxy/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/usr/lib/node_modules/foxy-proxy/node_modules/sqlite3/lib/binding/napi-v3-linux-x64" "--napi_version=7" "--node_abi_napi=napi" "--napi_build_version=3" "--node_napi_label=napi-v3"
gyp ERR! cwd /usr/lib/node_modules/foxy-proxy/node_modules/sqlite3
gyp ERR! node -v v14.16.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/lib/node_modules/foxy-proxy/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/usr/lib/node_modules/foxy-proxy/node_modules/sqlite3/lib/binding/napi-v3-linux-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=3 --node_napi_label=napi-v3' (1)
node-pre-gyp ERR! stack at ChildProcess. (/usr/lib/node_modules/foxy-proxy/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:315:20)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1048:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
node-pre-gyp ERR! System Linux 5.4.0-70-generic
node-pre-gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/foxy-proxy/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /usr/lib/node_modules/foxy-proxy/node_modules/sqlite3
node-pre-gyp ERR! node -v v14.16.1
node-pre-gyp ERR! node-pre-gyp -v v0.11.0
node-pre-gyp ERR! not ok
Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/lib/node_modules/foxy-proxy/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/usr/lib/node_modules/foxy-proxy/node_modules/sqlite3/lib/binding/napi-v3-linux-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=3 --node_napi_label=napi-v3' (1)
npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"^10.12 || ^12"} (current: {"node":"14.16.1","npm":"6.14.12"})
npm WARN notsup Not compatible with your version of node/npm: [email protected]

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-04-08T10_43_20_458Z-debug.log
`

Ubuntu 20.04: Error: Please install sqlite3 package manually

This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
Error: Please install sqlite3 package manually
    at ConnectionManager._loadDialectModule (/usr/local/lib/node_modules/foxy-proxy/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:81:15)
    at new ConnectionManager (/usr/local/lib/node_modules/foxy-proxy/node_modules/sequelize/lib/dialects/sqlite/connection-manager.js:24:21)
    at new SqliteDialect (/usr/local/lib/node_modules/foxy-proxy/node_modules/sequelize/lib/dialects/sqlite/index.js:15:30)
    at new Sequelize (/usr/local/lib/node_modules/foxy-proxy/node_modules/sequelize/lib/sequelize.js:340:20)
    at init (/usr/local/lib/node_modules/foxy-proxy/models/index.js:40:21)
    at module.exports (/usr/local/lib/node_modules/foxy-proxy/models/index.js:75:5)
    at /usr/local/lib/node_modules/foxy-proxy/app.js:104:9
    at Object.<anonymous> (/usr/local/lib/node_modules/foxy-proxy/app.js:278:3)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
2020-08-03 14:31:46.052 [ERROR] | Error: Please install sqlite3 package manually

Steps to reproduce:
Fresh Lubuntu 20.04 Install

apt install npm
npm i -g foxy-proxy
foxy-proxy

Manually installing sqlite3 does not solve the problem.

I am able to use foxy-proxy fine if I use the github installation instructions, however.

Make it so you can connect directly to the proxy without specifying in the URL when there is only one

Is your feature request related to a problem? Please describe.
My scavenger miners are set to a URL like http://[ip]:[port], but when i updated Foxy-Proxy they stopped working. It turns out that now it's set up like http://[ip]:[port]/[proxyname]. This is useful when you only want to connect to certain proxies, but I only have one proxy, so now it's inconvenient to change the url of every Scavenger node.

Describe the solution you'd like
I'd like for there to be an option in the config where, if enabled, it will go back to the old http://[ip]:[port] url if it detects that there is only one proxy enabled.

Describe alternatives you've considered
I've considered switching back to Archon, but that wouldn't allow for a socket.io connection to FoxyPool.

Additional context
none

Display targetDL from submitProbability

Is your feature request related to a problem? Please describe.
Not able to view dynamic targetDL used with submitProbability (especially while using "sendTargetDL")

Describe the solution you'd like
Add a line for target DL under the difficulty on the webui of the proxy.

Send Email on Block Win for Solo miners at least

Is your feature request related to a problem? Please describe.
No. Would like to see foxy-proxy send solo miners an email when they win a block for selected coins in addition to miner is down event.

Auto-scale historical netdiff chart

Using a large number of datapoints results in sluggish historical netdiff chart performance. It would make sense to autoscale the netdiff chart so it uses max eg 1000 datapoints at all times

Clickable upstream name in UI

Is your feature request related to a problem? Please describe.
Enhancement Request - Make the upstream name in the UI clickable with a URL that points to the pool your mining similar to how you implemented in the Foxy Dashboard.

Describe the solution you'd like
You could use the 'url' configuration option to populate the upstream name URL.

Aggregate changelogs

For multi version updates it is usefull to show the aggregated changelog of all versions in between.

Display Proxy Version in GUI

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
With frequent updates to the proxy it would be beneficial to show in the GUI the current version being run, the new version (if any available) available, and perhaps a change log displaying what changes are available and if its worth upgrading.

Describe the solution you'd like
A clear and concise description of what you want to happen.
Place this information in the footer or in the more vertical options / hamburger menu.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Modify current notification of "New Version" to include "Current Version"

Additional context
Add any other context or screenshots about the feature request here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.