Source code of https://xmr.ditatompel.com, a website that helps you monitor your favourite Monero remote nodes.
Find a file
2024-05-31 18:24:45 +07:00
.github chore: Rename workflow.yml to lint.yml 2024-05-27 05:07:08 +07:00
cmd Make X-Prober-Api-Key as constant 2024-05-30 13:40:57 +07:00
deployment chore: Rename tools directory to deployment 2024-05-30 12:02:11 +07:00
frontend Adding jtgrassie/monero-pool copyright attribution 2024-05-31 17:40:20 +07:00
handler Change estimate fee for stagenet to 56000 2024-05-31 13:30:56 +07:00
internal Adding table tbl_fee 2024-05-31 16:28:21 +07:00
.air.toml Build server tags in Makefile & air config #3 2024-05-18 18:05:53 +07:00
.editorconfig Copying my other project structure to this project 2024-05-04 00:11:56 +07:00
.env.example Secret key environment variable no longer needed 2024-05-23 03:57:29 +07:00
.gitattributes Initial commit 2024-05-04 00:10:33 +07:00
.gitignore Adding GeoIP support 2024-05-05 02:20:54 +07:00
.golangci.yaml Adding test and bench example 2024-05-30 15:47:27 +07:00
go.mod Bump golang.org/x/net from 0.21.0 to 0.25.0 2024-05-23 22:40:17 +00:00
go.sum Bump golang.org/x/net from 0.21.0 to 0.25.0 2024-05-23 22:40:17 +00:00
LICENSE Initial commit 2024-05-04 00:10:33 +07:00
main.go Separating client and server package #3 2024-05-18 17:59:54 +07:00
Makefile chore: Rename tools directory to deployment 2024-05-30 12:02:11 +07:00
README.md Update readme on how the site works 2024-05-31 18:24:45 +07:00
server.go Removing admin module and functions 2024-05-23 03:40:06 +07:00

XMR Remote Nodes

Source code of https://xmr.ditatompel.com, a website that helps you monitor your favourite Monero remote nodes.

How does it work?

Apart from CPU architecture type, you can build two types of binaries from this project: a server and a client.

The clients is used to fetch node information given by the server. First, it will ask the server which node to fetch. Then, it will fetch the information and report back to the server.

The server serves an embedded Svelte static site for the Web UI. It also serves the /api endpoint that is used by the clients and the Web UI itself.

Requirements

Server & Prober requirements

  • Go >= 1.22
  • Linux Machines (AMD64 or ARM64)

Server requirements

Installation

For initial server setup:

  1. Download GeoIP Database and place it to ./assets/geoip. (see ./internal/geo/ip.go).
  2. Copy .env.example to .env and edit it to match with server environment.
  3. Build the binary with make build.
  4. Run the service with ./bin/xmr-nodes-server-linux-<YOUR_CPU_ARCH> serve.

Systemd example: ./deployment/init/xmr-nodes-server.service.

For initial prober setup:

  1. Create API key for prober
  2. Copy .env.example to .env and edit it to match with prober environment.
  3. Build the binary with make build.
  4. Run the service with ./bin/xmr-nodes-client-linux-<YOUR_CPU_ARCH> probe.

Systemd example: xmr-nodes-prober.service and xmr-nodes-prober.timer.

Development and Deployment

See the Makefile.