|
|
- +++
- title = "Toxic Swamp"
- slug = "toxic-swamp"
- description = "Monero/Aeon Web Miner add-on module for After Dark."
- summary = "Monero/Aeon Web Miner."
- categories = ["addon"]
- tags = ["module", "monetization", "rewards", "cryptocurrency"]
- features = ["snippets", "related content"]
- [security.csp.directives]
- scriptSrc = [
- "'sha512-TKVuLlCT8+a0Chpa6Pw3clhu9fhZ9JOzgblgxQaUQVP/z4lfPnrdyWDOgucORnS2qapWu/iPVG2d0ywyGH2NjA=='"
- ]
- [[copyright]]
- owner = "Josh Habdas"
- date = "2019"
- license = "agpl-3.0-or-later"
- +++
-
- Monetize attention in one of more than 40 cryptocurrency mining pools with support for the March 2019 Monero hard fork.
-
- {{< hackcss-alert >}}
- {{< video controls="true" src="https://habd.as/code/toxic-swamp/assets/toxic-swamp-demo.mp4" preload="auto" poster="https://habd.as/code/toxic-swamp/images/after-dark-v6.15.0-homepage-fs8.png" width="100%" >}}
- {{< /hackcss-alert >}}
-
- # Features
-
- - Mine cryptocurrency while visitors browse your sites
- - Reward effort during site development and publishing
- - Transparent, unobtrusive multilingual user interface
- - Does not use cookies or connect to any third-parties
- - Obfuscates end-user IPs and other connection details
- - Automatically starts when external power is detected
- - Suspends operation during loss of power or attention
- - Optimized for low-bandwidth high-latency connections
- - Cannot be detected by MinerBlock extension at 1.2.12
-
- # Installation
-
- Choose a module download source:
-
- - {{< external "https://www.npmjs.com/package/toxic-swamp" />}} - npm
- - {{< external "https://www.jsdelivr.com/package/npm/toxic-swamp" />}} - cdn
- - {{< external "https://git.habd.as/comfusion/toxic-swamp" />}} - git
-
- Extract module contents into site themes directory:
-
- ```
- ├── static
- └── themes
- ├── after-dark
- └── toxic-swamp
- ```
-
- Verify [Release Hash]({{< relref "release-hashes" >}}) and GPG signature:
-
- ```sh
- cd themes/toxic-swamp && \
- npm install && npm run integrity && \
- git tag --verify v1.0.0-beta.28
- ```
-
- Specify module in site config:
-
- {{< highlight toml "linenos=inline,linenostart=6" >}}
- # Controls default theme and theme components
- theme = [
- "toxic-swamp", # sequence before "after-dark"
- "after-dark"
- ]
- {{< /highlight >}}
-
- Configure with payout address to start earning rewards:
-
- {{< highlight toml "linenos=inline,linenostart=36" >}}
- [params.modules.toxic_swamp]
- enabled = true # Optional, set false to disable module
- address = "your-address-here"
- {{< /highlight >}}
-
- # Earning Rewards
-
- Using [The Fire Swamp](#the-fire-swamp) with a configured payout address, you may view your hash metrics and payout information from the {{< external href="https://moneroocean.stream/?dark#/dashboard" text="MoneroOcean Dashboard" />}}:
-
- {{< figure alt="MoneroOcean Dashboard screenshots"
- src="/images/screenshots/monero-ocean-dashboard-fs8.png"
- caption="Monero Ocean Dashboard showing Toxic Swamp mining activity."
- >}}
-
- See the MoneroOcean {{< external href="https://moneroocean.stream/?dark#/help/faq" text="FAQ" />}} for more details.
-
- # The Fire Swamp
-
- After Dark provides upgrade incentives The Fire Swamp using {{< external href="https://moneroocean.stream/?dark" text="MoneroOcean" />}} to help you get started and as a fallback when custom proxies fail to connect.
-
- The proxy servers are located at `fs*.habd.as:80` and will be used by default until you [Create Your Own Proxy](#create-your-own-proxy) or fall more than two major versions behind.
-
- To maximize your rewards while using the Fire Swamp proxy you must try to keep your After Dark version up-to-date as illustrated here:
-
- <style>
- .dark table tbody td:first-child { color: inherit; }
- table tbody td:first-child { font-weight: initial; }
- </style>
-
- <table>
- <caption>Figure 1: Fire Swamp upgrade incentive based on After Dark version</caption>
- <thead>
- <tr>
- <th scope="col">Latest Version</th>
- <th scope="col">Your Version</th>
- <th scope="col">Upgrade Incentive</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>7.0.0</td>
- <td>7.0.0</td>
- <td>None</td>
- </tr>
- <tr>
- <td>7.0.2</td>
- <td>7.0.1</td>
- <td>2.2%</td>
- </tr>
- <tr>
- <td>7.1.0</td>
- <td>7.0.2</td>
- <td>13.6%</td>
- </tr>
- <tr>
- <td>8.0.0</td>
- <td>7.1.0</td>
- <td>34.1%</td>
- </tr>
- </tbody>
- </table>
-
- To describe in more detail:
-
- - If a bugfix, documentation update, refactoring or other patch release occurs your upgrade incentive is 2.2% of your total combined mining hash power.
-
- - If an enhancement, feature or other minor release occurs your upgrade incentive is 13.6% of your total combined mining hash power.
-
- - If a breaking change, license update or other major release occurs your upgrade incentive is 34.1% of your total combined mining hash power.
-
- - If you fall more than one point release behind any minor or patch release the upgrade incentive will remain the same as if you were only one release behind.
-
- - If you fall more than two majors behind your miner may continue to function but you will be required to upgrade to maintain your upgrade incentive.
-
- Maximize your incentive with reduced effort by using the [Upgrade Script](/feature/upgrade-script/) to check for and automatically update After Dark to the latest available version.
-
- {{< hackcss-alert type="success" >}}
- <strong>Tip:</strong> After Dark uses {{< external href="https://semver.org" text="Semantic Versioning" />}} and the <code>latest</code> version may be tracked programmatically using on the NPM registry and in JSON form {{< external href="https://registry.npmjs.org/-/package/after-dark/dist-tags" text="here" />}}.
- {{< /hackcss-alert >}}
-
- {{< hackcss-alert type="info" >}}
- <strong>Note:</strong> After Dark updates are typically backwards compatible with existing modules though there may be cases where module updates are required.
- {{< /hackcss-alert >}}
-
- # Create Your Own Proxy
-
- Advanced users may wish to configure their own proxy servers. To do so select <samp>Advanced Settings</samp> when generating configuration after standing-up your proxy server described in more detail here:
-
- <details>
- <summary>Expand to view details</summary>
-
- Use the instructions in {{< external "https://git.habd.as/comfusion/webminerpool" />}} to stand up your own proxy server and reference the following to understand connection activity:
-
- <style>
- table { caption-side: bottom; }
- caption { margin-top: 0.5rem; font-variant: all-small-caps; }
- dd, dt { display: inline-block; }
- dt { margin-left: 3rem; }
- dd { width: 10rem; }
- </style>
- <table>
- <legend>
- Legend
- <dl>
- <dt>A<dd>Active
- <dt>I<dd>Inactive
- <dt>S<dd>Standby
- <dt>E<dd>Error
- <dt>O<dd>Open
- <dt>C<dd>Closed
- <dt>K<dd>Known
- <dt>U<dd>Unknown
- </dl>
- </legend>
- <caption>Figure 2: Miner connection activity by device, proxy and toolbar state</caption>
- <thead>
- <tr>
- <th colspan="3" scope="col">Device</th>
- <th colspan="3" scope="col">Toolbar</th>
- <th colspan="4" scope="col">Miner</th>
- <th colspan="3" scope="col">Proxy</th>
- </tr>
- <tr>
- <th scope="col">Charging</th>
- <th scope="col">Online</th>
- <th scope="col">Cores</th>
- <th scope="col">Visible</th>
- <th scope="col">Powered</th>
- <th scope="col">Throttle</th>
- <th scope="col">Status</th>
- <th scope="col">Socket</th>
- <th scope="col">Workers</th>
- <th scope="col">Load</th>
- <th scope="col">Online</th>
- <th scope="col">Pool</th>
- <th scope="col">Allow</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>--</td>
- <td>--</td>
- <td>--</td>
- <td>--</td>
- <td>Off</td>
- <td>--</td>
- <td>I</td>
- <td>--</td>
- <td>--</td>
- <td>--</td>
- <td>--</td>
- <td>--</td>
- <td>--</td>
- </tr>
- <tr>
- <td>Yes</td>
- <td>Yes</td>
- <td>8</td>
- <td>No</td>
- <td>On</td>
- <td>Any</td>
- <td>S</td>
- <td>C</td>
- <td>8</td>
- <td>0</td>
- <td>--</td>
- <td>--</td>
- <td>--</td>
- </tr>
- <tr>
- <td>Yes</td>
- <td>No</td>
- <td>8</td>
- <td>Yes</td>
- <td>On</td>
- <td>Any</td>
- <td>S</td>
- <td>E</td>
- <td>8</td>
- <td>0</td>
- <td>--</td>
- <td>--</td>
- <td>--</td>
- </tr>
- <tr>
- <td>No</td>
- <td>Yes</td>
- <td>16</td>
- <td>Yes</td>
- <td>On</td>
- <td>25</td>
- <td>I</td>
- <td>C</td>
- <td>16</td>
- <td>4</td>
- <td>Yes</td>
- <td>K</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td>Yes</td>
- <td>Yes</td>
- <td>16</td>
- <td>Yes</td>
- <td>On</td>
- <td>25</td>
- <td>A</td>
- <td>O</td>
- <td>16</td>
- <td>12</td>
- <td>Yes</td>
- <td>K</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td>Yes</td>
- <td>Yes</td>
- <td>32</td>
- <td>Yes</td>
- <td>On</td>
- <td>50</td>
- <td>A</td>
- <td>O</td>
- <td>32</td>
- <td>16</td>
- <td>Yes</td>
- <td>K</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td>Yes</td>
- <td>Yes</td>
- <td>32</td>
- <td>Yes</td>
- <td>On</td>
- <td>75</td>
- <td>A</td>
- <td>O</td>
- <td>32</td>
- <td>24</td>
- <td>Yes</td>
- <td>K</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td>Yes</td>
- <td>Yes</td>
- <td>64</td>
- <td>Yes</td>
- <td>On</td>
- <td>Any</td>
- <td>S</td>
- <td>E</td>
- <td>64</td>
- <td>0</td>
- <td>Yes</td>
- <td>U</td>
- <td>No</td>
- </tr>
- <tr>
- <td>Yes</td>
- <td>Yes</td>
- <td>64</td>
- <td>Yes</td>
- <td>On</td>
- <td>Any</td>
- <td>S</td>
- <td>E</td>
- <td>64</td>
- <td>0</td>
- <td>No</td>
- <td>--</td>
- <td>--</td>
- </tr>
- </tbody>
- </table>
-
- Generate configuration with `Advanced Settings` specified:
-
- {{< hackcss-card header="Interactive Config Generator" >}}
- <style>.form { width: unset; }</style>
- {{< hackcss-form name="generator" disabled="true" action="http://localhost:1414/module/toxic-swamp/configuration/" >}}
- <noscript>
- {{< hackcss-helpblock >}}
- <p>Enable JavaScript for offline config generation.</p>
- {{< /hackcss-helpblock >}}
- </noscript>
- {{< hackcss-alert type="warning" class="js-usesameorigin" >}}
- <style>.js-usesameorigin { display: none }</style>
- <strong>NOPE!</strong> Attempting to submit to unknown origin.
- {{< /hackcss-alert >}}
- {{< hackcss-alert type="warning" class="js-useonlinehelp" >}}
- Please use <a href="/feature/online-help/">Online Help</a> to generate configuration while <a href="/feature/work-offline/">Working Offline</a>.
- {{< /hackcss-alert >}}
- {{< hackcss-alert type="warning" class="js-disconnect" >}}
- <style>.js-disconnect { display: none }</style>
- Please <a href="/feature/work-offline/">Disconnect</a> from the network before generating your configuration.
- {{< /hackcss-alert >}}
- {{< hackcss-formgroup name="addressgroup" >}}
- {{< hackcss-label for="address" >}}
- <abbr title="Monero">XMR</abbr> Address:
- {{< /hackcss-label >}}
- {{< hackcss-textinput
- required="true"
- disabled="true"
- type="text" id="address" name="address"
- placeholder="44ky1q4d..."
- pattern="^4[0-9AB][123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{93}$"
- >}}
- {{< hackcss-helpblock >}}
- Enter payout address. {{< external href="https://getmonero.org/resources/user-guides/securely_purchase.html" >}}Create Secure Wallet{{< /external >}}.
- {{< /hackcss-helpblock >}}
- {{< /hackcss-formgroup >}}
- {{< hackcss-buttongroup formactions="true" >}}
- {{< hackcss-button class="muted" name="generate" type="success" text="Generate Config" disabled="true" />}}
- {{< /hackcss-buttongroup >}}
- <details>
- <summary>Advanced Settings</summary>
- <p>Optional. <a href="#create-your-own-proxy">Create Your Own Proxy</a> before using.</p>
- {{< hackcss-formgroup name="servergroup" >}}
- {{< hackcss-label for="server" text="Proxy Server:" />}}
- {{< hackcss-textinput type="url" id="server" name="server" placeholder="wss://domain.example:80" >}}
- {{< hackcss-helpblock >}}
- Web Socket URL for custom proxy server.
- {{< /hackcss-helpblock >}}
- {{< /hackcss-formgroup >}}
- {{< hackcss-formgroup name="poolgroup" >}}
- {{< hackcss-label for="pool" text="Mining pool:" />}}
- {{< hackcss-select id="pool" name="pool" >}}
- <option>moneroocean.stream</option>
- <option>etn.nanopool.org</option>
- <option>monero.hashvault.pro</option>
- <option>minemonero.pro</option>
- <option>moneroocean.stream:100</option>
- <option>aeon-pool.com</option>
- <option>aeon-pool.sytes.net</option>
- <option>aeonpool.xyz</option>
- <option>trtl.flashpool.club</option>
- <option>aeonpool.dreamitsystems.com</option>
- <option>clawde.xyz</option>
- <option>xmr.prohash.net</option>
- <option>aeon.uax.io</option>
- <option>aeonpool.net</option>
- <option>xmrminerpro.com</option>
- <option>minercircle.com</option>
- <option>xmrpool.net</option>
- <option>supportaeon.com</option>
- <option>usxmrpool.com</option>
- <option>aeonminingpool.com</option>
- <option>supportxmr.com</option>
- <option>aeonhash.com</option>
- <option>minexmr.com</option>
- <option>pooltupi.com</option>
- <option>xmrpool.eu</option>
- <option>slowandsteady.fun</option>
- <option>etn.hashvault.pro</option>
- <option>poolmining.org</option>
- <option>aeon.rupool.tk</option>
- <option>aeon.semipool.com</option>
- <option>etn.spacepools.org</option>
- <option>osiamining.com</option>
- <option>durinsmine.com</option>
- <option>dwarfpool.com</option>
- <option>arhash.xyz</option>
- <option>xmr.nanopool.org</option>
- <option>aeon.hashvault.pro</option>
- <option>minereasy.com</option>
- <option>moneropool.com</option>
- <option>aeon.n-engine.com</option>
- <option>aeon.sumominer.com</option>
- <option>monerohash.com</option>
- <option>monero.crypto-pool.fr</option>
- {{< /hackcss-select >}}
- {{< hackcss-helpblock >}}
- Select a {{< external href="https://git.habd.as/comfusion/webminerpool/src/branch/master/server/pools.json" text="supported pool" />}} to mine with.
- {{< /hackcss-helpblock >}}
- {{< /hackcss-formgroup >}}
- {{< hackcss-formgroup name="poolpassgroup" >}}
- {{< hackcss-label for="poolpass" text="Password:" />}}
- {{< hackcss-textinput type="password" id="poolpass" name="poolpass" >}}
- {{< hackcss-helpblock >}}
- Password for your pool. Often not needed.
- {{< /hackcss-helpblock >}}
- {{< /hackcss-formgroup >}}
- {{< hackcss-formgroup name="throttlegroup" >}}
- {{< hackcss-label for="throttle" text="Throttle:" />}}
- {{< hackcss-textinput type="number" id="throttle" name="throttle" placeholder="Use 90 for 10% capacity" step="5" min="70" max="90" >}}
- {{< hackcss-helpblock >}}
- Override default of 70 (30% capacity).
- {{< /hackcss-helpblock >}}
- {{< /hackcss-formgroup >}}
- {{< hackcss-formgroup name="useridgroup" >}}
- {{< hackcss-label for="userid" text="User Id:" />}}
- {{< hackcss-textinput type="text" id="userid" name="userid" placeholder="Any string with a length < 200 characters" maxlength="200" >}}
- {{< hackcss-helpblock >}}
- Combine hash metrics for all users.
- {{< /hackcss-helpblock >}}
- {{< /hackcss-formgroup >}}
- </details>
- {{< /hackcss-form >}}
- {{< /hackcss-card >}}
-
- Enable debugging to output detailed socket messages from the proxy to the browser console by adding the following to your site config:
-
- ```toml
- [params.modules.toxic_swamp]
- debugging = true
- ```
-
- </details>
-
- # Internationalization
-
- English translations available for toolbar display:
-
- - Indonesian (id)
- - Russian (ru)
- - Greek (el)
- - German (de)
- - Polish (pl)
- - Italian (it)
-
- Enable them with module `translations` whitelist:
-
- ```toml
- [params.modules.toxic_swamp]
- translations = ["id", "ru", "el", "de", "pl", "it"] # English translations enabled
- ```
-
- Use `languageCode` site config to control which is displayed:
-
- ```toml
- languageCode = "en-US" # English (United States) or English by default
- languageCode = "id-ID" # Indonesian (Indonesia) or Indonesian, if available
- languageCode = "ru-RU" # Russian (Russia) or Russian, if available
- languageCode = "el-GR" # Greek (Greece) or Greek, if available
- languageCode = "de-DE" # German (Germany) or German, if available
- languageCode = "pl-PL" # Polish (Poland) or Polish, if available
- languageCode = "it-IT" # Italian (Italy) or Italian, if available
- ```
-
- {{< hackcss-alert type="info" >}}
- <strong>Note:</strong> Language tag syntax is defined by the <abbr title="Internet Engineering Task Force">IETF</abbr>'s {{< external href="https://tools.ietf.org/html/bcp47" text="BCP 47" />}}.
- {{< /hackcss-alert >}}
-
- Modify translations from `inline.jsonld.html` in your site `layouts` directory. If the file doesn't exist yet, copy it from module default:
-
- ```sh
- mkdir -p layouts/partials/modules/toxic-swamp/ && \
- cp themes/toxic-swamp/layouts/partials/modules/toxic-swamp/inline.jsonld.html $_
- ```
-
- Remove config and customizations to return to module defaults.
|