Skip to main content

Sovereign Gopher mesh node with Ed25519 identity and encrypted mesh networking

Project description

REFInet Pillar

Tests Pillar Status

Sovereign Gopher mesh node. Your cryptographic identity. Your node. Your internet.

Protocol v0.3.0 | 484 tests passing | AGPLv3 License | Python 3.9+


Install in 30 Seconds

Method Command
pip pip3 install refinet-pillar[full] && refinet-pillar run
Docker docker-compose up -d
systemd sudo bash deploy/install.sh
Gopher curl gopher://gopher.refinet.io:7070/1/download
Source pip3 install -r requirements.txt && python3 pillar.py

What Is This?

REFInet Pillar turns any computer into a sovereign mesh node in Gopherspace. There is no central server. No accounts to create on someone else's platform. Your Pillar is your identity, your node, and your piece of the network.

Each Pillar is:

  • A Gopher server serving signed content on TCP port 7070 (+ optional port 70)
  • A cryptographic identity (Pillar ID / PID) built on Ed25519
  • A mesh participant discovering neighbors via UDP multicast and replicating registries
  • A local ledger tracking all transactions in SQLite (13-month live + yearly archive)
  • A browser bridge connecting wallets via SIWE (EIP-4361) and WebSocket
  • A gateway to 5 EVM chains via built-in RPC proxy
  • A Tor hidden service (optional) for anonymous .onion access

Architecture

+--------------------------------------------------+
|               REFInet Pillar Node                 |
+-----------+-----------+------------+--------------+
|  Gopher   |  SQLite   |   PID &    |  Mesh + SIWE |
|  Server   |  Ledger   |  Crypto    |  Discovery   |
| TCP:7070  | Live+Arc  | Ed25519    |  Multicast   |
+-----------+-----------+------------+--------------+
|       DApp Runtime + EVM RPC Gateway (5 chains)   |
+---------------------------------------------------+
|     Browser Extension v0.4.0 (WebSocket Bridge)   |
+---------------------------------------------------+
|  Encrypted Vault | ZKP Auth | Shamir Recovery     |
+---------------------------------------------------+
|  Transport: Wi-Fi Mesh / LAN / Internet / Tor     |
+---------------------------------------------------+

Ports: 7070 (REFInet) | 70 (Gopher) | 7073 (TLS) | 7074 (Proxy) | 7075 (WebSocket)

Download

Channel Location
GitHub github.com/circularityglobal/REFINET-PILLARS
PyPI pip install refinet-pillar
Docker Hub docker pull refinet/pillar:latest
Gopherspace gopher://gopher.refinet.io:7070/download

Docker Quick Start

docker run -d \
  -p 7070:7070 -p 70:70 -p 7075:7075 \
  -v ~/.refinet:/home/refinet/.refinet \
  refinet/pillar:latest

Or with docker-compose:

git clone https://github.com/circularityglobal/REFINET-PILLARS.git
cd REFINET-PILLARS
docker-compose up -d

Browser Extension

The REFInet Pillar Bridge (v0.4.0) connects your browser to your local Pillar:

  1. Open chrome://extensions and enable Developer Mode
  2. Click "Load unpacked" and select the browser-extension/ directory
  3. Click the REFInet icon and authenticate with your Ethereum wallet

Features: SIWE authentication, EIP-6963 multi-wallet support, window.refinet API for DApps.


CLI Reference

pillar.py run [--host HOST] [--port PORT] [--no-mesh] [--no-gopher] [-v]
pillar.py --status
pillar.py hole create|list|verify
pillar.py peer add|list|remove
pillar.py profile create|list|switch|info|delete
pillar.py recovery split|restore

Documentation


Project Structure

refinet-pillar/
├── pillar.py                # Entry point, async launcher, CLI
├── requirements.txt         # Python dependencies
├── pyproject.toml           # PyPI packaging
├── Dockerfile               # Container image
├── docker-compose.yml       # One-command deployment
├── core/                    # Gopher server, menu builder, config
├── crypto/                  # Ed25519 PID, signing, ZKP
├── db/                      # SQLite ledger (live + archive)
├── auth/                    # SIWE, sessions, encrypted vault
├── mesh/                    # Peer discovery, replication
├── rpc/                     # EVM JSON-RPC gateway (5 chains)
├── cli/                     # CLI subcommands
├── proxy/                   # Privacy proxy (SSRF-protected)
├── onboarding/             # First-run setup wizard & readiness checks
├── vault/                  # Encrypted storage backend
├── integration/             # Cross-module integration
├── scripts/                 # Deployment & release scripts
├── tests/                   # 484 tests across 33 modules
├── browser-extension/       # Chrome extension v0.4.0
├── gopherroot/              # Served Gopher content
├── website/                # Landing page & curl installer
├── deploy/                  # systemd service + install script
├── docs/                    # Wire formats, backup guide
└── fly.toml                 # Fly.io deployment config

Contributing

See CONTRIBUTING.md for the full guide. Quick version:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Run the test suite: python -m pytest tests/ -q
  4. Submit a pull request

See SECURITY.md for vulnerability reporting and CODE_OF_CONDUCT.md for community standards.


License

AGPLv3 — See LICENSE for full text.


Connect to the Mesh

Add the bootstrap node to ~/.refinet/peers.json:

[
  {
    "hostname": "gopher.refinet.io",
    "port": 7070,
    "pid": "REPLACE_WITH_64_CHAR_HEX_PID_FROM_KEYGEN",
    "public_key": "REPLACE_WITH_64_CHAR_HEX_PUBKEY_FROM_KEYGEN",
    "pillar_name": "REFInet Bootstrap Pillar"
  }
]

Run a Pillar. Join the mesh.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

refinet_pillar-0.3.0.tar.gz (144.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

refinet_pillar-0.3.0-py3-none-any.whl (117.2 kB view details)

Uploaded Python 3

File details

Details for the file refinet_pillar-0.3.0.tar.gz.

File metadata

  • Download URL: refinet_pillar-0.3.0.tar.gz
  • Upload date:
  • Size: 144.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for refinet_pillar-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1df325d78a71ffef1e9cbce7b341d0db6c5013d4f2821fc44cc79f43b3a79e5c
MD5 4c5220436f69c22b3201ee2d9bf5346e
BLAKE2b-256 98354804dae29fc6c88343b6f9765cad11f45378b4d2900854f76548f29f236a

See more details on using hashes here.

File details

Details for the file refinet_pillar-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: refinet_pillar-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 117.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for refinet_pillar-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e045d6641933b2c2b0e9784d542508a9215a001704ec128a6692cb08736596d3
MD5 b1bde87f7c28e52e953b36415fb20faf
BLAKE2b-256 3828753893026ecdcb62c63ab4021ff5e1acdfd4e8eba376abbaff2a955163ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page