Monero public node aggregator
Go to file
lza_menace 4dc78b3be8 add donate info 2024-01-04 11:29:02 -08:00
conf adjust tor config 2023-05-19 14:01:22 -07:00
xmrnodes add donate info 2024-01-04 11:29:02 -08:00
.dockerignore removing some things from docker context 2023-04-26 13:45:45 -07:00
.gitignore add mirror to monero infodump site 2023-04-03 21:04:27 -07:00
Dockerfile-i2p i2p integration (#26) 2023-04-26 13:39:17 -07:00
Dockerfile-tor i2p integration (#26) 2023-04-26 13:39:17 -07:00
LICENSE Initial commit 2020-10-09 22:10:51 -07:00
Makefile update docs, remove bin, fix ux on no data 2023-04-03 14:29:02 -07:00
README.md update deps 2023-10-02 10:32:11 -07:00
crontab update peer crawling to be recursive 2023-04-15 12:25:48 -07:00
docker-compose.yaml setup logging config 2023-05-02 10:31:53 -07:00
env-example update docs, remove bin, fix ux on no data 2023-04-03 14:29:02 -07:00
manage.sh add onion script and update mgmt script 2023-10-02 10:59:26 -07:00
migrate_schema.sh add simple schema migration script 2023-04-03 22:24:05 -07:00
onion.sh add onion script and update mgmt script 2023-10-02 10:59:26 -07:00
requirements.txt update deps 2023-10-02 10:32:11 -07:00
scrape.py split resources out 2023-04-04 00:00:37 -07:00

README.md

monero.fail

Monero node tracker.

Stores Monero (and Wownero) nodes for clearnet, Tor, and I2P.

Setup

Tools you will need:

  • Docker # apt-get install docker.io
  • docker-compose # apt-get install docker-compose
  • python3 (linux os will have this)
  • python3-venv # apt-get install python3-venv

Development

I have provided a Makefile with some helpful stuff...make sure to install make to use it.

The map portion of the service requires the GeoLite2 db...the make setup command fetches a copy via wget.

# install python virtual environment and install application dependencies
make setup

# default configs work out of the box, modify .env if needed
# setup .env
cp env-example .env
vim .env

# run services (tor, i2p, etc)
make up

# run development server
make dev

# access at http://127.0.0.1:5000

Background Tasks

There are 3 things that need to run in the background:

  • validating nodes that have been added
  • checking existing node health
  • scraping peer lists

I accomplish this via crontab and some management scripts. Ensure the i2p and tor containers are running (or just on the host) so that requests can be proxied.

docker-compose up -d
./manage.sh validate
./manage.sh check
./manage.sh get_peers

Production

For production, update SERVER_NAME in .env to your production URL/domain. Use manage.sh (or provided Makefile) to serve the Flask process using Gunicorn.

./manage.sh prod

Runs the Gunicorn process on port 4000. Setup a web server to proxy requests to that port.

Kill production Gunicorn with make kill.