v4.15.1fluent_ui
FlutterでMicrosoftのWindowsユーザーインターフェースを実装します。
暗号化対応のクロスプラットフォームGoogleドライブクライアント。
v4.15.1FlutterでMicrosoftのWindowsユーザーインターフェースを実装します。
v1.1.4Flutter 用の Windows、macOS、Linux のウィンドウ アクリル、ミカ、透過効果。
API発見サービスによって記述されたGoogle APIにアクセスするための自動生成クライアントライブラリ。
ユーザーの代わりにリモートサービスとのOAuth2による認証を行い、ユーザーのOAuth2資格情報を使用して承認されたHTTPリクエストを行うためのクライアントライブラリです。
v2.4.4Flutter用の応答性のあるグリッドレイアウトとリスト
FileCryptor はファイルの暗号化および復号化に使用されます。(PDF、MP3、MP4、PNGなど)
v0.0.1Flutter プロジェクトに 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.