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.
Release files for simplelinks 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simplelinks-1.4.1.tar.gz | 36.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simplelinks-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 73.5 kB
Release files / simplelinks-1.4.1.tar.gz
| Download URL | simplelinks-1.4.1.tar.gz |
|---|---|
| Size | 36.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f22291afc1d38e408ffb5dca1ec3d4494b040f112f0b86cff44790d362beed6f
|
|
BLAKE2b-256 checksum How to use checksums |
aa7b33858a0dc5aa0fbd7608a7837be93fb6c48ccca6b69e9f249f20407201ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / simplelinks-1.4.1-py3-none-any.whl
| Download URL | simplelinks-1.4.1-py3-none-any.whl |
|---|---|
| Size | 37.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
79e0254446978a897a6576bd4b89f99a86df7c9a4d0f4e4b925bc04ccb0ba99d
|
|
BLAKE2b-256 checksum How to use checksums |
f1987a0d7745ce51d9bfa3d3ae35f63a19dee93d33833c5ea9a10be925dc7bb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|