v4.16.1fluent_ui
Implementiert die Benutzeroberfläche von Microsofts Windows in Flutter.
Plattformübergreifender Google Drive-Client mit Verschlüsselungssupport.
v4.16.1Implementiert die Benutzeroberfläche von Microsofts Windows in Flutter.
v1.1.4Fenster-Acryl-, Mica- und Transparenz-Effekte für Flutter unter Windows, macOS und Linux.
Automatisch generierte Client-Bibliotheken zum Zugriff auf Google-APIs, die über den API-Entdeckungsdienst beschrieben werden.
Eine Client-Bibliothek zur Authentifizierung bei einem Remote-Service über OAuth2 im Namen eines Benutzers und zum Ausführen autorisierter HTTP-Anfragen mit den OAuth2-Zugangsdaten des Benutzers.
v2.4.4Reaktive Raster-Anordnung und Liste für Flutter
FileCryptor dient zur Verschlüsselung und Entschlüsselung von Dateien. (PDF, MP3, MP4, PNG, ...)
v0.0.1Ein Paket, um Material-Seitenleisten in Ihr Flutter-Projekt zu integrieren.
Damit die Anwendung sich automatisch an die Spitze des Stapels von Anwendungsfenstern auf Mac, Linux und Desktop bringt.
{"sdk":"flutter"}^1.0.2^1.0.0+2{"git":"https://github.com/bdlukaa/fluent_ui.git"}^0.13.5^2.0.1^6.1.6^0.0.3^6.0.4^9.2.0^2.0.15^2.1.0^5.2.2^0.0.3^5.0.1^0.0.1^2.0.11^1.8.2^1.0.2^0.2.7{"sdk":"flutter"}^2.0.0Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
Arthur Morgan is an experimental Flutter desktop client for storing encrypted files in Google Drive. It signs in with Google OAuth, creates or reuses an ArthurMorgan folder in Drive, encrypts local files before upload, and decrypts files locally when previewing or downloading them.
Arthur Morgan screenshot
ArthurMorgan folder in Drive, either at Drive root or inside a user-selected parent folder.arthurmorgan to check the encryption password on later launches.This project is a work in progress. The repository contains Flutter platform folders for Android, iOS, Linux, macOS, Windows, and web, but the app code is currently desktop-oriented. It uses dart:io, desktop window APIs, local browser OAuth redirects, and desktop file picking behavior.
| Feature | Status |
|---|---|
| Google OAuth sign-in | Implemented |
| Remember OAuth credentials locally | Implemented |
| Select Drive root or a named parent folder | Implemented |
Initialize an ArthurMorgan Drive folder |
Implemented |
| Password verification for an existing folder | Implemented |
| Encrypt file contents | Implemented |
| Encrypt filenames | Implemented |
| Upload one or more files | Implemented |
| List encrypted Drive files with decrypted names | Implemented |
| Download a single file | Implemented |
| Preview decrypted image files | Implemented |
| Logout | Implemented |
| Create folders from the UI | Not implemented |
| Download multiple files | Not implemented |
| Drive thumbnails | Not implemented |
| Production-grade encryption/key management | Not implemented |
On first setup, Arthur Morgan creates a folder named ArthurMorgan in Google Drive. If the user enters a custom parent folder name, the app looks for that folder and creates or reads ArthurMorgan inside it. Otherwise, it uses the Drive root.
The setup password is used to create an AES key. The app stores an encrypted verification string in a Drive file named arthurmorgan. On later launches, it downloads that verification file and checks the entered password before decrypting the file list.
Uploaded files are encrypted locally first, then uploaded to Drive. Downloaded files are decrypted locally and saved under:
<application documents directory>/ArthurMorgan/Downloads/
Arthur Morgan should be treated as experimental software, not as a production backup or password manager.
https://www.googleapis.com/auth/drive.shared_preferences.>=2.18.4 <3.0.0.For Windows development, install the Flutter Windows desktop prerequisites. For Linux or macOS, install the matching Flutter desktop toolchain and any plugin-specific native dependencies required by Flutter.
The app scans the current working directory for a .json file and reads installed.client_id and installed.client_secret from it. Keep only the intended OAuth client JSON beside the executable or in the project root when running from source.
If your Google Cloud app is still in testing mode, add your Google account as a test user on the OAuth consent screen.
Clone the repository and install dependencies:
git clone https://github.com/BeLikeSohan/arthurmorgan.git
cd arthurmorgan
flutter pub get
Put the downloaded OAuth desktop client JSON file in the repository root, then run the desktop app:
flutter run -d windows
Use the matching device id for another desktop target:
flutter run -d linux
flutter run -d macos
Build a release binary for your platform:
flutter build windows
flutter build linux
flutter build macos
After building, place the Google OAuth desktop client JSON file next to the executable or launch the app from a working directory that contains the JSON file.
lib/
main.dart App bootstrap, providers, navigation, OAuth JSON loading
functions/
googleoauthmanager.dart Browser OAuth flow and OAuth client creation
gdrivemanager.dart Google Drive API operations
filehandler.dart File picking, encryption, decryption, password verification
preferencesmanager.dart Local persisted settings and OAuth credential cache
stylehandler.dart Desktop window effect handling
providers/ ChangeNotifier state for auth, Drive, settings, sheets, tasks
pages/ Sign-in, dashboard, and settings UI
widgets/ Custom title bar and shared UI widgets
models/ File metadata models
provider.fluent_ui.googleapis and oauth2.file_picker.flutter_acrylic and window_manager.