![Favicon - moner.ooo](/img/apple-touch-icon-152x152.png) # 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](https://github.com/nice42q/moner.ooo) 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](#features) - [Usage](#usage) - [Installation](#installation) - [Configuration](#configuration) - [Development](#development) - [Contributing](#contributing) - [Acknowledgements](#acknowledgements) ## 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 1. Select field A1. 2. Go to `Data` → `Link to external data...`. 3. Input the URL `https://moner.ooo/` and confirm. 4. Confirm the import options and select `HTML_1`. For an example, see [kuno.anne.media](https://kuno.anne.media/donate/onml/). ## Installation ### Prerequisites - PHP - Node.js and npm - PHP-enabled web server (e.g. Caddy, Nginx, Apache) ### Steps 1. Clone the repository: ```sh git clone https://github.com/nice42q/moner.ooo.git cd moner.ooo ``` 2. Install JavaScript dependencies: ```sh npm install ``` 3. Build the project: ```sh npm run build ``` 4. Point your web server to the repository directory. ## Configuration Create a `config.php` file in the root directory to customize the application. Example: ```php 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 '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: 1. Fork the repository. 2. Create a new branch for your feature or bugfix: ```sh git checkout -b my-feature-branch ``` 3. Make your changes. 4. Commit your changes: ```sh git commit -m "Description of my changes" ``` 5. Push to the branch: ```sh git push origin my-feature-branch ``` 6. Create a pull request. ## Acknowledgements - [Bootstrap](https://getbootstrap.com/) - [CoinGecko API](https://www.coingecko.com/en/api)