mirror of
https://github.com/ditatompel/xmr-remote-nodes.git
synced 2024-12-22 19:49:25 +00:00
Source code of https://xmr.ditatompel.com, a website that helps you monitor your favourite Monero remote nodes.
f9f9c54db1
Bumps [prettier](https://github.com/prettier/prettier) from 3.2.5 to 3.3.0. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.2.5...3.3.0) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
.github | ||
cmd | ||
deployment | ||
frontend | ||
handler | ||
internal | ||
.air.toml | ||
.editorconfig | ||
.env.example | ||
.gitattributes | ||
.gitignore | ||
.golangci.yaml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
README.md | ||
server.go |
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
To build the executable binaries, you need:
- Go >= 1.22
- NodeJS >= 20
Server & Prober requirements
- Linux Machines (AMD64 or ARM64)
Server requirements
- MySQL/MariaDB
- GeoIP Database (optional). Place it to
./assets/geoip
, see ./internal/geo/ip.go.
Installation
For initial server setup:
- Download GeoIP Database and place it to
./assets/geoip
. (see ./internal/geo/ip.go). - Pepare your MySQL/MariaDB.
- Copy
.env.example
to.env
and edit it to match with server environment. - Build the binary with
make server
(ormake build
to build both server and client binaries). - 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:
- Create API key for prober
- Copy
.env.example
to.env
and edit it to match with prober environment. - Build the binary with
make client
(ormake build
to build both server and client binaries). - 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.