{"id":34795766,"url":"https://github.com/uselessguru/ug-miner","last_synced_at":"2026-05-30T10:00:45.601Z","repository":{"id":214496670,"uuid":"736657440","full_name":"UselessGuru/UG-Miner","owner":"UselessGuru","description":"Monitors crypto mining pools in real-time in order to find the most profitable for your machine. Controls any miner that is available via command line.","archived":false,"fork":false,"pushed_at":"2026-05-28T10:27:48.000Z","size":16274,"stargazers_count":15,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-28T12:16:30.991Z","etag":null,"topics":["amd","bitcoin","ccminer","cpu","cryptodredge","cryptomining","ethminer","gminer","hashcryptos","hiveon","lolminer","nanominer","nicehash","nvidia","prohashing","srbminer","teamredminer","zergpool","zpool"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UselessGuru.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.txt","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-12-28T13:58:35.000Z","updated_at":"2026-05-28T10:28:09.000Z","dependencies_parsed_at":"2026-01-19T13:10:58.951Z","dependency_job_id":null,"html_url":"https://github.com/UselessGuru/UG-Miner","commit_stats":null,"previous_names":["uselessguru/ug-miner"],"tags_count":178,"template":false,"template_full_name":null,"purl":"pkg:github/UselessGuru/UG-Miner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UselessGuru%2FUG-Miner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UselessGuru%2FUG-Miner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UselessGuru%2FUG-Miner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UselessGuru%2FUG-Miner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UselessGuru","download_url":"https://codeload.github.com/UselessGuru/UG-Miner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UselessGuru%2FUG-Miner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33687722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amd","bitcoin","ccminer","cpu","cryptodredge","cryptomining","ethminer","gminer","hashcryptos","hiveon","lolminer","nanominer","nicehash","nvidia","prohashing","srbminer","teamredminer","zergpool","zpool"],"created_at":"2025-12-25T10:46:02.012Z","updated_at":"2026-05-30T10:00:45.595Z","avatar_url":"https://github.com/UselessGuru.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UG-Miner\n\nUG-Miner monitors mining pools in real-time in order to find the most profitable algorithm  \nand runs the most profitable miner.\n\nVersion 6.8.9 / Updated 2026/05/30\n\nCopyright (c) 2018-2026 UselessGuru\n\nThis is free software. You are welcome to redistribute it under certain conditions.  \nhttps://github.com/UselessGuru/UG-Miner/blob/master/LICENSE\n\nThis project is updated \u0026 maintained by UselessGuru.\n\nUG-Miner code is partly based on\n\n- MultiPoolMiner\u003csup\u003e(*)\u003c/sup\u003e  \n  https://github.com/MultiPoolMiner/MultiPoolMiner\n\n- NemosMiner\u003csup\u003e(*)\u003c/sup\u003e  \n  https://github.com/Minerx117/NemosMiner\n\n- NPlusMiner\u003csup\u003e(*)\u003c/sup\u003e  \n  https://github.com/MrPlusGH/NPlusMiner\n\n  \u003csup\u003e(*)\u003c/sup\u003eThese projects are no longer maintained\n\n## Main features:\n\n- Easy configuration\n- Automatic benchmarking of all miners\n- Idle detection\n- Fully automated\n- Automatically downloads miner binaries\n- Automatic updates\n- Web \u0026 legacy GUI\n- Earnings graph \u0026 balances tracker\n- Low developer fee of 1% (can be set to 0%)\n- Calculate power cost\u003csup\u003e(1)\u003c/sup\u003e\n- Miner switching log\n- Supported pools:\n   - [HashCryptos](\u003chttps://hashcryptos.com/\u003e)\n   - [MiningDutch](\u003chttps://www.mining-dutch.nl/\u003e)\n   - [NiceHash](\u003chttps://www.nicehash.com/\u003e)\u003csup\u003e(2)\u003c/sup\u003e\n   - [ZPool](\u003chttps://zpool.ca/\u003e)\u003csup\u003e(3)\u003c/sup\u003e\n\n\u003csup\u003e(1)\u003c/sup\u003e Optional installation of HWiNFO required, see [ConfigHWinfo64.pdf](\u003chttps://github.com/UselessGuru/UG-Miner/blob/main/ConfigHWinfo64.pdf\u003e)\n\n\u003csup\u003e(2)\u003c/sup\u003e Registration with NiceHash is required. For some countries private usage is no longer possible.  \n\n\u003csup\u003e(3)\u003c/sup\u003e Pool does not support auto-exchange for some currencies (Conversion: Direct mining only).  \n    You need to configure a wallet address for these currencies.\n\n## Easy configuration, easy start\n\n   1. Download https://github.com/UselessGuru/UG-Miner/archive/refs/heads/main.zip and extract the zip file to a new folder of your choice.\n   2. Run **[UG-Miner directory]\\UG-Miner.bat** or **[UG-Miner directory]\\UG-Miner_AsAdmin.bat**\n   3. Edit configuration (http://localhost:3999/configedit.html)\n   4. Set your wallet address(es) and username(s) \u003csup\u003e(*)\u003c/sup\u003e\n   5. Select your pool(s)\n   6. Save configuration\n   7. Start mining\n\n   \u003csup\u003e(*)\u003c/sup\u003e To enable MiningDutch or ProHashing you must configure a username.  \n   To mine with NiceHash you must register and use the BTC address provided by NiceHash.\n\nIt is recommended to run UG-Miner with local computer administrator privileges (UG-Miner_AsAdmin.bat) to ensure file permissions and firewall rules can be set without user intervention. \n\n![alt text](https://github.com/UselessGuru/UG-Miner-Extras/releases/download/Images/UG-Miner_FirstStart.png \"UG-Miner web GUI\")\n\n### Pools\n\nUG-Miner polls the configured pools in regular intervals to get up-to-date pricing and coin availability information.  \n\nYou must select at least one pool.  \nIf you select several pools, then your earnings might be split across different pools. UG-Miner will always direct the miners to the pools with the highest earnings (or profit depending on your settings).  \nIt is recommended to keep the number of configured pools to a minimum as this might dilute your earnings and it could take longer to reach the pools payout thresholds.\n\n#### Poolnames ending in *24h:\n\n\\+ use calculations based on 24hr prices to get a more stable estimate  \n\\+ are NOT sensible to price spikes  \n\\+ show less switching than following current or plus price estimate  \n\\- lower estimated profitability in exchange for less switching\n\n#### Poolnames ending in *Plus:\n\n\\+ use calculations based on 24hr actual and current estimate prices to get a more realistic estimate  \n\\+ include some trust index based on past 1hr current estimate variation from 24hr  \n\\+ are NOT sensible to price spikes  \n\\+ show less switching than following current estimate and more switching than following the 24hr actual  \n\\+ better estimated profitability\n\n#### Poolnames without *24h/Plus\n\n\\+ use current price data in pool API to calculate profit (no estimates or advanced calculations)  \n\\- are sensible to price spikes  \n\\- show more switching\n\n### Algorithm selection\n\n+[algorithm] to enable algorithm  \n-[algorithm] to disable algorithm\n\nIf more than one algorithm is given, then the algorithms must be separated with commas. Do not use spaces in between the values.\n\nIf '+' is used, then only the explicitly enabled algorithms are used  \nIf '-' is used, then all algorithms except the disabled ones are used\n\nDo not combine '+' and '-' concurrently.\n\nThis parameter is not case sensitive. \n\n#### Examples:\nAlgorithm list '-Ethash':  \nWill mine anything but ethash\n\nAlgorithm list: '-Ethash(3GB),-Kawpow'  \nWill mine anything but Ethash (3GB DAG size only) or Kawpow (any DAG size)\n\nAlgorithm list '+Ethash':  \nWill mine only Ethash (any DAG size)\n\nAlgorithm list '+Ethash,+Kawpow(4GB)':  \nWill mine only Ethash (any DAG size) and Kawpow (only 4GB DAG size)\n\nAlgorithm list blank:  \nWill mine all available algorithms\n\n### Currency selection\n\n+[currency] to enable currency  \n-[currency] to disable currency\n\nIf more than one currency is given, then the currencies must be separated with commas. Do not use spaces in between the values.\n\nIf '+' is used, then only the explicitly enabled currencies are used  \nIf '-' is used, then all currencies except the disabled ones are used\n\nDo not combine '+' and '-' concurrently.\n\nThis parameter is not case sensitive. \n\n#### Examples:\nCurrency list '-EVR':  \nWill mine anything except EVR\n\nCurrency list '-EVR,-KIIRO':  \nWill mine anything except EVR and KIIRO\n\nCurrency list '+EVR':  \nWill mine only EVR\n\nCurrency list '+EVR,+KIIRO':  \nWill mine only EVR and KIIRO\n\nCurrency list blank:  \nWill mine all available currencies\n\n## Idle detection\n\nThe idle detection functionality (if enabled in the configuration) will suspend mining when UG-Miner detects any mouse or keyboard activitity.  \nMining will resume when no further activity is detected for a configurable number of seconds.\n\nPool brains will still run in the background avoiding the learning phase on resume.\n\nBalancesTracker will still run in the background to keep the pool balances up to date.\n\n## Web \u0026 legacy GUI\n\n### Web GUI\n\nUG-Miner can be controlled \u0026 configured through the web GUI.  \nFor most scenarios there is no need to edit configuration files manually.  \nSome settings can be configured per [advanced pool configuration](\u003chttps://github.com/UselessGuru/UG-Miner?tab=readme-ov-file#advanced-per-pool-configuration\u003e).\n\n![alt text](https://github.com/UselessGuru/UG-Miner-Extras/releases/download/Images/UG-Miner_Dashboard.png \"UG-Miner web GUI Dashboard\")\n\n### Legacy GUI\n\n![alt text](https://github.com/UselessGuru/UG-Miner-Extras/releases/download/Images/UG-Miner_LegacyGUI.png \"UG-Miner legacy GUI\")\n\n## PreRun\n\nUG-Miner can execute a batch script prior switching to a specific miner and/or algorithm.\n\nThe prerun scripts can be used to apply overclocking settings via any OC tool that can be parameterized via batch file commands (e.g. nvidiaInspector or OverdriveNTool).  \n\nBefore starting a miner executable UG-Miner will try to execute ONE of the following 5 prerun scripts (in this order):\n\n1. \\\u003cMinerBaseName-Version-Device\\\u003e\\_\\\u003cAlgorithmName\\\u003e.bat / \\\u003cMinerBaseName-Version-Device\\\u003e\\_\\\u003cAlgorithmName1\u0026AlgorithmName2\\\u003e.bat  \n   Create a file named \\\u003cMinerBaseName-Version-device\\\u003e\\_\\\u003cAlgorithmName\\\u003e.bat in the '[UG-Miner directory]\\Utils\\prerun' folder, e.g.  \n   'MiniZ-v2.5e-1xRX66008GB_EtcHash.bat'  \n   'lolMiner-v1.9.7-1xRTX306012GB_Ethash\u0026SHA512256d.bat'  \n   (use the algorithm base name, not the algorithm variant name)  \n\n2. \\\u003cMinerBaseName-Version\\\u003e\\_\\\u003cAlgorithmName\\\u003e.bat / \\\u003cMinerBaseName-Version\\\u003e\\_\\\u003cAlgorithmName1\u0026AlgorithmName2\\\u003e.bat  \n   Create a file named \\\u003cMinerBaseName-Version\\\u003e\\_\\\u003cAlgorithmName\\\u003e.bat in the '[UG-Miner directory]\\Utils\\prerun' folder, e.g.  \n   'MiniZ-v2.5e_EtcHash.bat'  \n   'lolMiner-v1.9.7_Ethash\u0026SHA512256d.bat'  \n   (use the algorithm base name, not the algorithm variant name)  \n\n3. \\\u003cMinerBaseName\\\u003e\\_\\\u003cAlgorithmName\\\u003e.bat / \\\u003cMinerBaseName\\\u003e\\_\\\u003cAlgorithmName1\u0026AlgorithmName2\\\u003e.bat  \n   Create a file named \\\u003cMinerBaseName\\\u003e\\_\\\u003cAlgorithmName\\\u003e.bat in the '[UG-Miner directory]\\Utils\\prerun' folder, e.g.  \n   'MiniZ_EtcHash.bat'  \n   'lolMiner_Ethash\u0026SHA512256d.bat'  \n   (use the algorithm base name, not the algorithm variant name)  \n\n4. \\\u003cAlgorithmName\\\u003e.bat / \\\u003cAlgorithmName1\u0026AlgorithmName2\\\u003e.bat  \n   Create a file named \\\u003cAlgorithmName\\\u003e.bat in the '[UG-Miner directory]\\Utils\\prerun' folder, e.g.  \n   'Ethash.bat'  \n   'Ethash\u0026SHA512256d.bat'  \n   (use the algorithm base name, not the algorithm variant name)  \n\n5. default.bat  \n   If neither of the four files above exists UG-Miner will try to launch the generic '[UG-Miner directory]\\Utils\\prerun\\default.bat'\n\n**Use overclock with caution!**\n\n## Advanced per pool configuration\n\n**This is for advanced users. Do not use if you do not know what you are doing.**\n\nUG-Miner stores pool specific configuration information in the file '[UG-Miner directory]\\Config\\PoolsConfig.json'.  \nSee '[UG-Miner directory]\\Data\\PoolsConfig-Template.json' for the basic file structure and all available pool configuration options.  \nA separate section can be added to for each pool. If a pool is listed in this file, the specific settings will be taken into account, otherwise the built-in default values will be used.\n\n\n**Available per pool configuration options**\n\n- Algorithm [ALGORITHM]  \n  List of included or excluded algorithms per pool\n- Currency [CURRENCY]  \n  List of included or excluded currencies per pool\n- EarningsAdjustmentFactor [Decimal number]  \n  This adds a multiplicator on estimations presented by the pool  \n  (e.g. You feel that a pool is exaggerating its estimations by 10%: Set EarningsAdjustmentFactor to 0.9)\n- ExcludeRegion [REGION]  \n  One or more of 'Australia', 'Asia', 'Brazil', 'Canada', 'Europe', 'HongKong', 'India', 'Kazakhstan', 'Russia', 'USA East', 'USA West'\n- MinWorker [Number]  \n  Minimum workers mining the algorithm at the pool; if less miners are mining the algorithm then the pool will be markes as unavailable\n- PayoutThreshold [CURRENCY: Value]  \n  Minimum balance required for payout (to use same value for ALL currencies use [*] as currency)\n- PoolAllow0Hashrate [true|false]  \n  Allow mining to the pool even when there is no 0 hashrate reported in the API\n- SSL [ALWAYS|NEVER|PREFER]  \n  One of 'Always' (pools that do not allow SSL connection are marked as unavailable), 'Never' (pools that do only support SSL connection are marked as unavailable) or 'Prefer' (use SSL pool connection where available, otherwise use non-encrypted connection)\n- SSLallowSelfSignedCertificate [true|false]  \n  If true will allow SSL/TLS connections with self signed certificates (this is a security issue and allows 'Man in the middle attacks')\n- Wallet [CURRENCY: Wallet address]  \n  Your wallet address for [CURRENCY]; some pools, e.g. ZPool, require wallets for some or even all supported currencies\n\n**Usage**\n\n- Edit '[UG-Miner directory]\\Config\\PoolsConfig.json' (**be careful with json formatting!**)\n- Add an entry for the pool you want to customize  \n  The entry name must be the pool base name (omit *24hrs or *Plus), e.g \"ZPool\" (even if you have configured ZPoolPlus in the pool list)\n- Add the pool specific configuration items, see '' for the supported configuration items\n\nNote: The configuration editor in the web GUI only updates the generic pool settings. Pool specific settings override the generic settings.\n\n## Balances tracking\n\nUG-Miner displays the available balances and calculates an estimation of when the pool payment threshold will be reached.\n\nSupported pools:\n\n - HashCryptos\n - MiningDutch\n - NiceHash\n - Zpool\n\n## Miner switching log\n\nA simple miner switching log in csv format is written to '[UG-Miner directory]\\Logs\\SwitchingLog.csv'.\n\n## Console hot keys\n\nIn the main text window (session console) the following hot keys are supported:\n```\nHot key legend:                              Status:\n1: Toggle listing pool balances              [off]\n2: Toggle listing all optimal miners         [off]\n3: Toggle UI style [full or light]           [light]\n4: Toggle legacy GUI                         [enabled]\n5: Toggle API server and web GUI             [running on port 3999]\n6: Toggle log reader                         [enabled]\n\na: Toggle 'Accuracy' column visibility       [on]\nb: Toggle 'Earnings bias' column visibility  [on]\nc: Toggle 'Currency' column visibility       [on]\ne: Toggle 'Earnings' column visibility       [on]\nm: Toggle 'Miner fee' column visibility      [on]\nn: Toggle 'CoinName' column visibility       [on]\no: Toggle 'Power cost' column visibility     [on]\np: Toggle 'Pool fee' column visibility       [on]\nr: Toggle 'Profit bias' column visibility    [on]\ns: Toggle 'Hashrate(s)' column visibility    [on]\nt: Toggle 'Profit' column visibility         [on]\nu: Toggle 'User' column visibility           [off]\nw: Toggle 'Power (W)' column visibility      [on]\n\nq: Quit UG-Miner\n```\nUI style can be set to 'light' or 'full':\n\n- light (default)  \n  Information about miners run in the past 24hrs, failed miners in the past 24hrs \u0026 watchdog timers will be not be shown\n\n- full  \n  Information about miners run in the past 24hrs, failed miners in the past 24hrs \u0026 watchdog timers will be shown\n\nUI style automatically switches to full during benchmarking or when measuring power consumption.\n\n## Requirements\n\nWindows 10.x and PowerShell Version 7.4.x or higher is required.\n\nUG-Miner works best with the latest PWSH version 7.5.4.  \n[Download Installer for version 7.5.4](https://github.com/PowerShell/PowerShell/releases/download/v7.5.4/PowerShell-7.5.4-win-x64.msi)  \n\nSome miners may need 'Visual C+' runtime libraries. Download and extract  \n[Visual C+ RunTimes](https://github.com/UselessGuru/UG-Miner-Extras/releases/download/Visual-C-Runtimes-All-in-One-Sep-2019/Visual-C-Runtimes-All-in-One-Sep-2019.zip)  \nthen run install_all.bat file.\n\nVirtual memory settings  \nWhen running multiple cards its recommended to increase Virtual Memory. 16GB is optimal.\n\nRecommended/optimal Windows Nvidia driver  \n[Windows Nvidia driver 576.52](https://us.download.nvidia.com/Windows/576.52/576.52-desktop-win10-win11-64bit-international-dch-whql.exe)  \nIf you use older drivers some miners will not be available.\n\nRecommended/optimal Windows AMD driver  \n[Windows 10/11 AMD GPU Driver 7/25/2023](https://www.amd.com/en/support)\n\nUG-Miner is currently tested on the following rigs: \n\n- Windows11-1xGTX1030-2GB/1xGTX-1650-4GB/1xRTX-3060-12GB/1xRX5700-8GB/1xRX6600-8GB/Inteli5-8600K\n- Windows11-1xMX250/Inteli10-10210u\n- Windows11-1xMX150/Inteli10-8570u\n\n## Developer donation\n\nThe default donation fee is approx. 1% (15 minutes per day). It can be increased or decreased in the configuration editor.\n\nPlease help support the great team behind UG-Miner by leaving mining donations turned on.\n\nWe want to stay completely transparent on the way fees are managed in the product.  \nThe donation cycle occurs only once in 24hrs (or once until midnight if UG-Miner has been running less than 24hrs).  \nDonation start time is randomized each day.  \nIt will then mine for UselessGuru for the configured duration.  \n\nExample for default parameters (15 minutes):\n\n- UG-Miner was started at 10:00h\n- First donation cycle starts somewhen between 10:01h and 23:45h and will then donate for 15 minutes. After that it will mine for you again until the next donation run.\n- After 00:00h the donation start time is randomized again.\n- When donation start time is reached it will mine to the donation wallet/username for 15 minutes. After that it will mine for you again until the next donation run.\nThe donation data is stored in '[UG-Miner directory]\\Data\\DonationData.json'.  \nAll donation times and addresses are recorded in the donation log file '[UG-Miner directory]\\Log\\DonationLog.csv'.\n\n## Known issues\n\n- Balances tracker / Earnings graph: Date change does not respect local time zone (accumulated data is calculated in UTC time)\n\n## Experimental support for running multiple instances (not recommended)\n\nMore than one instance of UG-Miner can run on the same rig. Each instance must be placed in its own directory.  \nYou must use non-overlapping port ranges (configuration item 'APIport').  \nDo not use the same miner devices in more than one instance (this will give invalid hash rate \u0026 power consumption readings causing incorrect best miner selection).\n\n## Copyright \u0026 licenses\n\nLicensed under the GNU General Public License v3.0  \nPermissions of this strong copyleft license are conditioned on making available complete source code of licensed works \nand modifications, which include larger works using a licensed work, under the same license.  \nCopyright and license notices must be preserved. Contributors provide an express grant of patent rights.  \nhttps://github.com/UselessGuru/UG-Miner/blob/master/LICENSE\n\n## Happy mining :-)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuselessguru%2Fug-miner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuselessguru%2Fug-miner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuselessguru%2Fug-miner/lists"}