v4.16.1fluent_ui
在Flutter中實現微軟的Windows使用者介面。
支援加密的跨平台 Google Drive 客戶端。
v4.16.1在Flutter中實現微軟的Windows使用者介面。
v1.1.4適用於 Flutter 的 Windows、macOS 與 Linux 窗口磨砂玻璃、Mica 及透明效果。
透過 API 發現服務描述的 Google API 的自動產生客戶端程式庫。
一個客戶端程式庫,用於透過 OAuth2 代表使用者與遠端服務進行驗證,並使用使用者的 OAuth2 憑證發起授權的 HTTP 請求。
v2.4.4適用於 Flutter 的響應式網格佈局和清單
FileCryptor 用於加密和解密檔案(PDF、MP3、MP4、PNG 等)。
v0.0.1一個用於在您的 Flutter 項目中使用 Material 頁面側邊欄的套件。
為了讓應用程式在 Mac、Linux 與桌面系統上自動將自身置於應用程式視窗堆疊的最前面。
{"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.0以下為英文專案原文快照,最新內容請造訪 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.