{"id":24901058,"url":"https://github.com/kleinpanic/file-transfer-website","last_synced_at":"2026-05-08T13:42:46.998Z","repository":{"id":275230431,"uuid":"866324720","full_name":"kleinpanic/File-Transfer-Website","owner":"kleinpanic","description":"A portable website designed for minimal traffic. Main purpose is to transfer files between a Debian Gnu/linux computer and my iPhone. As a consequence it is compatible for multiple different types of file transfers over a website.","archived":false,"fork":false,"pushed_at":"2025-02-01T01:07:28.000Z","size":55427,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T18:18:23.884Z","etag":null,"topics":["curl","file-transfer","linux","website"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kleinpanic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-10-02T03:35:51.000Z","updated_at":"2025-02-01T01:07:31.000Z","dependencies_parsed_at":"2025-02-01T02:19:51.361Z","dependency_job_id":"f2593c94-0b85-4ec2-beb8-186a88220be9","html_url":"https://github.com/kleinpanic/File-Transfer-Website","commit_stats":null,"previous_names":["kleinpanic/file-transfer-website"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleinpanic%2FFile-Transfer-Website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleinpanic%2FFile-Transfer-Website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleinpanic%2FFile-Transfer-Website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kleinpanic%2FFile-Transfer-Website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kleinpanic","download_url":"https://codeload.github.com/kleinpanic/File-Transfer-Website/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245898319,"owners_count":20690466,"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":["curl","file-transfer","linux","website"],"created_at":"2025-02-01T21:14:58.480Z","updated_at":"2026-05-08T13:42:46.930Z","avatar_url":"https://github.com/kleinpanic.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iPhone-Linux Transfer Service\n\nA web-based application for transferring files and links between iPhone and Linux devices with a secure and user-friendly interface.\n\n## Features\n- **Upload and manage links and files:** Upload HTML links, images, and other files from your device.\n- **Secure authentication:** User login with salted and hashed password storage for enhanced security.\n- **Automatic lockout:** Users are locked out after multiple unsuccessful login attempts.\n- **Device identification:** Uploaders are identified by device type and IP address.\n\n---\n\n## Table of Contents\n1. [Installation](#installation)\n2. [Usage](#usage)\n3. [Database Reset](#database-reset)\n4. [Security](#security)\n5. [Dependencies](#dependencies)\n6. [Known Issues](#known-issues)\n7. [Contributing](#contributing)\n8. [License](#license)\n\n---\n\n## Installation\n\n### Prerequisites\n- Python 3.x\n- `pip` (Python package installer)\n- `venv` module for creating virtual environments\n- Required binaries: `flask`, `sqlite3`, `curl`, `openssl`\n\n### Automated Installation\n1. Clone this repository:\n   git clone https://github.com/kleinpanic/iphone-linux-transfer.git \n   cd iphone-linux-transfer\n   \n2. Run the installation script:\n   ./install.sh\n   This script will:\n   - Check for the `venv` module and attempt installation if missing\n   - Check for required binaries and prompt you to install any that are missing\n   - Set up a virtual environment and install all Python dependencies\n   - Set up an Assets directory so the code can properly work\n\n### Manual Installation\nIf you'd prefer to install everything manually, follow these steps:\n\n1. Install Python 3.x and `venv`.\n2. Create a virtual environment:\n   python3 -m venv venv\n3. Activate the virtual environment:\n   - **Linux/Mac:** `source venv/bin/activate`\n\n4. Install the required Python packages:\n   pip install -r requirements.txt\n   \n---\n\n## Usage\n1. **Activate the virtual environment**:\n   - **Linux/Mac:** `source venv/bin/activate`\n  \n2. **Start the application**:\n   python app.py\n   The application will run on `https://127.0.0.1:5000` by default.\n\n3. **Access the application**:\n   - Open your browser and go to `https://127.0.0.1:5000`.\n\n### Available Features\n- **Uploading:** Upload links, images, and other files.\n- **Downloading:** Download uploaded content.\n- **Renaming:** Rename uploaded files.\n- **Preview:** Preview uploaded images directly from the app.\n- **Delete:** Delete uploaded content.\n- Curl: compable with curl ideally. \n  \n---\n\n## Database Reset\n\nTo start fresh with a new database setup, you can use the reset script provided:\n\n1. Ensure your virtual environment is activated:\n   source venv/bin/activate\n2. Run the reset script:\n   python reset_db.py\n   This will:\n   - Remove all existing entries from the database\n   - Reinitialize the tables for users and uploads\n\n**Note**: Use this command with caution as it will remove all existing data.\n\n---\n\n## Security\n\n- Passwords are salted and hashed before being stored.\n- After 3 unsuccessful login attempts, users are locked out, and their IP address is recorded in `locked_ips.txt`.\n- To unlock a user, manually remove their IP from `locked_ips.txt`.\n\n---\n\n## Dependencies\n\nThis project requires the following:\n- **Python Packages** (specified in `requirements.txt`)\n  - `Flask`\n  - `Werkzeug`\n- **System Binaries**\n  - `flask`\n  - `sqlite3`\n  - `curl`\n  - `openssl`\n\n---\n\n## Known Issues\n\n- The application is currently set up for development use. It is not secure for deployment in a production environment.\n- Make sure you properly configure your firewall and network settings when using this application on a publicly accessible server.\n\n---\n\n## Contributing\n\nContributions are welcome! Please follow these steps to contribute:\n\n1. **Fork the repository** on GitHub.\n2. **Clone your fork**:\n   git clone https://github.com/yourusername/iphone-linux-transfer.git\n3. **Create a new branch** for your feature or bug fix:\n   git checkout -b feature-name\n4. **Make your changes**, commit them, and push to your fork:\n   git add .\n   git commit -m \"Description of your changes\"\n   git push origin feature-name\n5. Open a **Pull Request** on the main repository.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. Do whatever the fuck you want with it. \n\n---\n\n## Support\n\nFor any issues or suggestions, please open an issue on the GitHub repository or contact me directly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkleinpanic%2Ffile-transfer-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkleinpanic%2Ffile-transfer-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkleinpanic%2Ffile-transfer-website/lists"}