Welcome to Tuynuk

Your secure, fast, and reliable file transfer solution

About Tuynuk

Tuynuk is an open-source file transfer application designed to make sharing files seamless and secure. Built using Flutter and C#, Tuynuk ensures that your files are transferred swiftly while maintaining end-to-end encryption to safeguard your data. Whether you're sending a small document or a large media file, Tuynuk handles it all with ease.

Visit our GitHub mobile application repository and GitHub backend repository to explore the code, contribute to the project, or download the latest release.

Tuynuk - Mobile

Overview

Tuynuk is a mobile application designed for secure, temporary file transfer. With this app, users can send and receive encrypted files within disposable sessions, ensuring that their data remains private and is not stored long-term. Built using Flutter and Dart, the app leverages advanced cryptographic techniques to provide robust security features, making it ideal for users who need a secure and ephemeral file transfer solution.

Tuynuk Mobile Overview

Features

Screenshots

Screenshot 1

Installation

  1. Clone the repository:
    git clone https://github.com/xaldarof/tuynuk.git
  2. Get dependencies:
    flutter pub get
  3. Configure project:
    sh sync.sh
  4. Run the application:
    flutter run

Usage

Creating a Disposable Session

  1. Open the app and tap the "New Session" button.
  2. Select a contact to start a new file transfer session.
  3. Transfer files securely within the session. All files will be encrypted and only accessible within this session.

Sending and Receiving Files

  1. Within an active session, select the file you wish to send.
  2. The file will be encrypted and sent to the recipient.
  3. The recipient can then decrypt and access the file within the session.

Session Expiry

Sessions are designed to expire after a predefined period. Once a session expires, all files within the session will be permanently deleted, ensuring no residual data remains.

Technical Details

Backend Documentation

Overview

The Tuynuk backend is responsible for handling the server-side operations necessary for secure and efficient file transfer. It provides the APIs, manages encryption keys, and ensures secure communication between clients.

Key Features

Getting Started

  1. Clone the backend repository:
    git clone https://github.com/niyozbekmirzayev/Tuynuk.git
  2. Navigate to the project directory:
    cd Tuynuk
  3. Install the required dependencies:
    npm install
  4. Set up the environment variables:
    cp .env.example .env
    Update the `.env` file with the necessary configuration details.
  5. Start the backend server:
    npm start

API Endpoints

1. Create a New Session

POST /api/sessions

Creates a new disposable session for file transfer.

2. Upload a File

POST /api/sessions/:sessionId/files

Uploads a file to a specific session.

3. Download a File

GET /api/sessions/:sessionId/files/:fileId

Downloads a file from a specific session.