ULAK is a modern, cross-platform file sharing application that allows you to transfer files, text, and clipboard content between devices on your local network - without internet connection. Think of it as AirDrop for all platforms!
- π Lightning Fast - Direct device-to-device transfer over local network
- π Secure - Optional AES-256 encryption for sensitive files
- π― Simple - No configuration needed, just install and share
- π Cross-Platform - Works on Windows, Linux, macOS, Android, iOS, iPadOS, and watchOS
- π‘ Wi-Fi Direct - Direct device connection without a router (Windows, Linux, Android)
- π Link Sharing - Create browser-accessible shareable links for your files
- π± Auto-Discovery - Automatically finds devices on your network
- π― Free & Open Source - No ads, no tracking, no subscriptions
- Send single or multiple files
- Share entire folders with all contents
- Drag & drop support
- Real-time transfer progress
- Multi-device simultaneous transfer
- Send text messages between devices
- Share clipboard content (text & images)
- Auto-copy received content to clipboard
- Perfect for quick notes and links
- Capture and share screenshots instantly
- Quick shortcut:
Ctrl+Shift+S - 3-second countdown for preparation
- Direct send to selected devices
- Connect devices directly without a router or access point
- Supported platforms: Windows, Linux, Android
- Ideal for environments without internet access
- Generate shareable links for your files
- Recipients can download via any browser
- Supported on all platforms
- AES-256 Encryption - Military-grade encryption for your files
- Password Protection - Set custom encryption passwords
- Local Network Only - No data leaves your network
- No Cloud Storage - Direct peer-to-peer transfer
- Modern Dark Theme - Easy on the eyes
- Intuitive Interface - No learning curve
- System Tray Support - Run in background
- Notifications - Get notified when files arrive
- Transfer History - Track received files
ULAK on every platform
- Version: Windows 10/11
- Installation: Portable executable, installer, or Microsoft Store
- Features: Full feature set including system tray, keyboard shortcuts, Wi-Fi Direct, and link sharing
- Download: GitHub Releases or Microsoft Store
- Distributions: Pardus, Ubuntu, Linux Mint, Zorin OS (All Debian-based Distributions) AppImage for Other Distributions
- Installation: System package, standalone Python script, or .DEB or AppImage
- Features: Full feature set with desktop integration, Wi-Fi Direct, and link sharing
- Download: GitHub Releases
- Version: macOS 11+ (Apple Silicon)
- Installation: Application bundle (.dmg)
- Features: Full feature set with native macOS integration and link sharing
- Download: GitHub Releases or App Store
- Version: Android 7.0+
- Installation: Google Play Store or APK download
- Features: Mobile-optimized interface with all core features including Wi-Fi Direct and link sharing
- Permissions: Network access, File and Gallery access
- Download: Google Play Store
- Version: iOS 15+ / iPadOS 15+
- Installation: App Store
- Features: Mobile-optimized interface with all core features and link sharing
- Permissions: Network access, Files and Photos access
- Download: App Store
- Version: watchOS 8+
- Installation: App Store (companion app)
- Features: Quick file sending, transfer notifications, and device discovery from your wrist
- Note: Requires ULAK installed on a paired iPhone
| Platform | Download |
|---|---|
| πͺ Windows | GitHub Releases or Microsoft Store |
| π§ Linux | GitHub Releases |
| π macOS | GitHub Releases or App Store |
| π€ Android | GitHub Releases or Google Play Store |
| π iOS / iPadOS | App Store |
| β watchOS | App Store (companion app) |
-
Download ULAK for your platform:
- Windows: Download from GitHub Releases, or Microsoft Store
- Linux: Download from GitHub Releases
- Android: Install from Google Play Store or download the
.apkfile - iOS / iPadOS / watchOS / macOS: Install from App Store
-
Install the application on all devices you want to share files between
-
Open ULAK on each device - they will automatically discover each other
-
Start Sharing:
- Select a device from the list
- Click "Send File" or drag & drop files
- Receiver will get a notification to accept
- Done! Files are transferred
# Clone repository
git clone https://github.com/cektor/ULAK.git
cd ULAK/ulak_linux
# Install dependencies
pip3 install -r requirements.txt
# Install system-wide
sudo bash install.sh
# Run
ulak# Clone repository
git clone https://github.com/cektor/ULAK.git
cd ULAK
# Install dependencies
pip install -r requirements.txt
# Run
python main.py- Open ULAK on both sender and receiver devices
- Wait for devices to appear in the "Nearby Devices" list (2-3 seconds)
- Select the target device(s) - you can select multiple!
- Choose files:
- Click "π Send File" for files
- Click "π Send Folder" for folders
- Or simply drag & drop files into the window
- Click "π€ Send" button
- Receiver accepts the transfer
- Done! Files are saved to Downloads folder
- Select the file you want to share
- Click "π Create Link"
- Copy the generated link and share it with the recipient
- Recipient can download the file from any browser
- Supported on all platforms
- Enable Wi-Fi Direct mode on both devices
- Devices discover each other automatically
- Proceed with the normal sharing flow
- No router or internet connection required
- Select target device
- Click "π¬ Send Text"
- Type or paste your message
- Click "π¨ Send"
- Receiver gets a popup with the message
- Copy text or image to clipboard
- Select target device
- Click "π Send Clipboard"
- Receiver automatically gets it in their clipboard
- Select target device
- Click "πΈ Screenshot" or press
Ctrl+Shift+S - Wait for 3-second countdown
- Screenshot is captured and sent automatically
Access settings from the "βοΈ Settings" tab:
- Device Name: Change how your device appears to others
- Port: Default 53317 (change if needed)
- Broadcast Port: Default 53318 (for device discovery)
- π Enable AES-256 Encryption: Toggle encryption on/off
- Encryption Password: Set custom password (same on all devices)
- Note: Devices must use the same password to communicate
- π Show Notifications: Get notified when files arrive
- π Play Sound: Audio notification on transfer complete
- π₯ Run in System Tray: Minimize to tray instead of closing
- π Auto-copy Clipboard: Automatically copy received text/images to clipboard
- π Download Folder: Choose where received files are saved
- β Transfers files directly between devices on local network
- β Optionally encrypts files with AES-256
- β Stores settings locally on your device
- β Auto-discovers devices using UDP broadcast
- β Connects devices directly via Wi-Fi Direct without a router
- β Does not connect to the internet
- β Does not upload files to any server
- β Does not collect any personal data
- β Does not track your usage
- β Does not require account or login
- Algorithm: AES-256-CBC
- Key Derivation: SHA-256 hash of password
- Default Key: Used if no password set
- Compatibility: Works across all platforms
- All devices must be on the same local network (same WiFi/router) or use Wi-Fi Direct
- Ports 53317 and 53318 must be open (usually automatic)
- No internet connection required
If devices don't see each other:
Windows:
Allow ULAK through Windows Firewall
Linux:
sudo ufw allow 53317/tcp
sudo ufw allow 53318/udpAndroid / iOS / iPadOS / macOS:
Usually no configuration needed
- Portable: Just run the
.exefile - Requirements: Windows 10/11, no additional software needed
- Download: GitHub Releases or Microsoft Store
- System Installation: Installs to
/usr/share/ulak/ - Icon: Placed in
/usr/share/pixmaps/ulaklo.png - Desktop Entry: Added to application menu
- Config: Stored in
~/.config/ulak/ - Requirements: Python 3.8+, PyQt5, cryptography
- Download: GitHub Releases
- Requirements: macOS 11+ (Apple Silicon supported)
- Download: GitHub Releases or App Store
- Play Store: Download from Google Play
- APK Installation: Enable "Unknown Sources" in settings
- Permissions: Network access, File and Gallery access
- Storage: Downloads folder
- Requirements: Android 7.0+
- App Store: Download from App Store
- Permissions: Network access, Files and Photos access
- Storage: Files app / Downloads folder
- Requirements: iOS 15+ / iPadOS 15+
- App Store: Download from App Store (companion app, installed automatically with iPhone app)
- Requirements: watchOS 8+, paired iPhone with ULAK installed
- Protocol: TCP/IP for file transfer, UDP for device discovery
- Port: 53317 (transfer), 53318 (discovery)
- Buffer Size: 8192 bytes
- Encryption: AES-256-CBC with PKCS7 padding
- UI Framework: PyQt5 (Desktop), Android SDK (Mobile)
- Sender broadcasts presence on UDP port 53318
- Receiver discovers sender and adds to device list
- User selects file and target device
- Sender sends file metadata (name, size, encryption status)
- Receiver shows accept/reject dialog
- If accepted, file is transferred over TCP port 53317
- Progress is shown in real-time
- Receiver saves file to Downloads folder
- Folders are automatically zipped before transfer
- Extracted automatically on receiver side
- Preserves folder structure
- Shows file/folder count before transfer
We welcome contributions! Here's how you can help:
- Open an issue on GitHub Issues
- Include your OS, ULAK version, and steps to reproduce
- Open an issue with the "enhancement" label
- Describe the feature and why it would be useful
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- Help translate ULAK to your language
- Edit language files in
/locales/
- Ensure all devices are on the same network
- Check firewall settings
- Try restarting ULAK on both devices
- Verify ports 53317 and 53318 are not blocked
- Check if encryption settings match on both devices
- Ensure enough disk space on receiver
- Try disabling encryption temporarily
- Check network stability
- Both devices must use the exact same password
- Password is case-sensitive
- Leave blank to use default encryption
- Change password in Settings β Save β Restart ULAK
- Run:
sudo gtk-update-icon-cache -f -t /usr/share/pixmaps - Log out and log back in
- Check if icon exists:
ls /usr/share/pixmaps/ulaklo.png
- π§ Email: info@algsoft.net.tr
- π Website: https://ulak.algsoft.net.tr
- π± GitHub: https://github.com/cektor/ULAK
- π Documentation: Wiki
- Report bugs: GitHub Issues
- Feature requests: GitHub Discussions
- Follow updates: GitHub Releases
Fatih ΓNDER (CekToR)
- GitHub: @cektor
- Email: fatih@algsoft.net.tr
ALGSoft Inc.
- Website: https://algsoft.net.tr
- Email: info@algsoft.net.tr
- PyQt5 team for the excellent UI framework
- Cryptography library contributors
- All beta testers and early users
ULAK is licensed under the MIT License.
MIT License
Copyright (c) 2025 ALGSoft Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
If you find ULAK useful, please consider giving it a star on GitHub! β
Made with β€οΈ by ALGSoft Inc.
Download β’ GitHub β’ Microsoft Store β’ Play Store β’ App Store β’ Report Bug