Installation¶
This guide will help you install FuryMesh on your system.
Prerequisites¶
Before installing FuryMesh, ensure you have the following prerequisites:
- Go 1.20 or later
- Git
- A C compiler (for some dependencies)
Installing from Source¶
Clone the Repository¶
Build the Application¶
Install the Application (Optional)¶
To make FuryMesh available system-wide:
# On Linux/macOS
sudo cp furymesh /usr/local/bin/
# On Windows (run as Administrator)
copy furymesh.exe C:\Windows\System32\
Run Tests¶
To ensure everything is working correctly, run the tests:
Using Pre-built Binaries¶
You can download pre-built binaries for your platform from the releases page.
Linux¶
# Download the latest release
curl -L https://github.com/TFMV/furymesh/releases/latest/download/furymesh-linux-amd64.tar.gz -o furymesh.tar.gz
# Extract the archive
tar -xzf furymesh.tar.gz
# Make the binary executable
chmod +x furymesh
# Move to a directory in your PATH (optional)
sudo mv furymesh /usr/local/bin/
macOS¶
# Download the latest release
curl -L https://github.com/TFMV/furymesh/releases/latest/download/furymesh-darwin-amd64.tar.gz -o furymesh.tar.gz
# Extract the archive
tar -xzf furymesh.tar.gz
# Make the binary executable
chmod +x furymesh
# Move to a directory in your PATH (optional)
sudo mv furymesh /usr/local/bin/
Windows¶
- Download the latest release from the releases page
- Extract the ZIP file
- Run
furymesh.exe
from the command prompt or PowerShell
Docker Installation¶
FuryMesh can also be run in a Docker container:
# Pull the Docker image
docker pull tfmv/furymesh:latest
# Run the container
docker run -p 8080:8080 -p 3478:3478/udp -v /path/to/data:/data tfmv/furymesh
Platform-Specific Instructions¶
Linux¶
On Linux, you may need to install additional dependencies:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y build-essential libssl-dev
# CentOS/RHEL
sudo yum install -y gcc openssl-devel
macOS¶
On macOS, you can use Homebrew to install the required dependencies:
Windows¶
On Windows, you'll need:
Verifying Installation¶
To verify that FuryMesh is installed correctly, run:
You should see output indicating the version of FuryMesh.
Basic Usage¶
Once installed, you can start a FuryMesh node:
# Start a node with default settings
furymesh start
# Start a node with custom settings
furymesh start --port 8080 --data-dir ./data
Troubleshooting¶
Common Issues¶
Build Errors¶
If you encounter build errors related to CGO, try setting:
WebRTC Issues¶
If you have issues with WebRTC connections:
- Ensure your firewall allows UDP traffic on the required ports
- Check that your STUN/TURN server configuration is correct
Permission Issues¶
On Linux, if you encounter permission issues when binding to ports:
# Run with elevated privileges for ports < 1024
sudo furymesh start --port 80
# Or configure to use higher ports in the configuration file
furymesh start --port 8080
Getting Help¶
If you encounter any issues not covered here, please:
- Check the GitHub Issues for similar problems
- Join our Discord community for real-time help (not yet setup)
- Open a new issue with detailed information about your problem
Next Steps¶
Now that you have FuryMesh installed, proceed to the Quick Start guide to learn how to use it.