Skip to main content

A lightweight network connectivity solution based on secure HTTPS connections

Project description

SimpleLinks - Secure Network Connectivity

A lightweight network connectivity solution that creates encrypted connections between devices through a central server based on secure HTTPS.

Features

  • Secure encrypted communication with SSL/TLS protection
  • Virtual network interface management
  • Client-server architecture with group-based connectivity
  • Cross-platform support (Linux/macOS)

Requirements

  • Python 3.7+
  • Network connectivity libraries
  • Administrative privileges (for network interface management)

Installation

pip3 install simplelinks

Usage

Server

  1. Place your SSL certificate files in ~/.simplelinks/certs/:

    • ~/.simplelinks/certs/fullchain.pem (certificate)
    • ~/.simplelinks/certs/privkey.pem (private key)
  2. Run the server:

slink-server start --secret your_secret

Custom certificate paths:

slink-server start --secret your_secret --ssl-cert /path/to/cert.pem --ssl-key /path/to/key.pem

Without SSL (development only):

# Server will run without SSL if certificates are not found
slink-server start --secret your_secret

Client

Linux Client

Connect a Linux client to the server:

slink-client join your-server.com --secret mysecret

macOS Client

Full Functionality (Recommended): Install network driver first, then use the standard client:

# Install network driver
brew install --cask tuntap
# Reboot required after installation

# Use standard client
slink-client join your-server.com --secret mysecret

Testing Only (Limited functionality):

python3 client/client_macos_minimal.py --host your-server.com:20001 -s mysecret -i 10.0.0.104

📖 See MACOS_SETUP.md for detailed setup instructions

Parameters:

  • --host: Server address
  • -s, --secret: Shared secret for group authentication
  • -i, --ip: Virtual IP address for this client
  • -d, --debug: Enable debug logging (optional)

Platform Differences

Linux

  • Uses standard network interface devices
  • Configures interface with system network tools
  • Standard interface without additional headers

macOS

  • Uses system userspace network interfaces
  • Configures interface with system network commands
  • Includes protocol header in data packets
  • Automatically assigns interface identifiers

Architecture

  • Server: Manages secure connections and routes traffic between clients in the same group
  • Client: Creates network interface and forwards traffic through encrypted connection
  • Groups: Clients with the same secret form a group and can communicate with each other

Security Notes

  • Development mode may skip certificate verification for testing
  • Production deployment should enable full certificate validation
  • Requires administrative privileges for network interface management

License

SimpleLinks is dual-licensed:

  • Community Edition: AGPL-3.0 (for open source projects, personal use, and non-commercial applications)
  • Commercial Edition: Available for commercial use, proprietary applications, and when AGPL requirements cannot be met

For commercial licensing, please contact: contact@simplelinks.cn

See LICENSE for full details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simplelinks-1.4.1.tar.gz (36.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simplelinks-1.4.1-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page