Skip to content

Vyx-Network/Vyx-Client

Repository files navigation

Vyx Desktop Client

Desktop client for the Vyx bandwidth sharing network. Share your unused bandwidth and earn credits.

Features

  • 🌐 Cross-platform support - Windows, macOS, and Linux
  • πŸ”’ Secure QUIC protocol - Fast and encrypted connections
  • 🎯 System tray integration - Easy access and control
  • πŸ”„ Automatic reconnection - Reliable bandwidth sharing
  • 🌍 Smart server selection - Automatically connects to optimal server
  • πŸš€ Easy authentication - Simple browser-based login
  • βš™οΈ Auto-start on boot - Configurable via tray menu

Installation

Download Pre-built Binary

Download the latest release from the Releases page.

Build from Source

Prerequisites:

  • Go 1.25 or higher

Build commands:

# Clone the repository
git clone https://github.com/Vyx-Network/Vyx-Client.git
cd vyx-client

# Build console version (with terminal output)
go build -o vyx-client

# Build GUI version (Windows - no console window)
go build -ldflags="-H windowsgui" -o vyx-client.exe

# Build for different platforms
GOOS=linux GOARCH=amd64 go build -o vyx-client-linux
GOOS=darwin GOARCH=amd64 go build -o vyx-client-macos
GOOS=windows GOARCH=amd64 go build -o vyx-client.exe

Quick build scripts:

  • Windows: build-console.bat or build-gui.bat
  • Linux/macOS: chmod +x build.sh && ./build.sh

Usage

  1. Launch the client

    • Windows: Double-click vyx-client.exe
    • macOS/Linux: Run ./vyx-client
  2. First time setup

    • The browser will automatically open for authentication
    • Login or create an account
    • Return to the desktop app
  3. Start sharing

    • Click the Vyx icon in your system tray
    • Click "Start Sharing" to begin earning
    • Monitor your status and connections in real-time
  4. Control sharing

    • Stop Sharing - Pause bandwidth sharing
    • Dashboard - View earnings and statistics
    • Run at Startup - Toggle auto-start on boot
    • Logout - Sign out and stop sharing

System Tray Menu

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Vyx - Proxy Node Client         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Status: Connected               β”‚
β”‚ Uptime: 2h 34m 12s             β”‚
β”‚ Active Connections: 5          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Start Sharing                  β”‚ (or Stop Sharing when active)
β”‚ Dashboard                      β”‚
β”‚ Logout                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β˜‘ Run at Startup               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Quit                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Configuration

Configuration is automatically stored in:

  • Windows: %APPDATA%\Vyx\config.json
  • macOS: ~/Library/Application Support/Vyx/config.json
  • Linux: ~/.config/vyx/config.json

Configuration File Structure

{
  "server_url": "api.vyx.network:8443",
  "user_id": "your-user-id",
  "email": "your@email.com",
  "verbose_logging": false,
  "auto_start": true
}

Note: API tokens are stored securely in your system's credential manager (not in the config file).

Logging

Logs are automatically saved to:

  • Windows: %APPDATA%\Vyx\logs\vyx-YYYY-MM-DD.log
  • macOS: ~/Library/Logs/Vyx/vyx-YYYY-MM-DD.log
  • Linux: ~/.vyx/logs/vyx-YYYY-MM-DD.log

Troubleshooting

Connection Issues

If you're experiencing connection problems:

  1. Check your internet connection
  2. Verify firewall isn't blocking the app
  3. Try the "Stop Sharing" β†’ "Start Sharing" cycle
  4. Check logs for error messages

Authentication Problems

If authentication fails:

  1. Click "Logout" in the tray menu
  2. Click "Login" to re-authenticate
  3. Ensure cookies are enabled in your browser
  4. Try a different browser if issues persist

Performance Issues

  • Disable verbose logging for better performance
  • Check system resources (CPU/Memory)
  • Ensure no other proxy/VPN software conflicts

Development

Project Structure

vyx-client/
β”œβ”€β”€ assets/          # Icons and resources
β”œβ”€β”€ auth/            # Authentication logic
β”œβ”€β”€ config/          # Configuration management
β”œβ”€β”€ conn/            # Connection and QUIC protocol
β”œβ”€β”€ logger/          # Logging utilities
β”œβ”€β”€ platform/        # Platform-specific code (autostart)
β”œβ”€β”€ ui/              # System tray UI
β”œβ”€β”€ main.go          # Entry point
└── go.mod           # Go dependencies

Dependencies

  • quic-go - QUIC protocol implementation
  • systray - System tray integration
  • keyring - Secure credential storage

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

Security

  • Credentials are stored in your system's secure credential manager (Windows Credential Manager, macOS Keychain, Linux Secret Service)
  • All connections use encrypted QUIC protocol
  • API tokens are never logged or exposed
  • See SECURITY.md for reporting vulnerabilities

License

MIT License - see LICENSE file for details

Links

Changelog

See CHANGELOG.md for version history and release notes.


Made with ❀️ by the Vyx Team

About

Desktop client for the Vyx bandwidth sharing network.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors