ClipFile is a cross-platform app that enables seamless clipboard synchronization and file sharing between devices. Built using Flutter, it supports Windows, Android, and iOS, making it easy to transfer text and files effortlessly.
- Clipboard Syncing: Copy text on one device, paste it on another.
- File & Image Sharing: Transfer files and images across your devices.
- Quick Actions: Easily navigate through the app using home screen shortcuts.
- Appwrite Backend: Stores clipboard data and files.
- Drag & Drop Support:
- Windows: Full drag-and-drop support for text, files, and images.
- Android & iOS: Partial drag-and-drop support due to platform limitations.
ClipFile is built using Flutter and relies on the following key packages:
- Appwrite - Backend for clipboard data, file storage & Authentication.
- Google Fonts - Custom fonts for a better UI experience.
- Provider - State management for efficient app performance.
- Liquid Pull to Refresh - A smooth and clean refresh indicator.
- Hive Flutter - Local storage for app settings.
- File Picker - Select files for sharing.
- Image Picker - Choose images from the gallery or camera.
- Quick Actions - Home screen shortcuts for quick navigation.
- Restart App - Restart the app programmatically when required.
- Smooth Page Indicator - Displays page indicators for navigation.
- Super Drag & Drop - Enables drag-and-drop support across platforms.
You can start using ClipFile instantly by signing in or registering within the app. Just click Login/Register, and an account will be created automatically without any additional setup.
For developers or those who prefer manual setup, the dev mode is still available.
If you want to set up ClipFile manually, follow these steps:
- Register for an account on Appwrite Cloud. The free tier is sufficient for basic usage.
- Create a new project and assign it a preferred name.
- Select an available region to host the project.
- Add Flutter as a platform for the project.
- When prompted for a package name registration, select the platform(s) intended for use:
- Android/iOS: Use
com.example.clipfile. - Windows: Use
clipfile.
- Android/iOS: Use
- Assign any desired application name.
- Skip any optional setup steps.
- Navigate to the Database section and create a new database.
- Within the newly created database, establish a Collection.
- Add a String Attribute with a defined maximum size.
- Create a Document containing the specified attribute.
- Proceed to the Storage section and generate a Bucket.
- Access the bucket settings and grant permissions to the Any role, enabling the Create, Read, Update, and Delete options.
- Apply the same permission settings within Databases β Collections β Documents.
- Retrieve and store the following identifiers, as they will be required during the initial app setup:
- Project ID
- Database ID
- Collection ID
- Attribute Name
- Document ID
- Bucket ID
- If utilizing Appwrite Cloud, set the API endpoint to
https://cloud.appwrite.io/v1.
Follow the official guide here.
If installing the app using the .msix package, follow these steps to trust the self-signed certificate and install the app:
- Right-click on the
.appxor.msixfile. - Click Properties.
- Go to the Digital Signatures tab.
- Select the signature from the list and click Details.
- Click View Certificate.
- Click Install Certificate.
- In the Certificate Import Wizard, select Local Machine.
- Click Next and confirm the UAC prompt.
- Select Place all certificates in the following store.
- Click Browse, scroll down, and select Trusted People.
- Click OK, then Next, and finally Finish.
- If a confirmation dialog appears, click OK.
- Open the folder containing the
.msixpackage. - Double-click the package to begin the installation.
- Follow the on-screen instructions to complete the installation.
- Launch ClipFile and start using it!
- Install ClipFile on all your devices.
- Sign in or register within the app to get started instantly.
- Start copying, pasting, dragging, and sharing files seamlessly!
Found a bug or have a feature request? Open an issue here!
π Enjoy using ClipFile? Consider giving the repo a β to support development!