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.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:
- Open
chrome://extensionsand enable Developer Mode - Click "Load unpacked" and select the
browser-extension/directory - 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
- Getting Started — Full setup guide with all options
- Platform Overview — Architecture deep dive
- Developer Guide — Module reference and API docs
- Whitepaper — Protocol specification
- Deployment Guide — Bootstrap node infrastructure setup
- Security Policy — Vulnerability reporting
- Contributing — How to contribute
- Code of Conduct — Community standards
- Changelog — Release history
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:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Run the test suite:
python -m pytest tests/ -q - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1df325d78a71ffef1e9cbce7b341d0db6c5013d4f2821fc44cc79f43b3a79e5c
|
|
| MD5 |
4c5220436f69c22b3201ee2d9bf5346e
|
|
| BLAKE2b-256 |
98354804dae29fc6c88343b6f9765cad11f45378b4d2900854f76548f29f236a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e045d6641933b2c2b0e9784d542508a9215a001704ec128a6692cb08736596d3
|
|
| MD5 |
b1bde87f7c28e52e953b36415fb20faf
|
|
| BLAKE2b-256 |
3828753893026ecdcb62c63ab4021ff5e1acdfd4e8eba376abbaff2a955163ab
|