v4.15.1fluent_ui
Flutter에서 마이크로소프트의 Windows 사용자 인터페이스를 구현합니다.
암호화 지원을 하는 크로스 플랫폼 Google 드라이브 클라이언트입니다.
v4.15.1Flutter에서 마이크로소프트의 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.