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.
- 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 use ClipFile with Appwrite's cloud services or self-host it via Docker.
- 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
.appx
or.msix
file. - 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
.msix
package. - 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.
- Set up the app as specified above.
- 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!