diff --git a/docs/intro.md b/docs/intro.md index f937f8d..7097941 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -14,7 +14,7 @@ We're not a typical Web3 project. We're not here to chase hype or speculation. W This guide will help you: 1. **🌾 Become a Farmer** - Deploy a node and earn rewards for contributing capacity -2. **🔗 Use Mycelium Network** - Connect your devices securely with our IPv6 overlay network +2. **🔗 Use Mycelium Network** - Easy app for secure device connectivity (iOS, Android, macOS, Windows) 3. **☁️ Deploy on Mycelium Cloud** - Run Kubernetes clusters on the decentralized ThreeFold Grid ## Why ThreeFold? diff --git a/docs/mycelium-cloud/getting-started.md b/docs/mycelium-cloud/getting-started.md index c31da39..3f4c492 100644 --- a/docs/mycelium-cloud/getting-started.md +++ b/docs/mycelium-cloud/getting-started.md @@ -10,11 +10,19 @@ Deploy your first Kubernetes cluster on the ThreeFold Grid in just a few steps. Before you begin, make sure you have: -- ✅ **Mycelium installed** - Required for cluster access ([Installation guide](/mycelium-network/install)) +- ✅ **Mycelium installed** - Easy app for iOS, Android, macOS, Windows ([Install guide](/mycelium-network/install)) - ✅ **SSH key pair** - For node access - ✅ **kubectl installed** - For managing your cluster ([Install kubectl](https://kubernetes.io/docs/tasks/tools/)) - ✅ **Credits** - To fund your deployment +
+ +### 💡 Installing Mycelium is Easy! + +Most users can install the Mycelium app from their App Store or download the desktop app - no command-line needed! + +
+ ## Step 1: Create Your Account ### Sign Up @@ -172,12 +180,16 @@ worker-2 Ready 9m v1.26.0+k3s1 If not already running, start Mycelium on your local machine: +**Using the App (Easy):** +1. Open the Mycelium app +2. Click **Start** +3. That's it! + +**Using Command-Line (Linux):** ```bash sudo mycelium --peers \ tcp://188.40.132.242:9651 \ - quic://185.69.166.8:9651 \ - tcp://185.69.166.7:9651 \ - quic://65.21.231.58:9651 + tcp://185.69.166.8:9651 ``` #### Get Node IPs diff --git a/docs/mycelium-network/install.md b/docs/mycelium-network/install.md index 0f6b1b7..a44b6ec 100644 --- a/docs/mycelium-network/install.md +++ b/docs/mycelium-network/install.md @@ -4,9 +4,64 @@ sidebar_position: 2 # Install Mycelium -Get Mycelium running on your system in just a few steps. +The Mycelium app is available for Android, Windows, macOS, and iOS. Installation is simple and user-friendly! -## Linux Installation +## Easy Installation (Recommended) + +### iOS & macOS + +Download the Mycelium app from the App Store: + +**[Download from App Store](https://apps.apple.com/app/id6504277565)** + +1. Open the App Store +2. Search for "Mycelium" or use the link above +3. Tap **Get** or **Install** +4. Open the app and you're ready to go! + +### Android + +Download the Mycelium app from Google Play: + +**[Download from Google Play](https://play.google.com/store/apps/details?id=tech.threefold.mycelium)** + +1. Open Google Play Store +2. Search for "Mycelium ThreeFold" or use the link above +3. Tap **Install** +4. Open the app and you're ready to go! + +### Windows + +Download the latest Windows app: + +**[Download for Windows](https://github.com/threefoldtech/myceliumflut/releases)** + +1. Go to the releases page +2. Download the latest `.exe` file +3. Double-click to install +4. **Important**: Run as administrator for proper network connectivity + +
+ +### 💡 Super Simple! + +The Mycelium app provides an easy graphical interface - no command-line needed. Just install, open, and start connecting! + +
+ +## What You Get + +With the Mycelium app, you get: + +- ✅ **Easy interface** - One-click to start/stop +- ✅ **Automatic setup** - No configuration needed +- ✅ **Peer management** - Add peers with a click +- ✅ **Your Mycelium address** - Copy with one tap +- ✅ **Status monitoring** - See connection status + +## Linux Installation (Advanced) + +For Linux users, Mycelium is installed via command-line. ### Using Pre-built Binaries (Recommended) @@ -44,81 +99,7 @@ cargo build --release sudo mv target/release/myceliumd /usr/local/bin/mycelium ``` -## macOS Installation - -### Using Pre-built Binaries - -1. **Download the latest release:** - ```bash - wget https://github.com/threefoldtech/mycelium/releases/latest/download/mycelium-macos-x64.tar.gz - ``` - -2. **Extract and install:** - ```bash - tar -xzf mycelium-macos-x64.tar.gz - chmod +x mycelium - sudo mv mycelium /usr/local/bin/ - ``` - -3. **Verify installation:** - ```bash - mycelium --version - ``` - -### Using Homebrew (if available) - -```bash -brew install threefoldtech/mycelium/mycelium -``` - -## Windows Installation - -### Using the Installer - -1. **Download the installer:** - - Go to [releases page](https://github.com/threefoldtech/mycelium/releases) - - Download `mycelium_installer.msi` - -2. **Run the installer:** - - Double-click the downloaded `.msi` file - - Follow the installation wizard - -3. **Verify installation:** - Open Command Prompt and run: - ```cmd - mycelium --version - ``` - -### Manual Installation - -1. Download `mycelium-windows-x64.zip` from the releases page -2. Extract to a folder (e.g., `C:\Program Files\Mycelium\`) -3. Add the folder to your PATH environment variable -4. Open a new Command Prompt and verify with `mycelium --version` - -## Mobile Installation - -### iOS - -Mycelium runs as a mobile app on iOS devices: - -- Available through the project's mobile directory -- Requires developer tools for installation -- Operates in TUN-only mode for overlay networking - -**Note:** iOS version may have limitations compared to desktop versions due to platform restrictions. - -### Android - -Mycelium has full support on Android: - -- Build from source using the mobile directory -- Full TUN interface support -- Complete overlay networking functionality - -Check the [GitHub repository](https://github.com/threefoldtech/mycelium) for the latest mobile installation instructions. - -## Docker Installation +## Docker Installation (Advanced) Run Mycelium in a container: @@ -132,69 +113,54 @@ docker run -d \ --peers tcp://188.40.132.242:9651 ``` -## Verify Installation - -After installing, verify Mycelium is working: - -```bash -mycelium --help -``` - -You should see the help output with available commands and options. - ## System Requirements -### Minimum Requirements +### For Apps (iOS, Android, macOS, Windows) -- **OS**: Linux, macOS, Windows (64-bit) +- **OS**: iOS 14+, Android 8+, macOS 11+, Windows 10+ +- **RAM**: Minimal (runs in background) +- **Disk**: ~50MB +- **Network**: Standard internet connection + +### For Linux Command-Line + +- **OS**: Any modern Linux distribution - **RAM**: 50MB - **Disk**: 20MB - **Network**: IPv6 support (enabled by default on most systems) -### Network Requirements - -- Internet connection -- IPv6 capable network stack (standard on modern systems) -- No special firewall configuration needed (works with NAT) - ## Troubleshooting -### "Command not found" Error +### App Not Starting (Windows) -If you get a "command not found" error: +**Windows users**: The app must run as administrator for network connectivity. +- Right-click the app icon +- Select "Run as administrator" -**Linux/macOS:** +### App Not Connecting + +1. **Check internet connection** - Ensure you're online +2. **Restart the app** - Close and reopen +3. **Add public peers** - Use the app's peer management (see Quick Start) +4. **Check firewall** - Ensure the app isn't blocked + +### Linux Command-Line Issues + +**"Command not found" Error:** - Ensure `/usr/local/bin` is in your PATH - Try running with full path: `/usr/local/bin/mycelium` - Check file permissions: `ls -l /usr/local/bin/mycelium` -**Windows:** -- Verify the installation directory is in your PATH -- Open a new Command Prompt after installation -- Try full path: `"C:\Program Files\Mycelium\mycelium.exe"` - -### Permission Denied - -If you get permission errors when running: - -**Linux/macOS:** +**Permission Denied:** ```bash # Make the binary executable chmod +x /usr/local/bin/mycelium -# Run with sudo if needed for network operations +# Run with sudo for network operations sudo mycelium --peers tcp://188.40.132.242:9651 ``` -**Windows:** -- Run Command Prompt as Administrator -- Check Windows Firewall settings - -### IPv6 Not Available - -Mycelium requires IPv6. If you get IPv6 errors: - -**Linux:** +**IPv6 Not Available:** ```bash # Check if IPv6 is enabled cat /proc/sys/net/ipv6/conf/all/disable_ipv6 @@ -203,12 +169,6 @@ cat /proc/sys/net/ipv6/conf/all/disable_ipv6 sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 ``` -**macOS:** -IPv6 is enabled by default. Check System Preferences > Network. - -**Windows:** -IPv6 is enabled by default. Check Network Adapter properties. - ## What's Next? Now that Mycelium is installed, let's connect to the network: diff --git a/docs/mycelium-network/overview.md b/docs/mycelium-network/overview.md index bdf1dc1..8406c0d 100644 --- a/docs/mycelium-network/overview.md +++ b/docs/mycelium-network/overview.md @@ -43,14 +43,14 @@ Connect devices across the world as if they were on the same local network: - **Resilient** - Routes around failures - **Low overhead** - Minimal performance impact -### 📱 Cross-Platform +### 📱 Cross-Platform & Easy to Use -Works everywhere: -- Linux (all distributions) -- macOS -- Windows -- iOS -- Android +Easy-to-use apps for most platforms: +- **iOS** - App Store +- **Android** - Google Play +- **macOS** - App Store +- **Windows** - Desktop app +- **Linux** - Command-line (for advanced users) ## Common Use Cases @@ -138,16 +138,20 @@ Connect to services on the ThreeFold Grid: ## Getting Started -Ready to try Mycelium? Here's your path: +Ready to try Mycelium? It's super easy: -1. **[Install Mycelium](/mycelium-network/install)** - Set up on your system -2. **[Quick Start](/mycelium-network/quick-start)** - Connect to the network +1. **[Install Mycelium](/mycelium-network/install)** - Download the app for your device +2. **[Quick Start](/mycelium-network/quick-start)** - Connect in under 5 minutes
-### 💡 5-Minute Setup +### 💡 Super Simple! -Most users are connected to the global Mycelium network within 5 minutes of starting installation. +**iPhone/Android users**: Just download from App Store or Google Play, open the app, and tap Start! + +**Windows/Mac users**: Download the app, install, and click Start! + +**Linux users**: Command-line installation available.
diff --git a/docs/mycelium-network/quick-start.md b/docs/mycelium-network/quick-start.md index 73809a6..0d8f052 100644 --- a/docs/mycelium-network/quick-start.md +++ b/docs/mycelium-network/quick-start.md @@ -4,35 +4,75 @@ sidebar_position: 3 # Quick Start -Get connected to the Mycelium network in under 5 minutes. +Get connected to the Mycelium network in under 5 minutes! -## Step 1: Connect to Public Peers +## Using the Mycelium App (Easy) -Start your Mycelium node and connect to the global network: +If you're on iOS, Android, macOS, or Windows - use the app for the easiest experience. + +### Step 1: Open the App + +1. Open the Mycelium app you installed +2. You'll see a simple interface with a **Start** button + +### Step 2: Start Mycelium + +1. Click the **Start** button +2. The app will automatically connect to the network +3. That's it! You're now on the Mycelium network + +
+ +### 💡 That's It! + +The app handles everything automatically. No configuration needed! + +
+ +### Step 3: Get Your Mycelium Address + +Your unique Mycelium IPv6 address is shown in the app: + +1. Look for your address in the main screen +2. Click the **copy button** next to it to copy your address +3. Share this address with others to let them connect to you + +### Step 4: Add More Peers (Optional) + +For better connectivity, you can add public peers: + +1. Click on the **Peers** section in the app +2. Add peer addresses (see list below) +3. Click **Restart** to connect to the new peers + +**Example peers to add:** +``` +tcp://188.40.132.242:9651 +tcp://185.69.166.8:9651 +tcp://65.21.231.58:9651 +``` + +### Step 5: Test Your Connection + +Try connecting to another Mycelium address to verify everything works! + +--- + +## Using Command-Line (Linux & Advanced Users) + +For Linux users or those who prefer the command-line: + +### Step 1: Start Mycelium -**Linux/macOS:** ```bash sudo mycelium --peers tcp://188.40.132.242:9651 quic://185.69.166.8:9651 ``` -**Windows (as Administrator):** -```cmd -mycelium --peers tcp://188.40.132.242:9651 quic://185.69.166.8:9651 -``` - You should see output indicating Mycelium is starting and connecting to peers. -
+### Step 2: Get Your IPv6 Address -### 🔐 Why sudo/Administrator? - -Mycelium needs elevated privileges to create a network interface. This is standard for networking tools. - -
- -## Step 2: Get Your IPv6 Address - -Open a **new terminal** (keep Mycelium running in the first one) and check your node info: +Open a **new terminal** and check your node info: ```bash mycelium inspect --json @@ -46,9 +86,9 @@ You'll see output like: } ``` -**Save your address** - this is your unique Mycelium IPv6 address that others will use to reach you. +**Save your address** - this is your unique Mycelium IPv6 address. -## Step 3: Test Connectivity +### Step 3: Test Connectivity Ping one of the public peers to verify connectivity: @@ -56,58 +96,17 @@ Ping one of the public peers to verify connectivity: ping6 54b:83ab:6cb5:7b38:44ae:cd14:53f3:a907 ``` -If you see responses, congratulations! You're connected to the Mycelium network. +If you see responses, you're connected! -``` -PING 54b:83ab:6cb5:7b38:44ae:cd14:53f3:a907(54b:83ab:6cb5:7b38:44ae:cd14:53f3:a907) 56 data bytes -64 bytes from 54b:83ab:6cb5:7b38:44ae:cd14:53f3:a907: icmp_seq=1 ttl=64 time=28.5 ms -64 bytes from 54b:83ab:6cb5:7b38:44ae:cd14:53f3:a907: icmp_seq=2 ttl=64 time=27.8 ms -``` +### Step 4: Keep It Running (Linux) -## Public Peers List - -Connect to these stable public peers for reliable connectivity: - -| Region | IPv4 | IPv6 | TCP/QUIC Port | Mycelium IP | -|--------|------|------|---------------|-------------| -| Germany | 188.40.132.242 | 2a01:4f8:221:1e0b::2 | 9651 | 54b:83ab:6cb5:7b38:44ae:cd14:53f3:a907 | -| Germany | 136.243.47.186 | 2a01:4f8:212:fa6::2 | 9651 | 40a:152c:b85b:9646:5b71:d03a:eb27:2462 | -| Belgium | 185.69.166.7 | 2a02:1802:5e:0:ec4:7aff:fe51:e80d | 9651 | 597:a4ef:806:b09:6650:cbbf:1b68:cc94 | -| Belgium | 185.69.166.8 | 2a02:1802:5e:0:ec4:7aff:fe51:e36b | 9651 | 549:8bce:fa45:e001:cbf8:f2e2:2da6:a67c | -| Finland | 65.21.231.58 | 2a01:4f9:6a:1dc5::2 | 9651 | 410:2778:53bf:6f41:af28:1b60:d7c0:707a | -| Finland | 65.109.18.113 | 2a01:4f9:5a:1042::2 | 9651 | 488:74ac:8a31:277b:9683:c8e:e14f:79a7 | -| US East | 209.159.146.190 | 2604:a00:50:17b:9e6b:ff:fe1f:e054 | 9651 | 4ab:a385:5a4e:ef8f:92e0:1605:7cb6:24b2 | -| US West | 5.78.122.16 | 2a01:4ff:1f0:8859::1 | 9651 | 4de:b695:3859:8234:d04c:5de6:8097:c27c | -| Singapore | 5.223.43.251 | 2a01:4ff:2f0:3621::1 | 9651 | 5eb:c711:f9ab:eb24:ff26:e392:a115:1c0e | -| India | 142.93.217.194 | 2400:6180:100:d0::841:2001 | 9651 | 445:465:fe81:1e2b:5420:a029:6b0:9f61 | - -## Connect to Multiple Peers - -For better reliability and performance, connect to multiple peers: - -```bash -sudo mycelium --peers \ - tcp://188.40.132.242:9651 \ - quic://185.69.166.8:9651 \ - tcp://185.69.166.7:9651 \ - quic://65.21.231.58:9651 -``` - -This creates redundant paths and improves network resilience. - -## Keep Mycelium Running - -Mycelium needs to stay running to maintain your network connection. - -### Run in Background - -**Linux/macOS:** +**Run in Background:** ```bash # Using nohup nohup sudo mycelium --peers tcp://188.40.132.242:9651 quic://185.69.166.8:9651 & ``` -**Better: Use systemd (Linux):** +**Better: Use systemd:** Create `/etc/systemd/system/mycelium.service`: ```ini @@ -132,11 +131,38 @@ sudo systemctl start mycelium sudo systemctl status mycelium ``` -**Windows:** -- Use Task Scheduler to run at startup -- Or run in a Command Prompt window kept open +--- -## Basic Usage Examples +## Public Peers List + +Here are stable public peers you can connect to: + +| Region | Address for App | Mycelium IP | +|--------|-----------------|-------------| +| Germany | tcp://188.40.132.242:9651 | 54b:83ab:6cb5:7b38:44ae:cd14:53f3:a907 | +| Germany | tcp://136.243.47.186:9651 | 40a:152c:b85b:9646:5b71:d03a:eb27:2462 | +| Belgium | tcp://185.69.166.7:9651 | 597:a4ef:806:b09:6650:cbbf:1b68:cc94 | +| Belgium | tcp://185.69.166.8:9651 | 549:8bce:fa45:e001:cbf8:f2e2:2da6:a67c | +| Finland | tcp://65.21.231.58:9651 | 410:2778:53bf:6f41:af28:1b60:d7c0:707a | +| Finland | tcp://65.109.18.113:9651 | 488:74ac:8a31:277b:9683:c8e:e14f:79a7 | +| US East | tcp://209.159.146.190:9651 | 4ab:a385:5a4e:ef8f:92e0:1605:7cb6:24b2 | +| US West | tcp://5.78.122.16:9651 | 4de:b695:3859:8234:d04c:5de6:8097:c27c | +| Singapore | tcp://5.223.43.251:9651 | 5eb:c711:f9ab:eb24:ff26:e392:a115:1c0e | +| India | tcp://142.93.217.194:9651 | 445:465:fe81:1e2b:5420:a029:6b0:9f61 | + +**Using the App?** Just copy these addresses and paste them in the Peers section! + +**Using Command-Line?** Add multiple peers for better reliability: + +```bash +sudo mycelium --peers \ + tcp://188.40.132.242:9651 \ + tcp://185.69.166.8:9651 \ + tcp://185.69.166.7:9651 \ + tcp://65.21.231.58:9651 +``` + +## What You Can Do Now ### SSH to Another Device @@ -154,34 +180,44 @@ curl http://[5c4:c176:bf44:b2ab:5e7e:f6a:b7e2:11ca]:8080 Note: IPv6 addresses must be in brackets for URLs. -### Connect Two Locations +### Connect Multiple Devices -Run Mycelium on devices at both locations: +Run Mycelium on devices at different locations: - They'll automatically find each other through the mesh - Use their Mycelium IPs to communicate - All traffic is encrypted end-to-end +### Access ThreeFold Grid + +Deploy workloads on the ThreeFold Grid and connect to them using your Mycelium connection. Check the [ThreeFold Dashboard](https://dashboard.grid.tf) to deploy with Mycelium enabled. + ## Troubleshooting -### Can't Connect to Peers +### App Not Connecting +**Using the app:** +1. **Restart the app** - Close and reopen +2. **Check internet** - Verify you're online +3. **Add more peers** - Use the Peers section to add public peers +4. **Check firewall** - Ensure the app isn't blocked +5. **Windows: Run as administrator** + +### Command-Line Issues + +**Can't Connect to Peers:** 1. **Check internet connection** - Verify you're online -2. **Firewall issues** - Mycelium should work behind NAT, but try temporarily disabling firewall -3. **IPv6 support** - Ensure IPv6 is enabled on your system -4. **Try different peers** - Some may be temporarily down - -### Can't Ping Other Nodes +2. **Try different peers** - Some may be temporarily down +3. **Firewall issues** - Mycelium should work behind NAT, but check firewall settings +4. **IPv6 support** - Ensure IPv6 is enabled +**Can't Ping Other Nodes:** 1. **Wait a few minutes** - Network discovery takes time -2. **Check peer connections** - Ensure you're connected to peers -3. **Verify the address** - Make sure you're pinging a valid Mycelium address -4. **Check logs** - Look for errors in the Mycelium output +2. **Verify the address** - Make sure you're pinging a valid Mycelium address +3. **Check peer connections** - Ensure you're connected to peers -### Permission Errors - -- **Linux/macOS**: Must run with `sudo` -- **Windows**: Must run Command Prompt as Administrator -- This is required to create the network interface +**Permission Errors (Linux):** +- Must run with `sudo` to create network interface +- Check executable permissions: `chmod +x /usr/local/bin/mycelium` ## What's Next?