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
-
Place your SSL certificate files in
~/.simplelinks/certs/:~/.simplelinks/certs/fullchain.pem(certificate)~/.simplelinks/certs/privkey.pem(private key)
-
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simplelinks-1.4.1.tar.gz.
File metadata
- Download URL: simplelinks-1.4.1.tar.gz
- Upload date:
- Size: 36.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f22291afc1d38e408ffb5dca1ec3d4494b040f112f0b86cff44790d362beed6f
|
|
| MD5 |
f381a15e8dee1fa0f5ed6f46f6e1de35
|
|
| BLAKE2b-256 |
aa7b33858a0dc5aa0fbd7608a7837be93fb6c48ccca6b69e9f249f20407201ce
|
File details
Details for the file simplelinks-1.4.1-py3-none-any.whl.
File metadata
- Download URL: simplelinks-1.4.1-py3-none-any.whl
- Upload date:
- Size: 37.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79e0254446978a897a6576bd4b89f99a86df7c9a4d0f4e4b925bc04ccb0ba99d
|
|
| MD5 |
d43d7b54cc108777ca79c2cd97bfaed3
|
|
| BLAKE2b-256 |
f1987a0d7745ce51d9bfa3d3ae35f63a19dee93d33833c5ea9a10be925dc7bb2
|