From 4ca190cfb9a49cfd1f9632df16a45d6cf83a7800 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Tue, 16 Jan 2024 17:21:07 +0100 Subject: [PATCH 1/6] implemented a 'Share Vault' button in vault_detail_locked and added a new window for vault sharing options --- .../org/cryptomator/ui/common/FxmlFile.java | 1 + .../ui/controls/FontAwesome5Icon.java | 1 + .../ui/fxapp/FxApplicationModule.java | 13 +++- .../ui/fxapp/FxApplicationWindows.java | 8 +++ .../VaultDetailLockedController.java | 5 ++ .../ui/sharevault/ShareVaultComponent.java | 34 ++++++++++ .../ui/sharevault/ShareVaultController.java | 50 ++++++++++++++ .../ui/sharevault/ShareVaultModule.java | 54 +++++++++++++++ .../ui/sharevault/ShareVaultScoped.java | 13 ++++ .../ui/sharevault/ShareVaultWindow.java | 14 ++++ src/main/resources/fxml/share_vault.fxml | 64 ++++++++++++++++++ .../resources/fxml/vault_detail_locked.fxml | 5 ++ src/main/resources/i18n/strings.properties | 23 ++++++- src/main/resources/img/share-hub-logo.png | Bin 0 -> 32480 bytes src/main/resources/img/share-hub-logo@2x.png | Bin 0 -> 83234 bytes 15 files changed, 283 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/cryptomator/ui/sharevault/ShareVaultComponent.java create mode 100644 src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java create mode 100644 src/main/java/org/cryptomator/ui/sharevault/ShareVaultModule.java create mode 100644 src/main/java/org/cryptomator/ui/sharevault/ShareVaultScoped.java create mode 100644 src/main/java/org/cryptomator/ui/sharevault/ShareVaultWindow.java create mode 100644 src/main/resources/fxml/share_vault.fxml create mode 100644 src/main/resources/img/share-hub-logo.png create mode 100644 src/main/resources/img/share-hub-logo@2x.png diff --git a/src/main/java/org/cryptomator/ui/common/FxmlFile.java b/src/main/java/org/cryptomator/ui/common/FxmlFile.java index 9af0578cf..30422db42 100644 --- a/src/main/java/org/cryptomator/ui/common/FxmlFile.java +++ b/src/main/java/org/cryptomator/ui/common/FxmlFile.java @@ -44,6 +44,7 @@ public enum FxmlFile { RECOVERYKEY_RESET_PASSWORD_SUCCESS("/fxml/recoverykey_reset_password_success.fxml"), // RECOVERYKEY_SUCCESS("/fxml/recoverykey_success.fxml"), // REMOVE_VAULT("/fxml/remove_vault.fxml"), // + SHARE_VAULT("/fxml/share_vault.fxml"), // UPDATE_REMINDER("/fxml/update_reminder.fxml"), // UNLOCK_ENTER_PASSWORD("/fxml/unlock_enter_password.fxml"), UNLOCK_REQUIRES_RESTART("/fxml/unlock_requires_restart.fxml"), // diff --git a/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java b/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java index c5ec19929..e454835cf 100644 --- a/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java +++ b/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java @@ -47,6 +47,7 @@ public enum FontAwesome5Icon { QUESTION_CIRCLE("\uf059"), // REDO("\uF01E"), // SEARCH("\uF002"), // + SHARE("\uF064"), // SPINNER("\uF110"), // STETHOSCOPE("\uF0f1"), // SYNC("\uF021"), // diff --git a/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java b/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java index 86ca62c3b..af98e284c 100644 --- a/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java +++ b/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java @@ -13,6 +13,7 @@ import org.cryptomator.ui.lock.LockComponent; import org.cryptomator.ui.mainwindow.MainWindowComponent; import org.cryptomator.ui.preferences.PreferencesComponent; import org.cryptomator.ui.quit.QuitComponent; +import org.cryptomator.ui.sharevault.ShareVaultComponent; import org.cryptomator.ui.traymenu.TrayMenuComponent; import org.cryptomator.ui.unlock.UnlockComponent; import org.cryptomator.ui.updatereminder.UpdateReminderComponent; @@ -22,7 +23,17 @@ import javafx.scene.image.Image; import java.io.IOException; import java.io.InputStream; -@Module(includes = {UpdateCheckerModule.class}, subcomponents = {TrayMenuComponent.class, MainWindowComponent.class, PreferencesComponent.class, VaultOptionsComponent.class, UnlockComponent.class, LockComponent.class, QuitComponent.class, ErrorComponent.class, HealthCheckComponent.class, UpdateReminderComponent.class}) +@Module(includes = {UpdateCheckerModule.class}, subcomponents = {TrayMenuComponent.class, // + MainWindowComponent.class, // + PreferencesComponent.class, // + VaultOptionsComponent.class, // + UnlockComponent.class, // + LockComponent.class, // + QuitComponent.class, // + ErrorComponent.class, // + HealthCheckComponent.class, // + UpdateReminderComponent.class, // + ShareVaultComponent.class}) abstract class FxApplicationModule { private static Image createImageFromResource(String resourceName) throws IOException { diff --git a/src/main/java/org/cryptomator/ui/fxapp/FxApplicationWindows.java b/src/main/java/org/cryptomator/ui/fxapp/FxApplicationWindows.java index 866b1d9df..41a7ca785 100644 --- a/src/main/java/org/cryptomator/ui/fxapp/FxApplicationWindows.java +++ b/src/main/java/org/cryptomator/ui/fxapp/FxApplicationWindows.java @@ -11,6 +11,7 @@ import org.cryptomator.ui.mainwindow.MainWindowComponent; import org.cryptomator.ui.preferences.PreferencesComponent; import org.cryptomator.ui.preferences.SelectedPreferencesTab; import org.cryptomator.ui.quit.QuitComponent; +import org.cryptomator.ui.sharevault.ShareVaultComponent; import org.cryptomator.ui.unlock.UnlockComponent; import org.cryptomator.ui.unlock.UnlockWorkflow; import org.cryptomator.ui.updatereminder.UpdateReminderComponent; @@ -51,6 +52,7 @@ public class FxApplicationWindows { private final ErrorComponent.Factory errorWindowFactory; private final ExecutorService executor; private final VaultOptionsComponent.Factory vaultOptionsWindow; + private final ShareVaultComponent.Factory shareVaultWindow; private final FilteredList visibleWindows; @Inject @@ -64,6 +66,7 @@ public class FxApplicationWindows { LockComponent.Factory lockWorkflowFactory, // ErrorComponent.Factory errorWindowFactory, // VaultOptionsComponent.Factory vaultOptionsWindow, // + ShareVaultComponent.Factory shareVaultWindow, // ExecutorService executor) { this.primaryStage = primaryStage; this.trayIntegration = trayIntegration; @@ -76,6 +79,7 @@ public class FxApplicationWindows { this.errorWindowFactory = errorWindowFactory; this.executor = executor; this.vaultOptionsWindow = vaultOptionsWindow; + this.shareVaultWindow = shareVaultWindow; this.visibleWindows = Window.getWindows().filtered(Window::isShowing); } @@ -122,6 +126,10 @@ public class FxApplicationWindows { return CompletableFuture.supplyAsync(() -> preferencesWindow.get().showPreferencesWindow(selectedTab), Platform::runLater).whenComplete(this::reportErrors); } + public void showShareVaultWindow(Vault vault) { + CompletableFuture.runAsync(() -> shareVaultWindow.create(vault).showShareVaultWindow(), Platform::runLater); + } + public CompletionStage showVaultOptionsWindow(Vault vault, SelectedVaultOptionsTab tab) { return showMainWindow().thenApplyAsync((window) -> vaultOptionsWindow.create(vault).showVaultOptionsWindow(tab), Platform::runLater).whenComplete(this::reportErrors); } diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java index f90ad61c2..8212f598f 100644 --- a/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java +++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java @@ -44,6 +44,11 @@ public class VaultDetailLockedController implements FxController { appWindows.startUnlockWorkflow(vault.get(), mainWindow); } + @FXML + public void share() { + appWindows.showShareVaultWindow(vault.get()); + } + @FXML public void showVaultOptions() { vaultOptionsWindow.create(vault.get()).showVaultOptionsWindow(SelectedVaultOptionsTab.ANY); diff --git a/src/main/java/org/cryptomator/ui/sharevault/ShareVaultComponent.java b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultComponent.java new file mode 100644 index 000000000..b7b41ec7e --- /dev/null +++ b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultComponent.java @@ -0,0 +1,34 @@ +package org.cryptomator.ui.sharevault; + +import dagger.BindsInstance; +import dagger.Lazy; +import dagger.Subcomponent; +import org.cryptomator.common.vaults.Vault; +import org.cryptomator.ui.common.FxmlFile; +import org.cryptomator.ui.common.FxmlScene; + +import javafx.scene.Scene; +import javafx.stage.Stage; + +@ShareVaultScoped +@Subcomponent(modules = {ShareVaultModule.class}) +public interface ShareVaultComponent { + + @ShareVaultWindow + Stage window(); + + @FxmlScene(FxmlFile.SHARE_VAULT) + Lazy scene(); + + default void showShareVaultWindow(){ + Stage stage = window(); + stage.setScene(scene().get()); + stage.show(); + } + + @Subcomponent.Factory + interface Factory { + ShareVaultComponent create(@BindsInstance @ShareVaultWindow Vault vault); + } + +} diff --git a/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java new file mode 100644 index 000000000..c8a5abc5f --- /dev/null +++ b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java @@ -0,0 +1,50 @@ +package org.cryptomator.ui.sharevault; + +import dagger.Lazy; +import org.cryptomator.common.vaults.Vault; +import org.cryptomator.ui.common.FxController; +import org.cryptomator.ui.keyloading.hub.HubKeyLoadingStrategy; + +import javax.inject.Inject; +import javafx.application.Application; +import javafx.fxml.FXML; +import javafx.stage.Stage; + +@ShareVaultScoped +public class ShareVaultController implements FxController { + private static final String VISIT_HUB_URL = "https://cryptomator.org/hub/"; + private static final String OPEN_HUB_URL = "https://cryptomator.org/hub/"; + + private final Stage window; + private final Lazy application; + private final Boolean hubVault; + + @Inject + ShareVaultController(@ShareVaultWindow Stage window, // + Lazy application, // + @ShareVaultWindow Vault vault){ + this.window = window; + this.application = application; + var vaultScheme = vault.getVaultConfigCache().getUnchecked().getKeyId().getScheme(); + this.hubVault = (vaultScheme.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTP) || vaultScheme.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTPS)); + } + + @FXML + public void close(){ + window.close(); + } + + @FXML + public void visitHub() { + application.get().getHostServices().showDocument(VISIT_HUB_URL); + } + @FXML + public void openHub() { + application.get().getHostServices().showDocument(OPEN_HUB_URL); + } + + public boolean isHubVault() { + return hubVault; + } + +} diff --git a/src/main/java/org/cryptomator/ui/sharevault/ShareVaultModule.java b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultModule.java new file mode 100644 index 000000000..75742c7ce --- /dev/null +++ b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultModule.java @@ -0,0 +1,54 @@ +package org.cryptomator.ui.sharevault; + +import dagger.Binds; +import dagger.Module; +import dagger.Provides; +import dagger.multibindings.IntoMap; +import org.cryptomator.ui.common.DefaultSceneFactory; +import org.cryptomator.ui.common.FxController; +import org.cryptomator.ui.common.FxControllerKey; +import org.cryptomator.ui.common.FxmlFile; +import org.cryptomator.ui.common.FxmlLoaderFactory; +import org.cryptomator.ui.common.FxmlScene; +import org.cryptomator.ui.common.StageFactory; + +import javax.inject.Provider; +import javafx.scene.Scene; +import javafx.stage.Modality; +import javafx.stage.Stage; +import java.util.Map; +import java.util.ResourceBundle; + +@Module +abstract class ShareVaultModule { + + @Provides + @ShareVaultWindow + @ShareVaultScoped + static FxmlLoaderFactory provideFxmlLoaderFactory(Map, Provider> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) { + return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle); + } + + @Provides + @ShareVaultWindow + @ShareVaultScoped + static Stage provideStage(StageFactory factory, ResourceBundle resourceBundle) { + Stage stage = factory.create(); + stage.setResizable(false); + stage.initModality(Modality.APPLICATION_MODAL); + stage.setTitle(resourceBundle.getString("shareVault.title")); + return stage; + } + + @Provides + @FxmlScene(FxmlFile.SHARE_VAULT) + @ShareVaultScoped + static Scene provideShareVaultScene(@ShareVaultWindow FxmlLoaderFactory fxmlLoaders) { + return fxmlLoaders.createScene(FxmlFile.SHARE_VAULT); + } + + @Binds + @IntoMap + @FxControllerKey(ShareVaultController.class) + abstract FxController bindShareVaultController(ShareVaultController controller); +} diff --git a/src/main/java/org/cryptomator/ui/sharevault/ShareVaultScoped.java b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultScoped.java new file mode 100644 index 000000000..2a9b97fb1 --- /dev/null +++ b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultScoped.java @@ -0,0 +1,13 @@ +package org.cryptomator.ui.sharevault; + +import javax.inject.Scope; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Scope +@Documented +@Retention(RetentionPolicy.RUNTIME) +@interface ShareVaultScoped { + +} diff --git a/src/main/java/org/cryptomator/ui/sharevault/ShareVaultWindow.java b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultWindow.java new file mode 100644 index 000000000..ace70180a --- /dev/null +++ b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultWindow.java @@ -0,0 +1,14 @@ +package org.cryptomator.ui.sharevault; + +import javax.inject.Qualifier; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +@Qualifier +@Documented +@Retention(RUNTIME) +@interface ShareVaultWindow { + +} diff --git a/src/main/resources/fxml/share_vault.fxml b/src/main/resources/fxml/share_vault.fxml new file mode 100644 index 000000000..df9d7dcc8 --- /dev/null +++ b/src/main/resources/fxml/share_vault.fxml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/i18n/strings.properties b/src/main/resources/i18n/strings.properties index 91e56ee13..1abda4a1a 100644 --- a/src/main/resources/i18n/strings.properties +++ b/src/main/resources/i18n/strings.properties @@ -387,6 +387,7 @@ main.vaultDetail.unlockBtn=Unlock… main.vaultDetail.unlockNowBtn=Unlock Now main.vaultDetail.optionsBtn=Vault Options main.vaultDetail.passwordSavedInKeychain=Password saved +main.vaultDetail.share=Share... ### Unlocked main.vaultDetail.unlockedStatus=UNLOCKED main.vaultDetail.accessLocation=Your vault's contents are accessible here: @@ -524,4 +525,24 @@ updateReminder.message=Check for Updates? updateReminder.description=Stay updated with new features, bug fixes, and security improvements. We recommend to automatically check for updates. updateReminder.notNow=Not Now updateReminder.yesOnce=Yes, Once -updateReminder.yesAutomatically=Yes, Automatically \ No newline at end of file +updateReminder.yesAutomatically=Yes, Automatically + +# Share Vault +shareVault.title=Share Vault +shareVault.message=Would you like to share your vault with others? +shareVault.description=Always be careful when sharing your vault with other people. In short, follow these steps: +shareVault.instruction.0=To encrypt files, follow these steps: +shareVault.instruction.1=1. Share access of the encrypted vault folder via cloud storage.\n2. Share vault password in a secure way. +shareVault.more=For more information, check out our best practices. +shareVault.info.1=The secure way to work in teams +shareVault.info.2=Use Cryptomator Hub! +shareVault.info.3=• Zero-knowledge key management +shareVault.info.4=• Strong authentication +shareVault.info.5=• ... +shareVault.visitHub=Visit Cryptomator Hub + +shareVault.hub.message=How to share a Hub vault +shareVault.hub.instruction.0=In order to share the vault content with another team member, you have to perform two steps: +shareVault.hub.instruction.1=1. Share access of the encrypted vault folder via cloud storage. +shareVault.hub.instruction.2=2. Grant access to team member in Cryptomator Hub. +shareVault.hub.openHub=Open Cryptomator Hub \ No newline at end of file diff --git a/src/main/resources/img/share-hub-logo.png b/src/main/resources/img/share-hub-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ee7d15b8def919c1066e239eda106642579738bd GIT binary patch literal 32480 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¬e?#s&(h8JF&>U8L}XwJ=BQ9Q=S&AyM! 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 %;%gpVj!<2vuv@CzwAsnM}9-1nQ` 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/img/share-hub-logo@2x.png b/src/main/resources/img/share-hub-logo@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a62b3e973234df270e7298ad5572ef6125f0354e GIT binary patch literal 83234 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 i1 Date: Fri, 19 Jan 2024 12:30:56 +0100 Subject: [PATCH 2/6] implemented open hub feature optimized fxml files and img --- .../ui/sharevault/ShareVaultController.java | 34 +++++++++-- src/main/resources/fxml/share_vault.fxml | 56 +++++++++++------- .../resources/fxml/vault_detail_locked.fxml | 12 ++-- src/main/resources/i18n/strings.properties | 6 +- src/main/resources/img/group-magic.png | Bin 0 -> 35293 bytes src/main/resources/img/group-magic@2x.png | Bin 0 -> 64238 bytes src/main/resources/img/share-hub-logo.png | Bin 32480 -> 0 bytes src/main/resources/img/share-hub-logo@2x.png | Bin 83234 -> 0 bytes 8 files changed, 74 insertions(+), 34 deletions(-) create mode 100644 src/main/resources/img/group-magic.png create mode 100644 src/main/resources/img/group-magic@2x.png delete mode 100644 src/main/resources/img/share-hub-logo.png delete mode 100644 src/main/resources/img/share-hub-logo@2x.png diff --git a/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java index c8a5abc5f..63230cbbf 100644 --- a/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java +++ b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java @@ -9,28 +9,36 @@ import javax.inject.Inject; import javafx.application.Application; import javafx.fxml.FXML; import javafx.stage.Stage; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.net.URI; +import java.net.URISyntaxException; @ShareVaultScoped public class ShareVaultController implements FxController { + + private static final String SCHEME_PREFIX = "hub+"; private static final String VISIT_HUB_URL = "https://cryptomator.org/hub/"; - private static final String OPEN_HUB_URL = "https://cryptomator.org/hub/"; + private static final String BEST_PRACTICES_URL = "https://docs.cryptomator.org/en/latest/security/best-practices/#sharing-of-vaults"; private final Stage window; private final Lazy application; + private final Vault vault; private final Boolean hubVault; @Inject ShareVaultController(@ShareVaultWindow Stage window, // Lazy application, // - @ShareVaultWindow Vault vault){ + @ShareVaultWindow Vault vault) { this.window = window; this.application = application; + this.vault = vault; var vaultScheme = vault.getVaultConfigCache().getUnchecked().getKeyId().getScheme(); this.hubVault = (vaultScheme.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTP) || vaultScheme.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTPS)); } @FXML - public void close(){ + public void close() { window.close(); } @@ -38,9 +46,27 @@ public class ShareVaultController implements FxController { public void visitHub() { application.get().getHostServices().showDocument(VISIT_HUB_URL); } + @FXML public void openHub() { - application.get().getHostServices().showDocument(OPEN_HUB_URL); + application.get().getHostServices().showDocument(getHubUri(vault).toString()); + } + + @FXML + public void visitBestPractices() { + application.get().getHostServices().showDocument(BEST_PRACTICES_URL); + } + + private static URI getHubUri(Vault vault) { + try { + var keyID = new URI(vault.getVaultConfigCache().get().getKeyId().toString()); + assert keyID.getScheme().startsWith(SCHEME_PREFIX); + return new URI(keyID.getScheme().substring(SCHEME_PREFIX.length()) + "://" + keyID.getHost() + "/app/vaults"); + } catch (IOException e) { + throw new UncheckedIOException(e); + } catch (URISyntaxException e) { + throw new IllegalStateException("URI constructed from params known to be valid", e); + } } public boolean isHubVault() { diff --git a/src/main/resources/fxml/share_vault.fxml b/src/main/resources/fxml/share_vault.fxml index df9d7dcc8..6fd1782f0 100644 --- a/src/main/resources/fxml/share_vault.fxml +++ b/src/main/resources/fxml/share_vault.fxml @@ -12,20 +12,27 @@ - + + + + spacing="12"> - + - - + + + + + + + - - - - + + + + + - - - - - - -