4.0 KiB
Moner.ooo
Moner.ooo is a web application for converting Monero (XMR) to various fiat currencies and vice versa. It provides almost real-time exchange rates and supports multiple languages based on the user's browser settings.
This is a fork of the original project by nice42q with some modifications, including:
- Improved webpack configuration.
- Support for JS-less operation.
- Improved translations and translation handling.
- Automatic exchange rate updates.
- Automatic update of available currencies.
- Configuration file for customizing the application.
Table of Contents
Features
- Conversion between Monero (XMR) and multiple fiat currencies.
- Multi-language support.
- User-friendly interface.
- Fetches currencies and exchange rates from CoinGecko API.
- Fully functional without JavaScript. Even better with JavaScript enabled.
- Customizable configuration.
Usage
Convert XMR to Fiat
To convert XMR to a fiat currency, simply visit:
https://monerooo.private.coffee/?in=USD
Replace USD
with your preferred currency code. You can also specify the amount of XMR to convert:
https://monerooo.private.coffee/?in=USD&xmr=1
The xmr
parameter specifies the amount of XMR to convert.
Convert Fiat to XMR
To convert a fiat currency to XMR, visit:
https://monerooo.private.coffee/?in=USD&fiat=1&direction=1
The fiat
parameter specifies the amount of fiat currency to convert. The direction
parameter is set to 1
to indicate conversion from fiat to XMR.
Use XMR Prices Data in Office Applications
- Select field A1.
- Go to
Data
→Link to external data...
. - Input the URL
https://moner.ooo/
and confirm. - Confirm the import options and select
HTML_1
.
For an example, see kuno.anne.media.
Installation
Prerequisites
- PHP
- Node.js and npm
- PHP-enabled web server (e.g. Caddy, Nginx, Apache)
Steps
-
Clone the repository:
git clone https://github.com/nice42q/moner.ooo.git cd moner.ooo
-
Install JavaScript dependencies:
npm install
-
Build the project:
npm run build
-
Point your web server to the repository directory.
Configuration
Create a config.php
file in the root directory to customize the application. Example:
<?php
return [
'servers_guru' => false,
'attribution' => 'Powered by Moner.ooo',
'preferred_currencies' => ['USD', 'EUR', 'GBP'],
'github_url' => 'https://git.private.coffee/kumi/moner.ooo/',
'footer_links' => [
['url' => 'https://example.com', 'text' => 'Example Link']
],
];
Create a secrets.php
file in the root directory to store CoinGecko API keys. Example:
<?php
return [
'coingecko_api_key' => 'CG-xxxx',
'coingecko_key_is_demo' => true,
];
Note: The secrets.dist.php
file should not be accessible from the web server.
Fetching Exchange Rates
Exchange rates are fetched from the CoinGecko API. The coingecko.php
file handles the API requests and attempts to update exchange rates every 5 seconds. Due to the rate limits of the CoinGecko API, actual update intervals may vary and are closer to 60 seconds.
Contributing
We welcome contributions! Here’s how you can help:
-
Fork the repository.
-
Create a new branch for your feature or bugfix:
git checkout -b my-feature-branch
-
Make your changes.
-
Commit your changes:
git commit -m "Description of my changes"
-
Push to the branch:
git push origin my-feature-branch
-
Create a pull request.