{"id":21747547,"url":"https://github.com/tuynuk/tuynuk-mobile","last_synced_at":"2025-04-13T06:51:23.121Z","repository":{"id":247943473,"uuid":"825427104","full_name":"Tuynuk/tuynuk-mobile","owner":"Tuynuk","description":"Tuynuk is a secure file transfer application that offers robust encryption and reliable transmission of sensitive data.","archived":false,"fork":false,"pushed_at":"2024-08-28T08:58:03.000Z","size":26155,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T23:11:23.402Z","etag":null,"topics":["diffie-hellman","e2ee","encryption","file","flutter","shorebird","transfer"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tuynuk.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-07-07T18:32:30.000Z","updated_at":"2024-10-01T21:37:16.000Z","dependencies_parsed_at":"2024-07-11T13:14:07.366Z","dependency_job_id":"dcd874e0-6e29-4aee-ada7-394342df1f98","html_url":"https://github.com/Tuynuk/tuynuk-mobile","commit_stats":null,"previous_names":["xaldarof/tuynuk","tuynuk/tuynuk","tuynuk/tuynuk-mobile"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tuynuk%2Ftuynuk-mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tuynuk%2Ftuynuk-mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tuynuk%2Ftuynuk-mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tuynuk%2Ftuynuk-mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tuynuk","download_url":"https://codeload.github.com/Tuynuk/tuynuk-mobile/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248675459,"owners_count":21143766,"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":["diffie-hellman","e2ee","encryption","file","flutter","shorebird","transfer"],"created_at":"2024-11-26T08:09:28.537Z","updated_at":"2025-04-13T06:51:23.104Z","avatar_url":"https://github.com/Tuynuk.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tuynuk\n\n## Overview\n\nTuynuk is a mobile application designed for secure, temporary file transfer. With this\napp, users can send and receive encrypted files within disposable sessions, ensuring that their data\nremains private and is not stored long-term. Built using Flutter and Dart, the app leverages\nadvanced cryptographic techniques to provide robust security features, making it ideal for users who\nneed a secure and ephemeral file transfer solution.\n\n![alt text](https://lokdon.com/wp-content/uploads/2021/09/Subtitle_01-2.jpg)\n\n## Features\n\n- **Disposable Sessions**: Create temporary file transfer sessions that automatically expire after a\n  certain period, ensuring no long-term data retention.\n- **End-to-End Encryption (E2EE)**: Secure files with AES encryption and elliptic curve\n  cryptography, guaranteeing that only the intended recipient can access them.\n- **Asynchronous Operations**: Use Dart isolates to handle encryption and decryption tasks in the\n  background, providing a smooth user experience.\n- **Automatic Key Management**: Generate and manage encryption keys for each session automatically,\n  simplifying the user experience while maintaining security.\n- **User-Friendly Interface**: Enjoy a simple and intuitive interface designed for quick and easy\n  secure file transfer.\n\n## Screenshots\n\n![Screenshot 1](https://github.com/xaldarof/tuynuk/blob/main/assets/images/logo_dark.png)\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/xaldarof/tuynuk.git\n\n2. Get dependencies:\n   ```bash\n   flutter pub get\n\n3. Configure project\n    ```bash\n   sh sync.sh\n\n4. Run the application:\n   ```bash\n   flutter run\n\n## Usage\n\n### Creating a Disposable Session\n\n1. Open the app and tap the \"New Session\" button.\n2. Select a contact to start a new file transfer session.\n3. Transfer files securely within the session. All files will be encrypted and only accessible\n   within this session.\n\n### Sending and Receiving Files\n\n1. Within an active session, select the file you wish to send.\n2. The file will be encrypted and sent to the recipient.\n3. The recipient can then decrypt and access the file within the session.\n\n### Session Expiry\n\n1. Sessions are designed to expire after a predefined period.\n2. Once a session expires, all files within the session will be permanently deleted, ensuring no\n   residual data remains.\n\n## Technical Details\n\n### AES Encryption and Decryption\n\nThe app uses AES encryption in CBC mode with PKCS7 padding for secure file encryption. Encryption\nand decryption can be handled asynchronously using Dart isolates for optimal performance.\n\n### Elliptic Curve Cryptography\n\nTuynuk utilizes elliptic curve cryptography (ECC) for secure key exchanges and session\nkey generation, ensuring that all cryptographic operations adhere to industry standards.\n\n### Secure Random Number Generation\n\nThe app employs a cryptographically secure random number generator to create encryption keys and\ninitialization vectors, providing high security for all cryptographic processes.\n\n### Key Management\n\nThe app automatically handles key generation and management for each session, making it easy for\nusers to focus on file transfer without worrying about cryptographic details.\n\n### Backend\n\nThe backend for Tuynuk is available on GitHub and provides the necessary server-side support for the application's functionality. You can find the backend repository [here](https://github.com/niyozbekmirzayev/Tuynuk).\n\n## Contributing\n\nWe welcome contributions to Tuynuk! Please submit pull requests and open issues to help\nimprove the application.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuynuk%2Ftuynuk-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftuynuk%2Ftuynuk-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuynuk%2Ftuynuk-mobile/lists"}