Skip to main content

Sovereign Gopher mesh node with Ed25519 identity and encrypted mesh networking

Project description

REFInet Pillar

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

Protocol v0.2.0 | 437 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://pillar.refinet.network: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/refinet/pillar
PyPI pip install refinet-pillar
Docker Hub docker pull refinet/pillar:latest
Gopherspace gopher://pillar.refinet.network: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/refinet/pillar.git
cd pillar
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)
├── integration/             # Cross-module integration
├── tests/                   # 437 tests across 29 modules
├── browser-extension/       # Chrome extension v0.4.0
├── gopherroot/              # Served Gopher content
├── deploy/                  # systemd service + install script
└── docs/                    # Wire formats, backup guide

Contributing

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

See SECURITY.md for vulnerability reporting.


License

AGPLv3 — See LICENSE for full text.

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.2.0.tar.gz (128.0 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.2.0-py3-none-any.whl (106.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: refinet_pillar-0.2.0.tar.gz
  • Upload date:
  • Size: 128.0 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.2.0.tar.gz
Algorithm Hash digest
SHA256 2548a6fe3092ba487684bd4eef03f471dc66316afe01ce705835364af0537103
MD5 beb1580af1c74b335861eef2d8f636c2
BLAKE2b-256 2884ca9fb6412c3927e8b3dec69366d3a40510b690079c33911e06b26a2092c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: refinet_pillar-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 106.3 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6cf8a2125e4e6dbf91b6ff28fd164f96b930d1203e05f69967cd7bbf1966f3fa
MD5 69ba6677e2d0ab9b3fbbcda96941f533
BLAKE2b-256 bbb909b21896162fce5d0403e4bd21a4b954f290db95a0c384daed69907ae8fc

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