Source code of https://xmr.ditatompel.com, a website that helps you monitor your favourite Monero remote nodes.
Find a file
ditatompel 029996e5f0
Some checks are pending
Build / build (push) Waiting to run
Test / lint (push) Waiting to run
chore: Update .gitattributes Nginx cfg location
Forgot to change the `.gitattributes` file when moving `tools`
directory to `deployment`. Ref: 5fae3d5
2024-06-23 22:29:11 +07:00
.github chore(ci): Release action (test) 2024-06-11 01:38:30 +07:00
cmd feat: Only return exit code 1 for specific err 2024-06-19 18:46:12 +07:00
deployment chore: Rename tools directory to deployment 2024-05-30 12:02:11 +07:00
frontend feat: No img src to external URL 2024-06-17 22:16:01 +07:00
handler Lowercase & upperase initialism acronyms 2024-06-10 03:03:23 +07:00
internal refactor: Lowercase & upperase initialism acronyms 2024-06-19 16:24:18 +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 chore: default ACCEPT_TOR and APP_PREFORK to false 2024-06-19 16:25:53 +07:00
.gitattributes chore: Update .gitattributes Nginx cfg location 2024-06-23 22:29:11 +07:00
.gitignore Adding GeoIP support 2024-05-05 02:20:54 +07:00
.golangci.yaml fix(lint): Deprecated linters.errcheck.ignore 2024-06-19 16:54:40 +07:00
go.mod build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 2024-06-17 05:18:26 +00:00
go.sum build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 2024-06-17 05:18:26 +00:00
LICENSE Initial commit 2024-05-04 00:10:33 +07:00
main.go feat: Allow user to specify custom .env location 2024-06-18 04:23:08 +07:00
Makefile chore: Rename tools directory to deployment 2024-05-30 12:02:11 +07:00
README.md chore: Add release binary action badge 2024-06-11 14:53:15 +07:00
server.go Removing admin module and functions 2024-05-23 03:40:06 +07:00

XMR Remote Nodes

Lint BUild Release Binaries

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

⚠️ 🚧 This project is still freaking 0.x.x 🚧, If you want to use it on your server, please use it with caution.

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

To build the executable binaries, you need:

  • Go >= 1.22
  • NodeJS >= 20

Server & Prober requirements

  • 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. Pepare your MySQL/MariaDB.
  3. Copy .env.example to .env and edit it to match with server environment.
  4. Build the binary with make server (or make build to build both server and client binaries).
  5. 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 client (or make build to build both server and client binaries).
  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.

Similar Projects

License

This project is licensed under GLWTPL.