{"id":23440907,"url":"https://github.com/fector101/laner","last_synced_at":"2025-04-09T20:43:58.041Z","repository":{"id":263924170,"uuid":"891802976","full_name":"Fector101/Laner","owner":"Fector101","description":"A Mobile/Desktop app for securely sharing files between wireless PC and Phone.","archived":false,"fork":false,"pushed_at":"2025-04-07T15:29:35.000Z","size":1115,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-07T16:32:38.901Z","etag":null,"topics":["cross-platform","file-sharing","http-server","kivymd","localhost-management","mobile-development","open-source","python-app","python-desktop-application","python-mobile-apps"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fector101.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-21T01:28:13.000Z","updated_at":"2025-04-07T15:29:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8907f7e-e200-4d07-9602-cc92b76feb2b","html_url":"https://github.com/Fector101/Laner","commit_stats":null,"previous_names":["fector101/laner"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fector101%2FLaner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fector101%2FLaner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fector101%2FLaner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fector101%2FLaner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fector101","download_url":"https://codeload.github.com/Fector101/Laner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248110802,"owners_count":21049559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","file-sharing","http-server","kivymd","localhost-management","mobile-development","open-source","python-app","python-desktop-application","python-mobile-apps"],"created_at":"2024-12-23T16:26:53.077Z","updated_at":"2025-04-09T20:43:58.006Z","avatar_url":"https://github.com/Fector101.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# How to Use Laner\n\nLaner is a fast and secure file-sharing application that allows seamless file transfer between your PC and phone and vice-verse over a local network. Here's how to use both the desktop and phone versions effectively:\n\n---\n\n## Desktop Version (Host)\n\n### Starting the Server\n\n1. **Launch the App**: Open the Laner desktop application on your PC.  \n2. **Connect to a Local Network**:  \n   - Make sure your PC is connected to a local network or hotspot.  \n   - Internet access is not required.  \n\n3. **Start the Server**:  \n   - Click the **Start Server** button.  \n   - The app will display your local server address (IP code).  \n   - This code will be used to connect your phone to the desktop.  \n\n4. **Server Status**:  \n   - The status label will show **\"Server Running\"** once the server starts.  \n   - Avoid sharing the displayed code with unauthorized users.  \n\n5. **Optional**:  \n   - Use the **Hide Code** button to conceal the IP address for privacy.  \n   - Click **End Server** to stop hosting files.  \n\n---\n\n### System Tray Features\n\n- The app runs in the system tray when minimized.  \n- Right-click the tray icon to access:  \n  - **Show**: Reopen the app.  \n  - **Quit**: Close the app entirely.  \n\n---\n\n## Phone Version (Client)\n\n### Connecting to the Desktop\n\n1. **Install and Open the App**: Launch the Laner app on your phone.  \n2. **Enter the Server Code**:  \n   - Navigate to the **Link** tab.  \n   - Input the server code (IP address) displayed on the desktop app.  \n\n3. **Verify Connection**:  \n   - If successful, the app will display the file system from your PC.  \n   - If not, ensure both devices are on the same network.  \n\n---\n\n### Browsing and Downloading Files\n\n1. **Browse Files**:  \n   - Use the grid layout to explore the folders and files hosted on your PC.  \n2. **Download Files**:  \n   - Tap the **Download** button on a file card.  \n   - Files are saved in the `Downloads/Laner` folder on your phone.  \n\n---\n\n### Uploading Files to Desktop\n\n1. **Select Files to Upload**:  \n   - Tap the **Upload** button in the app.  \n   - Choose files from your phone’s storage.  \n\n2. **Transfer Files**:  \n   - The selected files are uploaded to the current folder on your PC.  \n\n---\n\n### Managing Hidden Files\n\n- To view hidden files on your PC, enable the **Show Hidden Files** option in the phone app's **Settings** tab.  \n\n---\n\n## Troubleshooting\n\n- Ensure both devices are connected to the same Wi-Fi or hotspot.  \n- Restart the desktop server if the connection fails.  \n- Grant necessary permissions on the phone app (storage access, notifications).\n\n# FAQs\n\n### 1. **Do I need an active internet connection to use Laner?**  \n\nNo, Laner works entirely over a local network. Both devices must be connected to the same Wi-Fi or hotspot.  \n\n### 2. **Where are downloaded files saved on my phone?**  \n\nAll downloaded files are stored in the `Downloads/Laner` folder on your phone.  \n\n### 3. **How do I stop the server on my desktop?**  \n\nClick the **End Server** button in the desktop app. This stops hosting files and ends the connection.  \n\n### 4. **What if I can’t connect my phone to the server?**  \n\n- Ensure both devices are connected to the same local network.  \n- Verify the IP address (code) shown on the desktop app matches the one entered on your phone.  \n- Restart the desktop server or your router if necessary.  \n\n### 5. **Can I hide files from being shared?**  \n\nYes, hidden files can be excluded by default. Use the **Show Hidden Files** toggle in the phone app's settings to control this.  \n\n### 6. **What happens when I minimize the desktop app?**  \n\nThe desktop app runs in the system tray. You can reopen it by right-clicking the tray icon and selecting **Show**.  \n\n### 7. **Can I upload files from my phone to the PC?**  \n\nYes, use the **Upload** button in the phone app to select files for upload. Files will be saved to the desktop folder on your PC.  \n\n### 8. **Does Laner support large file transfers?**  \n\nYes, but ensure both devices have sufficient storage space and a stable connection for large files.  \n\n---\n\n# Advanced Settings\n\n### **For Desktop Users**\n\n1. **Running in Background**  \n   - The desktop app can continue serving files while minimized to the system tray. Use the tray menu for quick controls.  \n\n3. **Using a Static IP Address**  \n   - If your network assigns dynamic IPs, the server address might change. Configure a static IP on your router for consistency.  \n\n---\n\n### **For Phone Users**\n\n1. **Customizing Themes**  \n   - Laner supports dark and light themes. Switch between them via your phone's system theme settings.  \n\n2. **Default Download Location**  \n   - Downloads are saved in `Downloads/Laner`. If needed, you can modify this path in the app code by updating the `makeDownloadFolder()` function in `templates.py`.\n\n3. **Offline Mode**  \n   - While the app doesn't require the internet, you can use a phone hotspot with no data plan to create a local network.  \n\n---\n\n### **For Developers**\n\n1. **Extending Functionality**  \n   - Laner is open-source. You can add features like file previews, password-protected sharing, or multi-user support by extending its existing codebase.\n\n2. **Changing the Default Port**\n   - By default, Laner uses port `8000` for the server.  \n\n- To scan a list of ports and use the first available one, update the `run_server()` method in the desktop app's main file:\n\n   ```python\n   ports = [8000, 8080, 9090]  # List of ports to scan\n\n   for port in ports:\n       try:\n           # Attempt to start the server on the current port\n           self.server = FileSharingServer(port, '/')\n           self.server.start()  # Start the server\n           print(f\"Server running on port {port}\")\n           break  # Exit the loop if the server starts successfully\n       except OSError:\n           print(f\"Port {port} is unavailable, trying the next one...\")\n   else:\n       print(\"All specified ports are in use. Please free up a port and try again.\")\n   ```\n\n- This ensures the server scans through a list of ports (`8000`, `8080`, `9090`, etc.) and uses the first available one. If no port is available, an error message will be displayed.\n\n3. **Contributing to Laner**  \n   - Fork the project repository, make your changes, and submit a pull request for review.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffector101%2Flaner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffector101%2Flaner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffector101%2Flaner/lists"}