3 unstable releases
| 0.2.0 | Dec 2, 2025 |
|---|---|
| 0.1.1 | Nov 26, 2025 |
| 0.1.0 | Nov 25, 2025 |
#1521 in Network programming
205KB
5K
SLoC
TriForge Production Deployment Guide
Version: 0.1.0
Onion Service: hyrule4e3tu7pfdkvvca43senvgvgisi6einpe3d3kpidlk3uyjf7lqd.onion
Overview
TriForge is production-ready with full Tor integration for anonymous, secure version control over the Hyrule network.
Features
✅ Privacy-First Design
- All traffic routed through Tor by default
- Onion service for maximum anonymity
- No IP address exposure
- No centralized tracking
✅ Production Ready
- Robust error handling
- Connection retries
- Timeout management
- Clear status indicators
✅ Full Git Compatibility
- Native Git repository support
- Complete version control workflow
- Seamless push/pull operations
Prerequisites
Required Software
-
Tor
# Ubuntu/Debian sudo apt install tor # macOS brew install tor # Arch Linux sudo pacman -S tor -
Rust & Cargo (1.70+)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
System Requirements
- OS: Linux, macOS, Windows (with WSL)
- RAM: 512MB minimum
- Disk: 100MB for binary + repository storage
- Network: Tor network access (port 9050)
Installation
1. Build from Source
# Clone repository
git clone https://github.com/yourusername/TriForge
cd TriForge
# Build production binary
cargo build --release
# Install globally (optional)
sudo cp target/release/triforge /usr/local/bin/
2. Start Tor
# Enable and start Tor service
sudo systemctl enable tor
sudo systemctl start tor
# Verify Tor is running
systemctl status tor
3. Run Startup Check
# Make executable
chmod +x startup-check.sh
# Run comprehensive checks
./startup-check.sh
Expected output:
✓ Tor is installed
✓ Tor service is running
✓ Tor SOCKS proxy is listening on port 9050
✓ Tor circuits are working
✓ Hyrule onion service is reachable
Configuration
Default Configuration
TriForge ships with production-ready defaults:
# ~/.config/triforge/config.toml
hyrule_server = "http://hyrule4e3tu7pfdkvvca43senvgvgisi6einpe3d3kpidlk3uyjf7lqd.onion"
use_tor = true
tor_proxy = "socks5://127.0.0.1:9050"
verify_ssl = false
default_private = false
View Configuration
triforge config show
Modify Configuration
# Change Tor proxy port
triforge config set proxy socks5://127.0.0.1:9150
# Disable Tor (not recommended for production)
triforge config set tor false
# Use clearnet endpoint (not recommended)
triforge config set server http://example.com:3000
Usage
1. Create Account
triforge signup
- Creates account on Hyrule network
- All registration traffic via Tor
- No personal information required
- Anonymous by default
2. Initialize Repository
# Create new repository
mkdir my-project
cd my-project
triforge init
# Add files
echo "# My Project" > README.md
triforge add README.md
# Commit
triforge commit -m "Initial commit"
3. Push to Hyrule Network
triforge push
- Uploads repository via Tor
- Content-addressed storage
- Distributed across anchor nodes
- Returns repository hash for cloning
4. Clone Repository
triforge clone <repo-hash> my-clone
5. Discovery Features
# Search repositories
triforge search rust
# View trending repos
triforge trending
# Network statistics
triforge stats
# List storage nodes
triforge nodes
Security Best Practices
1. Tor Configuration
Verify Tor is working:
# Check your Tor exit IP
torsocks curl https://ifconfig.me
# Should show Tor exit node, not your real IP
Configure Tor for better performance:
# Edit /etc/tor/torrc
sudo nano /etc/tor/torrc
# Add these lines:
SocksPort 9050
ControlPort 9051
CookieAuthentication 1
2. Operational Security
- Never disable Tor in production
- Always verify onion service certificates
- Use VPN + Tor for additional layers (optional)
- Keep Tor updated:
sudo apt update && sudo apt upgrade tor - Monitor Tor logs:
journalctl -u tor -f
3. Repository Security
# Make repositories private by default
triforge config set private true
# Use strong authentication
# Passwords should be 12+ characters
4. Data Privacy
- TriForge does not collect telemetry
- No analytics or tracking
- All metadata stays local
- Server only knows: username, repository hashes
Troubleshooting
Tor Connection Issues
Problem: "Tor is enabled but not reachable"
# Check Tor status
systemctl status tor
# Restart Tor
sudo systemctl restart tor
# Check SOCKS proxy
nc -z 127.0.0.1 9050
# View Tor logs
journalctl -u tor -n 50
Problem: "Cannot reach Hyrule onion service"
# Test Tor connectivity
torsocks curl https://check.torproject.org/
# Wait for circuit establishment (can take 30-60 seconds)
# Run startup check
./startup-check.sh
Network Timeouts
# Onion services can be slow, especially on first connect
# Default timeouts:
# - Connect: 30 seconds
# - Request: 60 seconds
# If timeouts persist:
# 1. Check Tor logs for circuit issues
# 2. Try different Tor circuit: sudo systemctl restart tor
# 3. Check onion service status
Authentication Errors
# Clear authentication
triforge logout
# Re-login
triforge login
# Verify config
triforge config show
Performance
Expected Latencies
- Login/Signup: 5-15 seconds
- Push (100 objects): 20-60 seconds
- Clone (1000 objects): 1-5 minutes
- Search/Browse: 3-10 seconds
Optimization Tips
-
Batch Operations
- Commit multiple files at once
- Reduces network round-trips
-
Tor Circuit Warmup
- First connection is slowest
- Subsequent requests use cached circuit
-
Compression
- Enabled by default
- Reduces bandwidth by 60-80%
Monitoring
Health Checks
# Network status
triforge stats
# Node availability
triforge nodes
# Your repositories
triforge list
Logs
# Tor logs
journalctl -u tor -f
# TriForge verbose mode
RUST_LOG=debug triforge push
Production Checklist
- Tor installed and running
- Startup check passes all tests
- Configuration verified (
triforge config show) - Account created (
triforge signup) - Test repository pushed successfully
- Clone test successful
- Tor circuits stable (check logs)
Support
Documentation
- Full CLI reference:
triforge --help - Command help:
triforge <command> --help
Common Commands
# Quick reference
triforge init # Initialize repository
triforge add <files> # Stage files
triforge commit -m "msg" # Commit changes
triforge push # Upload to network
triforge clone <hash> # Download repository
triforge config show # View configuration
triforge stats # Network statistics
triforge list # Your repositories
Architecture
Network Flow
User -> TriForge -> Tor SOCKS Proxy (9050) -> Tor Network -> Onion Service
Data Path
- Local:
.gitdirectory with native Git objects - Staging: In-memory before upload
- Transport: Compressed, encrypted over Tor
- Storage: Content-addressed, replicated storage
- Retrieval: Direct from anchor nodes
Security Layers
- Application: TriForge client
- Transport: Tor (3 hop onion routing)
- Service: Hidden service (no IP exposure)
- Storage: Encrypted at rest
- Access: Authenticated API
License
See LICENSE file for details.
Version History
- 0.1.0 (Current)
- Initial production release
- Full Tor integration
- Onion service support
- Complete Git workflow
Ready for Production: Yes
Tor Required: Yes
Anonymous by Default: Yes
Clearnet Support: Available but not recommended
Dependencies
~22–39MB
~602K SLoC