Compare commits

...

1218 Commits

Author SHA1 Message Date
Sebastian Stenzel
0d78318373 Revert "attempt to trigger build when drafting a release"
This reverts commit e67772c9a6.
2022-03-18 16:44:17 +01:00
Sebastian Stenzel
e67772c9a6 attempt to trigger build when drafting a release 2022-03-18 16:10:40 +01:00
Sebastian Stenzel
a1becd9a1f Merge pull request #2103 from cryptomator/feature/separate-release-actions
Build binary packages in separate workflows
2022-03-18 15:58:26 +01:00
Sebastian Stenzel
c22ede3bf4 only enforce version if tag contains semver string 2022-03-18 15:52:56 +01:00
Sebastian Stenzel
d680d7fe9d renamed step
[ci skip]
2022-03-18 14:58:53 +01:00
Sebastian Stenzel
746d3974a0 treat workflow input as string
see https://github.com/actions/runner/issues/1483
2022-03-18 14:54:20 +01:00
Sebastian Stenzel
e2f872ba9b control whether to run dput when manually dispatching debian workflow 2022-03-18 14:18:05 +01:00
Sebastian Stenzel
b37886c98c remove debug options
[ci skip]
2022-03-18 14:10:28 +01:00
Sebastian Stenzel
88db74d595 remove old release workflow 2022-03-18 14:03:07 +01:00
Sebastian Stenzel
5f17a66632 draft a release for tagged builds if build succeeds 2022-03-18 14:02:00 +01:00
Sebastian Stenzel
e0b3525504 bumped actions/upload-artifact version 2022-03-18 14:01:06 +01:00
Sebastian Stenzel
0443bfb0a2 wrong job name in expression 2022-03-18 13:14:18 +01:00
Sebastian Stenzel
6cd349523b separate workflow for building .exe 2022-03-18 13:00:14 +01:00
Sebastian Stenzel
c7f64f4974 remove debug options
[ci skip]
2022-03-18 12:59:56 +01:00
Sebastian Stenzel
be44812896 fix copy-paste errors 2022-03-18 12:36:13 +01:00
Sebastian Stenzel
c8651d9375 only use three version numbers for mac apps 2022-03-18 12:29:45 +01:00
Sebastian Stenzel
709d211928 separate workflow for building .dmg 2022-03-18 12:20:43 +01:00
Sebastian Stenzel
f43b033ac1 remove debug options
[ci skip]
2022-03-18 12:19:25 +01:00
Sebastian Stenzel
184b7799ea use README.md for dry-running gpg 2022-03-18 11:21:21 +01:00
Sebastian Stenzel
47a206cf25 separate workflow for building .deb 2022-03-18 11:16:46 +01:00
Sebastian Stenzel
e078869f33 Create .asc signatures 2022-03-18 10:51:09 +01:00
Sebastian Stenzel
0f5a358c42 read version from pom.xml (except for tagged commits) 2022-03-18 10:37:29 +01:00
Sebastian Stenzel
ba037007a4 run workflow on push
(otherwise it won't show up)
2022-03-18 10:34:41 +01:00
Sebastian Stenzel
6c176d5484 separate workflow for building .AppImage 2022-03-18 10:31:45 +01:00
Armin Schrenk
d3e9239531 simplify name of test file for location check on vault creation 2022-03-16 15:24:55 +01:00
Armin Schrenk
f231c25dfc Update maven plugin dependencies 2022-03-16 15:08:46 +01:00
Armin Schrenk
c29cc9ab85 supress false positive in dependency-check plugin 2022-03-16 15:08:09 +01:00
Ralph Plawetzki
a32f5bb6d9 Use updated Cryptomator screenshots (1.6.5)
They do appstream-util validate
2022-03-07 11:59:54 +01:00
Sebastian Stenzel
d9af387a69 updated public key url
[ci skip]
2022-03-07 08:46:46 +01:00
Armin Schrenk
f7f83708a5 Merge pull request #2082 from cryptomator/feature/winfsp-mountpoint
Enable directory mountpoint with Winfsp
2022-03-04 10:16:49 +01:00
Armin Schrenk
9b001b5071 Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com> 2022-03-03 17:45:21 +01:00
Sebastian Stenzel
349cefcbf5 Merge pull request #2073 from cryptomator/feature/dedup-freedesktop-metadata
Deduplicate Freedesktop Metadata
2022-03-03 13:08:36 +01:00
Sebastian Stenzel
3f596b3853 attempt to fix dput 2022-03-03 12:45:12 +01:00
Sebastian Stenzel
962b4f28af simplify dput using globs 2022-03-03 11:59:59 +01:00
Sebastian Stenzel
0c6f4297a2 display version as x.y.z deb-1234 instead of x.y.z ppa-1234 2022-03-03 10:40:40 +01:00
Armin Schrenk
14dc026354 Cleanup
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2022-03-02 17:24:54 +01:00
Armin Schrenk
fba0df10f9 Resolve code smells and a bug
Co-authored-by: sonarcloud <sonarcloud@users.noreply.github.com>
2022-03-02 15:28:01 +01:00
Armin Schrenk
f148973bef fix wrong visibillity 2022-03-02 14:50:26 +01:00
Armin Schrenk
4f4c992493 Further improvements:
* make PARENT_NO_MOUNTPOINT preps system agnostic
* add unit tests for cleanup
2022-03-02 14:40:27 +01:00
Armin Schrenk
e4bb7adbdc Merge branch 'develop' into feature/winfsp-mountpoint 2022-03-02 13:44:23 +01:00
Armin Schrenk
df7d9ba79e Update winfsp download links 2022-03-01 15:25:00 +01:00
Sebastian Stenzel
ed1459a0f0 Update pom.xml 2022-03-01 08:49:47 +01:00
Armin Schrenk
e15b68fc9b Refactor winfsp mount preps and add unit tests 2022-02-28 18:54:01 +01:00
Sebastian Stenzel
5a8aacb7c0 Merge branch 'develop' into feature/dedup-freedesktop-metadata 2022-02-28 14:16:27 +01:00
Armin Schrenk
3ff3b1c63e refactor controller:
* fix vault options UI not showing
* rename from "get" to "is" methods in vault options controller
2022-02-28 13:03:36 +01:00
Sebastian Stenzel
c2d0a2a029 install dput 2022-02-28 12:33:21 +01:00
Sebastian Stenzel
7096265fed also build and release .deb file via GitHub Actions
(second attempt)
2022-02-28 12:09:07 +01:00
Sebastian Stenzel
ccf4b9c4f2 also build and release .deb file via GitHub Actions 2022-02-28 11:00:26 +01:00
Sebastian Stenzel
f7c4fc5fda fix .deb binary build 2022-02-28 11:00:08 +01:00
Armin Schrenk
767bdbad5b Merge pull request #2072 from cryptomator/feature/win-installbundle-with-winfsp
Add windows install bundle to build artifacts:
* build with wix
* installs cryptomator and winfsp
2022-02-28 10:22:06 +01:00
Armin Schrenk
467d9e56a0 remove resolved TODO 2022-02-25 13:24:58 +01:00
Armin Schrenk
55d1a8e935 Allow custom mount point for winfsp 2022-02-25 13:21:45 +01:00
Sebastian Stenzel
8ee47aad0f remove version entirely (should have been 1.0, but not required) 2022-02-25 09:58:47 +01:00
Sebastian Stenzel
7afc17e34e fix path 2022-02-25 09:43:10 +01:00
Sebastian Stenzel
6553e48ea3 use oars-1.1 as suggested by @x80486 2022-02-25 09:33:15 +01:00
Sebastian Stenzel
10999b2725 renamed .appdata.xml to .metainfo.xml as suggested by @x80486 2022-02-25 09:28:58 +01:00
Sebastian Stenzel
02fe63c7bc version of the spec, not version of the software
see https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
2022-02-25 09:28:14 +01:00
Sebastian Stenzel
891b5597de fix build, add common/ to debian orig.tar.xz 2022-02-24 16:29:21 +01:00
Sebastian Stenzel
7d9aab46a8 fix broken path during mimetype installation 2022-02-24 16:27:28 +01:00
Sebastian Stenzel
69ff0e44f5 fix build 2022-02-24 12:00:02 +01:00
Sebastian Stenzel
ec1c255bb4 update appstream metadata 2022-02-24 10:56:36 +01:00
Sebastian Stenzel
43e936d117 rename mimetype file 2022-02-24 10:56:23 +01:00
Sebastian Stenzel
90da61e495 adjust ppa build to use "common" resources 2022-02-24 10:41:40 +01:00
Sebastian Stenzel
d38c19cffc adjust appimage build to use "common" resources 2022-02-24 10:38:32 +01:00
Sebastian Stenzel
0556bcd576 move metadata to "common" dir 2022-02-24 10:26:37 +01:00
Armin Schrenk
771e3ab6f3 remove unused ui elements from theme bundle 2022-02-24 09:53:26 +01:00
Armin Schrenk
7cfcfda66f Apply suggestions from code review
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2022-02-24 09:46:05 +01:00
Armin Schrenk
8090f95495 integrate windows installation bundle creation into gh action "release" 2022-02-23 22:30:22 +01:00
Armin Schrenk
7172462b4b Create installation bundle with winfsp:
* via wix burn engine
* licenses generated on the fly
* customized theme
* local only
2022-02-23 22:27:41 +01:00
JaniruTEC
da2d647361 Merge pull request #2013 from cryptomator/feature/1888-existing-drive-letter-error
Added error message if user tries to mount to occupied drive
2022-01-30 01:38:16 +01:00
JaniruTEC
1641a06d65 Renamed NO_PARENT_NO_MOUNT_POINT to UNUSED_ROOT_DIR in MountPointRequirement 2022-01-30 01:35:02 +01:00
Sebastian Stenzel
d6ccb41027 add modules required for JFR 2022-01-26 19:47:51 +01:00
KarlKeu00
a9846744fe Update JavaFX to 17.0.2 (#2031)
Updating JavaFX inside Maven to 17.0.2 to fix JDK-8275723. This is only relevant for development on a Mac with an M1 processor.
2022-01-21 13:16:06 +01:00
JaniruTEC
080ddbbb01 Applied changes from code review. 2022-01-18 02:25:25 +01:00
Tobias Hagemann
3e8690ca11 removed unnecessary entitlement in mac build
[ci skip]
2022-01-12 11:01:59 +01:00
httpjamesm
f1fdd7960c Update copyright years from 2021 to 2022 to reflect the new year (#2015) 2022-01-10 10:01:07 +01:00
JaniruTEC
b7902ad8fd Merge branch 'develop' into feature/1888-existing-drive-letter-error 2022-01-09 00:35:32 +01:00
Armin Schrenk
bf382d928f Update dokan.dll [ci skip] 2022-01-05 10:53:18 +01:00
Armin Schrenk
7486fa2167 update Third parties license file 2022-01-04 16:35:42 +01:00
Armin Schrenk
550903325d Add vault name in unlock window titles 2022-01-04 16:35:09 +01:00
Armin Schrenk
2afd9f1c1d Bump logback
hotfix 1.2.8 is superseded by 1.2.9 as stated in https://jira.qos.ch/browse/LOGBACK-1591?focusedCommentId=20920&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-20920
2021-12-17 14:52:18 +01:00
Tobias Hagemann
6403991bad Update release.yml
[ci skip]
2021-12-16 14:03:15 +01:00
Armin Schrenk
196521bfd0 Merge tag '1.6.5' into develop
1.6.5

# Conflicts:
#	pom.xml
2021-12-16 13:33:40 +01:00
Armin Schrenk
a05dcd2f14 Merge branch 'hotfix/1.6.5' 2021-12-16 13:32:21 +01:00
Armin Schrenk
9775eaa2a8 bump logback to close possible vulnerability 2021-12-16 13:31:38 +01:00
Armin Schrenk
36f87b3643 closes #1961 2021-12-15 12:46:23 +01:00
Armin Schrenk
8ac7ba8f56 preparing hotfix 1.6.5 2021-12-15 12:45:52 +01:00
JaniruTEC
46a3a4fc11 Added error message if user tries to mount to occupied drive.
Fixes #1888
2021-12-13 00:46:18 +01:00
Sebastian Stenzel
0fd6e5bbb0 fixed code smells 2021-12-03 12:17:07 +01:00
Sebastian Stenzel
f277d4d21b fix resource leak 2021-12-03 12:10:40 +01:00
Sebastian Stenzel
085304ec04 set up SonarCloud 2021-12-02 17:16:01 +01:00
Armin Schrenk
335a91d24a reset to snapshot version
[ci skip]
2021-12-02 12:34:09 +01:00
Armin Schrenk
e0a3b7a9df Merge branch 'release/1.6.4' 2021-12-02 12:24:47 +01:00
Armin Schrenk
c6a1690753 Merge tag '1.6.4' into develop
1.6.4
2021-12-02 12:24:47 +01:00
Armin Schrenk
4e3742c206 Merge branch 'develop' into release/1.6.4 2021-12-02 12:22:29 +01:00
Armin Schrenk
919257a99e Bump dagger 2021-12-02 11:23:27 +01:00
Sebastian Stenzel
ae6766fa79 Merge pull request #1823 from purejava/feature/displayName
Pass the name of the vault on storing and changing a passphrase
2021-12-02 09:00:03 +01:00
Sebastian Stenzel
2c42a9573e Merge branch 'develop' into feature/displayName
# Conflicts:
#	pom.xml
2021-12-02 08:52:40 +01:00
Sebastian Stenzel
4baf05e684 prepare 1.6.4 2021-12-02 08:46:35 +01:00
Cryptobot
61d84a0da7 New Crowdin updates (#1894)
* New translations strings.properties
[ci skip]
2021-12-02 08:45:23 +01:00
Sebastian Stenzel
799b2c91bf Merge branch 'feature/patch-webdav' into develop
# Conflicts:
#	dist/win/contrib/patchWebDAV.ps1
#	dist/win/resources/main.wxs
2021-12-01 14:01:02 +01:00
Armin Schrenk
eee672f9ee closes #1932, closes #1931 2021-12-01 13:53:51 +01:00
Sebastian Stenzel
9f4a7c8cce renamed scripts 2021-12-01 12:35:01 +01:00
Armin Schrenk
b9bbbc1f86 Bump javafx 2021-11-30 17:02:37 +01:00
Armin Schrenk
13e9775458 Closes #1918 2021-11-29 17:33:11 +01:00
Armin Schrenk
e9e5df6310 Bump dependencies:
* cryptofs
* gson
* logback

Closes #1825
2021-11-29 17:31:27 +01:00
Sebastian Stenzel
2808d777e0 Add cryptomator-vault alias to etc/hosts during (re)install (#1914)
Co-authored-by: Armin Schrenk <armin.schrenk@skymatic.de>
2021-11-29 16:37:23 +01:00
Sebastian Stenzel
9b8661fe3c use setup-java@v2 in release action 2021-11-24 16:22:09 +01:00
Martin Beyer
63b40091ea rename supporterCert WhiteSpace and VaultNameLength methods 2021-11-18 12:06:50 +01:00
Sebastian Stenzel
0c47af2f15 Merge pull request #1935 from cryptomator/feature/lock-retry-loop
Handle exception when force-locking
2021-11-17 16:00:41 +01:00
Sebastian Stenzel
5a735191a4 adjust heading
(as it applies to both graceful and forced lock attempts)
2021-11-17 14:05:42 +01:00
Sebastian Stenzel
21d342d117 Add non-forced retry lock button 2021-11-17 14:03:04 +01:00
Sebastian Stenzel
1b43bf395f apply same error handling to "force lock" as well 2021-11-17 13:45:43 +01:00
Sebastian Stenzel
71a575e079 add build scripts for windows
[ci skip]
2021-11-10 16:08:11 +01:00
Sebastian Stenzel
c5b6d8f81f target Ubuntu Bionic in PPA release (#1909) 2021-11-10 12:20:52 +01:00
Tobias Hagemann
0c6ecef92b Update README.md
[ci skip]
2021-11-10 08:51:50 +01:00
Tobias Hagemann
b565a5a3f4 added dmg step to mac build script
[ci skip]
2021-11-09 15:49:25 +01:00
Armin Schrenk
ce9e1184ec bump cryptofs dependency 2021-11-09 12:39:45 +01:00
Armin Schrenk
c1c5367e2a closes #1891 2021-11-03 11:54:24 +01:00
Sebastian Stenzel
55a0fe97d8 Merge branch 'main' into develop
[ci skip]
2021-11-03 09:01:45 +01:00
Sebastian Stenzel
f7f1afbf7d Merge branch 'release/1.6.3' 2021-11-03 09:01:11 +01:00
Sebastian Stenzel
14395516c5 preparing 1.6.3 2021-11-03 08:59:12 +01:00
Cryptobot
9ef9499506 New Crowdin updates (#1886)
* New translations strings.properties
[ci skip]
2021-11-03 08:58:04 +01:00
Sebastian Stenzel
1ca803691b Revert "increase robustness of vault creation:"
This reverts commit f7fdb87d6d.
2021-11-03 08:57:35 +01:00
Cryptobot
27aea6cce9 New Crowdin updates (#1844)
New translations strings.properties

Arabic; Bosnian; Catalan; Chinese Simplified; Chinese Traditional; Czech; Dutch; Filipino; French; German; Greek; Hungarian; Indonesian; Italian; Japanese; Korean; Latvian; Macedonian; Norwegian Bokmal; Norwegian Nynorsk; Polish; Portuguese; Portuguese, Brazilian; Punjabi; Romanian; Russian; Serbian (Cyrillic); Serbian (Latin); Slovak; Spanish; Swedish; Turkish; Ukrainian; 

[ci skip]
2021-11-02 15:37:46 +01:00
Armin Schrenk
e2ff3f10c1 reset dev branch to SNAPSHOT version 2021-11-02 15:36:09 +01:00
Armin Schrenk
811b538668 Merge tag '1.6.2' into develop
1.6.2
2021-11-02 12:21:57 +01:00
Armin Schrenk
8151cc9714 Merge branch 'release/1.6.2' 2021-11-02 12:21:56 +01:00
Armin Schrenk
fdbaa5b892 prepare 1.6.2 2021-11-02 12:11:48 +01:00
Armin Schrenk
f7fdb87d6d increase robustness of vault creation:
* clean up after failed vault creation
* ignore if storage readme cannot be created
2021-11-02 11:50:14 +01:00
what-next-github
9408117028 Including pluginDir to linux/appimage/build.sh (#1850) 2021-11-02 10:40:41 +01:00
Armin Schrenk
c6c2133b34 closes #1863 2021-10-29 17:08:03 +02:00
Sebastian Stenzel
7a3205b19c updated choose file dialog screenshots for Windows #1863 2021-10-29 17:02:24 +02:00
Sebastian Stenzel
8fadd34498 prepared (currently unused) dark mode screenshots for #1863 2021-10-29 16:49:51 +02:00
Sebastian Stenzel
1ffcc8eacb desaturate irrelevant parts of image 2021-10-29 16:03:10 +02:00
Sebastian Stenzel
dfd4b86b06 Updated "choose file dialog" image
references #1863
2021-10-29 14:22:02 +02:00
Sebastian Stenzel
02a59dd538 support loading @2x images 2021-10-29 14:21:04 +02:00
Sebastian Stenzel
a79e385594 fixes #1866 2021-10-28 08:23:45 +02:00
Tobias Hagemann
a4070f551b fixes #1404 2021-10-27 11:56:49 +02:00
Sebastian Stenzel
5c98fe4145 fixed accessibility issue 2021-10-25 19:50:39 +02:00
Sebastian Stenzel
9b79e9e69e fixed second part of error code (#1741) 2021-10-25 19:34:45 +02:00
Bart
520b3a8f08 Remove IPC socket before creation (#1852)
(to make sure that socket path can be created)
2021-10-25 09:47:02 +02:00
Armin Schrenk
28d2262962 on windows allow installations only on windows 10 1803 or newer due to unix socket support 2021-10-22 19:21:10 +02:00
Julian Raufelder
c87b559313 Merge branch 'main' into develop 2021-10-20 13:47:39 +02:00
Julian Raufelder
cea8b7556e Merge branch 'release/1.6.1' 2021-10-20 13:40:49 +02:00
Julian Raufelder
5dde332b8b Preparing 1.6.1 2021-10-20 13:39:20 +02:00
Sebastian Stenzel
0980e4776b fixes #1843 2021-10-20 12:46:37 +02:00
Tobias Hagemann
fd7a6f42f1 added x64 suffix to msi installer name 2021-10-19 22:05:59 +02:00
Armin Schrenk
8bfbfc7700 Update installer workflow to add options introduced in JDK 17 2021-10-19 19:12:53 +02:00
Armin Schrenk
ec72762548 fix windows installer 2021-10-19 18:45:25 +02:00
Sebastian Stenzel
6abe39679e Merge branch 'master' into develop
[ci skip]
2021-10-19 15:58:51 +02:00
Sebastian Stenzel
1daab1a4f1 Merge branch 'release/1.6.0'
# Conflicts:
#	main/buildkit/pom.xml
#	main/commons/pom.xml
#	main/launcher/pom.xml
#	main/pom.xml
#	main/ui/pom.xml
#	main/ui/src/main/resources/license/THIRD-PARTY.txt
2021-10-19 15:57:51 +02:00
Armin Schrenk
39d1a3d5a6 Merge branch 'develop' into release/1.6.0 2021-10-19 15:47:17 +02:00
Tobias Hagemann
a6b50bde75 Merge pull request #1796 from PBillodeau/fix/linux-build
Relative paths in linux build are incorrect
2021-10-19 13:51:00 +02:00
Armin Schrenk
3f569fe33e Merge branch 'develop' into release/1.6.0 2021-10-19 13:31:27 +02:00
Armin Schrenk
4801ae3fe3 final dependency bump 2021-10-19 13:31:11 +02:00
Sebastian Stenzel
5f672880b9 Merge branch 'develop' into release/1.6.0 2021-10-19 09:34:24 +02:00
Sebastian Stenzel
6ccbc2b806 update cryptofs 2021-10-18 13:44:15 +02:00
Sebastian Stenzel
3492ddbee1 fixes #1833 2021-10-18 13:43:45 +02:00
Sebastian Stenzel
65b85fa4d8 Merge commit 'b211cb1856ef8d07583819b25586151471720cfd' into release/1.6.0 2021-10-14 14:00:11 +02:00
Cryptobot
b211cb1856 New Crowdin updates (#1822)
[ci skip]
2021-10-14 13:58:57 +02:00
Sebastian Stenzel
d7f48866da updated license infos 2021-10-13 13:01:53 +02:00
Snyk bot
0872d84662 bump fuse-nio-adapter to 1.3.3 (#1829)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JAVA-COMGITHUBJNR-1570422
2021-10-13 12:32:17 +02:00
Sebastian Stenzel
a86bd9f13a implemented new algorithm
[ci skip]
2021-10-13 12:12:56 +02:00
Armin Schrenk
e436ce372d Merge branch 'develop' into release/1.6.0 2021-10-08 16:35:19 +02:00
Sebastian Stenzel
c7c7cdfdce Merge branch 'develop' into feature/displayName 2021-10-08 16:16:18 +02:00
Sebastian Stenzel
1c62467fd2 run codacy for labeled pull requests _and_ push events 2021-10-08 15:39:44 +02:00
Sebastian Stenzel
7f833d2567 update CI config for pull requests
see https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
2021-10-08 15:30:28 +02:00
Sebastian Stenzel
6c6f6baf12 Update to JDK 17 (#1828)
fixes #1404
2021-10-08 14:59:24 +02:00
Armin Schrenk
8319a09b12 fix alignment in vault detail error screen 2021-10-08 14:24:50 +02:00
Ralph Plawetzki
d4e0b4d07d Change to 1.1.0-beta1 for now, so CI can load the dependency 2021-10-08 12:13:28 +02:00
Ralph Plawetzki
445cb7e242 Pass the name of the vault on changing a passphrase 2021-10-06 18:32:15 +02:00
Ralph Plawetzki
54a005a5c9 Pass the name of the vault on storing a passphrase 2021-10-06 18:32:14 +02:00
Armin Schrenk
ac1ff5fb79 Rework vautl detail unknown error dialog:
* add buttons to reload, remove and show error dialog
* restyling
* add new strings
2021-10-06 14:27:28 +02:00
Sebastian Stenzel
1ac0820f93 updated release note formatting
[ci skip]
2021-10-05 14:23:41 +02:00
Armin Schrenk
2f868304e4 Merge branch 'develop' into release/1.6.0 2021-10-05 11:59:57 +02:00
Sebastian Stenzel
813c69f6ac fixed broken bidi binding 2021-10-05 10:09:33 +02:00
Sebastian Stenzel
0d240cdb2d simpler spacing 2021-10-05 10:09:09 +02:00
JaniruTEC
1ef3e948be Fixes #1547: "Custom path" retains invalid value/state (#1548)
Co-authored-by: Sebastian Stenzel <sebastian.stenzel@gmail.com>
2021-10-04 14:31:48 +02:00
Armin Schrenk
2200a100e0 Merge branch 'develop' into release/1.6.0 2021-10-04 13:08:27 +02:00
Armin Schrenk
f5822fc568 fix bug in check run selection and add small space between buttons 2021-10-04 12:49:28 +02:00
Armin Schrenk
126201506c closes #1662 2021-10-04 12:02:55 +02:00
Sebastian Stenzel
c7d8cf5465 Merge branch 'develop' into release/1.6.0 2021-09-30 12:54:38 +02:00
Cryptobot
6415c29e3e New translations strings.properties (Greek) (#1816)
[ci skip]
2021-09-30 12:52:45 +02:00
Sebastian Stenzel
c1965086f3 update dagger to 2.39 2021-09-30 12:52:04 +02:00
Julian Raufelder
c8b9deccb9 Remove incorrect quote in release note 2021-09-29 17:49:54 +02:00
Julian Raufelder
9586e4e65a Compute checksum for *.msi and *.tar.gz as well #1808 2021-09-29 17:48:13 +02:00
Julian Raufelder
0fb5867bd8 Merge branch 'develop' into release/1.6.0 2021-09-29 16:43:26 +02:00
Julian Raufelder
3cc1bef4a6 Bump cryptomator.integrations-linux which fixes #1815 2021-09-29 13:30:29 +02:00
Sebastian Stenzel
907d097e2c store multiline string in env var (fixes #1808) 2021-09-29 11:31:31 +02:00
Tobias Hagemann
c9907d6085 added manual build script for mac (missing: notarization, create-dmg)
[ci skip]
2021-09-28 11:45:49 +02:00
Julian Raufelder
5eac665a93 Fixes #1814
Add missing backslash while setting the pluginDir
2021-09-27 18:50:26 +02:00
PBillodeau
aa7ee65d99 Update build version variable
Add path to pom.xml and move after preconditions
2021-09-27 09:54:43 -05:00
PBillodeau
279db5ffd0 Merge branch 'cryptomator:develop' into fix/linux-build 2021-09-27 09:51:20 -05:00
PBillodeau
772e3ae68a Apply suggestions from code review
Co-authored-by: Tobias Hagemann <tobias.hagemann@gmail.com>
2021-09-27 09:50:51 -05:00
Sebastian Stenzel
8795e5c8d2 Merge branch 'develop' into release/1.6.0
# Conflicts:
#	pom.xml
#	src/main/resources/license/THIRD-PARTY.txt
2021-09-27 13:52:29 +02:00
Cryptobot
069c07cbf1 New Crowdin updates (#1807)
* New translations strings.properties
[ci skip]
2021-09-27 13:49:32 +02:00
Sebastian Stenzel
cda7cc8ef9 dependency bump 2021-09-27 13:41:02 +02:00
Sebastian Stenzel
1015542629 adjust to latest API 2021-09-27 13:31:05 +02:00
Sebastian Stenzel
18be4ba257 update integrations-api 2021-09-27 13:03:55 +02:00
Sebastian Stenzel
90bceb0f68 Update to OpenJFX 17 (#1809)
* update to openjfx 17.0.0.1
* use new javafx API instead of AWT
2021-09-24 21:01:19 +02:00
Armin Schrenk
53afaf1b12 Replace Files.isWritable() by real write test 2021-09-24 16:31:07 +02:00
Sebastian Stenzel
6b0625609b case insensitive semver validation 2021-09-24 15:43:52 +02:00
Armin Schrenk
5670e77908 closes #1783 2021-09-24 11:47:57 +02:00
Sebastian Stenzel
79c48778ce Be more lenient when handling open vault events
either via drag and drop or registered file extensions
2021-09-24 10:57:05 +02:00
Sebastian Stenzel
f9889c16de attempted fix for #1808 2021-09-23 15:08:24 +02:00
Sebastian Stenzel
cbe26d8a4f Merge branch 'develop' into release/1.6.0, fixing appimage version number 2021-09-23 14:04:54 +02:00
Sebastian Stenzel
b3c2d68d9b Partial revert of 0d5a3346: Build PPA independently of other installers 2021-09-23 14:04:26 +02:00
Sebastian Stenzel
d07c018670 adjust appimage launcher script to comply with appdir built during CI
fixes #1806
2021-09-23 14:01:07 +02:00
Armin Schrenk
0d5a3346f6 execute ppa _after_ all successufl installer builds 2021-09-22 17:54:08 +02:00
Armin Schrenk
cfaa4ceffc fix draft release job in release workflow 2021-09-22 17:51:27 +02:00
Tobias Hagemann
db843bb1d5 codesigning dylib/jnilib inside jars needs to be forced as well (they may already be signed but could be problematic for notarization) 2021-09-22 17:33:46 +02:00
Armin Schrenk
b4539979a4 fix module-info 2021-09-22 16:43:47 +02:00
Armin Schrenk
d241f022ab Merge branch 'develop' into release/1.6.0
# Conflicts:
#	pom.xml
2021-09-22 16:36:36 +02:00
Cryptobot
2a5e09bc32 New Crowdin updates (#1758)
New translations strings.properties

Turkish; Latvian; Slovak; Polish; Norwegian Nynorsk; Hungarian; Norwegian Bokmal; Russian; Catalan; Spanish; Portuguese; French; Japanese; German; Portuguese, Brazilian; Arabic; Latin); Czech; Italian; Punjabi; Greek; Swedish; Indonesian; Serbian (Cyrillic); Chinese Traditional; Hindi; Korean; Dutch; Bosnian; Romanian; Chinese Simplified; 

[ci skip]
2021-09-22 16:27:28 +02:00
Armin Schrenk
85a7383c56 bump fuse dependency 2021-09-22 16:21:06 +02:00
Armin Schrenk
526b2a1e72 Bump cryptofs and adjust usages 2021-09-22 16:20:48 +02:00
Sebastian Stenzel
e4da494202 updated 3rd party licenses
[ci skip]
2021-09-22 12:18:35 +02:00
Sebastian Stenzel
55c7636a7b simplified toggle boolean
[ci skip]
2021-09-22 12:17:47 +02:00
Armin Schrenk
af4603f022 Merge pull request #1761 from cryptomator/feature/#1733-window-position
Persist last known window position and improve resizing
2021-09-22 11:39:51 +02:00
Armin Schrenk
09cf76df68 minor code cleanup 2021-09-22 11:28:45 +02:00
Armin Schrenk
cfe61a51b6 Merge pull request #1767 from cryptomator/feature/early-loading
Eagerly load vault config
2021-09-22 11:20:14 +02:00
Tobias Hagemann
9c83baabd5 fixes #1740 2021-09-22 09:25:16 +02:00
JaniruTEC
3e216ed0ac Added error codes to error screen (#1741)
Added error codes based on a translation of GeneratedErrorCode.kt (Cryptomator Android) into Java:

Source of GeneratedErrorCode.kt: 3ae90ab521/presentation/src/main/java/org/cryptomator/presentation/logging/GeneratedErrorCode.kt

Co-authored-by: Sebastian Stenzel <sebastian.stenzel@gmail.com>
2021-09-21 17:41:54 +02:00
Armin Schrenk
0b488efbb3 remove another convinience method from vault class 2021-09-21 16:15:53 +02:00
Armin Schrenk
ae2ad6e00f Replace ObjectProperty with atomicRef to prevent problems with background reloading 2021-09-21 12:32:36 +02:00
Armin Schrenk
76811f92e6 Improve error handling:
* Vault only returns the confiCache
* cache has safe and unsafe method to get config
2021-09-21 12:28:41 +02:00
Armin Schrenk
1fbd07b4a6 Refine impl:
* rename wrapper to cache
* reset the cache to null if error during config loading happens
* always set the the cache in the vault obj
2021-09-20 15:34:53 +02:00
PBillodeau
96d37096c1 Relative paths in linux build are incorrect 2021-09-18 14:07:42 -05:00
Martin Beyer
21774784a1 Reduce ResizeRegion to 6px, only save positions at MouseRelease 2021-09-17 18:51:09 +02:00
Martin Beyer
4a13b4145d Use javaFx-graphics for display information 2021-09-17 17:46:54 +02:00
Armin Schrenk
efc77e4997 updating dependencies 2021-09-17 17:46:28 +02:00
Martin Beyer
cf17a3f9ca Saving settings on Drag release 2021-09-17 17:44:26 +02:00
Martin Beyer
560513d7e8 Rearrange Imports 2021-09-17 15:54:45 +02:00
Sebastian Stenzel
9e66f4b93e Release to PPA (#1791)
Create a Debian source package and dput it to the cryptomator-beta staging repo
2021-09-16 13:01:34 +02:00
Sebastian Stenzel
407718d0a1 fixes #1789 2021-09-16 10:02:38 +02:00
Sebastian Stenzel
b98691ee52 Provide version string when manually triggering a build (#1790)
* fixed inclusion of launcher script in buildkit

* renamed variable

* version must be manually provided during workflow_dispatch
2021-09-15 15:25:52 +02:00
Armin Schrenk
e482574aaf Block windows installation if old innosetup version is installed 2021-09-15 12:16:25 +02:00
Sebastian Stenzel
9f068d0b2c add playground workflow 2021-09-13 16:45:05 +02:00
Tobias Hagemann
78e4c714a1 preparing 1.5.19 2021-09-09 14:14:36 +02:00
Tobias Hagemann
9d43f8bb81 updated dependency, fixes #1778 2021-09-09 14:13:42 +02:00
Tobias Hagemann
4e31f7e5c7 updated THIRD-PARTY 2021-09-07 12:49:10 +02:00
Tobias Hagemann
d9a35a4f93 preparing 1.5.18 2021-09-07 12:39:24 +02:00
Tobias Hagemann
80b4aea7e0 updated dependencies 2021-09-07 12:38:39 +02:00
Armin Schrenk
bbb30ebe0f keep name of icon file 2021-09-03 12:54:24 +02:00
Armin Schrenk
a0fd6618a7 Change logic on how the config wrapper is injected 2021-09-03 12:25:26 +02:00
Armin Schrenk
09a2f76e15 remove startFail controller entirely 2021-09-03 12:02:45 +02:00
Armin Schrenk
775fbf4873 update cryptofs- and dokany-dependency 2021-09-03 11:44:10 +02:00
Armin Schrenk
5cdd2e006b more bug fixing in release workflow 2021-09-02 15:25:27 +02:00
Armin Schrenk
f187decf0a fix installer-ci bugs 2021-09-02 15:14:48 +02:00
Armin Schrenk
869407cded Win installer: use different icon file for Cryptomator files and make c9r/c9s file extensions non executing 2021-09-02 13:30:12 +02:00
Armin Schrenk
1ad6dbba64 preparing 1.5.17 2021-09-02 13:01:19 +02:00
Armin Schrenk
3a2420dd91 Add sha256 sum of release artifacts to release text 2021-08-31 16:02:46 +02:00
Armin Schrenk
bca920c75e Upload release dmg and msi aritfacts with full version string 2021-08-31 14:15:50 +02:00
Armin Schrenk
a457355a25 allow drive letters A and B as mount targets 2021-08-31 10:04:42 +02:00
Martin Beyer
947344e5bc remove border color, reduce default cursor size, enforce minWidth of 650 2021-08-30 17:13:46 +02:00
Armin Schrenk
cc6471840f Update build for mac installer:
* use correct mime type for vault metadata
* add icons file for cryptomator files
2021-08-30 15:58:23 +02:00
Martin Beyer
cf633d74d2 add extra regions to reset to cursor to the default (+coloring the borders red for debugging and testing) 2021-08-30 15:16:52 +02:00
Armin Schrenk
2f32ab1376 fix bug, where password is not saved to keychain 2021-08-30 13:19:40 +02:00
Armin Schrenk
460e6528bf Eagerly load vault config:
* wrap (re-)loading in new class
* assume existence of config in certain vault states
* deprecate classes which are not used anymore
2021-08-26 21:12:07 +02:00
Martin Beyer
348b015bdc reformat to use fxml to trigger resizing 2021-08-26 17:56:20 +02:00
Martin Beyer
903e022d29 change from LOG.debug "init..." to LOG.trace 2021-08-26 17:22:11 +02:00
Martin Beyer
e5f66281c2 centering window as before, renaming 2021-08-26 17:20:53 +02:00
Martin Beyer
21f45d43f7 remove dead code 2021-08-26 11:15:19 +02:00
Martin Beyer
72286de9fe minor string rewriting 2021-08-26 10:46:28 +02:00
Martin Beyer
981902409c calculate new position on display configuration change 2021-08-26 10:33:31 +02:00
Sebastian Stenzel
aef1bf821a fixed pluginDir path
thanks @purejava for noticing
[ci skip]
2021-08-25 11:57:40 +02:00
Martin Beyer
6b4ea9a9eb fix fullscreen binding 2021-08-25 11:31:29 +02:00
Sebastian Stenzel
e7b9f73516 Merge pull request #1759 from cryptomator/feature/plugin-loader 2021-08-24 19:28:59 +02:00
Martin Beyer
957640b1ba block moving and resizing in fullscreen 2021-08-24 19:21:53 +02:00
Martin Beyer
31ca102263 update position in settings when moving 2021-08-24 19:09:27 +02:00
Martin Beyer
7df028b0b8 add top, right, bottom and left resizer 2021-08-24 18:52:55 +02:00
Martin Beyer
03eebfe486 add double click on titleBar to min/maximize application 2021-08-24 18:03:55 +02:00
Martin Beyer
58d65c609f set the position on illegal position 2021-08-24 17:38:01 +02:00
Martin Beyer
b529764eb4 remove max width and max heigth 2021-08-24 17:37:15 +02:00
Sebastian Stenzel
ec9a4465eb add cryptomator.pluginDir environment variable 2021-08-24 16:35:07 +02:00
Sebastian Stenzel
e5509bd63f load certain services from jars located in plugin dir 2021-08-24 16:33:05 +02:00
Martin Beyer
4223d15c08 set stored window size to initial window size 2021-08-24 16:23:46 +02:00
Martin Beyer
396b541cd2 safe position settings 2021-08-24 15:36:10 +02:00
Cryptobot
a097a42a9b New Crowdin updates (#1681)
[ci skip]
2021-08-20 10:07:50 +02:00
Armin Schrenk
e811f5313d fixes #1755
use system property instead of package version
2021-08-19 12:23:00 +02:00
Armin Schrenk
b710fd33ce updating third party license file 2021-08-16 15:27:06 +02:00
Armin Schrenk
dd70984d07 Bump dependencies 2021-08-16 14:43:47 +02:00
Armin Schrenk
cf900429cd Merge branch 'develop' into release/1.6.0 2021-08-16 14:33:07 +02:00
Armin Schrenk
1e2b80d02b remove leftovers from autolock tab 2021-08-13 15:32:57 +02:00
Sebastian Stenzel
a6e28ca387 remove debug stuff
[ci skip]
2021-08-13 12:13:04 +02:00
Sebastian Stenzel
3e6acb2561 attempt to fix release 2021-08-13 11:53:33 +02:00
Sebastian Stenzel
32bd84d754 attempt to fix release 2021-08-13 11:23:59 +02:00
Sebastian Stenzel
2fcff5fb17 strip non-numerical suffix from version number 2021-08-13 10:52:07 +02:00
Sebastian Stenzel
7b8ddbd8d7 adjusted release action
[ci skip]
2021-08-13 10:35:01 +02:00
Armin Schrenk
f7ff2c1e80 patch release workflow 2021-08-12 15:43:16 +02:00
Armin Schrenk
8c7c09b613 Merge pull request #1744 from cryptomator/feature/installers
Build native installers via CI in main repository
2021-08-12 15:41:29 +02:00
Armin Schrenk
12720d67e8 Revert "windows installer: disallow downgrades, allow upgrades"
This reverts commit 4b9ae03bc2.
2021-08-12 15:07:53 +02:00
Armin Schrenk
d319b45fce add file associations for msi installer 2021-08-12 14:43:10 +02:00
Armin Schrenk
4b9ae03bc2 windows installer: disallow downgrades, allow upgrades 2021-08-12 11:04:16 +02:00
Armin Schrenk
b255996619 acticate release workflow on any tag 2021-08-11 18:16:16 +02:00
Armin Schrenk
16e1c6f8c9 create gpg signature for each release artifact 2021-08-11 17:40:44 +02:00
Armin Schrenk
410215b318 Run release workflow on tag pushes 2021-08-11 17:40:44 +02:00
Armin Schrenk
637c21c6cc Bug fix and clean up 2021-08-11 17:40:18 +02:00
Sebastian Stenzel
b4ee85f911 Merge branch 'feature/installers' into feature/installers-2
# Conflicts:
#	.github/workflows/release.yml
2021-08-11 17:21:29 +02:00
Sebastian Stenzel
d2aca07fc8 renamed workflow
[ci skip]
2021-08-11 17:15:12 +02:00
Armin Schrenk
42a49d9dce split test& compile and installer creation into two workflows:
* installers only created on manual trigger
* releases only drafted on tags
2021-08-11 13:06:29 +02:00
Armin Schrenk
87f4a9ba5b Allow manual build from any valid ref 2021-08-10 17:08:21 +02:00
Armin Schrenk
c0ee8ec3fc Allow manual worklfow triggering with invalid version 2021-08-10 16:35:10 +02:00
Tobias Hagemann
90381ee53e setting keychain path via env didn't seem to work 2021-08-10 09:53:31 +02:00
Tobias Hagemann
7527a8f018 keychain has to be actually used 2021-08-10 09:36:10 +02:00
Tobias Hagemann
ce348c0a63 using tmp keychain for notarization credentials instead of pw via stdin because it didn't work 2021-08-10 09:12:06 +02:00
Tobias Hagemann
558a81a80e fixing notarization step, apparently that was not how you run multi-line commands 2021-08-09 17:21:11 +02:00
Tobias Hagemann
95d8951da0 provide macos notarization pw via stdin 2021-08-06 08:47:55 +02:00
Sebastian Stenzel
1bbc6697ac attempt to use v1 instead of v1.1.0
after creating a v1 branch for the action (see https://github.community/t/version-numbering-for-actions/16307/5)
2021-08-06 08:07:12 +02:00
Tobias Hagemann
8a387d040e added notarization step to mac-dmg 2021-08-05 14:52:48 +02:00
Armin Schrenk
2ea2a4ecec clean up 2021-08-04 11:41:56 +02:00
Armin Schrenk
c19a92733c remove obligatory win desktop shortcut from installer 2021-08-04 11:41:18 +02:00
Sebastian Stenzel
2290d47f0e add descriptive name to signature 2021-08-04 11:27:31 +02:00
Sebastian Stenzel
9c7b86f270 try a simpler way to set an environment variable 2021-08-04 08:39:03 +02:00
Armin Schrenk
69dfc00a73 bloody gud damm typo 2021-08-03 18:20:52 +02:00
Armin Schrenk
5edbfa1967 more pwsh fixes 2021-08-03 18:00:25 +02:00
Armin Schrenk
0aef7c4a6a use call operator to start second command 2021-08-03 17:41:13 +02:00
Armin Schrenk
e8a163b36d default shell is bash, not pwsh 2021-08-03 17:16:10 +02:00
Armin Schrenk
19d7aa09f3 use multiline command for msi job 2021-08-03 16:50:23 +02:00
Armin Schrenk
0e7e58d144 restore accidentally removed file in 8764c81 2021-08-03 15:51:15 +02:00
Armin Schrenk
8764c814d9 Adjust windows installer build:
* add branding
* only link third party drivers, don't ship'em
* add license
2021-08-03 14:03:36 +02:00
Sebastian Stenzel
fa5248c781 fix weird fxml bug with spinner, remove redundant functionality from autoanimator 2021-07-30 14:03:45 +02:00
Sebastian Stenzel
8896723ff2 fix broken passwordsMatchAndSufficientProperty which didn't update more than once 2021-07-28 16:57:54 +02:00
Armin Schrenk
9b57c8fc71 Animate spinner in health check 2021-07-26 18:55:28 +02:00
Armin Schrenk
c81ef1c109 Feature/simple spinning (#1728)
* Define discrete rotation animation
* New class FontAwesome5Spinner extending FontAwesome5IconView, animated
* New class AutoAnimator to play Animation on a Node conditionally
* Replace all occurences of Progress Indicator with FontAwesome5Spinner
* Spin spinner icon in processing vault state
* remove undocumented progress indicator styling
2021-07-26 18:40:55 +02:00
Armin Schrenk
2aa17edd8c Merge pull request #1712 from cryptomator/feature/improve-health-check
Refactor health check to improve UX
2021-07-26 18:33:40 +02:00
Armin Schrenk
2d5a65b953 removing dummy checks 2021-07-26 18:09:42 +02:00
Armin Schrenk
37ff638361 Apply more code review suggestion:
* use more specific localization key
* decouple internal localized error message from external localization
2021-07-26 16:57:24 +02:00
Armin Schrenk
4672a23344 Apply suggestions from code review regarding localization. [ci skip]
Co-authored-by: Tobias Hagemann <tobias.hagemann@skymatic.de>
2021-07-26 16:03:28 +02:00
Armin Schrenk
d2a3ce2474 Catch UnlockCancelled exception during unlock of health check 2021-07-26 12:41:48 +02:00
Armin Schrenk
65b4fef7e8 Further adjusting checkstate icon view style 2021-07-26 10:04:50 +02:00
Sebastian Stenzel
2f1d91ae9d remove read-only flag from .exe before signing it 2021-07-24 00:22:52 +02:00
Sebastian Stenzel
56b80be22c Update build.yml 2021-07-23 16:01:05 +02:00
Sebastian Stenzel
e7266070a0 use the most awesome codesign action 2021-07-23 15:11:10 +02:00
Sebastian Stenzel
d2f4927634 first attempt to codesign windows app 2021-07-23 14:17:37 +02:00
Tobias Hagemann
b4806daca6 maybe fixing create-dmg 2021-07-23 11:49:25 +02:00
Sebastian Stenzel
279f82415e install create-dmg via homebrew 2021-07-23 10:54:46 +02:00
Sebastian Stenzel
89688b7d18 first attempt to create a .dmg file 2021-07-23 10:35:45 +02:00
Sebastian Stenzel
9fd9f94823 add .bat file for easier debugging on console
(see https://bugs.openjdk.java.net/browse/JDK-8253461)
2021-07-23 09:27:16 +02:00
Sebastian Stenzel
fd4bd66ac4 Merge branch 'develop' into feature/installers 2021-07-23 09:24:07 +02:00
Sebastian Stenzel
bd87defe29 Resiliency fixes for missing integrations-api implementation 2021-07-23 09:23:08 +02:00
Sebastian Stenzel
33a6158ed7 fix profile name (so integrations-win is included) 2021-07-23 09:04:47 +02:00
Sebastian Stenzel
d46b04c025 rename buildkit artifacts for easier sort-by-platform 2021-07-23 08:41:48 +02:00
Sebastian Stenzel
da1e619bbb MSI metadata adjustments 2021-07-23 08:19:28 +02:00
Sebastian Stenzel
fe489a9911 add contrib files, add metadata to MSI 2021-07-23 08:10:58 +02:00
Sebastian Stenzel
6cb0688c65 try to point jpackage to correct dir 2021-07-22 16:52:42 +02:00
Sebastian Stenzel
b6feb35642 add name required for building MSI 2021-07-22 16:50:11 +02:00
Sebastian Stenzel
fe7c9d5a92 build MSI using jpackage 2021-07-22 16:37:00 +02:00
Sebastian Stenzel
5573da169e shell-agnostic "find all jars" 2021-07-22 15:28:19 +02:00
Sebastian Stenzel
2c0bcc40a2 run codesign in zsh 2021-07-22 15:24:32 +02:00
Sebastian Stenzel
065f32fff0 cleanup 2021-07-22 15:14:33 +02:00
Sebastian Stenzel
fbace5bd52 SIGN ALL!!! 2021-07-22 15:04:53 +02:00
Sebastian Stenzel
7dad145581 also sign binaries in mods/*.jar 2021-07-22 14:50:19 +02:00
Sebastian Stenzel
e85a989e44 minor adjustments
[ci skip]
2021-07-22 14:36:02 +02:00
Sebastian Stenzel
3563ed3394 restructured dist/ dir 2021-07-22 14:09:06 +02:00
Sebastian Stenzel
62c81716c9 adjust paths 2021-07-22 13:56:43 +02:00
Sebastian Stenzel
eddb9f1d85 attempt to build mac app 2021-07-22 13:48:34 +02:00
Sebastian Stenzel
fc4c98601c wtf 2021-07-22 13:00:10 +02:00
Sebastian Stenzel
2a40282d73 apparently actions/download-artifact untars automatically? 2021-07-22 12:54:04 +02:00
Sebastian Stenzel
fee6e2fb46 debug download-artifacts / untar steps 2021-07-22 12:46:19 +02:00
Sebastian Stenzel
8a644c575a fixing tar path 2021-07-22 12:27:41 +02:00
Sebastian Stenzel
9faf7e9b81 tar before upload to keep permissions 2021-07-22 12:09:57 +02:00
Sebastian Stenzel
c7c910f738 fixing path, fixing variable 2021-07-22 08:42:07 +02:00
Armin Schrenk
2edbd2a7e2 Set correct styleclass for a skipped or cancelled check for right coloring 2021-07-21 18:04:41 +02:00
Sebastian Stenzel
aa7a4dbda9 further adjustments to new directory structure 2021-07-21 12:57:45 +02:00
Sebastian Stenzel
81ab8b7803 adjust AppImage build instructions to new jpackage directory structure 2021-07-21 12:39:51 +02:00
Sebastian Stenzel
27a7c8323b dedup 2021-07-21 12:30:23 +02:00
Sebastian Stenzel
b5fcfec4a4 further CSS fixes (TODO glyph-icon classes are misused frequently to simply set a fill...) 2021-07-21 12:26:10 +02:00
Sebastian Stenzel
d3cf199741 cleanup 2021-07-21 11:58:57 +02:00
Sebastian Stenzel
9f7c69388c make the view depend on state, not on another view 2021-07-21 11:36:41 +02:00
Sebastian Stenzel
7a1b1292ae fix css instead of defining style from within code 2021-07-21 09:57:56 +02:00
Sebastian Stenzel
c193e16256 "debug logging" 2021-07-20 18:55:32 +02:00
Sebastian Stenzel
880a342f4e I've given up. Just have to deal with the artifact always containing a directory. 2021-07-20 18:33:40 +02:00
Sebastian Stenzel
066f24a19f I repeat: Please do not include parent dir in artifact 2021-07-20 18:04:44 +02:00
Sebastian Stenzel
339be371cd upload contents of appdir without the "Cryptomator[.app]" itself 2021-07-20 17:54:03 +02:00
Sebastian Stenzel
45777b12cd add icon to linux appdir 2021-07-20 17:51:07 +02:00
Sebastian Stenzel
a1bec81429 use three-segment app-version for mac (as per CFBundleVersion spec) 2021-07-20 17:31:38 +02:00
Sebastian Stenzel
559f3116f9 create app dir in matrix build 2021-07-20 17:08:08 +02:00
Sebastian Stenzel
1a6877b9ff fix metadata outputs 2021-07-20 15:36:35 +02:00
Sebastian Stenzel
bae9541e8c renamed job
[ci skip]
2021-07-20 15:32:31 +02:00
Sebastian Stenzel
d5588b9739 determine revision number via git rev-list --count HEAD 2021-07-20 15:31:23 +02:00
Sebastian Stenzel
a46bfd5a65 use correct JDK 2021-07-20 14:17:43 +02:00
Sebastian Stenzel
17cae18216 fix escaping 2021-07-20 14:12:01 +02:00
Sebastian Stenzel
18305ca2d6 build windows app dir 2021-07-20 13:51:03 +02:00
Sebastian Stenzel
8d17042456 updated standalone build.sh
[ci skip]
2021-07-20 12:33:35 +02:00
Armin Schrenk
4a8dbfbc15 Code review suggestion
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2021-07-20 12:17:08 +02:00
Armin Schrenk
6ed7ed61b3 enrich DummyChecks with some mock results 2021-07-20 12:14:06 +02:00
Armin Schrenk
ffe4201921 Add tooltip for fix icon. 2021-07-20 12:02:50 +02:00
Sebastian Stenzel
be44dcd569 added standalone build.sh for manually building AppImages 2021-07-20 10:47:42 +02:00
Sebastian Stenzel
24188b3892 Merge branch 'develop' into feature/installers 2021-07-20 00:28:08 +02:00
Sebastian Stenzel
d7c70ed841 install non-modular linux keychain libs to libs instead of mods 2021-07-20 00:27:49 +02:00
Sebastian Stenzel
01a3d16007 adjust launcher sh 2021-07-20 00:23:40 +02:00
Sebastian Stenzel
0a421ab9db download runtime to AppDir/runtime 2021-07-20 00:06:20 +02:00
Sebastian Stenzel
64fc11eb5f fixing AppImage build 2021-07-20 00:01:42 +02:00
Sebastian Stenzel
6a8f975955 build appimage 2021-07-19 23:57:26 +02:00
Sebastian Stenzel
0b6529c75d next attempt to create a runtime image 2021-07-19 23:39:12 +02:00
Sebastian Stenzel
b8642677ba run jlink with default shell on each OS
(bash on mac causes problems with variable substitution)
2021-07-19 23:32:58 +02:00
Sebastian Stenzel
039044ed1a hard code required modules for now 2021-07-19 23:17:20 +02:00
Sebastian Stenzel
c79c7459c6 create custom runtime image 2021-07-19 23:10:28 +02:00
Sebastian Stenzel
8394aa12b5 Merge branch 'develop' into feature/installers 2021-07-19 22:41:06 +02:00
Sebastian Stenzel
7efdc41edc removed unused requirement (related to #1589) 2021-07-19 22:40:37 +02:00
Sebastian Stenzel
f1f55fc0dd include crytomator-*.jar in mods dir 2021-07-19 22:03:20 +02:00
Sebastian Stenzel
b7012d7b83 removed duplicate key 2021-07-19 21:53:12 +02:00
Sebastian Stenzel
f0cee47aea let actions/upload-artifact assemble the buildkit 2021-07-19 21:50:07 +02:00
Sebastian Stenzel
edc06898fb added missing checkout step 2021-07-19 21:31:52 +02:00
Sebastian Stenzel
45d9cd601a create buildkit via CI 2021-07-19 21:20:27 +02:00
Armin Schrenk
3df688236d minor ui fixes 2021-07-19 18:03:28 +02:00
Armin Schrenk
f907e2d033 delocalize check names 2021-07-19 16:45:10 +02:00
Armin Schrenk
38c4b3c4a3 Merge branch 'develop' into feature/improve-health-check
# Conflicts:
#	src/main/java/org/cryptomator/ui/health/HealthCheckTask.java
#	src/main/java/org/cryptomator/ui/health/ReportWriter.java
#	src/main/resources/fxml/health_check_list.fxml
#	src/main/resources/fxml/vault_options.fxml
2021-07-19 16:44:43 +02:00
Sebastian Stenzel
6da26b09b6 Merge pull request #1688 from cryptomator/feature/modular
Add module-info.java
2021-07-19 16:08:45 +02:00
Sebastian Stenzel
1ab4aa94b3 Merge branch 'develop' into feature/modular 2021-07-19 15:54:02 +02:00
Sebastian Stenzel
397061a6e7 dependency update 2021-07-19 15:52:40 +02:00
Tobias Hagemann
8d9dc3bd90 Update README.md
[ci skip]
2021-07-17 12:35:50 +02:00
Sebastian Stenzel
1ccce71abc Revert "no need for wysiwyg in this plain list"
This reverts commit 0db2aac7b5.
2021-07-16 12:43:01 +02:00
Sebastian Stenzel
0db2aac7b5 no need for wysiwyg in this plain list
[ci skip]
2021-07-16 10:14:41 +02:00
Sebastian Stenzel
79a2d00eb6 adjusted bug report templates
[ci skip]
2021-07-16 10:11:14 +02:00
Armin Schrenk
747ebaea7c localize health check 2021-07-15 16:50:20 +02:00
Armin Schrenk
97c52d788c fit result list to window size 2021-07-15 12:55:43 +02:00
Armin Schrenk
3f76a04b38 Refactor CheckListCell to display ellipsis rather than allow horizontal scrolling 2021-07-15 12:48:39 +02:00
Armin Schrenk
8d9c33f7df Relayout health start 2021-07-15 11:59:42 +02:00
Sebastian Stenzel
44cadce23d Merge branch 'develop' into feature/modular 2021-07-15 11:58:44 +02:00
Sebastian Stenzel
9eaf700b87 Merge pull request #1719 from cryptomator/feature/1589-unix-sockets
Changed IPC to Unix domain sockets, fixes #1589, fixes #1716
2021-07-15 11:42:46 +02:00
Sebastian Stenzel
8271428d64 cleanup 2021-07-15 08:36:37 +02:00
Sebastian Stenzel
fe84783fac add shutdown hook to make sure ipc socket gets cleaned up even in event of fire 2021-07-14 17:54:08 +02:00
Armin Schrenk
a71e344036 ui adjustments & code cleanup 2021-07-14 17:33:29 +02:00
Sebastian Stenzel
7d3678dc36 adjusted logging 2021-07-14 17:23:08 +02:00
Sebastian Stenzel
de07c0aa9a Merge branch 'develop' into feature/1589-unix-sockets
# Conflicts:
#	src/main/java/org/cryptomator/launcher/Cryptomator.java
2021-07-14 17:22:16 +02:00
Sebastian Stenzel
b47beabc2f startup time optimization 2021-07-14 17:17:25 +02:00
Sebastian Stenzel
f8c6191588 only attempt client connection to non-regular-file nodes 2021-07-14 15:41:16 +02:00
Sebastian Stenzel
87d481ccc3 yet another attempt to skip client connection attempts for non-existing socket files 2021-07-14 15:07:13 +02:00
Sebastian Stenzel
03182ae4e0 fixed typos 2021-07-14 12:46:17 +02:00
Sebastian Stenzel
c10a909ea4 attempt to fix socket on Windows 2021-07-14 12:45:09 +02:00
Sebastian Stenzel
e9461b4fc7 fixed launcher scripts 2021-07-13 18:52:00 +02:00
Sebastian Stenzel
d82a91f896 give thread a good name 2021-07-13 18:51:48 +02:00
Sebastian Stenzel
c87264f653 Merge branch 'develop' into feature/1589-unix-sockets 2021-07-13 18:41:24 +02:00
Sebastian Stenzel
6eacc6a9d3 fix premature shutdown (e.g. on ⌘Q on macOS) 2021-07-13 18:41:03 +02:00
Sebastian Stenzel
80874ea199 fixed test 2021-07-13 18:21:49 +02:00
Sebastian Stenzel
755eb70ae8 Use UNIX Sockets for IPC 2021-07-13 18:18:38 +02:00
Armin Schrenk
21946ae6aa Fill health start fail screen with information 2021-07-13 16:55:21 +02:00
Armin Schrenk
102ab93dbd Add introductory screen to check view if main run is not started 2021-07-13 15:52:53 +02:00
Armin Schrenk
e40ce62877 Remove count of warnings/criticals from GUI 2021-07-13 12:03:34 +02:00
Armin Schrenk
05f5856d66 adjust fix workflow:
* add icon for failed fix
* add style class for fix iconView
* replace progress indicator by spinner icon
2021-07-13 12:02:29 +02:00
Armin Schrenk
6292ad059c set correct style class for all used check state icons 2021-07-12 20:03:14 +02:00
Armin Schrenk
c6a79de6f3 fixing small problems:
* unscoped controller
* gc'ed bindings
2021-07-12 14:57:04 +02:00
Armin Schrenk
f4c8fd26d3 Same window size for all screens, fix check list size 2021-07-12 11:21:56 +02:00
Armin Schrenk
c0d552da92 Add CheckState icon to check detail view 2021-07-12 10:34:36 +02:00
Armin Schrenk
720478c2f4 Further adjustment to workflow:
* bind modality to vault options window
* open unlock in a new window and close it afterwards
2021-07-09 14:47:07 +02:00
Armin Schrenk
cb5d628cfc Refactor health check start:
* replace health tab in options by a button in gernal tab
* move info text of health tab into start controller
* replace lazy loading of config in controller by loading in dagger module
* add new scene+controller for failed config loading
* don't close options window on health check start
2021-07-09 13:51:54 +02:00
Armin Schrenk
8ecb78abec use fixed width for check state icon in list 2021-07-08 16:01:03 +02:00
Armin Schrenk
a9db8eb0d5 Small UI adjustments 2021-07-08 16:00:36 +02:00
Armin Schrenk
f61073d1c6 adding a result to list needs to be done on FX thread 2021-07-08 15:30:36 +02:00
Armin Schrenk
419eb93cb3 Apply code suggestions
* use Futures done() method
* single deque interaction during cancel()
* use enum compareTo method
2021-07-08 10:59:41 +02:00
Armin Schrenk
b4a530b2eb Apply suggestions from review 2021-07-07 15:36:10 +02:00
Armin Schrenk
0395ef2b44 remove glyph icon styleclass from result icon view 2021-07-07 13:00:30 +02:00
Armin Schrenk
19c61ffea8 Further Refactoring:
* simplyify check executor by using Fx TaskAPI
*  reduce number of check states
2021-07-07 12:54:43 +02:00
Armin Schrenk
fd12116ce7 cleanup & renaming 2021-07-06 16:40:38 +02:00
Armin Schrenk
6250f3d89c Refactor internal processing of HealthChecks:
* replace HealthCheckTask by Check class (not Wrapping TaskAPI)
* replace Task-API and BatchService by CheckExecutor (using CompletionStage-API)
* adjust other classes
2021-07-06 16:33:17 +02:00
Sebastian Stenzel
cf7a2db7ec Merge branch 'develop' into feature/modular 2021-07-06 13:19:07 +02:00
Zane Campbell
97222d3d67 Updated README.md
Co-authored-by: Zane Campbell <development@zappcodestudios.com>
2021-07-06 08:52:16 +02:00
Sebastian Stenzel
172593517a show warning glyph in check list, if check contains non-good results 2021-06-30 17:29:59 +02:00
Sebastian Stenzel
16c64a20e3 reordered
[ci skip]
2021-06-30 17:28:14 +02:00
Sebastian Stenzel
d6f8ab13aa prevent weird window resizing 2021-06-30 16:34:57 +02:00
Sebastian Stenzel
d92a8e7980 class not meant to be part of DI graph
[ci skip]
2021-06-30 16:34:45 +02:00
Sebastian Stenzel
374493e8b4 implemented async sequential fix queue 2021-06-30 14:15:23 +02:00
Sebastian Stenzel
f3953c2fb1 wrap DiagnosticResult in Result in order to track the state of applied fixes 2021-06-30 14:13:05 +02:00
Sebastian Stenzel
5c9c336a33 allow setting glyph to null 2021-06-30 14:08:06 +02:00
Sebastian Stenzel
6b113f26ba reduce Platform.runLater() invokations 2021-06-29 16:26:16 +02:00
Sebastian Stenzel
dbef1466c1 read vault config async 2021-06-29 16:07:46 +02:00
Sebastian Stenzel
6b0d8a48c2 added temporary dummy health checks for testing purposes
[ci skip]
2021-06-29 14:05:01 +02:00
Sebastian Stenzel
c7b9735f13 simplify task selection code 2021-06-29 14:04:32 +02:00
Armin Schrenk
a96115ecd6 Feature: revamp health workflow init (#1695)
* Add health tab to vault options:
* health tool is started from there
* health tool closes old Window and creates new one
* added info and remarks about health tool
* adds confirmation checkbox before starting health tool
* close vault options window when starting health workflow
* Remove AutoLock tab, move options to general tab

Co-authored-by: Snyk bot <snyk-bot@snyk.io>
Co-authored-by: Tobias Hagemann <tobias.hagemann@skymatic.de>
Co-authored-by: Sebastian Stenzel <sebastian.stenzel@skymatic.de >
2021-06-29 09:57:45 +02:00
Sebastian Stenzel
c6aceb3e59 don't setPassphraseStored to true after changing pw, when it isn't actually stored 2021-06-28 18:52:34 +02:00
Sebastian Stenzel
cadd071ebd update cryptofs 2021-06-28 18:42:10 +02:00
Sebastian Stenzel
b64264ef8b updated 3rd party licenses
[ci skip]
2021-06-26 17:49:18 +02:00
Sebastian Stenzel
429ca6cfd0 Merge branch 'develop' into feature/modular
# Conflicts:
#	pom.xml
#	src/main/resources/license/THIRD-PARTY.txt
2021-06-26 17:48:13 +02:00
Sebastian Stenzel
46691f057e dependency update 2021-06-26 17:42:40 +02:00
Sebastian Stenzel
f1b40e32a7 dependency update 2021-06-26 17:25:00 +02:00
Snyk bot
b4a97803ff [Snyk] Security upgrade org.cryptomator:webdav-nio-adapter from 1.2.2 to 1.2.3 (#1698)
* fix: pom.xml to reduce vulnerabilities

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JAVA-ORGECLIPSEJETTY-1313686

* adjusted suppression config

* bump webdav version

Co-authored-by: Sebastian Stenzel <sebastian.stenzel@gmail.com>
2021-06-24 09:58:47 +02:00
JaniruTEC
8ac253504f Merge pull request #1697 from cryptomator/refactoring/spellchecking
Enabled spellchecking, added dictionaries, fixed spelling mistakes
2021-06-23 22:49:57 +02:00
JaniruTEC
135b61070d Fixed misspelled key 2021-06-23 22:48:18 +02:00
Armin Schrenk
903f55a24f improve health check gui:
* convert milliseconds to hours, minutes and seconds
* spelling
* adjust to dark theme
2021-06-22 17:17:28 +02:00
Sebastian Stenzel
94e26da693 Re-enable FUSE
This reverts commit 0e924e7429.
2021-06-22 17:16:36 +02:00
Sebastian Stenzel
458a466c7f updated and excluded dependencies 2021-06-18 15:17:38 +02:00
Sebastian Stenzel
4f3cd2f47c replace JSR-305 Nullable annotation 2021-06-18 15:16:57 +02:00
Julian Raufelder
f2fadafa66 Fix snyk.io badge in README due to switch to single maven module 2021-06-16 16:11:31 +02:00
Julian Raufelder
0676732796 Merge pull request #1693 from cryptomator/feature/sign-src-tarball
Sign tarball in release using GPG
2021-06-16 12:54:37 +00:00
Julian Raufelder
08cbfd47ea Prefix signature of tarball in release with cryptomator
To apply convention of the other release assets
2021-06-16 14:20:52 +02:00
Julian Raufelder
b15cda260e Apply suggestions from code review
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2021-06-16 12:13:49 +00:00
Julian Raufelder
74355b128a Sign tarball in release using GPG 2021-06-16 13:49:26 +02:00
JaniruTEC
000f27e166 Fixed spelling mistakes that required API breaking changes 2021-06-12 01:56:15 +02:00
JaniruTEC
e1d83c996e Fixed independent spelling mistakes
Added @SuppressWarnings("SpellCheckingInspection") to binary data (e.g. keys) or deliberately misspelled strings
2021-06-12 01:45:31 +02:00
JaniruTEC
0dc401883f Enabled proofreading
Removed dict_* files from .gitignore
Added dict_de.xml
Added dict_project.xml
2021-06-12 01:35:36 +02:00
JaniruTEC
364d59fdf7 Added ".idea/**/shelf" to .gitignore
See: 991e760c1c/Global/JetBrains.gitignore (L9)
2021-06-11 18:28:25 +02:00
Sebastian Stenzel
be6b6e4541 adjusted launcher scripts to use the module path 2021-06-10 10:35:02 +02:00
Sebastian Stenzel
6f3c90465c adjust fxml loading to modular setup 2021-06-09 21:25:00 +02:00
Sebastian Stenzel
0e924e7429 disable fuse for now 2021-06-09 21:23:40 +02:00
Sebastian Stenzel
52940d6a19 add module-info
[ci skip] due to split package in jnr-fuse
2021-06-09 18:37:58 +02:00
Sebastian Stenzel
7f4a9c13dc update easybind 2021-06-09 18:33:08 +02:00
Sebastian Stenzel
210050d9d5 update cryptofs 2021-06-09 18:15:39 +02:00
Sebastian Stenzel
f10d2b713b made tests public to avoid reflection and "open modules"
see also https://issues.apache.org/jira/browse/SUREFIRE-1909
2021-06-09 10:14:08 +02:00
JaniruTEC
f9545b5532 Refactored MPC priority 2021-06-09 01:16:51 +02:00
Sebastian Stenzel
58376bddef Merge pull request #1685 from cryptomator/feature/provider-agnostic-keychains
Remove all references to specific keychain access providers
2021-06-08 14:42:56 +02:00
Sebastian Stenzel
72e2f64a68 show provided display name 2021-06-07 16:24:42 +02:00
Sebastian Stenzel
48ad74715e * store class name of selected keychain in settings.json
* prepared GeneralPreferencesController to use a provider-supplied display name
2021-06-07 15:17:58 +02:00
Ralph Plawetzki
2e1f33ca82 Fix instructions for building (#1682) 2021-06-06 21:56:28 +02:00
Cryptobot
2d3f4d1c03 New Crowdin updates (#1678)
[ci skip]

Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2021-06-05 09:11:48 +02:00
Sebastian Stenzel
04c13ba242 New Crowdin updates (#1677)
[ci skip]

Co-authored-by: Cryptobot <cryptobot@users.noreply.github.com>
2021-06-04 21:00:56 +02:00
Cryptobot
b70033e777 Update Crowdin configuration file 2021-06-04 20:48:48 +02:00
Sebastian Stenzel
fafb7b229f update i18n config
[ci skip]
2021-06-04 20:29:15 +02:00
Sebastian Stenzel
fef5be95ec Merge branch 'develop' into release/1.6.0
# Conflicts:
#	main/buildkit/pom.xml
#	main/commons/pom.xml
#	main/launcher/pom.xml
#	main/pom.xml
#	main/ui/pom.xml
2021-06-04 20:24:33 +02:00
Sebastian Stenzel
7fac6da448 Single maven module (#1676)
combined all sources into single maven module
2021-06-04 20:09:10 +02:00
Sebastian Stenzel
72bd9c1fdf New Crowdin updates (#1643)
[ci skip]
2021-06-04 15:44:48 +02:00
Sebastian Stenzel
39b8e25f4f Merge pull request #1596 from eas5/test_improvement
Improved grouped assertions
2021-06-04 15:42:16 +02:00
Sebastian Stenzel
c8fa7f1edd fix NPE in autolocker, when reading "lastActivity" before any activity happened 2021-06-04 09:40:23 +02:00
Sebastian Stenzel
95b98b8a36 Merge pull request #1603 from cryptomator/feature/autoLock
fixes #274
2021-06-02 16:24:26 +02:00
Sebastian Stenzel
005d2a82fe use stopwatch item for autolock tab 2021-06-02 16:22:19 +02:00
Sebastian Stenzel
820f7989d0 remove debug log statement
[ci skip]
2021-06-02 16:10:42 +02:00
Sebastian Stenzel
751a6079c3 use explicit imports
[ci skip]
2021-06-02 16:09:23 +02:00
Sebastian Stenzel
9be95efd10 store autolock time in seconds instead of minutes 2021-06-02 16:08:46 +02:00
Sebastian Stenzel
8f8fa0248c converted lock after "time" to "idle time" 2021-06-02 15:53:57 +02:00
Sebastian Stenzel
cd7acea54e Use of NumericTextField 2021-06-02 14:52:27 +02:00
Sebastian Stenzel
18152e4f3d Merge branch 'develop' into feature/autoLock 2021-06-02 14:31:28 +02:00
Ralph Plawetzki
7b689c6b78 Keychain is locked (#1550)
Fixes #1526

Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
Co-authored-by: Sebastian Stenzel <sebastian.stenzel@gmail.com>
2021-06-02 14:24:51 +02:00
Armin Schrenk
9fce262acb Merge branch 'develop' into release/1.6.0 2021-06-01 18:21:04 +02:00
Armin Schrenk
1159681824 Merge pull request #1615 from cryptomator/feature/sanitizer
Add Vault Health Check

Fixes #312 and fixes #1224.
2021-06-01 18:09:22 +02:00
Armin Schrenk
c868ac32cc Change localized text and tweak ui 2021-06-01 18:01:54 +02:00
Sebastian Stenzel
f85f953668 Bind countOfWarnSeverity and countOfCritSeverity to list 2021-06-01 15:01:23 +02:00
Armin Schrenk
5185df631d rather add functionality to formattedLabel class than to extend it 2021-06-01 13:22:56 +02:00
Armin Schrenk
617feec111 deactivate fix button 2021-06-01 13:14:31 +02:00
Armin Schrenk
eb196165c5 move healthcheck button to vault options 2021-06-01 11:53:33 +02:00
Armin Schrenk
8c37ab3675 Closes #961 2021-06-01 10:45:48 +02:00
Armin Schrenk
7eaade1555 Depeding on state of selected task, show appropiate status text in check detail view 2021-06-01 10:29:41 +02:00
Armin Schrenk
186c129a30 Replace stub check detail description with info about check duration and count of warnings and critical errors 2021-05-31 15:28:30 +02:00
Armin Schrenk
f74b9d3347 Remove Scope 2021-05-26 15:50:50 +02:00
Armin Schrenk
6038559172 Localization and small ui fixes 2021-05-26 15:50:03 +02:00
Armin Schrenk
98a899c7e2 scope checklist cell and properly update graphic property 2021-05-25 13:21:13 +02:00
Armin Schrenk
783c8718c1 add localization for health check names 2021-05-25 13:20:18 +02:00
Armin Schrenk
b47382811f apply ugly workaround for new vault config loading 2021-05-25 12:37:29 +02:00
Armin Schrenk
62f279b9f7 Merge branch 'develop' into feature/sanitizer 2021-05-25 11:16:27 +02:00
Armin Schrenk
ab961f1a8b update thrid party licences 2021-05-25 11:16:17 +02:00
Armin Schrenk
9562db7e13 Closes 1659 2021-05-25 11:10:03 +02:00
Armin Schrenk
1ca2e029dc method loadVaultConfig() throws exception instead of returning optional (#1661) 2021-05-21 18:51:49 +02:00
Sebastian Stenzel
944e3e6c50 placeholder: use identifier to look up human-readable names from ResourceBundle instead of if/elsing on classes
(e.g. `resourceBundle.getString(identifier() + ".name")`)

TODO @infeo
2021-05-21 17:55:39 +02:00
Sebastian Stenzel
e134d2f422 keep more ui code in fxml 2021-05-21 17:48:20 +02:00
Sebastian Stenzel
04e5170403 * Made DiagnosticResultAction a "pseudo-singleton" that consumes diagnostic results
* renamed FxmlFile.HEALTH_CHECK to match fxml file name
* added missing DI scopes
* simplified cell layout
2021-05-21 17:47:42 +02:00
Armin Schrenk
ea008df9f7 Add error screen to vault check start screen 2021-05-21 16:25:37 +02:00
Armin Schrenk
e25dfaad35 clean up 2021-05-21 15:59:43 +02:00
Armin Schrenk
e98f92c63f Only use CheckTask title in UI instead of HealthCheck::identifier 2021-05-21 15:56:32 +02:00
Armin Schrenk
85b761a9d7 show error screen when unable to write report 2021-05-21 15:29:14 +02:00
Armin Schrenk
be8dcd4dc4 remove obsolete TODOs 2021-05-21 13:41:19 +02:00
Armin Schrenk
c01c405f20 add select all checkbox 2021-05-21 13:16:14 +02:00
Armin Schrenk
b4f268f551 more ui & clean up 2021-05-21 13:15:51 +02:00
Armin Schrenk
21f9e72cc5 preselect correct check in check screen 2021-05-21 12:48:58 +02:00
Armin Schrenk
4845984a35 ui sugar
* show correct name for health check tasks
* some padding
* resize window when run button is hit
2021-05-21 12:45:00 +02:00
Armin Schrenk
b6f5ddaf30 Only show button when severity is WARN 2021-05-21 12:40:44 +02:00
Armin Schrenk
1abf0e1bfa Replace result table by result list 2021-05-21 12:00:46 +02:00
Armin Schrenk
a8364a8c1a show directory containing exported health report 2021-05-20 16:52:28 +02:00
Armin Schrenk
13c95868fa fix report writer. Ignore not run tests 2021-05-20 16:46:34 +02:00
Armin Schrenk
85ff7542f1 rework gui to be more wizard like:
* show first only checkbox list of checks and single run button
* then show list of check run status with results
2021-05-20 16:35:37 +02:00
Armin Schrenk
432be6dd80 more ui alignments 2021-05-19 13:18:54 +02:00
Armin Schrenk
ca0402aaf0 clear styleclass of icon view when content of ResultSeverityCell changes. 2021-05-19 12:38:04 +02:00
Armin Schrenk
c7ef0056f9 let UI take space if window size is increased 2021-05-19 09:47:38 +02:00
Armin Schrenk
cf13311665 add style class to used icon in result view 2021-05-19 09:32:55 +02:00
Armin Schrenk
a7133dbebe Add icon to severity column 2021-05-18 17:12:37 +02:00
Armin Schrenk
168f9b9fb9 fix report writer 2021-05-18 16:57:25 +02:00
Armin Schrenk
2b332c3831 Add column with action button 2021-05-18 16:53:48 +02:00
Armin Schrenk
66e3625a0b Wrap diagnostic result in object to prepare it for possible fix action 2021-05-18 16:49:39 +02:00
Armin Schrenk
20f88e203a simplification and cleanup 2021-05-18 13:40:56 +02:00
Armin Schrenk
66a8dc9811 Revert d2680b9857 2021-05-18 13:36:00 +02:00
Armin Schrenk
9d89efc98c Unify interface:
* move all buttons to one button bar
* switch between runAll and runSelected, depending on list selection
* add a little localization
2021-05-18 09:09:53 +02:00
Armin Schrenk
dfbe017316 Partially revert 8e1be4c 2021-05-18 08:47:40 +02:00
Armin Schrenk
d2680b9857 Rename controller and fxml file which represents the whole health check screen 2021-05-17 13:06:28 +02:00
Armin Schrenk
8e1be4c67b remove redundant property, fix logic error 2021-05-17 12:49:08 +02:00
Armin Schrenk
749e0ac02d disable export-button as long as no batch run is finished 2021-05-17 12:40:29 +02:00
Armin Schrenk
a2ad7d69ab Simplify password creation (#1646)
* Remove the password properties and directly access password fields from included fxml files
* wipe the password fields when closing a window
2021-05-17 10:18:10 +02:00
Sebastian Stenzel
a47c05c87d hide/disable elements if not relevant in current state 2021-05-10 15:56:46 +02:00
Sebastian Stenzel
6b871e56c8 hide results until task is started 2021-05-10 15:38:52 +02:00
Sebastian Stenzel
40dbc0ba48 cleanup 2021-05-10 15:38:37 +02:00
Sebastian Stenzel
2e52afed51 write report synchronously, reducing complexity 2021-05-10 13:39:46 +02:00
Sebastian Stenzel
64d54133f8 split up check view:
- checkListController is responsible for selecting and (batch)running checks
- checkDetailController is responsible for displaying results
2021-05-07 15:51:47 +02:00
Sebastian Stenzel
ac289cc3f7 Merge branch 'develop' into feature/sanitizer
# Conflicts:
#	main/pom.xml
2021-05-07 09:20:54 +02:00
Armin Schrenk
189699d359 sh*te happens
check value instead reference for null
2021-05-06 15:44:27 +02:00
Armin Schrenk
8e5035f506 preparing 1.6.0 2021-05-06 14:27:34 +02:00
Sebastian Stenzel
0ce41e7ac3 New Crowdin updates (#1628)
New translations strings.properties

Japanese; Polish; Spanish; Dutch; Czech; Norwegian Bokmal; Korean; Greek; Catalan; Slovak; Russian; Punjabi; Italian; Arabic; Bosnian; Hungarian; German; Cyrillic); Latin); Romanian; French; Chinese Simplified; Croatian; Chinese Traditional; Portuguese; Latvian; Hindi; Indonesian; Turkish; Portuguese, Brazilian; Swedish; Norwegian Nynorsk; 

[ci skip]
2021-05-06 14:25:59 +02:00
Armin Schrenk
c1a249fd7f Merge pull request #1454 from cryptomator/feature/vault-format-8
Vault Format 8
2021-05-06 14:05:26 +02:00
Armin Schrenk
c266c7583b bump dependencies (same as in cryptofs) 2021-05-06 13:59:37 +02:00
Armin Schrenk
00331d4857 check for vaultpath existence instead of catching (undocumented) exception 2021-05-06 13:51:30 +02:00
Armin Schrenk
8fd484e2bb Revert "Move window placements of "popup dialogs" to their corresponding controller"
This reverts commit bc83e23a34.
2021-05-06 13:44:05 +02:00
Armin Schrenk
165d740acd if vault directory is not present, declare it as missing 2021-05-06 12:51:39 +02:00
Armin Schrenk
fd4010c6c9 cleanup 2021-05-06 12:43:15 +02:00
Armin Schrenk
aa2900fa9e ensure to use cryptolib rc 2021-05-06 12:27:07 +02:00
Sebastian Stenzel
76d1875e01 adjusted to new CryptoFileSystemProvider.checkDirStructureForVault API 2021-05-06 09:56:50 +02:00
Armin Schrenk
bc83e23a34 Move window placements of "popup dialogs" to their corresponding controller 2021-05-05 15:03:09 +02:00
Armin Schrenk
6a326bcbce remove password of migration window, when window is closed 2021-05-04 10:51:12 +02:00
Armin Schrenk
573ad03d68 bug fixin' 2021-05-03 17:33:28 +02:00
Sebastian Stenzel
07efb3e94d Merge branch 'feature/vault-format-8' into feature/sanitizer
# Conflicts:
#	main/pom.xml
2021-05-03 12:34:28 +02:00
Armin Schrenk
89e680fb45 reveal report storage location when task is finished. 2021-04-30 11:42:31 +02:00
Armin Schrenk
54128a0016 Refined exportet health report 2021-04-30 11:32:56 +02:00
Armin Schrenk
e2565097cd add function to export a report of health checks 2021-04-29 16:31:39 +02:00
Armin Schrenk
f827b1fc89 Refactor HealthCheckTask execution:
* new class HealthCheckSupervisor which encapsulates execution of all selected health checks
* checkControllor only users supervisor
2021-04-29 16:31:05 +02:00
Armin Schrenk
c0baab2329 change comments 2021-04-28 09:58:14 +02:00
Armin Schrenk
70baa4d09f Rework sanitizer workflow:
* select set of performed HealthChecks prior to loading masterkey
* two predefined healthcheck sets and custom one
* start sequential execution of checks after successful masterkey loading
* removed vault config info
* destroy masterkey on window close, on cancellation, on check finish
2021-04-27 17:41:28 +02:00
Armin Schrenk
d710d406d0 Merge branch 'master' into develop 2021-04-23 10:30:12 +02:00
Armin Schrenk
554f245f5d Merge branch 'hotfix/1.5.16' 2021-04-23 10:27:48 +02:00
Sebastian Stenzel
34995088ba addressed some issues identified during code review 2021-04-23 10:24:31 +02:00
Sebastian Stenzel
69c63702f2 pass a single keyloader to cryptofs 2021-04-23 09:55:08 +02:00
Armin Schrenk
db7e731554 bumping dokany-nio-adapter 2021-04-23 09:48:56 +02:00
Armin Schrenk
e08b43bf17 preparing hotfix 1.5.16 2021-04-23 09:48:40 +02:00
Sebastian Stenzel
58b45bacd1 Merge branch 'develop' into feature/vault-format-8
[ci skip]
2021-04-21 13:27:54 +02:00
Sebastian Stenzel
4f942bc23f reset version
[ci skip]
2021-04-21 13:27:25 +02:00
Armin Schrenk
09a8618fa0 Merge tag '1.5.15' into develop
1.5.15
2021-04-21 12:26:46 +02:00
Armin Schrenk
52af530d1b Merge branch 'release/1.5.15' 2021-04-21 12:26:45 +02:00
Armin Schrenk
86a42234c6 preparing 1.5.15 2021-04-21 12:21:50 +02:00
Armin Schrenk
37c4e78b1d update third party licenses
[ci skip]
2021-04-21 12:05:37 +02:00
Sebastian Stenzel
9c2c234bee New Crowdin updates (#1604)
New translations strings.properties

Slovak; Czech; Italian; French; Catalan; Romanian; Polish; Chinese Simplified; Dutch; Chinese Traditional;
Norwegian Nynorsk; Croatian; Turkish; German; Spanish; Russian; Hungarian; Punjabi; Portuguese;
Norwegian Bokmal; Indonesian; Hindi; Bosnian; Cyrillic); Swedish; Greek; Korean; Portuguese, Brazilian; Latin); Arabic; Latvian; Japanese; 

[ci skip]
2021-04-21 12:01:09 +02:00
Sebastian Stenzel
59f91267ae fix save password 2021-04-21 11:20:44 +02:00
Sebastian Stenzel
b3ff9423b4 Merge branch 'develop' into feature/vault-format-8
# Conflicts:
#	main/commons/src/main/java/org/cryptomator/common/vaults/Vault.java
#	main/commons/src/main/java/org/cryptomator/common/vaults/VaultListManager.java
#	main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockWorkflow.java
2021-04-21 11:20:31 +02:00
Armin Schrenk
e3f3090341 bump javafx to version 16 2021-04-21 11:08:42 +02:00
Armin Schrenk
83be6c0864 enhanced release template for ci 2021-04-21 10:41:58 +02:00
Sebastian Stenzel
c654951dc1 removed ambiguous filenameLengthLimit from settings, added maxCleartextFilenameLength, shortening is now a 100% independent setting stored in the vault rather than the device settings 2021-04-20 18:15:25 +02:00
Armin Schrenk
4e177c9ea7 Correcting misleading log message 2021-04-20 16:53:59 +02:00
Armin Schrenk
dc3a951a1b add hotkeys to remove a vault 2021-04-20 15:07:14 +02:00
Armin Schrenk
defa9c75eb add hotkeys for vault selection 2021-04-20 12:18:15 +02:00
Nour Agha
c1f498a114 Add MEGA & pCloud providers to vault location presets (#1622)
Fixes #1621
2021-04-20 08:09:17 +02:00
Armin Schrenk
8457c50ebc add muted style class to status text of newVaultLocationScreen 2021-04-19 16:11:28 +02:00
Armin Schrenk
0144cbb99f Merge pull request #1618 from cryptomator/feature/#1508-observable-mounts
Closes #1508
2021-04-16 16:27:40 +02:00
Armin Schrenk
d6e4c7d177 Rework choose-location-screen in add vault wizard: (#1620)
* more checks for the chosen vault path
* every check has own error message
* perform checks when vault path changes
* if any radio button selected, enable vault path field (no-edit)
2021-04-16 16:18:01 +02:00
Armin Schrenk
3376b16b7b Rename Donation Key to Supporter Certificate (#1613)
Renamed all occurences of donation key to supporter certificate and adjust ui.

Co-authored-by: Tobias Hagemann <tobias.hagemann@skymatic.de>
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2021-04-16 12:18:03 +02:00
Sebastian Stenzel
673fdcd095 stupid. 2021-04-15 13:45:20 +02:00
Armin Schrenk
0d00520ac1 Throw specifc exception on not completed lock of a vault 2021-04-15 12:54:19 +02:00
Armin Schrenk
22a0d3a9a5 bump fuse/dokany-nio versions 2021-04-15 11:11:05 +02:00
Sebastian Stenzel
24baa44e70 stronger encapsulation of vault state await/signal mechanism 2021-04-15 10:30:29 +02:00
Armin Schrenk
03886f88e8 Fix lock workflow for webdav:
* internally, wait for condition that onExit-Method is exceuted (with timeout)
* store and execute onExitAction also for webdav
2021-04-15 10:14:28 +02:00
Armin Schrenk
642816b631 rebuild tray menu when vaultname changes 2021-04-14 17:26:04 +02:00
Sebastian Stenzel
f3a03c71ec implemented cancellable health checks 2021-04-14 10:20:34 +02:00
Sebastian Stenzel
1fab246fcd ugly PoC for new UI 2021-04-13 15:43:59 +02:00
Armin Schrenk
cd5c55aad7 Refactor lock/unlock workflows:
* don't set vault state on successful lock workflow
* improved error handling
2021-04-13 11:22:42 +02:00
Armin Schrenk
b066b4b045 opening a vault in read-only always assumes a filename length limit of 220
references #1605
2021-04-12 18:06:09 +02:00
JaniruTEC
41d2a2c77e Added .idea/uiDesigner.xml to .gitignore 2021-04-10 23:16:00 +02:00
Sebastian Stenzel
69186b916c adjusted to new async health check api 2021-04-09 16:04:52 +02:00
Armin Schrenk
0840695e0a Refactor lock/unlock convinience methods in FxApplication:
* execute vault state transition here
* on failed transition show error window
* only start worfklow on successful transition
2021-04-08 17:28:49 +02:00
Armin Schrenk
8447f105b0 rename instance variables 2021-04-08 13:08:05 +02:00
Sebastian Stenzel
c306d8df04 alternative thread-safe vault state without requiring explicit synchronization 2021-04-08 11:23:57 +02:00
Armin Schrenk
beba6490c3 Add locking mechanism to change the vault state t 2021-04-06 13:26:58 +02:00
Armin Schrenk
fb1078b35b bump to SNAPSHOT nio-adapter and refactor Volume.mount() method:
* returns void
* add onExitAction parameter
* adjust classes
2021-04-06 10:05:32 +02:00
Armin Schrenk
be0912e6ca Merge branch 'develop' into feature/#1508-observable-mounts 2021-04-06 09:00:05 +02:00
Sebastian Stenzel
13db1aa9b9 Actually run tests from within Sanitizer UI 2021-04-01 17:40:53 +02:00
Sebastian Stenzel
d2cd2c923d unlock for health check 2021-04-01 13:26:33 +02:00
Martin Beyer
92de05b3db Changed textfield to only accept Integers, Using scheduled Executor as Timer 2021-04-01 11:42:41 +02:00
Sebastian Stenzel
c1000d9958 Merge branch 'feature/vault-format-8' into feature/sanitizer 2021-04-01 09:26:21 +02:00
Sebastian Stenzel
2810c044ea reduced visibility 2021-03-31 16:23:54 +02:00
Sebastian Stenzel
e09bd160b7 Made masterkey loading strategies reusable 2021-03-31 16:12:31 +02:00
Sebastian Stenzel
e6d1e4697c Merge develop into feature/vault-format-8 2021-03-31 11:39:16 +02:00
Sebastian Stenzel
497e5ce73f Add health check window 2021-03-31 11:37:55 +02:00
Armin Schrenk
cf7cbae567 Set dev branch back to SNAPSHOT version
[ci skip]
2021-03-31 11:32:06 +02:00
Armin Schrenk
803f517c62 Merge tag '1.5.14' into develop
1.5.14
2021-03-31 11:11:34 +02:00
Armin Schrenk
0afa7b8e37 Merge branch 'release/1.5.14' 2021-03-31 11:11:27 +02:00
Armin Schrenk
1a0f70f8e8 updating third-party-licenses 2021-03-31 10:59:21 +02:00
Armin Schrenk
8737eb83f0 Bumping webdav-nio-adapter dependency 2021-03-31 10:58:23 +02:00
Armin Schrenk
a96239a19f closes #1245 2021-03-31 10:52:30 +02:00
Armin Schrenk
2b7cfcd1dc preparing 1.5.14 2021-03-31 09:52:24 +02:00
Sebastian Stenzel
ebccb61750 New Crowdin updates (#1560) 2021-03-31 09:46:45 +02:00
Armin Schrenk
285f2aec23 unify wording
[ci skip]
2021-03-30 16:10:24 +02:00
Armin Schrenk
217e31fbd7 Merge pull request #1595 from cryptomator/feature/MCGA
Feature: Make Context menu Great Again
* adding additional entries
* fixes #1478
* only appears on a selected vault
2021-03-30 16:03:41 +02:00
Sebastian Stenzel
f0ebf7a638 EasyBind rulez 2021-03-30 14:20:05 +02:00
Armin Schrenk
c05c5e3f90 closes #961 2021-03-30 13:57:21 +02:00
Sebastian Stenzel
30f0c5e697 split VaultList and ContextMenu into two separate controllers 2021-03-30 13:43:37 +02:00
Armin Schrenk
f989b8627c Update java-jwt 2021-03-30 13:10:54 +02:00
Armin Schrenk
ff84230566 structure constructor 2021-03-30 11:53:30 +02:00
Armin Schrenk
3b4f6276b5 Improve selection model of list view:
* Clear selection if an empty space is clicked
* only open context menu if an item is selected
2021-03-30 11:25:22 +02:00
Armin Schrenk
2be7a050a4 refine wording
[ci skip]
2021-03-30 09:47:11 +02:00
Martin Beyer
1c01228778 Removing LockOnSleep UI elements (not implemented yet) 2021-03-29 19:29:17 +02:00
Martin Beyer
1c35780d9e Cleaned up integrations implementation and added Regex for input 2021-03-29 19:10:05 +02:00
Armin Schrenk
96a612127c add reveal entry to context menu. 2021-03-29 16:23:24 +02:00
Armin Schrenk
0bdfb7c9f9 Distinct between "unlock" and "unlock now" in context menu:
* inject keychainManager
* bind/unbind passphraseStored property to selected vault
* rename bindings to show possible action
* removed unused binding
* initialize properties properly
2021-03-29 12:59:48 +02:00
Armin Schrenk
f556301249 fix suggestion 2021-03-29 12:47:46 +02:00
Armin Schrenk
f77b237e59 simplify private function
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2021-03-29 12:44:57 +02:00
Armin Schrenk
61b7a39aad change level of a log message from warn to debug
[ci skip]
2021-03-29 10:53:48 +02:00
Martin Beyer
2cee6e45f1 Merge remote-tracking branch 'upstream/develop' into feature/autoLock 2021-03-29 10:45:32 +02:00
Martin Beyer
1292548042 Implementing new settings and locking after a certain amount of minutes 2021-03-29 10:44:39 +02:00
Tobias Hagemann
16bd84ee62 Update README.md
[ci skip]
2021-03-26 10:46:49 +01:00
Tobias Hagemann
3d0a97fcdf Update README.md
[ci skip]
2021-03-25 17:06:15 +01:00
Elvys Soares
5ae2419e6d Improved grouped assertions
Signed-off-by: Elvys Soares <eas5@cin.ufpe.br>
2021-03-23 21:46:32 -03:00
Armin Schrenk
786d156b9f change wording in context menu entries 2021-03-23 15:08:23 +01:00
Armin Schrenk
629b6fb97d execute Service tasks on application thread 2021-03-23 12:53:17 +01:00
Armin Schrenk
17dc32bb79 lock vault on external unmount 2021-03-23 12:52:38 +01:00
Armin Schrenk
c05e00d32a Change volume interface to observe mounts 2021-03-23 12:37:36 +01:00
Armin Schrenk
9dc8b2cb47 Use Bindings instead of properties 2021-03-23 10:50:04 +01:00
Armin Schrenk
0e32e96c7d made context menu great again:
* added entry to unlock / lock a vault
* added entry to show vault options
2021-03-22 17:10:45 +01:00
Armin Schrenk
97afadd7b9 fixes #1478 2021-03-22 12:58:45 +01:00
Armin Schrenk
b199b65e38 closes #176 2021-03-22 12:51:07 +01:00
Tobias Hagemann
999abf3c13 Update README.md
[ci skip]
2021-03-22 12:24:54 +01:00
Sebastian Stenzel
2cdde54db6 updated mockito due to build errors caused by bytebuddy 2021-03-17 13:14:55 +01:00
Sebastian Stenzel
6941603cdd update to latest cryptolib/cryptofs beta 2021-03-17 13:03:55 +01:00
Sebastian Stenzel
cdca4e047d Merge branch 'develop' into feature/vault-format-8 2021-03-17 12:55:47 +01:00
Sebastian Stenzel
31e938de6a Merge pull request #1587 from cryptomator/feature/jdk-16
Update to JDK 16
2021-03-17 12:29:29 +01:00
Sebastian Stenzel
4c10ab764a updated README 2021-03-17 09:33:43 +01:00
Sebastian Stenzel
4e075ab0ca using pattern-matching instanceof where applicable 2021-03-17 09:22:16 +01:00
Sebastian Stenzel
f73ae9759f use new Stream.toList() where applicable 2021-03-17 09:16:44 +01:00
Sebastian Stenzel
f6283b2f7e using text blocks where applicable 2021-03-17 09:12:54 +01:00
Sebastian Stenzel
b23d2e4def allow use of reflection in codacy coverage reporter 2021-03-17 08:19:58 +01:00
Sebastian Stenzel
91a2943599 update to JDK 16 2021-03-17 08:16:26 +01:00
Sebastian Stenzel
e32ce22d24 Merge branch 'develop' into feature/vault-format-8 2021-03-10 12:48:58 +01:00
Armin Schrenk
e75c415b46 Load vault config on demand and don't cache it
* fixes issue with unlock after vault migration
2021-03-10 12:03:46 +01:00
Martin Beyer
8592e3667b Applying a SystemListener when the notify gets called with SLEEP 2021-03-09 18:55:35 +01:00
Martin Beyer
5a11d02fa8 Splitting the "Lock after X minutes" Checkbox in to two string resources. 2021-03-09 18:52:53 +01:00
Sebastian Stenzel
0ab28602d1 bumped cryptofs version 2021-03-05 17:33:58 +01:00
Sebastian Stenzel
62c8edff04 Choose key loading workflow depending on vaultconfig's key ID and allow KeyLoadingComponent to decide itself, what exceptions it can handle 2021-03-03 17:41:17 +01:00
Sebastian Stenzel
d01c6268f8 remove unused field
[ci skip]
2021-03-02 16:16:24 +01:00
Sebastian Stenzel
e083fd0bcc skip certain steps on forks 2021-03-02 11:55:20 +01:00
Cryptobot
ff687f1bae fix: main/pom.xml to reduce vulnerabilities (#1569)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JAVA-ORGECLIPSEJETTY-1080611

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2021-03-02 08:43:10 +01:00
Sebastian Stenzel
557aaa2480 Removed unused imports
[ci skip]
2021-03-01 15:59:13 +01:00
Sebastian Stenzel
78e43d401d split package org.cryptoamtor.ui.unlock to allow for different kinds of unlock workflows 2021-03-01 15:58:00 +01:00
Sebastian Stenzel
7b08c5d287 Merge branch 'develop' into feature/vault-format-8
# Conflicts:
#	main/pom.xml
#	main/ui/src/main/resources/license/THIRD-PARTY.txt
[ci skip]
2021-02-26 10:10:50 +01:00
Sebastian Stenzel
84d2644f19 fix wrong versions that have been merged from main branch 2021-02-26 10:05:26 +01:00
Martin Beyer
d13dfe3526 First take at UI implementation of a Auto-Lock Tab 2021-02-24 16:23:49 +01:00
Armin Schrenk
f9a9d7b870 Merge tag '1.5.13' into develop
1.5.13
2021-02-24 16:21:07 +01:00
Armin Schrenk
d75a8c4bba Merge branch 'release/1.5.13' 2021-02-24 16:21:06 +01:00
Martin Beyer
8fccb1b8f0 Added some Settings 2021-02-24 16:20:34 +01:00
Armin Schrenk
d326c7c990 preparing 1.5.13 2021-02-24 16:17:35 +01:00
Armin Schrenk
e8e63ca4fc Merge pull request #1517 from cryptomator/feature/translations
New Crowdin updates
2021-02-24 16:12:30 +01:00
Martin Beyer
c82e5577a1 New Tab AutoLock in VaultOptions 2021-02-24 15:17:23 +01:00
Armin Schrenk
6878f2e94b Merge pull request #1556 from cryptomator/feature/win-auto-theme
Feature/win auto theme
2021-02-24 14:31:17 +01:00
Armin Schrenk
a17b416262 only remove system theme change listener, if one was previously registered. 2021-02-24 12:54:56 +01:00
Armin Schrenk
fed572694f Merge branch 'develop' into feature/win-auto-theme
# Conflicts:
#	main/pom.xml
2021-02-24 12:25:04 +01:00
Armin Schrenk
fe3d67d937 update build workflow 2021-02-24 12:21:13 +01:00
Armin Schrenk
3dcdeb1033 refactor pom to store targeted jdk build version in variable 2021-02-24 12:19:12 +01:00
Armin Schrenk
0898158c5a remove bintray as source repository in pom 2021-02-24 12:18:38 +01:00
Armin Schrenk
81091d4bdf bump integrations-* repos and implement new interface methods 2021-02-24 12:18:24 +01:00
Martin Beyer
c9b1b1baa5 Fixes #1291 (Windows Automatic Theme) 2021-02-23 17:26:50 +01:00
Tobias Hagemann
c81f3bd972 updated dependencies 2021-02-23 13:43:07 +01:00
Sebastian Stenzel
9f86b74320 New translations strings.properties (Greek)
[ci skip]
2021-02-23 09:32:09 +01:00
Sebastian Stenzel
2d8390a0f3 New translations strings.properties (Chinese Simplified)
[ci skip]
2021-02-22 11:47:50 +01:00
Sebastian Stenzel
8d3671175f New translations strings.properties (Swedish)
[ci skip]
2021-02-21 16:16:10 +01:00
Sebastian Stenzel
366011a222 New translations strings.properties (Swedish)
[ci skip]
2021-02-21 15:45:39 +01:00
Sebastian Stenzel
c0c2e21055 New translations strings.properties (Korean)
[ci skip]
2021-02-20 02:29:34 +01:00
Sebastian Stenzel
63be96a151 New translations strings.properties (Korean)
[ci skip]
2021-02-20 01:58:05 +01:00
Sebastian Stenzel
fc1df4bd99 New translations strings.properties (Catalan)
[ci skip]
2021-02-19 21:46:49 +01:00
Sebastian Stenzel
7657330931 New translations strings.properties (German)
[ci skip]
2021-02-19 13:17:33 +01:00
Sebastian Stenzel
4e44de3c3b New translations strings.properties (Portuguese, Brazilian)
[ci skip]
2021-02-19 01:07:24 +01:00
Sebastian Stenzel
8d902a72ca New translations strings.properties (Turkish)
[ci skip]
2021-02-18 19:39:40 +01:00
Sebastian Stenzel
7378031a72 New translations strings.properties (Spanish)
[ci skip]
2021-02-18 17:15:20 +01:00
Sebastian Stenzel
f898c07c27 New translations strings.properties (German)
[ci skip]
2021-02-18 16:41:50 +01:00
Sebastian Stenzel
c8f02d1045 New translations strings.properties (Czech)
[ci skip]
2021-02-18 14:56:07 +01:00
Sebastian Stenzel
4cc13b986b New translations strings.properties (Slovak)
[ci skip]
2021-02-18 14:22:12 +01:00
Sebastian Stenzel
af7b6780f3 New translations strings.properties (Italian)
[ci skip]
2021-02-18 14:22:10 +01:00
Sebastian Stenzel
4a17d01004 New translations strings.properties (French)
[ci skip]
2021-02-18 13:42:57 +01:00
Sebastian Stenzel
1d68408e21 New translations strings.properties (Japanese)
[ci skip]
2021-02-18 13:42:49 +01:00
Sebastian Stenzel
821b1ee660 New translations strings.properties (Russian)
[ci skip]
2021-02-18 13:42:45 +01:00
Sebastian Stenzel
c6616bd467 New translations strings.properties (Slovak)
[ci skip]
2021-02-18 13:42:44 +01:00
Sebastian Stenzel
4bb2589f16 New translations strings.properties (Polish)
[ci skip]
2021-02-18 13:42:37 +01:00
Sebastian Stenzel
896c3b3565 New translations strings.properties (Norwegian Bokmal)
[ci skip]
2021-02-18 13:09:32 +01:00
Sebastian Stenzel
6ee717a693 New translations strings.properties (French)
[ci skip]
2021-02-18 13:09:31 +01:00
Sebastian Stenzel
07ec858e1e New translations strings.properties (Spanish)
[ci skip]
2021-02-18 13:09:29 +01:00
Sebastian Stenzel
a7c1e43ebc New translations strings.properties (Arabic)
[ci skip]
2021-02-18 13:09:28 +01:00
Sebastian Stenzel
ac1cd3b073 New translations strings.properties (Catalan)
[ci skip]
2021-02-18 13:09:27 +01:00
Sebastian Stenzel
7474519faf New translations strings.properties (Czech)
[ci skip]
2021-02-18 13:09:26 +01:00
Sebastian Stenzel
340e474c33 New translations strings.properties (German)
[ci skip]
2021-02-18 13:09:24 +01:00
Sebastian Stenzel
c90ab75427 New translations strings.properties (Greek)
[ci skip]
2021-02-18 13:09:23 +01:00
Sebastian Stenzel
848b3f77d3 New translations strings.properties (Hungarian)
[ci skip]
2021-02-18 13:09:21 +01:00
Sebastian Stenzel
fb8cdb31ca New translations strings.properties (Italian)
[ci skip]
2021-02-18 13:09:20 +01:00
Sebastian Stenzel
ba5f8053fb New translations strings.properties (Japanese)
[ci skip]
2021-02-18 13:09:19 +01:00
Sebastian Stenzel
38165becca New translations strings.properties (Korean)
[ci skip]
2021-02-18 13:09:17 +01:00
Sebastian Stenzel
f731ac5c90 New translations strings.properties (Dutch)
[ci skip]
2021-02-18 13:09:16 +01:00
Sebastian Stenzel
0291702736 New translations strings.properties (Polish)
[ci skip]
2021-02-18 13:09:15 +01:00
Sebastian Stenzel
ab63929861 New translations strings.properties (Portuguese)
[ci skip]
2021-02-18 13:09:12 +01:00
Sebastian Stenzel
ca36fb8af3 New translations strings.properties (Slovak)
[ci skip]
2021-02-18 13:09:11 +01:00
Sebastian Stenzel
8cb29ff83b New translations strings.properties (Swedish)
[ci skip]
2021-02-18 13:09:10 +01:00
Sebastian Stenzel
304fa67dd7 New translations strings.properties (Turkish)
[ci skip]
2021-02-18 13:09:09 +01:00
Sebastian Stenzel
a80ec32d2c New translations strings.properties (Chinese Simplified)
[ci skip]
2021-02-18 13:09:07 +01:00
Sebastian Stenzel
dc4f21162e New translations strings.properties (Chinese Traditional)
[ci skip]
2021-02-18 13:09:06 +01:00
Sebastian Stenzel
3b8d7e0241 New translations strings.properties (Portuguese, Brazilian)
[ci skip]
2021-02-18 13:09:05 +01:00
Sebastian Stenzel
6891c68cf1 New translations strings.properties (Norwegian Nynorsk)
[ci skip]
2021-02-18 13:09:01 +01:00
Sebastian Stenzel
18b26fbc58 New translations strings.properties (Latvian)
[ci skip]
2021-02-18 13:09:00 +01:00
Sebastian Stenzel
1db8da6b6b New translations strings.properties (Bosnian)
[ci skip]
2021-02-18 13:08:57 +01:00
Sebastian Stenzel
14bce7e91d New translations strings.properties (Russian)
[ci skip]
2021-02-18 13:08:56 +01:00
Sebastian Stenzel
2674bc6f23 New translations strings.properties (Punjabi)
[ci skip]
2021-02-18 13:08:55 +01:00
Tobias Hagemann
74e1d6f991 Merge pull request #1545 from cryptomator/feature/save-password-clarification
"Save Password" Clarification
2021-02-18 13:07:04 +01:00
Tobias Hagemann
25dba028f8 added deep-linking to vault options tabs, changed "password saved" label to hyperlink 2021-02-18 11:32:14 +01:00
Tobias Hagemann
bf51cc13d1 renamed "save password" to "remember password", switched placements of "vault options" hyperlink/button and "password saved" label 2021-02-18 09:15:19 +01:00
Sebastian Stenzel
24be36cccb New translations strings.properties (Spanish)
[ci skip]
2021-02-15 18:19:27 +01:00
Sebastian Stenzel
797e15c775 New translations strings.properties (Chinese Traditional)
[ci skip]
2021-02-15 17:08:04 +01:00
Sebastian Stenzel
2395dbcae9 New translations strings.properties (Italian)
[ci skip]
2021-02-15 16:09:11 +01:00
Sebastian Stenzel
efacbbe2b6 New translations strings.properties (Bosnian)
[ci skip]
2021-02-15 15:40:45 +01:00
Sebastian Stenzel
2518086e46 New translations strings.properties (Polish)
[ci skip]
2021-02-15 15:40:44 +01:00
Sebastian Stenzel
c733247611 New translations strings.properties (Japanese)
[ci skip]
2021-02-15 15:40:42 +01:00
Sebastian Stenzel
4f44e71e13 New translations strings.properties (Czech)
[ci skip]
2021-02-15 15:40:40 +01:00
Sebastian Stenzel
02aa46ece8 New translations strings.properties (Bosnian)
[ci skip]
2021-02-15 15:09:58 +01:00
Sebastian Stenzel
635f64c847 New translations strings.properties (German)
[ci skip]
2021-02-15 15:09:56 +01:00
Sebastian Stenzel
0a8516ae9a New translations strings.properties (French)
[ci skip]
2021-02-15 15:09:55 +01:00
Sebastian Stenzel
c1edb30472 New translations strings.properties (Bosnian)
[ci skip]
2021-02-15 14:41:51 +01:00
Sebastian Stenzel
93c78b63ca New translations strings.properties (Russian)
[ci skip]
2021-02-15 14:41:50 +01:00
Sebastian Stenzel
3ccae93757 New translations strings.properties (Norwegian Bokmal)
[ci skip]
2021-02-15 14:09:30 +01:00
Sebastian Stenzel
450dec2baf New translations strings.properties (French)
[ci skip]
2021-02-15 14:09:29 +01:00
Sebastian Stenzel
36121527ca New translations strings.properties (Spanish)
[ci skip]
2021-02-15 14:09:27 +01:00
Sebastian Stenzel
f30451f7e1 New translations strings.properties (Catalan)
[ci skip]
2021-02-15 14:09:25 +01:00
Sebastian Stenzel
74d7f63f64 New translations strings.properties (Czech)
[ci skip]
2021-02-15 14:09:24 +01:00
Sebastian Stenzel
350a4ab762 New translations strings.properties (German)
[ci skip]
2021-02-15 14:09:23 +01:00
Sebastian Stenzel
0e0e75b89c New translations strings.properties (Greek)
[ci skip]
2021-02-15 14:09:22 +01:00
Sebastian Stenzel
e76440d928 New translations strings.properties (Hungarian)
[ci skip]
2021-02-15 14:09:20 +01:00
Sebastian Stenzel
0cbace67a5 New translations strings.properties (Italian)
[ci skip]
2021-02-15 14:09:19 +01:00
Sebastian Stenzel
84a3082589 New translations strings.properties (Japanese)
[ci skip]
2021-02-15 14:09:17 +01:00
Sebastian Stenzel
cdfcca06d1 New translations strings.properties (Korean)
[ci skip]
2021-02-15 14:09:16 +01:00
Sebastian Stenzel
630bfa4cee New translations strings.properties (Dutch)
[ci skip]
2021-02-15 14:09:15 +01:00
Sebastian Stenzel
90cb7beb1f New translations strings.properties (Polish)
[ci skip]
2021-02-15 14:09:14 +01:00
Sebastian Stenzel
d37fa33278 New translations strings.properties (Slovak)
[ci skip]
2021-02-15 14:09:11 +01:00
Sebastian Stenzel
eed9c906cc New translations strings.properties (Swedish)
[ci skip]
2021-02-15 14:09:09 +01:00
Sebastian Stenzel
2b7ed5f4dd New translations strings.properties (Turkish)
[ci skip]
2021-02-15 14:09:08 +01:00
Sebastian Stenzel
6a7a309a2b New translations strings.properties (Chinese Simplified)
[ci skip]
2021-02-15 14:09:07 +01:00
Sebastian Stenzel
0382069995 New translations strings.properties (Chinese Traditional)
[ci skip]
2021-02-15 14:09:05 +01:00
Sebastian Stenzel
7c5f40d7d1 New translations strings.properties (Portuguese, Brazilian)
[ci skip]
2021-02-15 14:09:04 +01:00
Sebastian Stenzel
09e9530660 New translations strings.properties (Russian)
[ci skip]
2021-02-15 14:08:57 +01:00
Sebastian Stenzel
947d25b335 New translations strings.properties (Punjabi)
[ci skip]
2021-02-15 14:08:56 +01:00
Sebastian Stenzel
80cbc6699a fixed label
[ci skip]
2021-02-15 13:53:05 +01:00
Sebastian Stenzel
da0933fa92 New translations strings.properties (Punjabi)
[ci skip]
2021-02-08 04:36:28 +01:00
Sebastian Stenzel
9ad217ca55 Merge branch 'develop' into feature/vault-format-8
[ci skip]
2021-02-04 12:38:01 +01:00
Sebastian Stenzel
adc9f32fb3 Merge branch 'master' into develop 2021-02-04 12:31:18 +01:00
Sebastian Stenzel
65369bdbff Merge branch 'release/1.5.12' 2021-02-04 12:27:42 +01:00
Sebastian Stenzel
d18e618ef1 preparing 1.5.12 2021-02-04 12:27:02 +01:00
Armin Schrenk
970216dd59 Merge tag '1.5.12' into develop
1.5.12
2021-02-04 10:49:52 +01:00
Armin Schrenk
6840a649c7 Merge branch 'release/1.5.12' 2021-02-04 10:49:08 +01:00
Sebastian Stenzel
1a0bc92bde Merge branch 'develop' into feature/vault-format-8 2021-02-01 12:08:23 +01:00
Sebastian Stenzel
e4709ed6fe Refactored FxmlFile and FxmlLoaderFactory 2021-02-01 12:06:38 +01:00
Sebastian Stenzel
21038212c1 remove unused property
[ci skip]
2021-02-01 11:54:21 +01:00
Sebastian Stenzel
b15471b4ff add new (optional) "choose masterkey file" step to unlock dialog 2021-01-29 17:44:45 +01:00
Armin Schrenk
19ebc7e562 preparing 1.5.12 2021-01-27 15:30:56 +01:00
Armin Schrenk
0fa052d2d1 Merge pull request #1518 from cryptomator/fix/1515-suppressed-messages
Fixed suppressed "invalid mountpoint" messages
2021-01-27 15:22:47 +01:00
Armin Schrenk
402861b9c0 Update third party licenses 2021-01-27 12:37:50 +01:00
Armin Schrenk
aca1666dea closes #1479 2021-01-27 12:36:22 +01:00
Sebastian Stenzel
ff17b60f56 Refactored UnlockWorkflow using new vault format 8 APIs 2021-01-27 12:09:09 +01:00
Sebastian Stenzel
3284578445 Merge branch 'develop' into feature/vault-format-8
# Conflicts:
#	main/commons/src/main/java/org/cryptomator/common/vaults/Vault.java
2021-01-25 21:42:13 +01:00
Sebastian Stenzel
70f6a4877c Make sure not to catch Errors 2021-01-25 21:38:46 +01:00
Sebastian Stenzel
85c5dc8dfb removed tmp workaround 2021-01-25 21:32:33 +01:00
Sebastian Stenzel
4b670a59a3 adjusted to new cryptolib/cryptofs API 2021-01-25 21:31:16 +01:00
JaniruTEC
23c113948f Replaced catch with wildcard catch and added additional logger call
See #1509 for further information and reasoning
2021-01-25 16:21:35 +01:00
JaniruTEC
d86ea20c31 Fixed suppressed "invalid mountpoint" messages
Fixed #1515
2021-01-23 22:13:07 +01:00
Sebastian Stenzel
3f928cf958 Merge branch 'develop' into feature/vault-format-8
[ci skip]
2021-01-22 22:47:54 +01:00
Sebastian Stenzel
01929c2288 New translations strings.properties (Hungarian)
[ci skip]
2021-01-22 13:48:57 +01:00
Sebastian Stenzel
2634433b2c New translations strings.properties (Hungarian)
[ci skip]
2021-01-22 13:19:41 +01:00
Armin Schrenk
c1f44f76b9 Merge pull request #1512 from cryptomator/feature/refactor-reveal 2021-01-22 11:42:20 +01:00
Sebastian Stenzel
b2f27c0a3d removed dead code
[ci skip]
2021-01-22 09:34:18 +01:00
Sebastian Stenzel
b1d7cfc81b change scope of HostServiceRevealer to @FxApplicationScoped
because unlock always happens after application start anyway
2021-01-22 09:31:43 +01:00
Armin Schrenk
7cd5c66836 Refactor reveal() methods:
* new class HostServiceRevealer implemeting the Volume.Revealer-Interface
* this class is injected in vault service and always used for revealing
* removed Revealer parameter from several reveal methods
2021-01-21 17:25:23 +01:00
Armin Schrenk
95cef34234 remove unnecessary awtReavealer and trayModule 2021-01-21 16:09:16 +01:00
Armin Schrenk
8977440697 Rename RevealerFacade to Revealer 2021-01-21 15:29:04 +01:00
Armin Schrenk
d5eb84a000 change reveal method in vault service:
* revealer is no member anymore
* reveal() takes as second argument revealer object
* several other classes hand over a revealer object
* added awt-revealer if application is not yet started
2021-01-21 15:26:35 +01:00
Sebastian Stenzel
81fb6b8794 get rid of RevealException 2021-01-21 15:06:37 +01:00
Armin Schrenk
92b390d5bb update third-party licenses 2021-01-21 12:44:32 +01:00
Armin Schrenk
8867532210 add javadoc 2021-01-21 12:44:11 +01:00
Armin Schrenk
77db435b4f Refactor reveal call stack to apply facade pattern. 2021-01-21 12:41:52 +01:00
Sebastian Stenzel
cb2bc17283 New translations strings.properties (Hungarian)
[ci skip]
2021-01-21 11:06:22 +01:00
Tobias Hagemann
aaa93239d0 Merge pull request #1516 from stacksnack/feature/translations
New translations strings.properties (Hungarian)
2021-01-21 11:03:27 +01:00
Sebastian Stenzel
93445e22d4 update library versions 2021-01-21 06:37:41 +01:00
stacksnack
64897cfa21 New translations strings.properties (Hungarian)
Add hungarian translation
2021-01-20 21:37:41 +01:00
Armin Schrenk
7349a29831 Ensure that on windows systems always the gui chooses the mountpoint for webdav 2021-01-19 15:52:52 +01:00
Armin Schrenk
73554b4759 split WebDAV Volume mount method into servlet start and servlet mount 2021-01-19 15:52:20 +01:00
Armin Schrenk
0312f045aa add a logger to WebDAV-Volume 2021-01-19 15:28:50 +01:00
Armin Schrenk
1134c1b2ff closes #1471
hand the javafx hostservice showDocument() method from ui package to the underlying nio-adapter-libraries through
2021-01-19 15:27:46 +01:00
Sebastian Stenzel
efebbc059a keep CTR+HMAC for now (until GCM is supported on all platforms) 2021-01-19 15:09:47 +01:00
Sebastian Stenzel
6e860d293a Merge branch 'develop' into feature/vault-format-8
[ci skip]
2021-01-19 15:05:15 +01:00
Armin Schrenk
8bb925fd93 fixes #1509 2021-01-18 18:41:21 +01:00
Sebastian Stenzel
ca5d9eba36 New translations strings.properties (Norwegian Bokmal)
[ci skip]
2021-01-16 04:07:35 +01:00
Sebastian Stenzel
1a49e24d8a New translations strings.properties (Norwegian Bokmal)
[ci skip]
2021-01-16 03:37:26 +01:00
Sebastian Stenzel
24b0ed2502 New translations strings.properties (German)
[ci skip]
2021-01-14 18:18:01 +01:00
Sebastian Stenzel
a226d5403a New translations strings.properties (Japanese)
[ci skip]
2021-01-14 14:02:17 +01:00
Sebastian Stenzel
0f3085cc73 fixes #1476 2021-01-14 09:56:57 +01:00
Sebastian Stenzel
f0a040cf29 cleanup
[ci skip]
2021-01-14 09:56:36 +01:00
Sebastian Stenzel
0676748dde New Crowdin updates (#1466)
[ci skip]
2021-01-14 09:24:42 +01:00
Armin Schrenk
589b8384eb Only determine filenamelength limit if the the vault is mounted not read-only. 2021-01-11 14:15:37 +01:00
Julian Raufelder
9e3947f337 Happy 2021 🎉 2021-01-11 10:08:35 +01:00
Tobias Hagemann
790cc4e772 simplified issue template
[ci skip]
2021-01-06 12:01:07 +01:00
Tobias Hagemann
72f4988632 fixes #1452 2021-01-05 14:14:14 +01:00
Sebastian Stenzel
b3fa6bbf32 Merge pull request #1472 from cryptomator/feature/minimize
Add Minimize Button
2020-12-18 15:58:02 +01:00
Sebastian Stenzel
c2dc487c79 make field volatile that might be modified concurrently 2020-12-18 13:37:23 +01:00
Sebastian Stenzel
e74dd3be9e remove unused param 2020-12-18 13:36:16 +01:00
Sebastian Stenzel
1eeee61572 Add option to show minimize button despite tray icon being present
fixes #1179
2020-12-17 14:50:33 +01:00
Sebastian Stenzel
984b7a2d0e Removed @Named("trayMenuSupported") from FxApplication component 2020-12-17 14:46:52 +01:00
Sebastian Stenzel
45c714a123 Added checkbox in settings to start without a tray icon
references #1113, #1078, #1079, #1344
2020-12-16 16:53:49 +01:00
Sebastian Stenzel
96bb97d50a Added new setting showTrayIcon defaulting to new environment property cryptomator.showTrayIcon 2020-12-16 13:48:33 +01:00
Sebastian Stenzel
046acb9bbf mark fuse.experimental deprecated
[ci skip]
2020-12-16 13:33:50 +01:00
Armin Schrenk
ce4ec16c62 Update bug.md
Add info to also specify desktop environment on Linux systems in section system setup
2020-12-16 12:16:32 +01:00
Tobias Hagemann
96c8c9a9a9 Update bug.md 2020-12-16 09:07:39 +01:00
Tobias Hagemann
44db97327d Update feature.md 2020-12-16 09:06:11 +01:00
Sebastian Stenzel
f441700c25 Merge branch 'master' into develop 2020-12-15 13:23:21 +01:00
Sebastian Stenzel
76b023bdbd Merge branch 'release/1.5.11' 2020-12-15 12:42:13 +01:00
Sebastian Stenzel
241d9781bb bump integrations-win version 2020-12-15 12:41:39 +01:00
Sebastian Stenzel
ff94532560 Merge branch 'release/1.5.11' 2020-12-15 10:53:40 +01:00
Tobias Hagemann
e949023321 updated third-party list [ci skip] 2020-12-15 10:37:27 +01:00
Sebastian Stenzel
da31407d63 Preparing 1.5.11 2020-12-15 08:57:35 +01:00
Sebastian Stenzel
8c7c5da89a not sure what makes this "real" [ci skip] 2020-12-15 08:04:16 +01:00
Sebastian Stenzel
e3a0e1ec5a New Crowdin updates (#1413)
[ci skip]
2020-12-14 17:38:49 +01:00
Sebastian Stenzel
4cee27d8dd bump webdav dependencies 2020-12-14 17:30:29 +01:00
Armin Schrenk
b0fce66d77 Add OWASP Dependency-Check Maven Plugin
* only active if profile dependency check is active
* added suppresion.xml for false positives
* added tmp fix for jwt lib
2020-12-14 17:02:35 +01:00
Armin Schrenk
bf47ba0145 Merge pull request #1440 from cryptomator/feature/#1439-finish-migration
closes #1439
2020-12-14 15:41:52 +01:00
Armin Schrenk
fc7b484c9a unwrap the Platform.runLater() statement because it is always executed on JavaFX thread 2020-12-14 15:34:03 +01:00
Armin Schrenk
4402c19d90 Simplifications and clean up 2020-12-14 11:47:02 +01:00
Armin Schrenk
4e89de9e47 activate force locking for dokany 2020-12-14 10:23:27 +01:00
Armin Schrenk
a27c9d63d9 Bump dokany-nio-adapter version 2020-12-14 10:09:13 +01:00
Armin Schrenk
da6aa0f002 bump integrations-win version 2020-12-11 16:23:57 +01:00
Armin Schrenk
0bf3533f45 Workaround for #1421 2020-12-11 13:25:02 +01:00
Sebastian Stenzel
295cb0ef6d fixes #1446, fixes #1415 2020-12-09 17:17:51 +01:00
Armin Schrenk
6fac84e9c2 Replace "may" by "can"
... the end of a great and fierce war.
2020-12-09 15:39:49 +01:00
Sebastian Stenzel
77b2e67c49 updated labels 2020-12-09 15:16:45 +01:00
Armin Schrenk
c48c9b1568 Merge pull request #1416 from cryptomator/feature/#1228-forcedUnmountDialog
Feature/#1228 forced unmount dialog
2020-12-09 15:04:30 +01:00
Armin Schrenk
6da7eae2f8 Minor changes in lettering 2020-12-09 14:55:22 +01:00
Armin Schrenk
aec56c48c5 Merge branch 'develop' into feature/#1228-forcedUnmountDialog
# Conflicts:
#	main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplication.java
2020-12-09 14:51:00 +01:00
Sebastian Stenzel
c0a9a95e4f Adjusted to CryptoFS 2.0.0 2020-12-08 14:39:46 +01:00
Sebastian Stenzel
3b73544766 Simplified observation of visible stages 2020-12-08 12:56:44 +01:00
Sebastian Stenzel
fbc471635a fixed test 2020-12-08 12:51:34 +01:00
Sebastian Stenzel
3c5b9ed3a6 remove rarely used, complex class 2020-12-08 12:51:11 +01:00
Sebastian Stenzel
8479122561 temp fix for vulnerability in upstream lib
[ci skip]
2020-12-08 08:30:16 +01:00
Tobias Hagemann
91c883d5cc Create config.yml 2020-12-07 18:11:25 +01:00
Sebastian Stenzel
1cd4da0796 Merge branch 'develop' into feature/#1228-forcedUnmountDialog 2020-12-07 17:55:29 +01:00
Armin Schrenk
935aaccdae Update bug template
* Make introduction section more visible
* emphasize task to complete for successful bug ticket
2020-12-02 15:05:59 +01:00
Tobias Hagemann
ab3dd779d2 partially reverted 900fdd7f, fixing "stutter" startup on macos 2020-12-02 14:59:17 +01:00
Armin Schrenk
1fbcf6d517 closes #1439 2020-11-27 15:53:33 +01:00
Armin Schrenk
82538091c9 Merge pull request #1427 from cryptomator/feature/#1323-singleQuitWindow
Show only one quit dialogue at a time
2020-11-24 15:31:31 +01:00
Sebastian Stenzel
62ade6113b cleanup
[ci skip]
2020-11-24 15:07:23 +01:00
Sebastian Stenzel
4779bbf415 Don't bother FxApplication with stuff that is meant to be dealt with internally within QuitComponent 2020-11-24 15:04:09 +01:00
Armin Schrenk
c6b786a771 Reworked implemenation by using dagger now:
* create and inject QuitResponse container
* QuitComponent manges now if quit window needs to be created
* controller only handles the most recent QuitResponse
2020-11-24 13:34:12 +01:00
Armin Schrenk
6381227897 Stylin:
* change css styleclass of dialogue headings to `label-large`
* remove newly introduced style class `label-medium`
2020-11-23 16:14:31 +01:00
Armin Schrenk
e82167b5e6 correct wrong method name 2020-11-20 17:29:56 +01:00
Armin Schrenk
dc4fd482b5 Filter any whitespaces when entering text in donationkey form. 2020-11-20 17:17:16 +01:00
Armin Schrenk
a71f8b350e Show only one quit dialogue at a time 2020-11-20 16:12:49 +01:00
Armin Schrenk
c9ec8fecef fix wrong method name 2020-11-20 16:09:31 +01:00
Armin Schrenk
e72d32f2d1 Remove empty line
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2020-11-20 14:34:34 +01:00
Armin Schrenk
2545aa2a7e Removed default clause from switch expression on enums
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2020-11-20 14:33:57 +01:00
Armin Schrenk
51aac15622 Changed forced lock description and clean up 2020-11-20 12:23:44 +01:00
Armin Schrenk
afa0cfeafb Replace lock failed dialogue stub and integrate it into workflow 2020-11-20 12:23:18 +01:00
Armin Schrenk
19e24ba12c refactor structure of LockWorkflow class 2020-11-20 12:22:26 +01:00
Armin Schrenk
c47ce2c730 clean up 2020-11-20 11:25:39 +01:00
Armin Schrenk
5d00b3dd76 activate ability to abort vault locking if it is mounted with dokany and still busy
references #1228
2020-11-19 17:20:08 +01:00
Armin Schrenk
4db57cc0dc Further improvements:
* adding Log messages
* change lock workflow to type of Task<Void>
* set vault state based solely on task state
* replaced dialogue stubs with real text
2020-11-19 16:31:16 +01:00
Armin Schrenk
432a9a27f1 Add forceLock Dialogue:
* integrate it in workflow if normal lock throws exception
* add stubs if also forced lock fails
2020-11-19 12:52:16 +01:00
Armin Schrenk
57bfa3276d Integrate new lockWorkflow into application (gui and tray) 2020-11-19 11:42:00 +01:00
Sebastian Stenzel
02fc9b263a re-added applicable choosers to exception text 2020-11-18 18:12:41 +01:00
Sebastian Stenzel
4c66f81736 simplified line 2020-11-18 18:09:30 +01:00
Sebastian Stenzel
2de151aebe use less generic name 2020-11-18 18:08:00 +01:00
Armin Schrenk
c44911dcac Prepare strucutre and classes for lock workflow 2020-11-18 17:16:58 +01:00
Armin Schrenk
bcf2a3d20c Setting default onFailed handler in lock tasks 2020-11-18 17:16:43 +01:00
JaniruTEC
422ce4a387 Moved actual choosing of MPCs to MountPointHelper 2020-11-18 16:27:43 +01:00
JaniruTEC
21387bd76c Renamed IrregularUnmountCleaner to MountPointHelper 2020-11-18 16:18:31 +01:00
JaniruTEC
52cd560cb2 Generifyed #chooseMountPoint() 2020-11-18 16:09:09 +01:00
JaniruTEC
6c440dfbbb Re-Added check for non-emtpy dirs 2020-11-18 15:53:33 +01:00
Sebastian Stenzel
a074450452 Merge branch 'master' into develop 2020-11-18 15:03:37 +01:00
Sebastian Stenzel
b781cf6f25 Merge branch 'hotfix/1.5.10' 2020-11-18 15:03:11 +01:00
Sebastian Stenzel
9b653f488b Merge branch 'develop' into hotfix/1.5.10 2020-11-18 15:02:33 +01:00
Armin Schrenk
17c580267f prevent race conditions 2020-11-18 14:35:16 +01:00
Sebastian Stenzel
490d1b8f87 cancel unlock workflow, if closing window with shortcut 2020-11-18 14:21:18 +01:00
Armin Schrenk
b0ad86f16b Perform cleanup of tmp mount points dir only once. 2020-11-18 14:07:34 +01:00
Sebastian Stenzel
df2b4ac086 cleanup 2020-11-18 13:17:35 +01:00
Sebastian Stenzel
aee4ececba Merge branch 'fix/1409' into hotfix/1.5.10
fixes #1409
2020-11-18 13:16:36 +01:00
Sebastian Stenzel
b2992aa6ae Merge branch 'fix/1408' into hotfix/1.5.10
fixes #1408

# Conflicts:
#	main/buildkit/pom.xml
#	main/commons/pom.xml
#	main/launcher/pom.xml
#	main/pom.xml
#	main/ui/pom.xml
2020-11-18 13:16:19 +01:00
Sebastian Stenzel
4c546d281a Bumped version 2020-11-18 13:15:33 +01:00
Sebastian Stenzel
c90e445a67 Removed -Dcryptomator.mountPointsDir="/Volumes/" from macOS run profiles
[ci skip]
2020-11-18 13:10:01 +01:00
Sebastian Stenzel
d3c2b0509e Lazily call IrregularUnmountCleaner from (and only from!) TemporaryMountPointChooser 2020-11-18 13:08:48 +01:00
Sebastian Stenzel
c6d1c2ca6b added MacVolumeMountChooser and refactored "priority" of mount point choosers: now all priorities are set in MountPointChooserModule (as a map key) 2020-11-18 13:07:12 +01:00
Sebastian Stenzel
86dec80726 avoid weird iteration counter manipulation 2020-11-18 10:33:04 +01:00
JaniruTEC
9083976989 Fixed #1409 by addig an additonal check 2020-11-18 00:46:24 +01:00
JaniruTEC
d9c5d76417 Fixed irregular quoting 2020-11-17 22:41:41 +01:00
JaniruTEC
c19c3754c6 Fixed high-spirited concatenation 2020-11-17 22:27:41 +01:00
JaniruTEC
947e0e2369 Fixed #1408 2020-11-17 22:00:41 +01:00
JaniruTEC
6eca8f2e0c Added support for quote escaped values for mount arguments 2020-11-17 21:56:43 +01:00
Sebastian Stenzel
9f61ad1941 Merge branch 'master' into develop
[ci skip]
2020-11-17 17:03:40 +01:00
Sebastian Stenzel
41492a951a Merge branch 'release/1.5.9' 2020-11-17 17:02:14 +01:00
Sebastian Stenzel
cbbfec5531 Merge branch 'develop' into release/1.5.9 2020-11-16 17:16:54 +01:00
Sebastian Stenzel
d7a4dff080 New Crowdin updates (#1401)
New translations strings.properties
[ci skip]
2020-11-16 17:15:37 +01:00
Armin Schrenk
8e56218fbb Update launcher-linux.sh
drastically reducing the allowed stacksize to 2m
2020-11-11 17:13:11 +01:00
Sebastian Stenzel
9c40386106 fix CI release build 2020-11-10 12:54:01 +01:00
Sebastian Stenzel
c865805f55 Preparing 1.5.9 2020-11-10 12:41:10 +01:00
Sebastian Stenzel
8e352301cd New Crowdin updates (#1392)
[ci skip]
2020-11-10 12:39:15 +01:00
Armin Schrenk
52db1e8bdd Merge pull request #1396 from cryptomator/feature/#1013-#1061-cleanupAndInformation 2020-11-10 12:33:23 +01:00
Armin Schrenk
1947623be8 final cleanup:
* renamed methods
* apply code style
2020-11-10 12:24:49 +01:00
Armin Schrenk
4f8602684d Merge branch 'develop' into feature/#1013-#1061-cleanupAndInformation 2020-11-10 12:08:23 +01:00
Armin Schrenk
75f66e40bf Add additional mountName crunching to be urlconform when WebDAV is used 2020-11-10 12:05:30 +01:00
Sebastian Stenzel
73587437cb fixes #1400 2020-11-10 08:27:47 +01:00
Sebastian Stenzel
18f6e70bba Merge branch 'develop' of https://github.com/cryptomator/cryptomator into develop
# Conflicts:
#	main/ui/src/main/resources/i18n/strings.properties
2020-11-09 17:53:18 +01:00
Sebastian Stenzel
e067b94aca fixed labels 2020-11-09 17:52:48 +01:00
Armin Schrenk
b04d5669fb Format lables the same way 2020-11-09 17:40:57 +01:00
Armin Schrenk
ad44af338d Merge pull request #1399 from cryptomator/feature/io-stats
closes #1070
2020-11-09 17:20:10 +01:00
Sebastian Stenzel
4f4ddbc3e0 allow GCing of Stats Window while remaining reusability and preventing opening multiple windows per vault 2020-11-09 13:49:28 +01:00
Sebastian Stenzel
4e9af1c713 cleanup 2020-11-09 13:12:42 +01:00
Sebastian Stenzel
9a94b6f95e fixed typo 2020-11-09 13:10:35 +01:00
Sebastian Stenzel
371b826aa0 Merge branch 'develop' into feature/io-stats 2020-11-09 13:05:44 +01:00
Sebastian Stenzel
d3fb90bf6d fixed NPE if winDriveLetter is null (on Linux/Mac) 2020-11-09 13:05:06 +01:00
Sebastian Stenzel
d24c478faa more dependency updates 2020-11-09 12:01:38 +01:00
Sebastian Stenzel
48d0aa423c fixed getter name 2020-11-09 11:54:15 +01:00
Sebastian Stenzel
5695fa2916 Merge branch 'develop' into feature/io-stats 2020-11-09 11:48:17 +01:00
Armin Schrenk
bcea1a4b32 Bumping dependencies:
* javafx to 15
* webdav-nio-server to 1.0.13
2020-11-09 11:17:52 +01:00
Armin Schrenk
2f8d4568fc Updating CryptoFS Dependency.
Closes #1293
2020-11-09 10:33:27 +01:00
Armin Schrenk
5b55318e52 Bumping integrations-linux dependency, removing unused legacy property
closes #1308
2020-11-09 10:28:07 +01:00
Armin Schrenk
459f2ea2c3 Updating Dokany-nio-adapter dependency
References #1228
2020-11-09 10:27:52 +01:00
Martin Beyer
d26147a34a bumped up depencency of cryptofs to 1.9.13 2020-11-08 20:51:47 +01:00
JaniruTEC
afb9d4f010 Fixed exception on startup if mount folder doesn't exist
IrregularUnmountCleaner should not be called if there is no folder that could contain mountpoints.
2020-11-06 18:44:47 +01:00
JaniruTEC
db3bf9723e Merge branch 'feature/additional-error-messages' into develop 2020-11-06 17:34:23 +01:00
JaniruTEC
3a5937b35f Added runLater to implementation of ErrorComponent#showErrorScene() 2020-11-06 17:09:44 +01:00
Sebastian Stenzel
f5cddda7a8 Merge branch 'develop' into feature/#1013-#1061-cleanupAndInformation 2020-11-06 15:17:45 +01:00
Sebastian Stenzel
e9fa1d6476 removed old jni dependency 2020-11-06 14:53:45 +01:00
Sebastian Stenzel
084c1881ba removed unused imports
[ci skip]
2020-11-06 14:47:47 +01:00
Sebastian Stenzel
ce131e4653 Implemented AutoStart integration for macOS 2020-11-06 14:46:32 +01:00
Tobias Hagemann
a121c7d0fe added tooltip to path in vault list cell 2020-11-06 14:42:21 +01:00
Sebastian Stenzel
603bf99b25 Replaced MacFunctionsUiState using new integrations api 2020-11-06 14:18:23 +01:00
Sebastian Stenzel
9076fe5b46 Reintroduced trimming of vault display name 2020-11-06 11:07:45 +01:00
Sebastian Stenzel
6848f1a38e Renamed IrregularUnmountCleaner and relayouted code 2020-11-06 11:07:22 +01:00
Sebastian Stenzel
f4103fc917 reducing complexity of normalizedDisplayName 2020-11-06 09:54:25 +01:00
Sebastian Stenzel
c838da9df4 reducing complexity for "vault name max length" 2020-11-06 09:52:31 +01:00
Sebastian Stenzel
78df4e24b3 keep iconography consistent by reusing already existing icons 2020-11-06 09:51:51 +01:00
Sebastian Stenzel
c0e2d01297 Migrated from deprecated MacFunctions to UiAppearanceProvider for UI theme switching 2020-11-05 17:49:39 +01:00
JaniruTEC
313f8b36d2 Replaced dependency with call to getter 2020-11-05 17:11:35 +01:00
JaniruTEC
343794c1fe Redo "Added UI error messages"
This reverts commit d331c302
2020-11-05 17:04:31 +01:00
Armin Schrenk
813c01aaed Use mountName instead of display name 2020-11-05 13:23:30 +01:00
Armin Schrenk
510ea8a6f6 refined normalize Method, fxied Tests for it:
* all unicode spaces are now replaced with \u0020
* if the end string only contains whitspaces, "_" will be returned
2020-11-05 12:44:51 +01:00
Armin Schrenk
a22fbea467 The display/vault name is now constrained:
* should not be empty
* is stripped of leading & trailing whitespaces
* is truncated to 50 characters
2020-11-05 11:55:25 +01:00
Armin Schrenk
f64144d1da Revert 1554437884 2020-11-05 11:52:38 +01:00
Armin Schrenk
c01dd225c9 Refactor normalizedMountname to only exclude certain, filesystem reserved characters or Unicode control sequences 2020-11-05 11:47:18 +01:00
Sebastian Stenzel
18b408a83a Adjusted keychain display names
[ci skip]
2020-11-05 11:15:39 +01:00
Sebastian Stenzel
efaf107b20 Merge pull request #1393 from cryptomator/feature/modular-keychains
Modularized Keychain Access, references #1301
2020-11-05 11:10:15 +01:00
Sebastian Stenzel
86cba5e8a7 partial revert of 6ccd2486 2020-11-04 16:11:16 +01:00
Sebastian Stenzel
f4cee6d161 made KeychainManager immutable
[ci skip]
2020-11-04 14:15:28 +01:00
Sebastian Stenzel
28c40b2277 WHY? 2020-11-04 14:13:53 +01:00
Armin Schrenk
8853054ed4 fixing test 2020-11-03 14:53:51 +01:00
Armin Schrenk
3eb44b06af Fixes #1061:
* temp mount point is first tried without any addition
* then with id Suffix in brackets
* then with underscores, id suffix and count
2020-11-03 12:50:52 +01:00
Armin Schrenk
1554437884 Use regular display name and only normalize if webdav is used:
* rename StringBinding mountName to normalizedDisplayName
* replace in all other occurences mountName with DisplayName
2020-11-03 12:44:09 +01:00
Armin Schrenk
268bae8879 Change Invalid mount point error window:
* Add heading
* change icon to times_with_circle
* reformat text
2020-11-03 12:13:22 +01:00
Sebastian Stenzel
b382e436e2 minor CI fixes 2020-11-03 11:27:10 +01:00
Sebastian Stenzel
6ccd248675 use maven profiles to build different buildkits 2020-11-03 11:21:08 +01:00
Armin Schrenk
c760e63995 only use supported keychainAccessProviders 2020-11-03 10:54:32 +01:00
Armin Schrenk
959dee153e fixing bug where stored password is not used 2020-11-03 10:03:14 +01:00
Armin Schrenk
aa22f656e8 Moving the code for unregular unmount leftovers from mountpoint chooser to an own class and execute it at each application start. 2020-11-02 17:34:34 +01:00
Armin Schrenk
d24734e16f Revert "Adding method to clean up _our_ tmp mounting dirs to mitigate #1061 and #1013"
This reverts commit 01522e8c97.
2020-11-02 17:25:43 +01:00
Armin Schrenk
01522e8c97 Adding method to clean up _our_ tmp mounting dirs to mitigate #1061 and #1013 2020-11-02 14:49:57 +01:00
Sebastian Stenzel
14e056551d no longer track coverage for deleted keychain module 2020-11-02 14:07:21 +01:00
Sebastian Stenzel
82a42ea183 Removed keychain module. Implemented new KeychainManager in various UI controller classes 2020-11-02 14:03:39 +01:00
Sebastian Stenzel
bfde26be79 Added new keychain module and refactored UI parts 2020-11-02 13:09:30 +01:00
Sebastian Stenzel
51e43a0567 include system integration lib automatically depending on current OS 2020-11-02 13:08:50 +01:00
Sebastian Stenzel
9a375cb3f6 updated label
[ci skip]
2020-11-02 09:43:54 +01:00
Sebastian Stenzel
2b8f39a149 ignored some derived files 2020-11-02 09:41:07 +01:00
JaniruTEC
2720a999d1 Updated codestyle (#1388)
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
2020-11-02 08:45:41 +01:00
Ralph Plawetzki
f675bd5017 Feature/change password backend 2 (#1375)
* Add option to choose from available password backends on Linux
Implements #1301
2020-11-02 08:19:26 +01:00
JaniruTEC
16be3e7a97 Merge pull request #1384 from cryptomator/fix/missing-exceptions
Fix/missing exceptions
2020-10-29 16:58:51 +01:00
JaniruTEC
551d9d1af1 Added default Errorhandler to all Tasks and Services 2020-10-28 16:21:14 +01:00
JaniruTEC
0acc8ddb0a Fixed UnlockWorkflow
Partly reverted 253abd4930
2020-10-28 15:50:20 +01:00
JaniruTEC
f0e1bcb899 Moved call to #setOnFailed() to UpdateStatsService implementation 2020-10-28 15:40:59 +01:00
JaniruTEC
d331c30224 Revert "Added UI error messages"
This reverts commit eb8f5f523d.
2020-10-28 15:21:59 +01:00
JaniruTEC
d0d39a1c72 Merge branch 'develop' into fix/missing-exceptions 2020-10-27 17:04:32 +01:00
JaniruTEC
8904df91b4 Reverted accidental changes to Project_Default.xml [Skip CI] 2020-10-27 16:18:55 +01:00
JaniruTEC
786365c095 Added ability to skip CI
Added check for "Skip CI", added comment
Added filter for skipping CI
2020-10-27 16:12:35 +01:00
JaniruTEC
eb8f5f523d Added UI error messages
Added UI error message to GeneralPreferencesController for ToggleAutoStartTask
Added UI error message to RecoveryKeyCreationController
2020-10-26 21:19:24 +01:00
JaniruTEC
9c22adc97d Added/Fixed error logging
Added error logging to VaultStats and GeneralPreferencesController
Fixed possible missing error logging in VaultService
2020-10-26 21:17:22 +01:00
Sebastian Stenzel
265212cc0f New Crowdin updates (#1302)
* New translations strings.properties [ci skip]
2020-10-26 10:00:58 +01:00
Sebastian Stenzel
9c860cc17c Merge pull request #1380 from cryptomator/snyk-fix-bc2c8d6dd6d679e9ec6736de3d13592d
[Snyk] Security upgrade com.google.guava:guava from 29.0-jre to 30.0-jre
2020-10-24 09:55:05 +02:00
Sebastian Stenzel
7f63153bc1 Update main/pom.xml 2020-10-24 09:47:09 +02:00
snyk-bot
9531d44ab5 fix: main/pom.xml to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JAVA-COMGOOGLEGUAVA-1015415
2020-10-24 01:50:58 +00:00
JaniruTEC
253abd4930 Refactored UnlockWorkflow
Replaced protected state methods (scheduled, etc.) with lambdas in the constructor
Replaced try-multi-catch with if-instanceof in onFailed-lambda
2020-10-22 18:58:46 +02:00
JaniruTEC
022ba81f2f Reformatted classes ErrorComponent and Tasks 2020-10-22 18:33:20 +02:00
Armin Schrenk
26160e9bbc Merge pull request #1346 from purejava/fix-isSupported
Evade DBusException
2020-10-21 10:56:16 +02:00
JaniruTEC
0a32de2c92 Addded dev run configs, removed fuse-setting from win prod config 2020-10-16 22:38:39 +02:00
JaniruTEC
60aeb6a04b Merge pull request #1307 from cryptomator/feature/fuse-on-win
Added (experimental) support for using FUSE on Windows (using WinFSP)
2020-10-14 15:29:37 +02:00
JaniruTEC
0206fc0b8f Bumped required version of fuse-nio-adapter to 1.2.5 2020-10-14 15:26:28 +02:00
JaniruTEC
06b3343a6d Partly Revert "Finished feature: Fuse on Win"
Revert changes to TemporaryMountPointChooser introduced by 598bec3050
2020-10-13 18:30:00 +02:00
JaniruTEC
598bec3050 Finished feature: Fuse on Win
Bumped required version of fuse-nio-adapter to 1.2.4
Added comments
Changed log messages to be more descriptive
2020-10-12 21:34:56 +02:00
Reid Rankin
0e5d72c22a shorten FS_TYPE_NAME to "CryptomatorFS" (#1371)
This fixes part of #1033 by shortening the FS_TYPE_NAME so that it can be returned inside a 48-byte-long FILE_FS_ATTRIBUTE_INFORMATION buffer, which only has room for up to 17 UTF-16 characters in the file system name field.
2020-10-12 14:12:09 +02:00
JaniruTEC
21f4fab9ed Fixed bug: Strange error message if no MPC was applicable 2020-10-09 18:40:50 +02:00
JaniruTEC
58e2ec4742 Changed contract of priorities in MPC, added null-check
See: ab538cd215 (original commit)
See: 6b6867b826 (reverting commit)
2020-10-08 19:14:03 +02:00
JaniruTEC
6b6867b826 Reverted ab538cd215 2020-10-08 18:51:03 +02:00
Ralph Plawetzki
92321a7569 Remove unneeded access modifier 2020-10-08 12:57:50 +02:00
JaniruTEC
7781572b6d Replaced call to Validate with call to Preconditions
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r500760560
2020-10-07 23:27:08 +02:00
JaniruTEC
b5efe39eb8 Refactored Vault, MPCs, Unlock to integrate better with latest changes
Removed delegate to Volume#getMountPointRequirement() from Vault
Added getter for the Vault's Volume (#getVolume())

Changed CustomMountPointChooser to use VaultSettings instead of Vault for the constructor/field declaration
Updated CustomMountPointChooser#isApplicable() to be disabled when using FUSE on Windows (without useExperimentalFuse)
Updated CustomMountPointChooser to call Volume#getMountPointRequirement() directly

Replaced OS-Check in TemporaryMountPointChooser with MPR-Check

Replaced call to Vault#getMountPointRequirement() with call to Vault#getVolume() (and Volume#getMountPointRequirement()) in UnlockInvalidMountPointController and UnlockWorkflow
Cleaned up UnlockWorkflow
2020-10-07 23:19:24 +02:00
Ralph Plawetzki
cae86cd71f Get more information logged in case something goes wrong 2020-10-07 18:55:18 +02:00
Ralph Plawetzki
667617b480 Update kdewallet to latest 1.1.1 2020-10-07 18:32:16 +02:00
JaniruTEC
9329311491 Merge branch 'feature/volume-type-getter' into feature/fuse-on-win 2020-10-07 16:59:54 +02:00
JaniruTEC
22438d1eba Added api for getting the implemented VolumeImpl (type) of a Volume 2020-10-07 16:46:58 +02:00
JaniruTEC
d295084312 Changed contracts in MPC interface
Added Volume parameter to the method signature of all MPC methods and updated implementations to use the change.

Changed contract of the MPC interface: Validation of the MPC (call to #isApplicable()) moved from the Module to the Volume.
Updated docs to reflect those changes. Fixed typos.
Updated method/qualifier names.
Updated implementation of #provideOrdered(Valid)MountPointChoosers() to reflect this change and to build the set differently.
Updated #determineMountPoint() to work with the new set.
2020-10-06 19:52:59 +02:00
JaniruTEC
ab538cd215 Fixed bug: Dropped MPCs if priorities were equal
Fixed bug that caused MPCs with equal priorities to be dropped (even if they weren't equal).
Added additional criteria (hashCode) for cases were priorities are equal.

See the docs of ImmutableSortedSet for further information.
2020-10-06 19:40:03 +02:00
Armin Schrenk
f9cb438a0b Closes #1065 for real by adding missing style in dark theme for debug mode 2020-10-01 18:37:32 +02:00
JaniruTEC
354de225ed Reverted changes to WebDavVolume#getMountPoint()
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472888268
2020-09-30 14:09:01 +02:00
Armin Schrenk
0b7f8d71ed closes #1065 2020-09-29 12:12:59 +02:00
JaniruTEC
9657a13912 Updated MPCModule to return a SortedSet and switched collector
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r474452898
2020-09-28 23:34:47 +02:00
Ralph Plawetzki
c5a3b29554 Make logger static 2020-09-16 18:56:54 +02:00
Ralph Plawetzki
ae957c2588 Print error message instead of stacktrace
Fixes #1345
2020-09-16 06:55:37 +02:00
Tobias Hagemann
da84133732 allows running launcher-mac.sh from any path 2020-09-15 16:23:31 +02:00
Tobias Hagemann
10275eb80f Merge pull request #1326 from TheShellLand/linux-libs
allows running launcher-linux.sh from any path
2020-09-15 09:28:04 +02:00
Sebastian Stenzel
29a9c7dffe auto-close bugs violating the issue template
[ci skip]
2020-09-13 11:50:26 +02:00
JaniruTEC
d5b8996a39 Fixed violation of method contract
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472857043
2020-09-11 22:23:48 +02:00
JaniruTEC
f012977aac Fixed spelling
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472825411
2020-09-11 21:47:30 +02:00
JaniruTEC
8680bd1dee Updated MountPointChooserModule and MPCs
Updated MountPointChooserModule and MPCs to use bindings (@'Binds) instead of providers (@'Provides)
Updated CustomDriveLetterChooser and TemporaryMountPointChooser  to use VaultSettings instead of Vaults

See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472872166
2020-09-07 22:25:01 +02:00
JaniruTEC
528510eb53 Renamed binding fuseAndWindows to restrictToStableFuseOnWindows
Renamed binding fuseAndWindows to restrictToStableFuseOnWindows in MountOptionsController

See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r477135521
2020-09-07 22:24:59 +02:00
ainiml
e8d17cfb7b allows running launcher-linux.sh from any path 2020-09-06 19:25:50 -04:00
JaniruTEC
cdbcd20241 Fixed faulty access introduced by parallel release of 1.5.8 2020-09-05 22:15:02 +02:00
JaniruTEC
fef3ade5c6 Merge branch 'develop' into feature/fuse-on-win
Fixed conflicts in WebDavVolume
2020-09-04 22:28:53 +02:00
Tobias Hagemann
194d7f0da9 Merge branch 'hotfix/1.5.8' into develop 2020-08-28 16:01:35 +02:00
Tobias Hagemann
8ad20c27da Merge branch 'hotfix/1.5.8' 2020-08-28 15:57:54 +02:00
Tobias Hagemann
f891a9f1a7 refactored that fix from 2a335eb7af 2020-08-28 14:25:26 +02:00
Tobias Hagemann
2a335eb7af fixed test 2020-08-28 14:06:09 +02:00
Tobias Hagemann
6578ac0121 use mountName in FUSE on macOS instead of displayName 2020-08-28 13:55:17 +02:00
Tobias Hagemann
83f9514a42 fixed icon views of labels in new password screen that could only appear once
(cherry picked from commit 4723416d45)
2020-08-28 13:41:43 +02:00
Tobias Hagemann
c92f1aa655 updated third-party licenses 2020-08-28 13:34:41 +02:00
Tobias Hagemann
688993ba37 preparing 1.5.8 2020-08-28 12:58:50 +02:00
Armin Schrenk
ddfc8d5bc3 Merge branch 'feature/#1289-introduceVaultname' into hotfix/1.5.8 2020-08-28 11:59:56 +02:00
Armin Schrenk
c3141e3601 minor adjustments 2020-08-28 11:58:46 +02:00
Armin Schrenk
f49974180b Fixing test 2020-08-28 11:19:56 +02:00
Armin Schrenk
eb6ade49f6 refactor to use parameterized test 2020-08-27 16:18:20 +02:00
Armin Schrenk
6553c04256 add code to migrate legacy settings.json files to new property. 2020-08-27 15:53:20 +02:00
Armin Schrenk
a8cb015a06 rename property and getters in vault class for display name. 2020-08-27 15:52:16 +02:00
Martin Beyer
ee81dca71c Nice implementation of only one stats window per vault 2020-08-26 17:23:39 +02:00
Sebastian Stenzel
ce06ddf312 updated webdav dependencies
(cherry picked from commit 8c4d35d3db)
2020-08-26 12:51:28 +02:00
Armin Schrenk
fee2d4bc0c Merge pull request #1311 from cryptomator/feature/alternativeAutostartWin
Feature/alternative autostart win
2020-08-26 11:44:37 +02:00
Armin Schrenk
a2a990bd0c Correct spelling 2020-08-26 11:36:46 +02:00
Armin Schrenk
cedbe6523d Merge pull request #1294 from purejava/access-kde-wallets
This adds the missing part to linux system keychain access: use KDE wallets
2020-08-26 10:03:55 +02:00
JaniruTEC
ec64055d93 Renamed property "position" (defined by MPC) to "priority" 2020-08-21 22:41:15 +02:00
JaniruTEC
6f542ac8b8 Replaced "assert" with IllegalStateException 2020-08-21 21:57:12 +02:00
Ralph Plawetzki
8a3c101764 Merge remote branch 'cryptomator/develop' into access-kde-wallets 2020-08-21 19:30:46 +02:00
infeo
49a8689090 Remove legacy concepts:
* in vaultSettings, displayName does not listen on path
* the caller/creater of vault settings must set the name explicitly
* add localizable default vault name
2020-08-21 13:30:05 +02:00
infeo
8f5c4997b1 closes #1300 2020-08-21 11:32:51 +02:00
infeo
900fdd7f6f minor changes
* removing unused imports
* exchanging addListener() by Easybind.subscribe()
2020-08-21 11:17:55 +02:00
Tobias Hagemann
4723416d45 fixed icon views of labels in new password screen that could only appear once 2020-08-21 10:13:45 +02:00
JaniruTEC
8483f71f57 Refactored CustomMountPointChooser
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472832435
2020-08-21 00:55:33 +02:00
JaniruTEC
5dac594cc9 Removed Phasesystem, specified docs, removed default #isApplicable()
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472835069 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472839837 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472820689 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472872901
2020-08-21 00:00:13 +02:00
infeo
06f4e160d6 Migrate to easybind fork 2020-08-20 21:25:54 +02:00
infeo
1d38ee2fcb Further improvements:
* corrected bad english
* improved documentation
* restricted visibility of specific exception
2020-08-20 13:49:31 +02:00
Sebastian Stenzel
921b70ebaa updated webdav dependencies
(cherry picked from commit 8c4d35d3db)
2020-08-20 13:38:40 +02:00
infeo
0f56d424da Refactored AutoStartStrategy:
* prevented on best effort basis inconsistent states
* extracted the registry setting as an own strategy (by methods)
* refactored the overriden methods to call the strategies (registry or folder) depending on the different variables
* removed Powershell specific ToggleException
* added documentation
2020-08-20 12:18:57 +02:00
JaniruTEC
4cd43a2b1c Merge branch 'develop' into feature/fuse-on-win 2020-08-19 15:53:26 +02:00
JaniruTEC
1ef359e68b Added messages to rethrown IOExceptions 2020-08-19 15:47:09 +02:00
JaniruTEC
58ce1e45b8 Updated Codestyle to not use any arrangements 2020-08-19 15:34:08 +02:00
Martin Beyer
bd854e7f7a updates secret-service for linux keychains and fixes #1268 2020-08-19 15:31:42 +02:00
JaniruTEC
3ecc0cf906 Cleaned up MountPointRequirement
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472827299
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472826920
2020-08-19 14:45:10 +02:00
JaniruTEC
ea6925f905 Replaced #wrapAsIMPE() with explicit call to IMPExc
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472872373 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472859488 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472827776
2020-08-19 11:44:18 +02:00
JaniruTEC
f45b78d8c0 Removed accidental debugcode, updated lookup for env-var
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472848604
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472851003
2020-08-19 11:44:01 +02:00
JaniruTEC
75ca8a91f8 Merge remote-tracking branch 'upstream/develop' into feature/fuse-on-win 2020-08-19 11:42:55 +02:00
JaniruTEC
16462d05c8 Refactored changes, cleaned up
Changed visibility of methods
Removed Logger from AbstractVolume
Moved mountPoint and #getMountPoint()
Renamed fuseMnt to mount in FuseVol (as in DokanyVol)
Removed unnecessary mountPoint-field from WebDavVolume
2020-08-18 21:27:13 +02:00
JaniruTEC
cbef54f05c Added Logger, moved cleanup, moved choosing 2020-08-18 21:27:03 +02:00
JaniruTEC
f601ff4ce3 Moved #isSupported() in the file, moved #determineMountPoint() 2020-08-18 21:26:52 +02:00
JaniruTEC
84fbf7392b Updated usage of FuseNotSupportedException 2020-08-18 16:57:56 +02:00
JaniruTEC
bbf9379f56 Changed DokanyVolumes and FuseVolumes to use mountnames
Changed DokanyVolumes and FuseVolumes to use mountnames for automatic, folder-based mounting instead of ids.
2020-08-18 16:57:55 +02:00
JaniruTEC
6aa14fcfb1 Updated Errorhandling of UnlockWorkflow 2020-08-18 16:57:55 +02:00
Tobias Hagemann
710c7d0da7 added button to main window title if debug mode is enabled, fixes #1065 2020-08-18 16:08:23 +02:00
Tobias Hagemann
841d4eb9c7 updated third-party licenses 2020-08-18 13:59:37 +02:00
Sebastian Stenzel
8c4d35d3db updated webdav dependencies 2020-08-18 10:36:55 +02:00
JaniruTEC
4110057fa1 Refactored multiple classes
Refactored UnlockWorkflow, CustomMountPointChooser, DokanyVolume and UnlockInvalidMountPointController

Changed UnlockWorkflow#handleGenericError() to accept Throwables

Added check for parent to CustomMountPointChooser (when using FUSE on Win)

Removed legacy constant from DokanyVolume

Added asserts to UnlockInvalidMountPointController and UnlockWorkflow
2020-08-16 18:40:11 +02:00
Tobias Hagemann
9b1d6d2f2f Merge branch 'release/1.5.7' into develop 2020-08-14 12:59:07 +02:00
Tobias Hagemann
1c45455cb2 Merge branch 'release/1.5.7' 2020-08-14 12:58:26 +02:00
Tobias Hagemann
411aca8695 preparing 1.5.7 2020-08-14 12:55:46 +02:00
Sebastian Stenzel
3de69021df New Crowdin updates (#1255)
[ci skip]
2020-08-14 12:49:55 +02:00
Tobias Hagemann
8418038736 dependency update 2020-08-14 12:47:11 +02:00
Ralph Plawetzki
3bf2b499a7 Reverse order to initialize backend
The GNOME keyring feature was implemented first and we don't want to confuse users who used it before
2020-08-14 07:40:46 +02:00
JaniruTEC
430da2b78d Implemented MPC-System in FuseVolume and DokanyVolume, did refactoring
Implemented MPC-System in FuseVolume and DokanyVolume
Removed methods from FuseVol and DokanyVol
Renamed methods
Added chooser logic instead

Added imports for VolumeException to multiple classes
Added support for throwing and handling of InvalidMountPointException from Volume up to UnlockWorkflow (changed method signatures, added try-catchs, etc.)
2020-08-12 23:42:38 +02:00
JaniruTEC
51047dcbce Added additional debug messages 2020-08-12 23:42:38 +02:00
JaniruTEC
708bcaa630 Updated CustomMountPointChooser to use MPR instead of OS-Checks
Updated CustomMountPointChooser to use MountPointRequirements instead of OS-Checks.

This led to the discovery of the bug that was fixed in 724b20c826.
2020-08-12 23:42:37 +02:00
JaniruTEC
724b20c826 Fixed possible racecondition at Vault initialization
Fixed possible racecondition at Vault initialization: VaulSettings were read before the Vault was fully initialized resulting in breakage of the code if the excact order was to be changed.
2020-08-12 21:43:24 +02:00
Tobias Hagemann
69f8c46f15 ui adjustments in vault detail missing 2020-08-12 17:35:11 +02:00
JaniruTEC
b7f2fb0bdf Added cleanup to TemporaryMountPointChooser 2020-08-11 23:35:43 +02:00
JaniruTEC
222ffd8c53 Implemented MountPointChooserModule 2020-08-11 23:35:42 +02:00
JaniruTEC
00e0a0f79a Fixed doc for MountPointChooser 2020-08-11 23:35:42 +02:00
JaniruTEC
d6bbc4383b Added implementations for MountPointChooser
Added AvailableDriveLetterChooser for automatic DriveLetter-choice
Added CustomDriveLetterChooser for a chosen DriveLetter
Added CustomMountPointChooser for a chosen directory
Added TemporaryMountPointChooser for automatic directory-choice
2020-08-11 23:03:12 +02:00
JaniruTEC
b51a2602a9 Documented MountPointChooser 2020-08-11 23:03:12 +02:00
JaniruTEC
c3fbddc671 Refactored PerVault, Vault and VaultSettings
Made @`PerVault public
Added import for VaultException to Vault
Added convenience method to VaultSettings
2020-08-11 22:26:15 +02:00
JaniruTEC
ce262b691a Added base classes for MountPointChoosers and added module to component 2020-08-11 22:26:15 +02:00
Martin Beyer
65de6fef9b Allowing only one io-stats window per vault to be open at the same time. 2020-08-11 17:32:39 +02:00
Armin Schrenk
31d95ae5b0 Remove restrictions of vault name filed to only contain alpha numeric characters 2020-08-11 12:04:02 +02:00
Armin Schrenk
429098733c Improve the vault/mount name system:
* fix bug where the default name is not replaced by the actual folder name
* introduce new field in settings "mountName" as binding on displayName
* change volumes to use mountName instead of displayName
2020-08-11 11:19:54 +02:00
JaniruTEC
597899d2bf Fixed random set order and updated #getAvailableDriveLetter()
Fixed bug introduced by 32a810fe1d:
The Set of existing DriveLetters was in random order because Collectors#toUnmodifiableSet is an unordered collector.

Changed #getAvailableDriveLetter() to use Stream#findFirst() instead of #findAny()
2020-08-11 02:24:44 +02:00
Ralph Plawetzki
b1c66b181d Depend on kdewallet 1.0.1, hence dbus-java 3.2.3
that fixes issues when dealing with multiple signals of the same name but different signatures
2020-08-09 11:18:17 +02:00
Ralph Plawetzki
100b836979 Adjust buildkit to exclude kdewallet for Windows and macOS 2020-08-07 18:49:07 +02:00
Ralph Plawetzki
817907c25a Add access functionality for KDE kwallets 2020-08-07 18:32:54 +02:00
Tobias Hagemann
25195fffe2 added icon to password strength label in new password controller 2020-08-07 17:47:49 +02:00
Tobias Hagemann
0e784a6ffc also disable finish button in change password if old password field is empty 2020-08-07 17:09:55 +02:00
Tobias Hagemann
351f96fa8b switch to light theme if donation key has changed and is invalid 2020-08-07 09:30:22 +02:00
Tobias Hagemann
703fb4fb51 fixed 0091c401df (r40816364) 2020-08-06 18:32:57 +02:00
Tobias Hagemann
a975df6f8c added "Automatic" theme on macOS 2020-08-06 18:30:34 +02:00
Armin Schrenk
fb90128b63 Move option to change display name of a vault from mount options to general options 2020-08-06 15:33:28 +02:00
Armin Schrenk
ea4c91fb37 change meaning of mount name setting:
* it is now considered the gerenal vault name
* methods (except parsing) are renamed accordingly
2020-08-06 15:20:32 +02:00
Armin Schrenk
7c1d6973ba fixes #1289 by decoupling storage path from vault name 2020-08-06 15:18:30 +02:00
JaniruTEC
4f2120b729 Added support for folderbased backup-mountpoint to DokanyVol and FuseVol 2020-08-03 22:20:20 +02:00
JaniruTEC
51f7d74e4a Changed cryptomator.mountPointsDir-property in Windows Configs
Changed cryptomator.mountPointsDir-property in Windows Configs from "~/Mount" to "~/Cryptomator
2020-08-03 21:22:22 +02:00
JaniruTEC
32a810fe1d Changed FuseVolume to choose a DriveLetter instead of a folder
Changed FuseVolume to choose a DriveLetter instead of a folder if the the mountpoint is chosen by the app.
Reworked priorities when choosing
Changed DokanyVolume to use the new methods supplied by WindowsDriveLetters
2020-07-29 22:15:12 +02:00
JaniruTEC
570482521a Delegated choice of DriveLetter to WDL and made internal Set immutable
Delegated choice of DriveLetter to WindowsDriveLetters
Made internal Set ("C_TO_Z") immutable, that is returned by getAvailableDriveLetters()
Changed direct reference to C_TO_Z to use getAvailableDriveLetters() instead
2020-07-29 22:14:51 +02:00
Martin Beyer
3bd2a2f911 Fixes #1262 by adding new buttons, if a vault cannot be found 2020-07-29 10:21:16 +02:00
JaniruTEC
1ac6d086bd Disabled some experimental FUSE Features on Windows
Disabled some experimental FUSE Features on Windows unless they are explicitly enabled by using the flag '-Dfuse.experimental="true"'

They are enabled in the default IntelliJ-Config (disabled on Build)
2020-07-28 19:15:56 +02:00
JaniruTEC
8374599183 Modified creation of temporary mountpoint, fixed bugs, added comments
Changed FuseVolume#prepareTemporaryMountPoint to handle FUSE on Windows correctly (WinFSP requires the folder to NOT exist...)
See: https://github.com/billziss-gh/winfsp/issues/320

Added comments
Fixed bug: Message showing a malformed path
2020-07-26 23:03:36 +02:00
Martin Beyer
0091c401df Fixes #1267 by binding the settings.preferredVolumeImpl to VolumeImpl.WEBDAV, if preferredVolimeImpl isn't available 2020-07-22 15:26:21 +02:00
Martin Beyer
00dd67e345 Refactoring 2020-07-21 15:16:53 +02:00
Martin Beyer
158677bd54 Using new methods from CryptoFs to get correct statistics 2020-07-21 11:10:05 +02:00
JaniruTEC
a1b375316c Specified the messages of failed UnlockWorkflows
Specified the messages of failed UnlockWorkflows by adding the ability to distinguish between the different MountPointRequirements

Translation for all languages but German and Englisch required
2020-07-20 22:06:15 +02:00
JaniruTEC
dae2814b0f Added MountPointRequirement-Enum
Added MountPointRequirement-Enum and added method getMountPointRequirement() to Volume (and all implementing classes) to query the requirment for the specific VolumeProvider.
2020-07-20 22:01:10 +02:00
JaniruTEC
341a98848d Modified check of provided mountpoint
Changed FuseVolume#checkProvidedMountPoint to handle FUSE on Windows correctly (WinFSP requires the folder to NOT exist...)
2020-07-20 22:00:35 +02:00
JaniruTEC
902e66906a Refactored method FuseVolume#prepareTemporaryMountPoint
Refactored method FuseVolume#prepareTemporaryMountPoint to be more readable (removed duplicated code)
2020-07-20 21:55:49 +02:00
JaniruTEC
c59d3cd03f Removed check for OS from FuseVolume#isSupportedStatic 2020-07-20 21:23:35 +02:00
Martin Beyer
ed9f16e012 Displaying additional stats with a new DataLabel 2020-07-20 16:09:45 +02:00
Martin Beyer
ed77a4aacd Added basic counting of additional total stats (not correct) 2020-07-20 16:08:25 +02:00
Martin Beyer
ff2fa70bd6 preperation for displaying en-de-crypted bytes per second 2020-07-20 11:00:59 +02:00
Martin Beyer
3519346df9 cleaned up unlock window 2020-07-20 10:59:48 +02:00
JaniruTEC
45f6caa7bd Added basic support for FUSE-Mounting on Windows 2020-07-18 19:05:18 +02:00
JaniruTEC
e2e7755af2 Added cryptomator.mountPointsDir-property to Windows Configs 2020-07-18 18:57:11 +02:00
Armin Schrenk
4ab7bfaa20 reformat 2020-07-17 11:58:11 +02:00
Armin Schrenk
7e0ffb43a6 fixing bug where the mountName of the vault is initially set as the default one 2020-07-17 11:57:53 +02:00
Martin Beyer
526c8328f6 Refactoring - Removing unnecessary environment variable 2020-07-13 15:21:24 +02:00
JaniruTEC
81bad4eb25 Fixed bug: Some exceptions caused by unlock were not shown
If an unmatched exception occurred during unlocking it was neither logged nor shown to the user.
2020-07-09 22:34:57 +02:00
Martin Beyer
dcaa6e81a3 Improving Exception calling and logging 2020-07-08 14:53:15 +02:00
Martin Beyer
e78155396d Implementing #1251 2020-07-08 14:01:10 +02:00
Sebastian Stenzel
d3063c8117 Make sure not to launch the FX app more than once. 2020-07-07 16:01:32 +02:00
Armin Schrenk
cd1ed088c3 Update bug.md
Change bullet point "Drive" to "Volume type" such that users are less confused by this field. Also added where this info can be found.
2020-07-03 10:37:02 +02:00
Martin Beyer
e831debb94 fixes #1244 by renaming the refresh button and adding a method call 2020-06-30 09:36:46 +02:00
Martin
8d15a6612f Implements #1244 by adding a small button to regain focus 2020-06-28 11:05:27 +02:00
Sebastian Stenzel
9c034f3be6 split up read and write charts and added cache efficiency chart
(because we will add further read/write-specific stats like total number of files read/written, bytes encrypted/decrypted, etc)
2020-06-25 17:16:42 +02:00
Sebastian Stenzel
60dd9349a8 Merge branch 'develop' into feature/io-stats 2020-06-25 17:15:22 +02:00
Sebastian Stenzel
330b1cbf7d derived resources after dependency update
[ci skip]
2020-06-25 17:15:07 +02:00
Sebastian Stenzel
9ffa38d54e Merge branch 'develop' into feature/io-stats 2020-06-22 17:24:18 +02:00
Sebastian Stenzel
c925727269 Merge branch 'master' into develop 2020-06-22 17:23:58 +02:00
Martin Beyer
7a69692999 Prettied up the statistics window for both Ui Themes 2020-06-17 11:04:36 +02:00
Sebastian Stenzel
d00d9d98dc make sure to release all strong referenced to the I/O chart when closing the window 2020-06-16 15:35:12 +02:00
Sebastian Stenzel
1846c5c14c formatting 2020-06-16 15:05:24 +02:00
Sebastian Stenzel
0d9db783f7 Merge branch 'develop' into feature/io-stats 2020-06-16 15:04:47 +02:00
Martin Beyer
55e9cabf51 Updated Graph to use Timeline + minor UI changes + wording 2020-06-16 14:13:17 +02:00
Sebastian Stenzel
5180f2061a add series only once (in scene initialization instead of on every tick) - thus fixing IAE 2020-06-10 13:58:02 +02:00
Martin Beyer
05154cf6aa Added Graph to statistics window 2020-06-10 13:38:58 +02:00
Martin Beyer
f61e955945 First Dummy window to show statistics 2020-06-10 13:38:57 +02:00
603 changed files with 21969 additions and 8551 deletions

View File

@@ -1,5 +1,6 @@
commit_message: "[ci skip]"
escape_special_characters: 0
commit_message: '[ci skip]'
files:
- source: /main/ui/src/main/resources/i18n/strings.properties
translation: /main/ui/src/main/resources/i18n/strings_%two_letters_code%.properties
- source: /src/main/resources/i18n/strings.properties
translation: /src/main/resources/i18n/strings_%two_letters_code%.properties
escape_quotes: 0
escape_special_characters: 0

View File

@@ -22,7 +22,7 @@ include:
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
* The use of sexual language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment

View File

@@ -1,61 +0,0 @@
---
name: "Bug Report"
about: "Create a report to help us improve"
labels: type:bug
---
<!--
Do you want to ask a QUESTION? Are you looking for SUPPORT?
We're happy to help you via our support channels! Please read: https://github.com/cryptomator/cryptomator/blob/develop/SUPPORT.md
By filing an issue, you are expected to comply with our code of conduct: https://github.com/cryptomator/cryptomator/blob/develop/.github/CODE_OF_CONDUCT.md
Of course, we also expect you to search for existing similar issues first! ;) https://github.com/cryptomator/cryptomator/issues?q=
-->
### Description
[Summarize your problem.]
### System Setup
* Operating system and version: [Windows/macOS/Linux + Version]
* Cryptomator version: [Shown in the settings]
* Drive: [Dokany/FUSE/WebDAV]
### Steps to Reproduce
1. [First step]
2. [Second step]
3. [and so on…]
#### Expected Behavior
[What you expect to happen.]
#### Actual Behavior
[What actually happens.]
#### Reproducibility
[Always/Intermittent/Only once]
### Additional Information
[Any additional information, log files, screenshots, configuration, or data that might be necessary to reproduce the issue.]
<!--
If you want to add the log file or screenshots, please add them as attachments. If your log file seems empty and doesn't show any errors, you may enable the debug mode first. Here is how to do that: https://community.cryptomator.org/t/how-do-i-enable-debug-mode/36
Then reproduce the problem to ensure all important information is contained in there. You may use test data or redact sensitive information from the log file.
Log file location:
- Windows: %appdata%/Cryptomator
- macOS: ~/Library/Logs/Cryptomator
- Linux: ~/.local/share/Cryptomator/logs
-->

93
.github/ISSUE_TEMPLATE/bug.yml vendored Normal file
View File

@@ -0,0 +1,93 @@
name: Bug Report
description: Create a report to help us improve
labels: ["type:bug"]
body:
- type: checkboxes
id: terms
attributes:
label: Please agree to the following
options:
- label: I have searched [existing issues](https://github.com/cryptomator/cryptomator/issues?q=) for duplicates
required: true
- label: I agree to follow this project's [Code of Conduct](https://github.com/cryptomator/cryptomator/blob/develop/.github/CODE_OF_CONDUCT.md)
required: true
- type: input
id: summary
attributes:
label: Summary
placeholder: Please summarize your problem.
validations:
required: true
- type: textarea
id: software-versions
attributes:
label: What software is involved?
description: |
Examples:
- Operating System: Windows 10
- Cryptomator: 1.5.16
- LibreOffice: 7.1.4
value: |
- Operating System:
- Cryptomator:
- …
validations:
required: true
- type: dropdown
id: volume-type
attributes:
label: Volume Type
description: What is selected under Settings → Virtual Drive?
multiple: true
options:
- FUSE
- Dokany
- WebDAV
validations:
required: false
- type: textarea
id: reproduction-steps
attributes:
label: Steps to Reproduce
value: |
1. [First Step]
2. [Second Step]
3. …
validations:
required: true
- type: textarea
id: expected-behaviour
attributes:
label: Expected Behavior
placeholder: What you expect to happen.
validations:
required: true
- type: textarea
id: actual-behaviour
attributes:
label: Actual Behavior
placeholder: What actually happens.
validations:
required: true
- type: dropdown
id: reproducibility
attributes:
label: Reproducibility
description: How often does the described behaviour occur?
options:
- Always
- Intermittent
- Only once
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant Log Output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: textarea
id: further-info
attributes:
label: Anything else?
description: Links? References? Screenshots? Configurations? Any data that might be necessary to reproduce the issue?

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Help & Support
url: https://community.cryptomator.org/
about: You will find answers in our community forum
- name: User Manual
url: https://docs.cryptomator.org/
about: Read the Cryptomator documentation here

View File

@@ -1,32 +0,0 @@
---
name: "Feature Request"
about: "Suggest an idea for this project"
labels: type:feature-request
---
<!--
Do you want to ask a QUESTION? Are you looking for SUPPORT?
We're happy to help you via our support channels! Please read: https://github.com/cryptomator/cryptomator/blob/develop/SUPPORT.md
By filing a feature request, you are expected to comply with our code of conduct: https://github.com/cryptomator/cryptomator/blob/develop/.github/CODE_OF_CONDUCT.md
Of course, we also expect you to search for existing similar feature requests first! ;)
-->
### Summary
[One paragraph explanation of the feature.]
### Motivation
[Why are we doing this? What use cases does it support? What is the expected outcome?]
### Considered Alternatives
[A clear and concise description of the alternative solutions you've considered.]
### Additional Context
[Add any other context or screenshots about the feature request here.]

37
.github/ISSUE_TEMPLATE/feature.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: Feature Request
description: Suggest an idea for this project
labels: ["type:feature-request"]
body:
- type: checkboxes
id: terms
attributes:
label: Please agree to the following
options:
- label: I have searched [existing issues](https://github.com/cryptomator/cryptomator/issues?q=) for duplicates
required: true
- label: I agree to follow this project's [Code of Conduct](https://github.com/cryptomator/cryptomator/blob/develop/.github/CODE_OF_CONDUCT.md)
required: true
- type: input
id: summary
attributes:
label: Summary
placeholder: Please summarize your feature request.
validations:
required: true
- type: textarea
id: motivation
attributes:
label: Motivation
description: Who requires this feature? What problem does the user face? How would this feature solve the problem?
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Considered Alternatives
description: What current alternatives or workarounds have you considered? Is there a different way to solve the same problem?
- type: textarea
id: context
attributes:
label: Anything else?
description: Any context, suggestions, screenshots, or concepts you want to share?

View File

View File

@@ -14,5 +14,5 @@ For _everything else_, please visit our official [Cryptomator Community](https:/
- Discussions about the apps
- [Development discussions](https://community.cryptomator.org/c/development)
- General questions
- Discussions regarding our design decissions
- Discussions regarding our design decisions
- Our roadmap

151
.github/workflows/appimage.yml vendored Normal file
View File

@@ -0,0 +1,151 @@
name: Build AppImage
on:
release:
types: [published]
workflow_dispatch:
env:
JAVA_VERSION: 17
jobs:
build:
name: Build AppImage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: ${{ env.JAVA_VERSION }}
cache: 'maven'
- id: versions
name: Apply version information
run: |
if [[ $GITHUB_REF =~ refs/tags/[0-9]+\.[0-9]+\.[0-9]+.* ]]; then
SEM_VER_STR=${GITHUB_REF##*/}
mvn versions:set -DnewVersion=${SEM_VER_STR}
else
SEM_VER_STR=`mvn help:evaluate -Dexpression=project.version -q -DforceStdout`
fi
SEM_VER_NUM=`echo ${SEM_VER_STR} | sed -E 's/([0-9]+\.[0-9]+\.[0-9]+).*/\1/'`
REVCOUNT=`git rev-list --count HEAD`
echo "::set-output name=semVerStr::${SEM_VER_STR}"
echo "::set-output name=semVerNum::${SEM_VER_NUM}"
echo "::set-output name=revNum::${REVCOUNT}"
- name: Validate Version
uses: skymatic/semver-validation-action@v1
with:
version: ${{ steps.versions.outputs.semVerStr }}
- name: Run maven
run: mvn -B clean package -Pdependency-check,linux -DskipTests
- name: Patch target dir
run: |
cp LICENSE.txt target
cp dist/linux/launcher.sh target
cp target/cryptomator-*.jar target/mods
- name: Run jlink
run: >
${JAVA_HOME}/bin/jlink
--verbose
--output runtime
--module-path "${JAVA_HOME}/jmods"
--add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility,jdk.management.jfr
--no-header-files
--no-man-pages
--strip-debug
--compress=1
- name: Run jpackage
run: >
${JAVA_HOME}/bin/jpackage
--verbose
--type app-image
--runtime-image runtime
--input target/libs
--module-path target/mods
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator
--dest appdir
--name Cryptomator
--vendor "Skymatic GmbH"
--copyright "(C) 2016 - 2022 Skymatic GmbH"
--app-version "${{ steps.versions.outputs.semVerNum }}.${{ steps.versions.outputs.revNum }}"
--java-options "-Xss5m"
--java-options "-Xmx256m"
--java-options "-Dcryptomator.appVersion=\"${{ steps.versions.outputs.semVerStr }}\""
--java-options "-Dfile.encoding=\"utf-8\""
--java-options "-Dcryptomator.logDir=\"~/.local/share/Cryptomator/logs\""
--java-options "-Dcryptomator.pluginDir=\"~/.local/share/Cryptomator/plugins\""
--java-options "-Dcryptomator.settingsPath=\"~/.config/Cryptomator/settings.json:~/.Cryptomator/settings.json\""
--java-options "-Dcryptomator.ipcSocketPath=\"~/.config/Cryptomator/ipc.socket\""
--java-options "-Dcryptomator.mountPointsDir=\"~/.local/share/Cryptomator/mnt\""
--java-options "-Dcryptomator.showTrayIcon=false"
--java-options "-Dcryptomator.buildNumber=\"appimage-${{ steps.versions.outputs.revNum }}\""
--resource-dir dist/linux/resources
- name: Patch Cryptomator.AppDir
run: |
mv appdir/Cryptomator Cryptomator.AppDir
cp -r dist/linux/appimage/resources/AppDir/* Cryptomator.AppDir/
envsubst '${REVISION_NO} ${SEMVER_STR}' < dist/linux/appimage/resources/AppDir/bin/cryptomator.sh > Cryptomator.AppDir/bin/cryptomator.sh
cp dist/linux/common/org.cryptomator.Cryptomator256.png Cryptomator.AppDir/usr/share/icons/hicolor/256x256/apps/org.cryptomator.Cryptomator.png
cp dist/linux/common/org.cryptomator.Cryptomator512.png Cryptomator.AppDir/usr/share/icons/hicolor/512x512/apps/org.cryptomator.Cryptomator.png
cp dist/linux/common/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg
cp dist/linux/common/org.cryptomator.Cryptomator.metainfo.xml Cryptomator.AppDir/usr/share/metainfo/org.cryptomator.Cryptomator.metainfo.xml
cp dist/linux/common/org.cryptomator.Cryptomator.desktop Cryptomator.AppDir/usr/share/applications/org.cryptomator.Cryptomator.desktop
cp dist/linux/common/application-vnd.cryptomator.vault.xml Cryptomator.AppDir/usr/share/mime/packages/application-vnd.cryptomator.vault.xml
ln -s usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/org.cryptomator.Cryptomator.svg
ln -s usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/Cryptomator.svg
ln -s usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/.DirIcon
ln -s usr/share/applications/org.cryptomator.Cryptomator.desktop Cryptomator.AppDir/Cryptomator.desktop
ln -s bin/cryptomator.sh Cryptomator.AppDir/AppRun
env:
REVISION_NO: ${{ steps.versions.outputs.revNum }}
SEMVER_STR: ${{ steps.versions.outputs.semVerStr }}
- name: Extract libjffi.so # workaround for https://github.com/cryptomator/cryptomator-linux/issues/27
run: |
JFFI_NATIVE_JAR=`ls lib/app/ | grep -e 'jffi-[1-9]\.[0-9]\{1,2\}.[0-9]\{1,2\}-native.jar'`
${JAVA_HOME}/bin/jar -xf lib/app/${JFFI_NATIVE_JAR} /jni/x86_64-Linux/
mv jni/x86_64-Linux/* lib/app/libjffi.so
working-directory: Cryptomator.AppDir
- name: Download AppImageKit
run: |
curl -L https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage -o appimagetool.AppImage
chmod +x appimagetool.AppImage
./appimagetool.AppImage --appimage-extract
- name: Prepare GPG-Agent for signing with key 615D449FE6E6A235
run: |
echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import
echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --dry-run --sign README.md
env:
GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
- name: Build AppImage
run: >
./squashfs-root/AppRun Cryptomator.AppDir cryptomator-${{ steps.versions.outputs.semVerStr }}-x86_64.AppImage
-u 'gh-releases-zsync|cryptomator|cryptomator|latest|cryptomator-*-x86_64.AppImage.zsync'
--sign --sign-key=615D449FE6E6A235 --sign-args="--batch --pinentry-mode loopback"
- name: Create detached GPG signatures
run: |
gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a cryptomator-*.AppImage
gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a cryptomator-*.AppImage.zsync
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: appimage
path: |
cryptomator-*.AppImage
cryptomator-*.AppImage.zsync
cryptomator-*.asc
if-no-files-found: error
- name: Publish AppImage on GitHub Releases
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
fail_on_unmatched_files: true
token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }}
files: |
*.AppImage
*.zsync
*.asc

View File

@@ -1,113 +1,63 @@
name: Build
on:
[push]
push:
pull_request_target:
types: [labeled]
env:
JAVA_VERSION: 17
defaults:
run:
shell: bash
jobs:
build:
name: Build and Test
test:
name: Compile and Test
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
- uses: actions/setup-java@v2
with:
java-version: 14
- uses: actions/cache@v1
distribution: 'temurin'
java-version: ${{ env.JAVA_VERSION }}
cache: 'maven'
- name: Cache SonarCloud packages
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Ensure to use tagged version
run: mvn versions:set --file main/pom.xml -DnewVersion=${GITHUB_REF##*/} # use shell parameter expansion to strip of 'refs/tags'
if: startsWith(github.ref, 'refs/tags/')
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Build and Test
run: mvn -B install --file main/pom.xml -Pcoverage
- name: Run Codacy Coverage Reporter
run: |
curl -o ~/codacy-coverage-reporter.jar https://repo.maven.apache.org/maven2/com/codacy/codacy-coverage-reporter/7.1.0/codacy-coverage-reporter-7.1.0-assembly.jar
$JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/commons/target/site/jacoco/jacoco.xml --partial
$JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/keychain/target/site/jacoco/jacoco.xml --partial
$JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/ui/target/site/jacoco/jacoco.xml --partial
$JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/launcher/target/site/jacoco/jacoco.xml --partial
$JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar final
run: >
mvn -B verify
jacoco:report
org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
-Pcoverage,dependency-check
-Dsonar.projectKey=cryptomator_cryptomator
-Dsonar.organization=cryptomator
-Dsonar.host.url=https://sonarcloud.io
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Upload code coverage report
id: codacyCoverageReporter
if: "github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'pr:safe')"
run: bash <(curl -Ls https://coverage.codacy.com/get.sh)
env:
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
- name: Assemble Buildkit
run: mvn -B package -DskipTests --file main/pom.xml --resume-from=buildkit -Prelease
- name: Upload buildkit-linux.zip
uses: actions/upload-artifact@v1
continue-on-error: true
- name: Draft a release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
name: buildkit-linux.zip
path: main/buildkit/target/buildkit-linux.zip
- name: Upload buildkit-mac.zip
uses: actions/upload-artifact@v1
with:
name: buildkit-mac.zip
path: main/buildkit/target/buildkit-mac.zip
- name: Upload buildkit-win.zip
uses: actions/upload-artifact@v1
with:
name: buildkit-win.zip
path: main/buildkit/target/buildkit-win.zip
release:
name: Draft a Release on GitHub Releases
runs-on: ubuntu-latest
needs: build
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download buildkit-linux.zip
uses: actions/download-artifact@v1
with:
name: buildkit-linux.zip
path: .
- name: Download buildkit-mac.zip
uses: actions/download-artifact@v1
with:
name: buildkit-mac.zip
path: .
- name: Download buildkit-win.zip
uses: actions/download-artifact@v1
with:
name: buildkit-win.zip
path: .
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body: |
:construction: Work in Progress
draft: true
prerelease: false
- name: Upload buildkit-linux.zip to GitHub Releases
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: buildkit-linux.zip
asset_name: buildkit-linux.zip
asset_content_type: application/zip
- name: Upload buildkit-mac.zip to GitHub Releases
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: buildkit-mac.zip
asset_name: buildkit-mac.zip
asset_content_type: application/zip
- name: Upload buildkit-win.zip to GitHub Releases
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: buildkit-win.zip
asset_name: buildkit-win.zip
asset_content_type: application/zip
discussion_category_name: releases
token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }}
generate_release_notes: true
body: |-
:construction: Work in Progress
---

118
.github/workflows/debian.yml vendored Normal file
View File

@@ -0,0 +1,118 @@
name: Build Debian Package
on:
release:
types: [published]
workflow_dispatch:
inputs:
dput:
description: 'Upload to PPA'
required: true
default: false
type: boolean
env:
JAVA_VERSION: 17
jobs:
build:
name: Build Debian Package
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install build tools
run: |
sudo apt-get update
sudo apt-get install debhelper devscripts dput
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: ${{ env.JAVA_VERSION }}
cache: 'maven'
- id: versions
name: Apply version information
run: |
if [[ $GITHUB_REF =~ refs/tags/[0-9]+\.[0-9]+\.[0-9]+.* ]]; then
SEM_VER_STR=${GITHUB_REF##*/}
mvn versions:set -DnewVersion=${SEM_VER_STR}
else
SEM_VER_STR=`mvn help:evaluate -Dexpression=project.version -q -DforceStdout`
fi
SEM_VER_NUM=`echo ${SEM_VER_STR} | sed -E 's/([0-9]+\.[0-9]+\.[0-9]+).*/\1/'`
REVCOUNT=`git rev-list --count HEAD`
echo "::set-output name=semVerStr::${SEM_VER_STR}"
echo "::set-output name=semVerNum::${SEM_VER_NUM}"
echo "::set-output name=revNum::${REVCOUNT}"
echo "::set-output name=ppaVerStr::${SEM_VER_STR/-/\~}-${REVCOUNT}"
- name: Validate Version
uses: skymatic/semver-validation-action@v1
with:
version: ${{ steps.versions.outputs.semVerStr }}
- name: Run maven
run: mvn -B clean package -Pdependency-check,linux -DskipTests
- name: Create orig.tar.gz with common/ libs/ mods/
run: |
mkdir pkgdir
cp -r target/libs pkgdir
cp -r target/mods pkgdir
cp -r dist/linux/common/ pkgdir
cp target/cryptomator-*.jar pkgdir/mods
tar -cJf cryptomator_${{ steps.versions.outputs.ppaVerStr }}.orig.tar.xz -C pkgdir .
- name: Patch and rename pkgdir
run: |
cp -r dist/linux/debian/ pkgdir
export RFC2822_TIMESTAMP=`date --rfc-2822`
envsubst '${SEMVER_STR} ${VERSION_NUM} ${REVISION_NUM}' < dist/linux/debian/rules > pkgdir/debian/rules
envsubst '${PPA_VERSION} ${RFC2822_TIMESTAMP}' < dist/linux/debian/changelog > pkgdir/debian/changelog
find . -name "*.jar" >> pkgdir/debian/source/include-binaries
mv pkgdir cryptomator_${{ steps.versions.outputs.ppaVerStr }}
env:
SEMVER_STR: ${{ steps.versions.outputs.semVerStr }}
VERSION_NUM: ${{ steps.versions.outputs.semVerNum }}
REVISION_NUM: ${{ steps.versions.outputs.revNum }}
PPA_VERSION: ${{ steps.versions.outputs.ppaVerStr }}-0ppa1
- name: Prepare GPG-Agent for signing with key 615D449FE6E6A235
run: |
echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import
echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --dry-run --sign README.md
env:
GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
- name: debuild
run: |
debuild -S -sa -d
debuild -b -sa -d
env:
DEBSIGN_PROGRAM: gpg --batch --pinentry-mode loopback
DEBSIGN_KEYID: 615D449FE6E6A235
working-directory: cryptomator_${{ steps.versions.outputs.ppaVerStr }}
- name: Create detached GPG signatures
run: |
gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a cryptomator_*_amd64.deb
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: linux-deb-package
path: |
cryptomator_*.dsc
cryptomator_*.orig.tar.xz
cryptomator_*.debian.tar.xz
cryptomator_*_source.buildinfo
cryptomator_*_source.changes
cryptomator_*_amd64.deb
cryptomator_*.asc
- name: Publish on PPA
if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.dput == 'true'
run: dput ppa:sebastian-stenzel/cryptomator-beta cryptomator_*_source.changes
- name: Publish Debian package on GitHub Releases
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
fail_on_unmatched_files: true
token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }}
files: |
cryptomator_*_amd64.deb
cryptomator_*.asc

232
.github/workflows/mac-dmg.yml vendored Normal file
View File

@@ -0,0 +1,232 @@
name: Build macOS .dmg
on:
release:
types: [published]
workflow_dispatch:
env:
JAVA_VERSION: 17
jobs:
build:
name: Build Cryptomator.app
runs-on: macos-11
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: ${{ env.JAVA_VERSION }}
cache: 'maven'
- id: versions
name: Apply version information
run: |
if [[ $GITHUB_REF =~ refs/tags/[0-9]+\.[0-9]+\.[0-9]+.* ]]; then
SEM_VER_STR=${GITHUB_REF##*/}
mvn versions:set -DnewVersion=${SEM_VER_STR}
else
SEM_VER_STR=`mvn help:evaluate -Dexpression=project.version -q -DforceStdout`
fi
SEM_VER_NUM=`echo ${SEM_VER_STR} | sed -E 's/([0-9]+\.[0-9]+\.[0-9]+).*/\1/'`
REVCOUNT=`git rev-list --count HEAD`
echo "::set-output name=semVerStr::${SEM_VER_STR}"
echo "::set-output name=semVerNum::${SEM_VER_NUM}"
echo "::set-output name=revNum::${REVCOUNT}"
- name: Validate Version
uses: skymatic/semver-validation-action@v1
with:
version: ${{ steps.versions.outputs.semVerStr }}
- name: Run maven
run: mvn -B clean package -Pdependency-check,mac -DskipTests
- name: Patch target dir
run: |
cp LICENSE.txt target
cp dist/mac/launcher.sh target
cp target/cryptomator-*.jar target/mods
- name: Run jlink
run: >
${JAVA_HOME}/bin/jlink
--verbose
--output runtime
--module-path "${JAVA_HOME}/jmods"
--add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility,jdk.management.jfr
--strip-native-commands
--no-header-files
--no-man-pages
--strip-debug
--compress=1
- name: Run jpackage
run: >
${JAVA_HOME}/bin/jpackage
--verbose
--type app-image
--runtime-image runtime
--input target/libs
--module-path target/mods
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator
--dest appdir
--name Cryptomator
--vendor "Skymatic GmbH"
--copyright "(C) 2016 - 2022 Skymatic GmbH"
--app-version "${{ steps.versions.outputs.semVerNum }}"
--java-options "-Xss5m"
--java-options "-Xmx256m"
--java-options "-Dcryptomator.appVersion=\"${{ steps.versions.outputs.semVerStr }}\""
--java-options "-Dfile.encoding=\"utf-8\""
--java-options "-Dapple.awt.enableTemplateImages=true"
--java-options "-Dcryptomator.logDir=\"~/Library/Logs/Cryptomator\""
--java-options "-Dcryptomator.pluginDir=\"~/Library/Application Support/Cryptomator/Plugins\""
--java-options "-Dcryptomator.settingsPath=\"~/Library/Application Support/Cryptomator/settings.json\""
--java-options "-Dcryptomator.ipcSocketPath=\"~/Library/Application Support/Cryptomator/ipc.socket\""
--java-options "-Dcryptomator.showTrayIcon=true"
--java-options "-Dcryptomator.buildNumber=\"dmg-${{ steps.versions.outputs.revNum }}\""
--mac-package-identifier org.cryptomator
--resource-dir dist/mac/resources
- name: Patch Cryptomator.app
run: |
mv appdir/Cryptomator.app Cryptomator.app
mv dist/mac/resources/Cryptomator-Vault.icns Cryptomator.app/Contents/Resources/
sed -i '' "s|###BUNDLE_SHORT_VERSION_STRING###|${VERSION_NO}|g" Cryptomator.app/Contents/Info.plist
sed -i '' "s|###BUNDLE_VERSION###|${REVISION_NO}|g" Cryptomator.app/Contents/Info.plist
env:
VERSION_NO: ${{ steps.versions.outputs.semVerNum }}
REVISION_NO: ${{ steps.versions.outputs.revNum }}
- name: Install codesign certificate
run: |
# create variables
CERTIFICATE_PATH=$RUNNER_TEMP/codesign.p12
KEYCHAIN_PATH=$RUNNER_TEMP/codesign.keychain-db
# import certificate and provisioning profile from secrets
echo -n "$CODESIGN_P12_BASE64" | base64 --decode --output $CERTIFICATE_PATH
# create temporary keychain
security create-keychain -p "$CODESIGN_TMP_KEYCHAIN_PW" $KEYCHAIN_PATH
security set-keychain-settings -lut 900 $KEYCHAIN_PATH
security unlock-keychain -p "$CODESIGN_TMP_KEYCHAIN_PW" $KEYCHAIN_PATH
# import certificate to keychain
security import $CERTIFICATE_PATH -P "$CODESIGN_P12_PW" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
env:
CODESIGN_P12_BASE64: ${{ secrets.MACOS_CODESIGN_P12_BASE64 }}
CODESIGN_P12_PW: ${{ secrets.MACOS_CODESIGN_P12_PW }}
CODESIGN_TMP_KEYCHAIN_PW: ${{ secrets.MACOS_CODESIGN_TMP_KEYCHAIN_PW }}
- name: Codesign
run: |
find Cryptomator.app/Contents/runtime/Contents/MacOS -name '*.dylib' -exec codesign --force -s ${CODESIGN_IDENTITY} {} \;
for JAR_PATH in `find Cryptomator.app -name "*.jar"`; do
if [[ `unzip -l ${JAR_PATH} | grep '.dylib\|.jnilib'` ]]; then
JAR_FILENAME=$(basename ${JAR_PATH})
OUTPUT_PATH=${JAR_PATH%.*}
echo "Codesigning libs in ${JAR_FILENAME}..."
unzip -q ${JAR_PATH} -d ${OUTPUT_PATH}
find ${OUTPUT_PATH} -name '*.dylib' -exec codesign --force -s ${CODESIGN_IDENTITY} {} \;
find ${OUTPUT_PATH} -name '*.jnilib' -exec codesign --force -s ${CODESIGN_IDENTITY} {} \;
rm ${JAR_PATH}
pushd ${OUTPUT_PATH} > /dev/null
zip -qr ../${JAR_FILENAME} *
popd > /dev/null
rm -r ${OUTPUT_PATH}
fi
done
echo "Codesigning Cryptomator.app..."
codesign --force --deep --entitlements dist/mac/Cryptomator.entitlements -o runtime -s ${CODESIGN_IDENTITY} Cryptomator.app
env:
CODESIGN_IDENTITY: ${{ secrets.MACOS_CODESIGN_IDENTITY }}
- name: Prepare .dmg contents
run: |
mkdir dmg
mv Cryptomator.app dmg
cp dist/mac/dmg/resources/macFUSE.webloc dmg
ls -l dmg
- name: Install create-dmg
run: |
brew install create-dmg
create-dmg --help
- name: Create .dmg
run: >
create-dmg
--volname Cryptomator
--volicon "dist/mac/dmg/resources/Cryptomator-Volume.icns"
--background "dist/mac/dmg/resources/Cryptomator-background.tiff"
--window-pos 400 100
--window-size 640 694
--icon-size 128
--icon "Cryptomator.app" 128 245
--hide-extension "Cryptomator.app"
--icon "macFUSE.webloc" 320 501
--hide-extension "macFUSE.webloc"
--app-drop-link 512 245
--eula "dist/mac/dmg/resources/license.rtf"
--icon ".background" 128 758
--icon ".fseventsd" 320 758
--icon ".VolumeIcon.icns" 512 758
Cryptomator-${VERSION_NO}.dmg dmg
env:
VERSION_NO: ${{ steps.versions.outputs.semVerNum }}
- name: Install notarization credentials
if: startsWith(github.ref, 'refs/tags/')
run: |
# create temporary keychain
KEYCHAIN_PATH=$RUNNER_TEMP/notarization.keychain-db
security create-keychain -p "${NOTARIZATION_TMP_KEYCHAIN_PW}" ${KEYCHAIN_PATH}
security set-keychain-settings -lut 900 ${KEYCHAIN_PATH}
security unlock-keychain -p "${NOTARIZATION_TMP_KEYCHAIN_PW}" ${KEYCHAIN_PATH}
# import credentials from secrets
sudo xcode-select -s /Applications/Xcode_13.0.app
xcrun notarytool store-credentials "${NOTARIZATION_KEYCHAIN_PROFILE}" --apple-id "${NOTARIZATION_APPLE_ID}" --password "${NOTARIZATION_PW}" --team-id "${NOTARIZATION_TEAM_ID}" --keychain "${KEYCHAIN_PATH}"
env:
NOTARIZATION_KEYCHAIN_PROFILE: ${{ secrets.MACOS_NOTARIZATION_KEYCHAIN_PROFILE }}
NOTARIZATION_APPLE_ID: ${{ secrets.MACOS_NOTARIZATION_APPLE_ID }}
NOTARIZATION_PW: ${{ secrets.MACOS_NOTARIZATION_PW }}
NOTARIZATION_TEAM_ID: ${{ secrets.MACOS_NOTARIZATION_TEAM_ID }}
NOTARIZATION_TMP_KEYCHAIN_PW: ${{ secrets.MACOS_NOTARIZATION_TMP_KEYCHAIN_PW }}
- name: Notarize .dmg
if: startsWith(github.ref, 'refs/tags/')
run: |
KEYCHAIN_PATH=$RUNNER_TEMP/notarization.keychain-db
sudo xcode-select -s /Applications/Xcode_13.0.app
xcrun notarytool submit Cryptomator-*.dmg --keychain-profile "${NOTARIZATION_KEYCHAIN_PROFILE}" --keychain "${KEYCHAIN_PATH}" --wait
xcrun stapler staple Cryptomator-*.dmg
env:
NOTARIZATION_KEYCHAIN_PROFILE: ${{ secrets.MACOS_NOTARIZATION_KEYCHAIN_PROFILE }}
- name: Add possible alpha/beta tags to installer name
run: mv Cryptomator-*.dmg Cryptomator-${{ steps.versions.outputs.semVerStr }}.dmg
- name: Create detached GPG signature with key 615D449FE6E6A235
run: |
echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import
echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a Cryptomator-*.dmg
env:
GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
- name: Clean up codesign certificate
if: ${{ always() }}
run: security delete-keychain $RUNNER_TEMP/codesign.keychain-db
continue-on-error: true
- name: Clean up notarization credentials
if: ${{ always() }}
run: security delete-keychain $RUNNER_TEMP/notarization.keychain-db
continue-on-error: true
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: dmg
path: Cryptomator-*.dmg
if-no-files-found: error
- name: Publish dmg on GitHub Releases
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
fail_on_unmatched_files: true
token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }}
files: |
*.dmg
*.asc

26
.github/workflows/pullrequest.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: Pull Request
on:
pull_request:
env:
JAVA_VERSION: 17
defaults:
run:
shell: bash
jobs:
test:
name: Compile and Test
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: ${{ env.JAVA_VERSION }}
cache: 'maven'
- name: Build and Test
run: mvn -B clean install jacoco:report -Pcoverage,dependency-check

255
.github/workflows/win-exe.yml vendored Normal file
View File

@@ -0,0 +1,255 @@
name: Build Windows Installer
on:
release:
types: [published]
workflow_dispatch:
env:
JAVA_VERSION: 17
WINFSP_MSI: https://github.com/winfsp/winfsp/releases/download/v1.10/winfsp-1.10.22006.msi
defaults:
run:
shell: bash
jobs:
build-msi:
name: Build .msi Installer
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: ${{ env.JAVA_VERSION }}
cache: 'maven'
- id: versions
name: Apply version information
run: |
if [[ $GITHUB_REF =~ refs/tags/[0-9]+\.[0-9]+\.[0-9]+.* ]]; then
SEM_VER_STR=${GITHUB_REF##*/}
mvn versions:set -DnewVersion=${SEM_VER_STR}
else
SEM_VER_STR=`mvn help:evaluate -Dexpression=project.version -q -DforceStdout`
fi
SEM_VER_NUM=`echo ${SEM_VER_STR} | sed -E 's/([0-9]+\.[0-9]+\.[0-9]+).*/\1/'`
REVCOUNT=`git rev-list --count HEAD`
echo "::set-output name=semVerStr::${SEM_VER_STR}"
echo "::set-output name=semVerNum::${SEM_VER_NUM}"
echo "::set-output name=revNum::${REVCOUNT}"
- name: Validate Version
uses: skymatic/semver-validation-action@v1
with:
version: ${{ steps.versions.outputs.semVerStr }}
- name: Run maven
run: mvn -B clean package -Pdependency-check,win -DskipTests
- name: Patch target dir
run: |
cp LICENSE.txt target
cp dist/linux/launcher.sh target
cp target/cryptomator-*.jar target/mods
- name: Run jlink
run: >
${JAVA_HOME}/bin/jlink
--verbose
--output runtime
--module-path "${JAVA_HOME}/jmods"
--add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility,jdk.management.jfr
--strip-native-commands
--no-header-files
--no-man-pages
--strip-debug
--compress=1
- name: Run jpackage
run: >
${JAVA_HOME}/bin/jpackage
--verbose
--type app-image
--runtime-image runtime
--input target/libs
--module-path target/mods
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator
--dest appdir
--name Cryptomator
--vendor "Skymatic GmbH"
--copyright "(C) 2016 - 2022 Skymatic GmbH"
--app-version "${{ steps.versions.outputs.semVerNum }}.${{ steps.versions.outputs.revNum }}"
--java-options "-Xss5m"
--java-options "-Xmx256m"
--java-options "-Dfile.encoding=\"utf-8\""
--java-options "-Dcryptomator.logDir=\"~/AppData/Roaming/Cryptomator\""
--java-options "-Dcryptomator.pluginDir=\"~/AppData/Roaming/Cryptomator/Plugins\""
--java-options "-Dcryptomator.settingsPath=\"~/AppData/Roaming/Cryptomator/settings.json\""
--java-options "-Dcryptomator.ipcSocketPath=\"~/AppData/Roaming/Cryptomator/ipc.socket\""
--java-options "-Dcryptomator.keychainPath=\"~/AppData/Roaming/Cryptomator/keychain.json\""
--java-options "-Dcryptomator.mountPointsDir=\"~/Cryptomator\""
--java-options "-Dcryptomator.showTrayIcon=true"
--java-options "-Dcryptomator.buildNumber=\"msi-${{ steps.versions.outputs.revNum }}\""
--resource-dir dist/win/resources
--icon dist/win/resources/Cryptomator.ico
- name: Patch Application Directory
run: |
cp dist/win/contrib/* appdir/Cryptomator
- name: Fix permissions
run: attrib -r appdir/Cryptomator/Cryptomator.exe
shell: pwsh
- name: Codesign
uses: skymatic/code-sign-action@v1
with:
certificate: ${{ secrets.WIN_CODESIGN_P12_BASE64 }}
password: ${{ secrets.WIN_CODESIGN_P12_PW }}
certificatesha1: FF52240075AD7D14AF25629FDF69635357C7D14B
description: Cryptomator
timestampUrl: 'http://timestamp.digicert.com'
folder: appdir/Cryptomator
recursive: true
- name: Generate license
run: >
mvn -B license:add-third-party
"-Dlicense.thirdPartyFilename=license.rtf"
"-Dlicense.fileTemplate=dist/win/resources/licenseTemplate.ftl"
"-Dlicense.outputDirectory=dist/win/resources"
- name: Create MSI
run: >
${JAVA_HOME}/bin/jpackage
--verbose
--type msi
--win-upgrade-uuid bda45523-42b1-4cae-9354-a45475ed4775
--app-image appdir/Cryptomator
--dest installer
--name Cryptomator
--vendor "Skymatic GmbH"
--copyright "(C) 2016 - 2022 Skymatic GmbH"
--app-version "${{ steps.versions.outputs.semVerNum }}"
--win-menu
--win-dir-chooser
--win-shortcut-prompt
--win-update-url "https:\\cryptomator.org"
--win-menu-group Cryptomator
--resource-dir dist/win/resources
--license-file dist/win/resources/license.rtf
--file-associations dist/win/resources/FAvaultFile.properties
env:
JP_WIXWIZARD_RESOURCES: ${{ github.workspace }}/dist/win/resources # requires abs path, used in resources/main.wxs
- name: Codesign MSI
uses: skymatic/code-sign-action@v1
with:
certificate: ${{ secrets.WIN_CODESIGN_P12_BASE64 }}
password: ${{ secrets.WIN_CODESIGN_P12_PW }}
certificatesha1: FF52240075AD7D14AF25629FDF69635357C7D14B
description: Cryptomator Installer
timestampUrl: 'http://timestamp.digicert.com'
folder: installer
- name: Add possible alpha/beta tags to installer name
run: mv installer/Cryptomator-*.msi Cryptomator-${{ steps.versions.outputs.semVerStr }}-x64.msi
- name: Create detached GPG signature with key 615D449FE6E6A235
run: |
echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import
echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a Cryptomator-*.msi
env:
GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: msi
path: |
Cryptomator-*.msi
Cryptomator-*.asc
if-no-files-found: error
- name: Publish .msi on GitHub Releases
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
fail_on_unmatched_files: true
token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }}
files: |
*.msi
*.asc
outputs:
semVerNum: ${{ steps.versions.outputs.semVerNum }}
semVerStr: ${{ steps.versions.outputs.semVerStr }}
revNum: ${{ steps.versions.outputs.revNum }}
build-exe:
name: Build .exe installer
runs-on: windows-latest
needs: [build-msi]
steps:
- uses: actions/checkout@v2
- name: Download .msi
uses: actions/download-artifact@v2
with:
name: msi
path: dist/win/bundle/resources
- name: Strip version info from msi file name
run: mv dist/win/bundle/resources/Cryptomator*.msi dist/win/bundle/resources/Cryptomator.msi
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: ${{ env.JAVA_VERSION }}
cache: 'maven'
- name: Generate license
run: >
mvn -B license:add-third-party
"-Dlicense.thirdPartyFilename=license.rtf"
"-Dlicense.fileTemplate=dist/win/bundle/resources/licenseTemplate.ftl"
"-Dlicense.outputDirectory=dist/win/bundle/resources"
- name: Download WinFsp
run:
curl --output dist/win/bundle/resources/winfsp.msi -L ${{ env.WINFSP_MSI }}
- name: Compile to wixObj file
run: >
"${WIX}/bin/candle.exe" dist/win/bundle/bundleWithWinfsp.wxs
-ext WixBalExtension
-out dist/win/bundle/
-dBundleVersion="${{ needs.build-msi.outputs.semVerNum }}.${{ needs.build-msi.outputs.revNum }}"
-dBundleVendor="Skymatic GmbH"
-dBundleCopyright="(C) 2016 - 2022 Skymatic GmbH"
-dAboutUrl="https://cryptomator.org"
-dHelpUrl="https://cryptomator.org/contact"
-dUpdateUrl="https://cryptomator.org/downloads/"
- name: Create executable with linker
run: >
"${WIX}/bin/light.exe" -b dist/win/ dist/win/bundle/bundleWithWinfsp.wixobj
-ext WixBalExtension
-out installer/Cryptomator.exe
- name: Codesign EXE
uses: skymatic/code-sign-action@v1
with:
certificate: ${{ secrets.WIN_CODESIGN_P12_BASE64 }}
password: ${{ secrets.WIN_CODESIGN_P12_PW }}
certificatesha1: FF52240075AD7D14AF25629FDF69635357C7D14B
description: Cryptomator Installer
timestampUrl: 'http://timestamp.digicert.com'
folder: installer
- name: Add possible alpha/beta tags to installer name
run: mv installer/Cryptomator.exe Cryptomator-${{ needs.build-msi.outputs.semVerStr }}-x64.exe
- name: Create detached GPG signature with key 615D449FE6E6A235
run: |
echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import
echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a Cryptomator-*.exe
env:
GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: exe
path: |
Cryptomator-*.exe
Cryptomator-*.asc
if-no-files-found: error
- name: Publish .msi on GitHub Releases
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
fail_on_unmatched_files: true
token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }}
files: |
*.exe
*.asc

12
.gitignore vendored
View File

@@ -17,6 +17,14 @@ pom.xml.versionsBackup
# IntelliJ Settings Files (https://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systems) #
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries
.idea/**/shelf
.idea/dictionaries/**
!.idea/dictionaries/dict_*
.idea/compiler.xml
.idea/encodings.xml
.idea/jarRepositories.xml
.idea/uiDesigner.xml
.idea/**/libraries/
*.iml
*.iml
hs_err_pid*.log

View File

@@ -9,14 +9,36 @@
<option name="RIGHT_MARGIN" value="220" />
<option name="FORMATTER_TAGS_ENABLED" value="true" />
<JavaCodeStyleSettings>
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="30" />
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="10" />
<option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
<value />
</option>
<option name="IMPORT_LAYOUT_TABLE">
<value>
<package name="" withSubpackages="true" static="false" />
<emptyLine />
<package name="javax" withSubpackages="true" static="false" />
<package name="javafx" withSubpackages="true" static="false" />
<package name="java" withSubpackages="true" static="false" />
<emptyLine />
<package name="" withSubpackages="true" static="true" />
</value>
</option>
<option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
</JavaCodeStyleSettings>
<Properties>
<option name="KEEP_BLANK_LINES" value="true" />
</Properties>
<XML>
<option name="XML_ATTRIBUTE_WRAP" value="0" />
</XML>
<codeStyleSettings language="CSS">
<indentOptions>
<option name="USE_TAB_CHARACTER" value="true" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="Groovy">
<indentOptions>
<option name="USE_TAB_CHARACTER" value="true" />
@@ -30,12 +52,17 @@
<codeStyleSettings language="JAVA">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="BLANK_LINES_AFTER_CLASS_HEADER" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="KEEP_SIMPLE_BLOCKS_IN_ONE_LINE" value="true" />
<option name="KEEP_SIMPLE_METHODS_IN_ONE_LINE" value="true" />
<option name="KEEP_SIMPLE_LAMBDAS_IN_ONE_LINE" value="true" />
<option name="ENUM_CONSTANTS_WRAP" value="2" />
<indentOptions>
<option name="USE_TAB_CHARACTER" value="true" />
</indentOptions>
<arrangement>
<rules />
</arrangement>
</codeStyleSettings>
<codeStyleSettings language="JSON">
<indentOptions>

41
.idea/compiler.xml generated
View File

@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Annotation profile for Cryptomator" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<processorPath useClasspath="false">
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger-compiler/2.27/dagger-compiler-2.27.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger/2.27/dagger-2.27.jar" />
<entry name="$MAVEN_REPOSITORY$/javax/inject/javax.inject/1/javax.inject-1.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger-producers/2.27/dagger-producers-2.27.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/guava/guava/27.1-jre/guava-27.1-jre.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1.jar" />
<entry name="$MAVEN_REPOSITORY$/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar" />
<entry name="$MAVEN_REPOSITORY$/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar" />
<entry name="$MAVEN_REPOSITORY$/org/checkerframework/checker-compat-qual/2.5.3/checker-compat-qual-2.5.3.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger-spi/2.27/dagger-spi-2.27.jar" />
<entry name="$MAVEN_REPOSITORY$/com/squareup/javapoet/1.11.1/javapoet-1.11.1.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/googlejavaformat/google-java-format/1.5/google-java-format-1.5.jar" />
<entry name="$MAVEN_REPOSITORY$/com/google/errorprone/javac-shaded/9-dev-r4023-3/javac-shaded-9-dev-r4023-3.jar" />
<entry name="$MAVEN_REPOSITORY$/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar" />
<entry name="$MAVEN_REPOSITORY$/net/ltgt/gradle/incap/incap/0.2/incap-0.2.jar" />
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kotlin-stdlib-1.3.50.jar" />
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.50/kotlin-stdlib-common-1.3.50.jar" />
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" />
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.1.0/kotlinx-metadata-jvm-0.1.0.jar" />
</processorPath>
<module name="keychain" />
<module name="launcher" />
<module name="commons" />
<module name="ui" />
</profile>
</annotationProcessing>
</component>
</project>

15
.idea/dictionaries/dict_de.xml generated Normal file
View File

@@ -0,0 +1,15 @@
<component name="ProjectDictionaryState">
<dictionary name="dict_de">
<words>
<w>tresorinhalt</w>
<w>tresorkonfigurationsdatei</w>
<w>tresorlaufwerk</w>
<w>tresorliste</w>
<w>tresorname</w>
<w>tresoroptionen</w>
<w>tresorstatistik</w>
<w>ungespeicherten</w>
<w>ungespeicherter</w>
</words>
</dictionary>
</component>

106
.idea/dictionaries/dict_project.xml generated Normal file
View File

@@ -0,0 +1,106 @@
<component name="ProjectDictionaryState">
<dictionary name="dict_project">
<words>
<w>addvault</w>
<w>addvaultwizard</w>
<w>adoptopenjdk</w>
<w>affero</w>
<w>aquafx</w>
<w>autolock</w>
<w>autolocked</w>
<w>autolocking</w>
<w>baos</w>
<w>bkup</w>
<w>buildkit</w>
<w>changepassword</w>
<w>checkerframework</w>
<w>crit</w>
<w>crowdin</w>
<w>cryptofs</w>
<w>cryptomator</w>
<w>cryptomator's</w>
<w>cryptor</w>
<w>csprng</w>
<w>dcryptomator</w>
<w>dfuse</w>
<w>dirid</w>
<w>djdk</w>
<w>dokany</w>
<w>dragboard</w>
<w>easybind</w>
<w>encr</w>
<w>errorprone</w>
<w>failureaccess</w>
<w>fbidis</w>
<w>fldinst</w>
<w>fldrslt</w>
<w>fontawesomefx</w>
<w>gdrive</w>
<w>gvfs</w>
<w>hmmss</w>
<w>httpcomponents</w>
<w>httpcore</w>
<w>iclouddrive</w>
<w>jensd</w>
<w>jffi</w>
<w>keyloading</w>
<w>kibs</w>
<w>listcell</w>
<w>listenablefuture</w>
<w>lopp</w>
<w>mainwindow</w>
<w>masterkey</w>
<w>masterkeyfile</w>
<w>mibs</w>
<w>mountpath</w>
<w>mpc's</w>
<w>needsmigration</w>
<w>noncommercially</w>
<w>noël</w>
<w>nulab</w>
<w>oatomic</w>
<w>oauto</w>
<w>objectgraph</w>
<w>odefault</w>
<w>ogid</w>
<w>onoappledouble</w>
<w>ordonly</w>
<w>ouid</w>
<w>ovolname</w>
<w>passthrough</w>
<w>patreon</w>
<w>pcloud</w>
<w>probot</w>
<w>recoverykey</w>
<w>relicensing</w>
<w>removevault</w>
<w>revealer</w>
<w>serceman</w>
<w>setolabs</w>
<w>skymatic</w>
<w>socio</w>
<w>spof</w>
<w>stenzel</w>
<w>styleclass</w>
<w>sublicenses</w>
<w>sublicensing</w>
<w>systemkeychain</w>
<w>tada</w>
<w>tidelift</w>
<w>tmpmountpoint</w>
<w>tobiasdiez</w>
<w>toggler</w>
<w>traymenu</w>
<w>unknownerror</w>
<w>unlockable</w>
<w>vaultconfig</w>
<w>vaultlist</w>
<w>vaultname</w>
<w>vaultoptions</w>
<w>wrongfilealert</w>
<w>xattr</w>
<w>zillmann</w>
<w>zxcvbn</w>
</words>
</dictionary>
</component>

13
.idea/encodings.xml generated
View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8">
<file url="file://$PROJECT_DIR$/main" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/main/commons/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/main/keychain/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/main/keychain/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/main/launcher/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/main/ui/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/main/ui/src/main/resources" charset="UTF-8" />
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

1
.idea/icon.svg generated Normal file
View File

@@ -0,0 +1 @@
<svg width="1110" height="942" viewBox="0 0 1108.12 940.2" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg"><path d="m552.69 0c-169.1 0-262.45 143.46-262.45 283.52h524.9c0-140.06-105.33-283.52-262.45-283.52z" fill="#cfcfcf"/><path d="m552.69 53.2c-137.37 0-213.21 116.54-213.21 230.32l213.21 24.18 213.21-24.18c0-113.78-85.57-230.32-213.21-230.32z" fill="#585e62"/><path d="m89.8 739.52a20 20 0 0 1 -2.23-39.88 42.8 42.8 0 1 0 -42.22-21.82 20 20 0 0 1 -35 19.31 82.79 82.79 0 1 1 81.76 42.26 21.78 21.78 0 0 1 -2.31.13z" fill="#585e62"/><rect fill="#cfcfcf" height="144.19" rx="49.42" transform="matrix(.8902923 .45538953 -.45538953 .8902923 261.57 -5.69)" width="104.68" x="90.27" y="467.98"/><path d="m149.47 401.27h62.8a0 0 0 0 1 0 0v94.55a31.4 31.4 0 0 1 -31.4 31.4 31.4 31.4 0 0 1 -31.4-31.4v-94.55a0 0 0 0 1 0 0z" fill="#585e62" transform="matrix(.8902923 .45538953 -.45538953 .8902923 231.23 -31.44)"/><circle cx="222.59" cy="387.53" fill="#cfcfcf" r="75.05"/><path d="m258.09 321.8a75.09 75.09 0 0 0 -91.23 14.64 75.06 75.06 0 0 1 51.58 126.06 75.06 75.06 0 0 0 39.65-140.7z" fill="#b1b1b1"/><path d="m1018.31 739.52a22.09 22.09 0 0 1 -2.28-.13 82.8 82.8 0 1 1 81.77-42.26 20 20 0 1 1 -35-19.31 42.8 42.8 0 1 0 -42.23 21.82 20 20 0 0 1 -2.23 39.88z" fill="#585e62"/><rect fill="#cfcfcf" height="144.19" rx="49.42" transform="matrix(-.8902923 .45538953 -.45538953 -.8902923 2071.05 581.27)" width="104.68" x="913.18" y="467.98"/><path d="m927.25 401.27a31.4 31.4 0 0 1 31.4 31.4v94.55a0 0 0 0 1 0 0h-62.8a0 0 0 0 1 0 0v-94.55a31.4 31.4 0 0 1 31.4-31.4z" fill="#585e62" transform="matrix(-.8902923 .45538953 -.45538953 -.8902923 1964.18 455.35)"/><circle cx="885.53" cy="387.53" fill="#cfcfcf" r="75.05"/><path d="m850 321.8a75.08 75.08 0 0 1 91.22 14.64 75.06 75.06 0 0 0 -51.54 126.06 75.05 75.05 0 0 1 -39.68-140.7z" fill="#b1b1b1"/><path d="m248.78 940.2c-36.67 0-67-39.85-75.51-99.15-4.56-31.83-2.26-65.19 6.48-94 9.41-31 25.51-53.59 45.32-63.72a51.72 51.72 0 0 1 23.69-5.84h103.52v262.71z" fill="#585e62"/><path d="m351.43 940.2c-21.26 0-38.85-39.85-43.78-99.15-2.64-31.83-1.31-65.19 3.76-94 5.45-31 14.78-53.59 26.27-63.72 4.39-3.87 9-5.84 13.73-5.84s9.34 2 13.75 5.8l49.7 43.83c17.37 15.32 23.39 64 20.23 102-2.43 29.28-10 52.18-20.19 61.28l-49.69 43.82c-4.44 3.99-9.08 5.98-13.78 5.98z" fill="#585e62"/><path d="m360.57 699 49.65 43.79c11.18 9.9 17.78 47.45 14.78 83.91-2 24.27-7.83 41.95-14.77 48.13l-49.65 43.79c-18.58 16.38-37.79-19.43-42.83-80.07s6-123.1 24.58-139.51c6.15-5.42 12.5-5.04 18.24-.04z" fill="#35393b"/><path d="m850.73 940.2c36.66 0 67-39.85 75.51-99.15 4.56-31.83 2.26-65.19-6.48-94-9.41-31-25.51-53.59-45.32-63.72a51.72 51.72 0 0 0 -23.69-5.84h-103.53v262.71z" fill="#585e62"/><path d="m748.08 940.2c21.26 0 38.85-39.85 43.78-99.15 2.64-31.83 1.31-65.19-3.76-94-5.45-31-14.79-53.59-26.27-63.72-4.4-3.87-9-5.84-13.73-5.84s-9.34 2-13.76 5.8l-49.69 43.83c-17.38 15.32-23.39 64-20.23 102 2.43 29.28 10 52.18 20.19 61.28l49.68 43.82c4.45 3.99 9.09 5.98 13.79 5.98z" fill="#585e62"/><path d="m738.94 699-49.65 43.79c-11.19 9.86-17.8 47.41-14.77 83.87 2 24.27 7.83 41.95 14.77 48.13l49.65 43.79c18.61 16.41 37.78-19.43 42.82-80.07s-6-123.1-24.58-139.51c-6.18-5.38-12.5-5-18.24 0z" fill="#35393b"/><path d="m848.63 451.38a83.62 83.62 0 0 1 -.56-45.6c14.74-53.13 5.06-111.78 5.06-111.78-185.07-57.77-300.13-.48-300.13-.48s-114.79-57.64-300-.45c0 0-9.86 58.64 4.72 111.83a83.69 83.69 0 0 1 -.69 45.59c-5.14 17.57-10.72 44.5-10.77 78.8-.37 249 306 326.08 306 326.08s306.58-76.15 306.95-325.16c0-34.3-5.49-61.21-10.58-78.83z" fill="#cfcfcf"/><path d="m552.34 808.87c-50.72-15.87-261.7-93.25-261.42-279.51 0-29.65 4.89-52.42 9-66.31a128.3 128.3 0 0 0 .91-70c-6.2-22.58-6.9-47.13-6.17-65.29 40.48-10.23 80.2-15.37 118.41-15.32 75.66.12 119.86 21 120.3 21.17l20.39 10.23 19.24-10.32c.11 0 44.36-20.75 120-20.64 38.21.06 77.91 5.32 118.37 15.68.67 18.14-.1 42.71-6.37 65.27a128.33 128.33 0 0 0 .69 70c4 13.91 8.82 36.69 8.77 66.35-.28 187.06-211.26 263.09-262.12 278.69z" fill="#49b04a"/><path d="m610.15 478.76a57.46 57.46 0 1 0 -70.15 55.92l-32.29 135.47 44.67 12.85 44.71-12.71-31.84-135.57a57.46 57.46 0 0 0 44.9-55.96z" fill="#35393b"/><g fill="#49b04a"><path d="m454.94 131.08a60.64 60.64 0 0 0 -60.64 60.64h121.28a60.64 60.64 0 0 0 -60.64-60.64z"/><path d="m642.38 131.08a60.64 60.64 0 0 0 -60.64 60.64h121.26a60.64 60.64 0 0 0 -60.62-60.64z"/><circle cx="483.23" cy="229.43" r="11.52"/><circle cx="528.52" cy="229.43" r="11.52"/><circle cx="573.8" cy="229.43" r="11.52"/><circle cx="619.09" cy="229.43" r="11.52"/></g></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,7 +1,7 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<inspection_tool class="SpellCheckingInspection" enabled="true" level="TYPO" enabled_by_default="true">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />

View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="bintray" />
<option name="name" value="Bintray JCenter" />
<option name="url" value="https://jcenter.bintray.com" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jcenter" />
<option name="name" value="jcenter" />
<option name="url" value="https://jcenter.bintray.com" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

4
.idea/misc.xml generated
View File

@@ -4,11 +4,11 @@
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/main/pom.xml" />
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_14" default="false" project-jdk-name="14" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml generated
View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/Desktop.iml" filepath="$PROJECT_DIR$/.idea/Desktop.iml" />
</modules>
</component>
</project>

View File

@@ -1,8 +1,8 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Cryptomator Linux" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="org.cryptomator.launcher.Cryptomator" />
<module name="launcher" />
<option name="VM_PARAMETERS" value="-Djdk.gtk.version=2 -Duser.language=en -Dcryptomator.settingsPath=&quot;~/.config/Cryptomator/settings.json&quot; -Dcryptomator.ipcPortPath=&quot;~/.config/Cryptomator/ipcPort.bin&quot; -Dcryptomator.logDir=&quot;~/.local/share/Cryptomator/logs&quot; -Dcryptomator.mountPointsDir=&quot;~/.local/share/Cryptomator/mnt&quot; -Xss20m -Xmx512m" />
<module name="cryptomator" />
<option name="VM_PARAMETERS" value="-Djdk.gtk.version=2 -Duser.language=en -Dcryptomator.settingsPath=&quot;~/.config/Cryptomator/settings.json&quot; -Dcryptomator.ipcSocketPath=&quot;~/.config/Cryptomator/ipc.socket&quot; -Dcryptomator.logDir=&quot;~/.local/share/Cryptomator/logs&quot; -Dcryptomator.pluginDir=&quot;~/.local/share/Cryptomator/plugins&quot; -Dcryptomator.mountPointsDir=&quot;~/.local/share/Cryptomator/mnt&quot; -Dcryptomator.showTrayIcon=true -Xss20m -Xmx512m" />
<method v="2">
<option name="Make" enabled="true" />
</method>

View File

@@ -0,0 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Cryptomator Linux Dev" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="org.cryptomator.launcher.Cryptomator" />
<module name="cryptomator" />
<option name="VM_PARAMETERS" value="-Djdk.gtk.version=2 -Duser.language=en -Dcryptomator.settingsPath=&quot;~/.config/Cryptomator-Dev/settings.json&quot; -Dcryptomator.ipcSocketPath=&quot;~/.config/Cryptomator-Dev/ipc.socket&quot; -Dcryptomator.logDir=&quot;~/.local/share/Cryptomator-Dev/logs&quot; -Dcryptomator.pluginDir=&quot;~/.local/share/Cryptomator-Dev/plugins&quot; -Dcryptomator.mountPointsDir=&quot;~/.local/share/Cryptomator-Dev/mnt&quot; -Dcryptomator.showTrayIcon=true -Dfuse.experimental=&quot;true&quot; -Xss20m -Xmx512m" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -1,8 +1,8 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Cryptomator Windows" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="org.cryptomator.launcher.Cryptomator" />
<module name="launcher" />
<option name="VM_PARAMETERS" value="-Duser.language=en -Dcryptomator.settingsPath=&quot;~/AppData/Roaming/Cryptomator/settings.json&quot; -Dcryptomator.ipcPortPath=&quot;~/AppData/Roaming/Cryptomator/ipcPort.bin&quot; -Dcryptomator.logDir=&quot;~/AppData/Roaming/Cryptomator&quot; -Dcryptomator.keychainPath=&quot;~/AppData/Roaming/Cryptomator/keychain.json&quot; -Xss2m -Xmx512m" />
<module name="cryptomator" />
<option name="VM_PARAMETERS" value="-Duser.language=en -Dcryptomator.settingsPath=&quot;~/AppData/Roaming/Cryptomator/settings.json&quot; -Dcryptomator.ipcSocketPath=&quot;~/AppData/Roaming/Cryptomator/ipc.socket&quot; -Dcryptomator.logDir=&quot;~/AppData/Roaming/Cryptomator&quot; -Dcryptomator.pluginDir=&quot;~/AppData/Roaming/Cryptomator/Plugins&quot; -Dcryptomator.keychainPath=&quot;~/AppData/Roaming/Cryptomator/keychain.json&quot; -Dcryptomator.mountPointsDir=&quot;~/Cryptomator&quot; -Dcryptomator.showTrayIcon=true -Xss2m -Xmx512m" />
<method v="2">
<option name="Make" enabled="true" />
</method>

View File

@@ -0,0 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Cryptomator Windows Dev" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="org.cryptomator.launcher.Cryptomator" />
<module name="cryptomator" />
<option name="VM_PARAMETERS" value="-Duser.language=en -Dcryptomator.settingsPath=&quot;~/AppData/Roaming/Cryptomator-Dev/settings.json&quot; -Dcryptomator.ipcSocketPath=&quot;~/AppData/Roaming/Cryptomator-Dev/ipc.socket&quot; -Dcryptomator.logDir=&quot;~/AppData/Roaming/Cryptomator-Dev&quot; -Dcryptomator.pluginDir=&quot;~/AppData/Roaming/Cryptomator-Dev/Plugins&quot; -Dcryptomator.keychainPath=&quot;~/AppData/Roaming/Cryptomator-Dev/keychain.json&quot; -Dcryptomator.mountPointsDir=&quot;~/Cryptomator-Dev&quot; -Dfuse.experimental=&quot;true&quot; -Dcryptomator.showTrayIcon=true -Xss2m -Xmx512m" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -4,9 +4,8 @@
<env name="LD_LIBRARY_PATH" value="/usr/local/lib" />
</envs>
<option name="MAIN_CLASS_NAME" value="org.cryptomator.launcher.Cryptomator" />
<module name="launcher" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="VM_PARAMETERS" value="-Duser.language=en -Dcryptomator.settingsPath=&quot;~/Library/Application Support/Cryptomator/settings.json&quot; -Dcryptomator.ipcPortPath=&quot;~/Library/Application Support/Cryptomator/ipcPort.bin&quot; -Dcryptomator.logDir=&quot;~/Library/Logs/Cryptomator&quot; -Dcryptomator.mountPointsDir=&quot;/Volumes/&quot; -Xss2m -Xmx512m -ea" />
<module name="cryptomator" />
<option name="VM_PARAMETERS" value="-Duser.language=en -Dapple.awt.enableTemplateImages=true -Dcryptomator.settingsPath=&quot;~/Library/Application Support/Cryptomator/settings.json&quot; -Dcryptomator.ipcSocketPath=&quot;~/Library/Application Support/Cryptomator/ipc.socket&quot; -Dcryptomator.logDir=&quot;~/Library/Logs/Cryptomator&quot; -Dcryptomator.pluginDir=&quot;~/Library/Application Support/Cryptomator/Plugins&quot; -Dcryptomator.showTrayIcon=true -Xss2m -Xmx512m -ea" />
<method v="2">
<option name="Make" enabled="true" />
</method>

View File

@@ -0,0 +1,13 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Cryptomator macOS Dev" type="Application" factoryName="Application">
<envs>
<env name="LD_LIBRARY_PATH" value="/usr/local/lib" />
</envs>
<option name="MAIN_CLASS_NAME" value="org.cryptomator.launcher.Cryptomator" />
<module name="cryptomator" />
<option name="VM_PARAMETERS" value="-Duser.language=en -Dapple.awt.enableTemplateImages=true -Dcryptomator.settingsPath=&quot;~/Library/Application Support/Cryptomator-Dev/settings.json&quot; -Dcryptomator.ipcSocketPath=&quot;~/Library/Application Support/Cryptomator-Dev/ipc.socket&quot; -Dcryptomator.logDir=&quot;~/Library/Logs/Cryptomator-Dev&quot; -Dcryptomator.pluginDir=&quot;~/Library/Application Support/Cryptomator-Dev/Plugins&quot; -Dcryptomator.showTrayIcon=true -Xss2m -Xmx512m -ea" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -1,8 +1,8 @@
[![cryptomator](cryptomator.png)](https://cryptomator.org/)
[![Build](https://github.com/cryptomator/cryptomator/workflows/Build/badge.svg)](https://github.com/cryptomator/cryptomator/actions?query=workflow%3ABuild)
[![Known Vulnerabilities](https://snyk.io/test/github/cryptomator/cryptomator/badge.svg?targetFile=main%2Fpom.xml)](https://snyk.io/test/github/cryptomator/cryptomator?targetFile=main%2Fpom.xml)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/2a0adf3cec6a4143b91035d3924178f1)](https://www.codacy.com/app/cryptomator/cryptomator?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=cryptomator/cryptomator&amp;utm_campaign=Badge_Grade)
[![Known Vulnerabilities](https://snyk.io/test/github/cryptomator/cryptomator/badge.svg)](https://snyk.io/test/github/cryptomator/cryptomator)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/2a0adf3cec6a4143b91035d3924178f1)](https://www.codacy.com/gh/cryptomator/cryptomator/dashboard)
[![Twitter](https://img.shields.io/badge/twitter-@Cryptomator-blue.svg?style=flat)](http://twitter.com/Cryptomator)
[![Crowdin](https://badges.crowdin.net/cryptomator/localized.svg)](https://translate.cryptomator.org/)
[![Latest Release](https://img.shields.io/github/release/cryptomator/cryptomator.svg)](https://github.com/cryptomator/cryptomator/releases/latest)
@@ -17,11 +17,26 @@ Cryptomator is provided free of charge as an open-source project despite the hig
### Gold Sponsors
[<img src="https://cryptomator.org/img/sponsors/geewhiz.svg" alt="gee-whiz" height="96">](https://www.gee-whiz.de/)
<table>
<tbody>
<tr>
<td><a href="https://www.gee-whiz.de/"><img src="https://cryptomator.org/img/sponsors/geewhiz.svg" alt="gee-whiz" height="80"></a></td>
<td><a href="https://proxy-hub.com/"><img src="https://cryptomator.org/img/sponsors/proxyhub.svg" alt="Proxy-Hub" height="80"></a></td>
</tr>
</tbody>
</table>
### Silver Sponsors
[![TheBestVPN](https://cryptomator.org/img/sponsors/thebestvpn.png)](https://thebestvpn.com/)
<table>
<tbody>
<tr>
<td><a href="https://mowcapital.com/"><img src="https://cryptomator.org/img/sponsors/mowcapital.svg" alt="Mow Capital" height="40"></a></td>
</tr>
</tbody>
</table>
- [Jameson Lopp](https://www.lopp.net/)
---
@@ -33,7 +48,7 @@ Download native binaries of Cryptomator on [cryptomator.org](https://cryptomator
## Features
- Works with Dropbox, Google Drive, OneDrive, ownCloud, Nextcloud and any other cloud storage service which synchronizes with a local directory
- Works with Dropbox, Google Drive, OneDrive, MEGA, pCloud, ownCloud, Nextcloud and any other cloud storage service which synchronizes with a local directory
- Open Source means: No backdoors, control is better than trust
- Client-side: No accounts, no data shared with any online service
- Totally transparent: Just work on the virtual drive as if it were a USB flash drive
@@ -41,7 +56,7 @@ Download native binaries of Cryptomator on [cryptomator.org](https://cryptomator
- File names get encrypted
- Folder structure gets obfuscated
- Use as many vaults in your Dropbox as you want, each having individual passwords
- Two thousand commits for the security of your data!! :tada:
- Three thousand commits for the security of your data!! :tada:
### Privacy
@@ -65,18 +80,20 @@ For more information on the security details visit [cryptomator.org](https://doc
### Dependencies
* JDK 14 (e.g. adoptopenjdk)
* JDK 17 (e.g. temurin)
* Maven 3
* Optional: OS-dependent build tools for native packaging (see [Windows](https://github.com/cryptomator/cryptomator-win), [OS X](https://github.com/cryptomator/cryptomator-osx), [Linux](https://github.com/cryptomator/builder-containers))
### Run Maven
```
cd main
mvn clean install -Prelease
mvn clean install
# or mvn clean install -Pwindows
# or mvn clean install -Pmac
# or mvn clean install -Plinux
```
This will build all the jars and bundle them together with their OS-specific dependencies under `main/buildkit/target`. This can now be used to build native packages.
This will build all the jars and bundle them together with their OS-specific dependencies under `target`. This can now be used to build native packages.
### Start Cryptomator

4
dist/linux/appimage/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# created during build
Cryptomator.AppDir
*.AppImage
*.AppImage.zsync

84
dist/linux/appimage/build.sh vendored Executable file
View File

@@ -0,0 +1,84 @@
#!/bin/bash
cd $(dirname $0)
REVISION_NO=`git rev-list --count HEAD`
# check preconditions
if [ -z "${JAVA_HOME}" ]; then echo "JAVA_HOME not set. Run using JAVA_HOME=/path/to/jdk ./build.sh"; exit 1; fi
command -v mvn >/dev/null 2>&1 || { echo >&2 "mvn not found."; exit 1; }
command -v curl >/dev/null 2>&1 || { echo >&2 "curl not found."; exit 1; }
VERSION=$(mvn -f ../../../pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout)
SEMVER_STR=${VERSION}
# compile
mvn -B -f ../../../pom.xml clean package -DskipTests -Plinux
cp ../../../target/cryptomator-*.jar ../../../target/mods
# add runtime
${JAVA_HOME}/bin/jlink \
--output runtime \
--module-path "${JAVA_HOME}/jmods" \
--add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility,jdk.management.jfr \
--no-header-files \
--no-man-pages \
--strip-debug \
--compress=1
# create app dir
${JAVA_HOME}/bin/jpackage \
--verbose \
--type app-image \
--runtime-image runtime \
--input ../../../target/libs \
--module-path ../../../target/mods \
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator \
--dest . \
--name Cryptomator \
--vendor "Skymatic GmbH" \
--copyright "(C) 2016 - 2022 Skymatic GmbH" \
--java-options "-Xss5m" \
--java-options "-Xmx256m" \
--app-version "${VERSION}.${REVISION_NO}" \
--java-options "-Dfile.encoding=\"utf-8\"" \
--java-options "-Dcryptomator.logDir=\"~/.local/share/Cryptomator/logs\"" \
--java-options "-Dcryptomator.pluginDir=\"~/.local/share/Cryptomator/plugins\"" \
--java-options "-Dcryptomator.settingsPath=\"~/.config/Cryptomator/settings.json:~/.Cryptomator/settings.json\"" \
--java-options "-Dcryptomator.ipcSocketPath=\"~/.config/Cryptomator/ipc.socket\"" \
--java-options "-Dcryptomator.mountPointsDir=\"~/.local/share/Cryptomator/mnt\"" \
--java-options "-Dcryptomator.showTrayIcon=false" \
--java-options "-Dcryptomator.buildNumber=\"appimage-${REVISION_NO}\"" \
--resource-dir ../resources
# transform AppDir
mv Cryptomator Cryptomator.AppDir
cp -r resources/AppDir/* Cryptomator.AppDir/
chmod +x Cryptomator.AppDir/lib/runtime/bin/java
envsubst '${REVISION_NO}' < resources/AppDir/bin/cryptomator.sh > Cryptomator.AppDir/bin/cryptomator.sh
cp ../common/org.cryptomator.Cryptomator256.png Cryptomator.AppDir/usr/share/icons/hicolor/256x256/apps/org.cryptomator.Cryptomator.png
cp ../common/org.cryptomator.Cryptomator512.png Cryptomator.AppDir/usr/share/icons/hicolor/512x512/apps/org.cryptomator.Cryptomator.png
cp ../common/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg
cp ../common/org.cryptomator.Cryptomator.desktop Cryptomator.AppDir/usr/share/applications/org.cryptomator.Cryptomator.desktop
cp ../common/org.cryptomator.Cryptomator.metainfo.xml Cryptomator.AppDir/usr/share/metainfo/org.cryptomator.Cryptomator.metainfo.xml
cp ../common/application-vnd.cryptomator.vault.xml Cryptomator.AppDir/usr/share/mime/packages/application-vnd.cryptomator.vault.xml
ln -s usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/org.cryptomator.Cryptomator.svg
ln -s usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/Cryptomator.svg
ln -s usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/.DirIcon
ln -s usr/share/applications/org.cryptomator.Cryptomator.desktop Cryptomator.AppDir/Cryptomator.desktop
ln -s bin/cryptomator.sh Cryptomator.AppDir/AppRun
# extract jffi
JFFI_NATIVE_JAR=`ls Cryptomator.AppDir/lib/app | grep -e 'jffi-[1-9]\.[0-9]\{1,2\}.[0-9]\{1,2\}-native.jar'`
${JAVA_HOME}/bin/jar -xf Cryptomator.AppDir/lib/app/${JFFI_NATIVE_JAR} /jni/x86_64-Linux/
mv jni/x86_64-Linux/* Cryptomator.AppDir/lib/app/libjffi.so
rm -r jni/x86_64-Linux
# load AppImageTool
curl -L https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage -o /tmp/appimagetool.AppImage
chmod +x /tmp/appimagetool.AppImage
# create AppImage
/tmp/appimagetool.AppImage \
Cryptomator.AppDir \
cryptomator-SNAPSHOT-x86_64.AppImage \
-u 'gh-releases-zsync|cryptomator|cryptomator|latest|cryptomator-*-x86_64.AppImage.zsync'

View File

@@ -0,0 +1,40 @@
#!/bin/sh
cd $(dirname $0)
# determine GTK version
GTK2_PRESENT=1 # initially false
GTK3_PRESENT=0 # initially true
if command -v dpkg &> /dev/null; then # do stuff for debian based things
GTK2_PRESENT=`dpkg -l libgtk* | grep -e '\^ii' | grep -e 'libgtk2-*' &> /dev/null; echo $?`
GTK3_PRESENT=`dpkg -l libgtk* | grep -e '\^ii' | grep -e 'libgtk-3-*' &> /dev/null; echo $?`
elif command -v rpm &> /dev/null; then # do stuff for rpm based things (including yum/dnf)
GTK2_PRESENT=`rpm -qa | grep -e '\^gtk2-[0-9][0-9]*' &> /dev/null; echo $?`
GTK3_PRESENT=`rpm -qa | grep -e '\^gtk3-[0-9][0-9]*' &> /dev/null; echo $?`
elif command -v pacman &> /dev/null; then # don't forget arch
GTK2_PRESENT=`pacman -Qi gtk2 &> /dev/null; echo $?`
GTK3_PRESENT=`pacman -Qi gtk3 &> /dev/null; echo $?`
fi
if [ "$GTK2_PRESENT" -eq 0 ] && [ "$GTK3_PRESENT" -ne 0 ]; then
GTK_FLAG="-Djdk.gtk.version=2"
fi
# workaround for https://github.com/cryptomator/cryptomator-linux/issues/27
export LD_PRELOAD=lib/app/libjffi.so
# start Cryptomator
./lib/runtime/bin/java \
-p "lib/app/mods" \
-cp "lib/app/*" \
-Dfile.encoding="utf-8" \
-Dcryptomator.logDir="~/.local/share/Cryptomator/logs" \
-Dcryptomator.pluginDir="~/.local/share/Cryptomator/plugins" \
-Dcryptomator.mountPointsDir="~/.local/share/Cryptomator/mnt" \
-Dcryptomator.settingsPath="~/.config/Cryptomator/settings.json:~/.Cryptomator/settings.json" \
-Dcryptomator.ipcSocketPath="~/.config/Cryptomator/ipc.socket" \
-Dcryptomator.buildNumber="appimage-${REVISION_NO}" \
-Dcryptomator.appVersion="${SEMVER_STR}" \
$GTK_FLAG \
-Xss5m \
-Xmx256m \
-m org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/vnd.cryptomator.vault">
<comment>Cryptomator Vault Metadata</comment>
<glob pattern="*.cryptomator"/>
</mime-type>
</mime-info>

View File

@@ -0,0 +1,11 @@
[Desktop Entry]
Name=Cryptomator
Comment=Cloud Storage Encryption Utility
Exec=cryptomator %F
Icon=org.cryptomator.Cryptomator
Terminal=false
Type=Application
Categories=Utility;Security;FileTools;
StartupNotify=true
StartupWMClass=org.cryptomator.launcher.Cryptomator
MimeType=application/vnd.cryptomator.encrypted;application/vnd.cryptomator.vault;

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2018 Armin Schrenk <armin.schrenk@zoho.eu> -->
<component type="desktop-application">
<id>org.cryptomator.Cryptomator</id>
<metadata_license>FSFAP</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<name>Cryptomator</name>
<summary>Multi-platform client-side encryption tool optimized for cloud storages</summary>
<description>
<p>
Cryptomator provides transparent, client-side encryption for your cloud. Protect your documents from unauthorized
access. Cryptomator is free and open source software, so you can rest assured there are no backdoors.
</p>
<p>
Cryptomator encrypts file contents and names using AES. Your passphrase is protected against bruteforcing attempts
using scrypt. Directory structures get obfuscated. The only thing which cannot be encrypted without breaking your
cloud synchronization is the modification date of your files.
</p>
<p>
Cryptomator is a free and open source software licensed under the GPLv3. This allows anyone to check our code. It
is impossible to introduce backdoors for third parties. Also we cannot hide vulnerabilities. And the best thing
is: There is no need to trust us, as you can control us!
</p>
<p>
Vendor lock-ins are impossible. Even if we decided to stop development: The source code is already cloned by
hundreds of other developers. As you don't need an account, you will never stand in front of locked doors.
</p>
</description>
<categories>
<category>Office</category>
<category>Security</category>
<category>FileTools</category>
</categories>
<launchable type="desktop-id">org.cryptomator.Cryptomator.desktop</launchable>
<provides>
<binary>cryptomator</binary>
<mediatype>application/vnd.cryptomator.vault</mediatype>
<mediatype>application/vnd.cryptomator.encrypted</mediatype>
</provides>
<screenshots>
<screenshot>
<caption>Light theme</caption>
<image>https://user-images.githubusercontent.com/11858409/156986109-6e58f59c-8b8c-4501-b33b-bb1e33007cea.png</image>
</screenshot>
<screenshot>
<caption>Dark theme</caption>
<image>https://user-images.githubusercontent.com/11858409/156986113-6c5d7801-86e0-4643-bc2f-aff9d95d3ce0.png</image>
</screenshot>
</screenshots>
<url type="homepage">https://cryptomator.org/</url>
<url type="bugtracker">https://github.com/cryptomator/cryptomator/issues/</url>
<url type="donation">https://cryptomator.org/donate</url>
<url type="faq">https://community.cryptomator.org/c/kb/faq</url>
<url type="help">https://community.cryptomator.org/</url>
<url type="translate">https://translate.cryptomator.org</url>
<developer_name>Skymatic GmbH</developer_name>
<content_rating type="oars-1.1">
<content_attribute id="social-info">mild</content_attribute> <!-- update checker connects to https://api.cryptomator.org/updates/latestVersion.json -->
</content_rating>
<releases>
<release date="2021-12-16" version="1.6.5"/>
</releases>
</component>

View File

@@ -0,0 +1 @@
<svg width="1110" height="1110" viewBox="0 0 1108.12 940.2" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg"><path d="m552.69 0c-169.1 0-262.45 143.46-262.45 283.52h524.9c0-140.06-105.33-283.52-262.45-283.52z" fill="#cfcfcf"/><path d="m552.69 53.2c-137.37 0-213.21 116.54-213.21 230.32l213.21 24.18 213.21-24.18c0-113.78-85.57-230.32-213.21-230.32z" fill="#585e62"/><path d="m89.8 739.52a20 20 0 0 1 -2.23-39.88 42.8 42.8 0 1 0 -42.22-21.82 20 20 0 0 1 -35 19.31 82.79 82.79 0 1 1 81.76 42.26 21.78 21.78 0 0 1 -2.31.13z" fill="#585e62"/><rect fill="#cfcfcf" height="144.19" rx="49.42" transform="matrix(.8902923 .45538953 -.45538953 .8902923 261.57 -5.69)" width="104.68" x="90.27" y="467.98"/><path d="m149.47 401.27h62.8a0 0 0 0 1 0 0v94.55a31.4 31.4 0 0 1 -31.4 31.4 31.4 31.4 0 0 1 -31.4-31.4v-94.55a0 0 0 0 1 0 0z" fill="#585e62" transform="matrix(.8902923 .45538953 -.45538953 .8902923 231.23 -31.44)"/><circle cx="222.59" cy="387.53" fill="#cfcfcf" r="75.05"/><path d="m258.09 321.8a75.09 75.09 0 0 0 -91.23 14.64 75.06 75.06 0 0 1 51.58 126.06 75.06 75.06 0 0 0 39.65-140.7z" fill="#b1b1b1"/><path d="m1018.31 739.52a22.09 22.09 0 0 1 -2.28-.13 82.8 82.8 0 1 1 81.77-42.26 20 20 0 1 1 -35-19.31 42.8 42.8 0 1 0 -42.23 21.82 20 20 0 0 1 -2.23 39.88z" fill="#585e62"/><rect fill="#cfcfcf" height="144.19" rx="49.42" transform="matrix(-.8902923 .45538953 -.45538953 -.8902923 2071.05 581.27)" width="104.68" x="913.18" y="467.98"/><path d="m927.25 401.27a31.4 31.4 0 0 1 31.4 31.4v94.55a0 0 0 0 1 0 0h-62.8a0 0 0 0 1 0 0v-94.55a31.4 31.4 0 0 1 31.4-31.4z" fill="#585e62" transform="matrix(-.8902923 .45538953 -.45538953 -.8902923 1964.18 455.35)"/><circle cx="885.53" cy="387.53" fill="#cfcfcf" r="75.05"/><path d="m850 321.8a75.08 75.08 0 0 1 91.22 14.64 75.06 75.06 0 0 0 -51.54 126.06 75.05 75.05 0 0 1 -39.68-140.7z" fill="#b1b1b1"/><path d="m248.78 940.2c-36.67 0-67-39.85-75.51-99.15-4.56-31.83-2.26-65.19 6.48-94 9.41-31 25.51-53.59 45.32-63.72a51.72 51.72 0 0 1 23.69-5.84h103.52v262.71z" fill="#585e62"/><path d="m351.43 940.2c-21.26 0-38.85-39.85-43.78-99.15-2.64-31.83-1.31-65.19 3.76-94 5.45-31 14.78-53.59 26.27-63.72 4.39-3.87 9-5.84 13.73-5.84s9.34 2 13.75 5.8l49.7 43.83c17.37 15.32 23.39 64 20.23 102-2.43 29.28-10 52.18-20.19 61.28l-49.69 43.82c-4.44 3.99-9.08 5.98-13.78 5.98z" fill="#585e62"/><path d="m360.57 699 49.65 43.79c11.18 9.9 17.78 47.45 14.78 83.91-2 24.27-7.83 41.95-14.77 48.13l-49.65 43.79c-18.58 16.38-37.79-19.43-42.83-80.07s6-123.1 24.58-139.51c6.15-5.42 12.5-5.04 18.24-.04z" fill="#35393b"/><path d="m850.73 940.2c36.66 0 67-39.85 75.51-99.15 4.56-31.83 2.26-65.19-6.48-94-9.41-31-25.51-53.59-45.32-63.72a51.72 51.72 0 0 0 -23.69-5.84h-103.53v262.71z" fill="#585e62"/><path d="m748.08 940.2c21.26 0 38.85-39.85 43.78-99.15 2.64-31.83 1.31-65.19-3.76-94-5.45-31-14.79-53.59-26.27-63.72-4.4-3.87-9-5.84-13.73-5.84s-9.34 2-13.76 5.8l-49.69 43.83c-17.38 15.32-23.39 64-20.23 102 2.43 29.28 10 52.18 20.19 61.28l49.68 43.82c4.45 3.99 9.09 5.98 13.79 5.98z" fill="#585e62"/><path d="m738.94 699-49.65 43.79c-11.19 9.86-17.8 47.41-14.77 83.87 2 24.27 7.83 41.95 14.77 48.13l49.65 43.79c18.61 16.41 37.78-19.43 42.82-80.07s-6-123.1-24.58-139.51c-6.18-5.38-12.5-5-18.24 0z" fill="#35393b"/><path d="m848.63 451.38a83.62 83.62 0 0 1 -.56-45.6c14.74-53.13 5.06-111.78 5.06-111.78-185.07-57.77-300.13-.48-300.13-.48s-114.79-57.64-300-.45c0 0-9.86 58.64 4.72 111.83a83.69 83.69 0 0 1 -.69 45.59c-5.14 17.57-10.72 44.5-10.77 78.8-.37 249 306 326.08 306 326.08s306.58-76.15 306.95-325.16c0-34.3-5.49-61.21-10.58-78.83z" fill="#cfcfcf"/><path d="m552.34 808.87c-50.72-15.87-261.7-93.25-261.42-279.51 0-29.65 4.89-52.42 9-66.31a128.3 128.3 0 0 0 .91-70c-6.2-22.58-6.9-47.13-6.17-65.29 40.48-10.23 80.2-15.37 118.41-15.32 75.66.12 119.86 21 120.3 21.17l20.39 10.23 19.24-10.32c.11 0 44.36-20.75 120-20.64 38.21.06 77.91 5.32 118.37 15.68.67 18.14-.1 42.71-6.37 65.27a128.33 128.33 0 0 0 .69 70c4 13.91 8.82 36.69 8.77 66.35-.28 187.06-211.26 263.09-262.12 278.69z" fill="#49b04a"/><path d="m610.15 478.76a57.46 57.46 0 1 0 -70.15 55.92l-32.29 135.47 44.67 12.85 44.71-12.71-31.84-135.57a57.46 57.46 0 0 0 44.9-55.96z" fill="#35393b"/><g fill="#49b04a"><path d="m454.94 131.08a60.64 60.64 0 0 0 -60.64 60.64h121.28a60.64 60.64 0 0 0 -60.64-60.64z"/><path d="m642.38 131.08a60.64 60.64 0 0 0 -60.64 60.64h121.26a60.64 60.64 0 0 0 -60.62-60.64z"/><circle cx="483.23" cy="229.43" r="11.52"/><circle cx="528.52" cy="229.43" r="11.52"/><circle cx="573.8" cy="229.43" r="11.52"/><circle cx="619.09" cy="229.43" r="11.52"/></g></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

5
dist/linux/debian/changelog vendored Normal file
View File

@@ -0,0 +1,5 @@
cryptomator (${PPA_VERSION}) bionic; urgency=low
* Full changelog can be found on https://github.com/cryptomator/cryptomator/releases
-- Cryptobot <releases@cryptomator.org> ${RFC2822_TIMESTAMP}

1
dist/linux/debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
10

23
dist/linux/debian/control vendored Normal file
View File

@@ -0,0 +1,23 @@
Source: cryptomator
Maintainer: Cryptobot <releases@cryptomator.org>
Section: utils
Priority: optional
Build-Depends: debhelper (>=10), openjdk-17-jdk
Standards-Version: 4.5.0
Homepage: https://cryptomator.org
Vcs-Git: https://github.com/cryptomator/cryptomator.git
Vcs-browser: https://github.com/cryptomator/cryptomator
Package: cryptomator
Architecture: any
Section: utils
Priority: optional
Depends: ${shlibs:Depends}, ${misc:Depends}, libfuse2, xdg-utils, libjffi-jni
Recommends: gvfs-backends, gvfs-fuse, gnome-keyring
XB-AppName: Cryptomator
XB-Category: Utility;Security;FileTools;
Homepage: https://cryptomator.org
Description: Multi-platform client-side encryption of your cloud files.
Cryptomator provides free client-side AES encryption for your cloud files.
Create encrypted vaults, which get mounted as virtual volumes. Whatever
you save on one of these volumes will end up encrypted inside your vault.

39
dist/linux/debian/copyright vendored Normal file
View File

@@ -0,0 +1,39 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: cryptomator
Upstream-Contact: Cryptomator <info@cryptomator.org>
Source: https://cryptomator.org
Files: *
Copyright: 2016-2022 Skymatic GmbH
License: GPL-3+
Files: debian/org.cryptomator.Cryptomator.appdata.xml
Copyright: 2016-2022 Skymatic GmbH
License: FSFAP
License: GPL-3+
This program is free software: you can redistribute it
and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation, either
version 3 of the License, or (at your option) any later
version.
.
This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more
details.
.
You should have received a copy of the GNU General Public
License along with this program. If not, see
<https://www.gnu.org/licenses/>.
.
On Debian systems, the full text of the GNU General Public
License version 3 can be found in the file
`/usr/share/common-licenses/GPL-3'.
License: FSFAP
Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice and
this notice are preserved. This file is offered as-is, without any
warranty.

8
dist/linux/debian/cryptomator.install vendored Normal file
View File

@@ -0,0 +1,8 @@
cryptomator usr/lib
debian/cryptomator.sh usr/lib/cryptomator/bin
common/org.cryptomator.Cryptomator.desktop usr/share/applications
common/org.cryptomator.Cryptomator.svg usr/share/icons/hicolor/scalable/apps
common/org.cryptomator.Cryptomator256.png usr/share/icons/hicolor/256x256/apps
common/org.cryptomator.Cryptomator512.png usr/share/icons/hicolor/512x512/apps
common/org.cryptomator.Cryptomator.metainfo.xml usr/share/metainfo
common/application-vnd.cryptomator.vault.xml usr/share/mime/packages

1
dist/linux/debian/cryptomator.links vendored Normal file
View File

@@ -0,0 +1 @@
usr/lib/cryptomator/bin/cryptomator.sh usr/bin/cryptomator

6
dist/linux/debian/cryptomator.sh vendored Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/sh
# fix for https://github.com/cryptomator/cryptomator/issues/1370
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/jni/libjffi-1.2.so
/usr/lib/cryptomator/bin/cryptomator

44
dist/linux/debian/postinst vendored Normal file
View File

@@ -0,0 +1,44 @@
#!/bin/sh
# postinst script for Cryptomator
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
echo Adding shortcut to the menu
if [ ! -d "/usr/share/desktop-directories" ]; then
mkdir -p /usr/share/desktop-directories
fi
xdg-desktop-menu install --novendor /usr/share/applications/org.cryptomator.Cryptomator.desktop
xdg-mime install /usr/share/mime/packages/application-vnd.cryptomator.vault.xml
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

42
dist/linux/debian/prerm vendored Normal file
View File

@@ -0,0 +1,42 @@
#!/bin/sh
# prerm script for Cryptomator
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <prerm> `remove'
# * <old-prerm> `upgrade' <new-version>
# * <new-prerm> `failed-upgrade' <old-version>
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
# * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
remove|upgrade|deconfigure)
echo Removing shortcut
xdg-desktop-menu uninstall --novendor /usr/share/applications/org.cryptomator.Cryptomator.desktop
xdg-mime uninstall /usr/share/mime/packages/application-vnd.cryptomator.vault.xml
;;
failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

56
dist/linux/debian/rules vendored Executable file
View File

@@ -0,0 +1,56 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh $@
override_dh_auto_clean:
rm -rf runtime
rm -rf cryptomator
rm -rf debian/cryptomator
rm -rf resources
override_dh_auto_build:
mkdir resources
ln -s ../common/org.cryptomator.Cryptomator512.png resources/cryptomator.png
jlink \
--output runtime \
--add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility,jdk.management.jfr \
--no-header-files \
--no-man-pages \
--strip-debug \
--compress=2
jpackage \
--type app-image \
--runtime-image runtime \
--input libs \
--module-path mods \
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator \
--dest . \
--name cryptomator \
--vendor "Skymatic GmbH" \
--copyright "(C) 2016 - 2022 Skymatic GmbH" \
--java-options "-Xss5m" \
--java-options "-Xmx256m" \
--java-options "-Dfile.encoding=\"utf-8\"" \
--java-options "-Dcryptomator.logDir=\"~/.local/share/Cryptomator/logs\"" \
--java-options "-Dcryptomator.pluginDir=\"~/.local/share/Cryptomator/plugins\"" \
--java-options "-Dcryptomator.settingsPath=\"~/.config/Cryptomator/settings.json:~/.Cryptomator/settings.json\"" \
--java-options "-Dcryptomator.ipcSocketPath=\"~/.config/Cryptomator/ipc.socket\"" \
--java-options "-Dcryptomator.mountPointsDir=\"~/.local/share/Cryptomator/mnt\"" \
--java-options "-Dcryptomator.showTrayIcon=false" \
--java-options "-Dcryptomator.buildNumber=\"deb-${REVISION_NUM}\"" \
--java-options "-Dcryptomator.appVersion=\"${SEMVER_STR}\"" \
--app-version "${VERSION_NUM}.${REVISION_NUM}" \
--resource-dir resources \
--verbose
override_dh_fixperms:
dh_fixperms
chmod +x debian/cryptomator/usr/lib/cryptomator/bin/cryptomator.sh
# override_dh_strip:
# no-op

1
dist/linux/debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (quilt)

View File

@@ -0,0 +1,2 @@
common/org.cryptomator.Cryptomator256.png
common/org.cryptomator.Cryptomator512.png

View File

@@ -1,11 +1,13 @@
#!/bin/sh
cd $(dirname $0)
java \
-p "mods" \
-cp "libs/*" \
-Dcryptomator.settingsPath="~/.config/Cryptomator/settings.json" \
-Dcryptomator.ipcPortPath="~/.config/Cryptomator/ipcPort.bin" \
-Dcryptomator.ipcSocketPath="~/.config/Cryptomator/ipc.socket" \
-Dcryptomator.logDir="~/.local/share/Cryptomator/logs" \
-Dcryptomator.mountPointsDir="~/.local/share/Cryptomator/mnt" \
-Djdk.gtk.version=2 \
-Xss20m \
-Xss2m \
-Xmx512m \
org.cryptomator.launcher.Cryptomator
-m org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator

BIN
dist/linux/resources/cryptomator.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

14
dist/mac/Cryptomator.entitlements vendored Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
</dict>
</plist>

4
dist/mac/dmg/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# created during build
runtime/
dmg/
*.dmg

122
dist/mac/dmg/build.sh vendored Executable file
View File

@@ -0,0 +1,122 @@
#!/bin/bash
# parse options
usage() { echo "Usage: $0 [-s <codesign-identity>]" 1>&2; exit 1; }
while getopts ":s:" o; do
case "${o}" in
s)
CODESIGN_IDENTITY=${OPTARG}
;;
*)
usage
;;
esac
done
shift "$((OPTIND-1))"
# prepare working dir and variables
cd $(dirname $0)
rm -rf runtime dmg
REVISION_NO=`git rev-list --count HEAD`
VERSION_NO=`mvn -f../../../pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout | sed -rn 's/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/p'`
# check preconditions
if [ -z "${JAVA_HOME}" ]; then echo "JAVA_HOME not set. Run using JAVA_HOME=/path/to/jdk ./build.sh"; exit 1; fi
command -v mvn >/dev/null 2>&1 || { echo >&2 "mvn not found. Fix by 'brew install maven'."; exit 1; }
command -v create-dmg >/dev/null 2>&1 || { echo >&2 "create-dmg not found. Fix by 'brew install create-dmg'."; exit 1; }
if [ -n "${CODESIGN_IDENTITY}" ]; then
command -v codesign >/dev/null 2>&1 || { echo >&2 "codesign not found. Fix by 'xcode-select --install'."; exit 1; }
if [[ ! `security find-identity -v -p codesigning | grep -w "${CODESIGN_IDENTITY}"` ]]; then echo "Given codesign identity is invalid."; exit 1; fi
fi
# compile
mvn -B -f../../../pom.xml clean package -DskipTests -Pmac
cp ../../../target/cryptomator-*.jar ../../../target/mods
# add runtime
${JAVA_HOME}/bin/jlink \
--output runtime \
--module-path "${JAVA_HOME}/jmods" \
--add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility,jdk.management.jfr \
--no-header-files \
--no-man-pages \
--strip-debug \
--compress=1
# create app dir
${JAVA_HOME}/bin/jpackage \
--verbose \
--type app-image \
--runtime-image runtime \
--input ../../../target/libs \
--module-path ../../../target/mods \
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator \
--dest . \
--name Cryptomator \
--vendor "Skymatic GmbH" \
--copyright "(C) 2016 - 2022 Skymatic GmbH" \
--java-options "-Xss5m" \
--java-options "-Xmx256m" \
--java-options "-Dcryptomator.appVersion=\"${VERSION_NO}\"" \
--app-version "${VERSION_NO}" \
--java-options "-Dfile.encoding=\"utf-8\"" \
--java-options "-Dapple.awt.enableTemplateImages=true" \
--java-options "-Dcryptomator.logDir=\"~/Library/Logs/Cryptomator\"" \
--java-options "-Dcryptomator.pluginDir=\"~/Library/Application Support/Cryptomator/Plugins\"" \
--java-options "-Dcryptomator.settingsPath=\"~/Library/Application Support/Cryptomator/settings.json\"" \
--java-options "-Dcryptomator.ipcSocketPath=\"~/Library/Application Support/Cryptomator/ipc.socket\"" \
--java-options "-Dcryptomator.showTrayIcon=true" \
--java-options "-Dcryptomator.buildNumber=\"dmg-${REVISION_NO}\"" \
--mac-package-identifier org.cryptomator \
--resource-dir ../resources
# transform app dir
cp ../resources/Cryptomator-Vault.icns Cryptomator.app/Contents/Resources/
sed -i '' "s|###BUNDLE_SHORT_VERSION_STRING###|${VERSION_NO}|g" Cryptomator.app/Contents/Info.plist
sed -i '' "s|###BUNDLE_VERSION###|${REVISION_NO}|g" Cryptomator.app/Contents/Info.plist
# codesign
if [ -n "${CODESIGN_IDENTITY}" ]; then
find Cryptomator.app/Contents/runtime/Contents/MacOS -name '*.dylib' -exec codesign --force -s ${CODESIGN_IDENTITY} {} \;
for JAR_PATH in `find Cryptomator.app -name "*.jar"`; do
if [[ `unzip -l ${JAR_PATH} | grep '.dylib\|.jnilib'` ]]; then
JAR_FILENAME=$(basename ${JAR_PATH})
OUTPUT_PATH=${JAR_PATH%.*}
echo "Codesigning libs in ${JAR_FILENAME}..."
unzip -q ${JAR_PATH} -d ${OUTPUT_PATH}
find ${OUTPUT_PATH} -name '*.dylib' -exec codesign --force -s ${CODESIGN_IDENTITY} {} \;
find ${OUTPUT_PATH} -name '*.jnilib' -exec codesign --force -s ${CODESIGN_IDENTITY} {} \;
rm ${JAR_PATH}
pushd ${OUTPUT_PATH} > /dev/null
zip -qr ../${JAR_FILENAME} *
popd > /dev/null
rm -r ${OUTPUT_PATH}
fi
done
echo "Codesigning Cryptomator.app..."
codesign --force --deep --entitlements ../Cryptomator.entitlements -o runtime -s ${CODESIGN_IDENTITY} Cryptomator.app
fi
# prepare dmg contents
mkdir dmg
mv Cryptomator.app dmg
cp resources/macFUSE.webloc dmg
# create dmg
create-dmg \
--volname Cryptomator \
--volicon "resources/Cryptomator-Volume.icns" \
--background "resources/Cryptomator-background.tiff" \
--window-pos 400 100 \
--window-size 640 694 \
--icon-size 128 \
--icon "Cryptomator.app" 128 245 \
--hide-extension "Cryptomator.app" \
--icon "macFUSE.webloc" 320 501 \
--hide-extension "macFUSE.webloc" \
--app-drop-link 512 245 \
--eula "resources/license.rtf" \
--icon ".background" 128 758 \
--icon ".fseventsd" 320 758 \
--icon ".VolumeIcon.icns" 512 758 \
Cryptomator-${VERSION_NO}.dmg dmg

Binary file not shown.

Binary file not shown.

100
dist/mac/dmg/resources/license.rtf vendored Normal file
View File

@@ -0,0 +1,100 @@
{\rtf1\ansi\ansicpg1252\cocoartf2512
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\vieww12000\viewh15840\viewkind0
\deftab720
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\partightenfactor0
\f0\b\fs24 \cf0 Cryptomator is distributed under the GPLv3 License, found below. Please see the bottom of this document for any other license applicable to code used within Cryptomator.
\f1\b0 \
\
\f0\b \'a9 2016 \'96 2022 Skymatic GmbH
\f1\b0 \
\
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\
\
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\
\
You should have received a copy of the GNU General Public License along with this program. If not, see {\field{\*\fldinst{HYPERLINK "http://www.gnu.org/licenses/"}}{\fldrslt http://www.gnu.org/licenses/}}.\
\
\f0\b Cryptomator uses 49 third-party dependencies under the following licenses:
\f1\b0 \
Apache License v2.0:\
- jffi (com.github.jnr:jffi:1.2.23 - {\field{\*\fldinst{HYPERLINK "http://github.com/jnr/jffi"}}{\fldrslt http://github.com/jnr/jffi}})\
- jnr-a64asm (com.github.jnr:jnr-a64asm:1.0.0 - {\field{\*\fldinst{HYPERLINK "http://nexus.sonatype.org/oss-repository-hosting.html/jnr-a64asm"}}{\fldrslt http://nexus.sonatype.org/oss-repository-hosting.html/jnr-a64asm}})\
- jnr-constants (com.github.jnr:jnr-constants:0.9.15 - {\field{\*\fldinst{HYPERLINK "http://github.com/jnr/jnr-constants"}}{\fldrslt http://github.com/jnr/jnr-constants}})\
- jnr-ffi (com.github.jnr:jnr-ffi:2.1.12 - {\field{\*\fldinst{HYPERLINK "http://github.com/jnr/jnr-ffi"}}{\fldrslt http://github.com/jnr/jnr-ffi}})\
- FindBugs-jsr305 (com.google.code.findbugs:jsr305:3.0.2 - {\field{\*\fldinst{HYPERLINK "http://findbugs.sourceforge.net/"}}{\fldrslt http://findbugs.sourceforge.net/}})\
- Gson (com.google.code.gson:gson:2.8.6 - {\field{\*\fldinst{HYPERLINK "https://github.com/google/gson/gson"}}{\fldrslt https://github.com/google/gson/gson}})\
- Dagger (com.google.dagger:dagger:2.29.1 - {\field{\*\fldinst{HYPERLINK "https://github.com/google/dagger"}}{\fldrslt https://github.com/google/dagger}})\
- error-prone annotations (com.google.errorprone:error_prone_annotations:2.3.4 - {\field{\*\fldinst{HYPERLINK "http://nexus.sonatype.org/oss-repository-hosting.html/error_prone_parent/error_prone_annotation"}}{\fldrslt http://nexus.sonatype.org/oss-repository-hosting.html/error_prone_parent/error_prone_annotation}} )\
- Guava InternalFutureFailureAccess and InternalFutures (com.google.guava:failureaccess:1.0.1 - {\field{\*\fldinst{HYPERLINK "https://github.com/google/guava/failureaccess"}}{\fldrslt https://github.com/google/guava/failureaccess}})\
- Guava: Google Core Libraries for Java (com.google.guava:guava:30.0-jre - {\field{\*\fldinst{HYPERLINK "https://github.com/google/guava/guava"}}{\fldrslt https://github.com/google/guava/guava}})\
- Guava ListenableFuture only (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - {\field{\*\fldinst{HYPERLINK "https://github.com/google/guava/listenablefuture"}}{\fldrslt https://github.com/google/guava/listenablefuture}})\
- J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.3 - {\field{\*\fldinst{HYPERLINK "https://github.com/google/j2objc/"}}{\fldrslt https://github.com/google/j2objc/}})\
- Apache Commons CLI (commons-cli:commons-cli:1.4 - {\field{\*\fldinst{HYPERLINK "http://commons.apache.org/proper/commons-cli/"}}{\fldrslt http://commons.apache.org/proper/commons-cli/}})\
- javax.inject (javax.inject:javax.inject:1 - {\field{\*\fldinst{HYPERLINK "http://code.google.com/p/atinject/"}}{\fldrslt http://code.google.com/p/atinject/}})\
- Java Native Access (net.java.dev.jna:jna:5.6.0 - {\field{\*\fldinst{HYPERLINK "https://github.com/java-native-access/jna"}}{\fldrslt https://github.com/java-native-access/jna}})\
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.5.0 - {\field{\*\fldinst{HYPERLINK "https://github.com/java-native-access/jna"}}{\fldrslt https://github.com/java-native-access/jna}})\
- Apache Commons Lang (org.apache.commons:commons-lang3:3.11 - {\field{\*\fldinst{HYPERLINK "https://commons.apache.org/proper/commons-lang/"}}{\fldrslt https://commons.apache.org/proper/commons-lang/}})\
- Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.13 - {\field{\*\fldinst{HYPERLINK "http://hc.apache.org/httpcomponents-core-ga"}}{\fldrslt http://hc.apache.org/httpcomponents-core-ga}})\
- Jackrabbit WebDAV Library (org.apache.jackrabbit:jackrabbit-webdav:2.21.3 - {\field{\*\fldinst{HYPERLINK "http://jackrabbit.apache.org/jackrabbit-webdav/"}}{\fldrslt http://jackrabbit.apache.org/jackrabbit-webdav/}})\
- Jetty :: Http Utility (org.eclipse.jetty:jetty-http:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-http"}}{\fldrslt https://eclipse.org/jetty/jetty-http}})\
- Jetty :: IO Utility (org.eclipse.jetty:jetty-io:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-io"}}{\fldrslt https://eclipse.org/jetty/jetty-io}})\
- Jetty :: Security (org.eclipse.jetty:jetty-security:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-security"}}{\fldrslt https://eclipse.org/jetty/jetty-security}})\
- Jetty :: Server Core (org.eclipse.jetty:jetty-server:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-server"}}{\fldrslt https://eclipse.org/jetty/jetty-server}})\
- Jetty :: Servlet Handling (org.eclipse.jetty:jetty-servlet:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-servlet"}}{\fldrslt https://eclipse.org/jetty/jetty-servlet}})\
- Jetty :: Utilities (org.eclipse.jetty:jetty-util:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-util"}}{\fldrslt https://eclipse.org/jetty/jetty-util}})\
- Jetty :: Utilities :: Ajax(JSON) (org.eclipse.jetty:jetty-util-ajax:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-util-ajax"}}{\fldrslt https://eclipse.org/jetty/jetty-util-ajax}})\
- Jetty :: Webapp Application Support (org.eclipse.jetty:jetty-webapp:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-webapp"}}{\fldrslt https://eclipse.org/jetty/jetty-webapp}})\
- Jetty :: XML utilities (org.eclipse.jetty:jetty-xml:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-xml"}}{\fldrslt https://eclipse.org/jetty/jetty-xml}})\
BSD:\
- asm (org.ow2.asm:asm:7.1 - {\field{\*\fldinst{HYPERLINK "http://asm.ow2.org/"}}{\fldrslt http://asm.ow2.org/}})\
- asm-analysis (org.ow2.asm:asm-analysis:7.1 - {\field{\*\fldinst{HYPERLINK "http://asm.ow2.org/"}}{\fldrslt http://asm.ow2.org/}})\
- asm-commons (org.ow2.asm:asm-commons:7.1 - {\field{\*\fldinst{HYPERLINK "http://asm.ow2.org/"}}{\fldrslt http://asm.ow2.org/}})\
- asm-tree (org.ow2.asm:asm-tree:7.1 - {\field{\*\fldinst{HYPERLINK "http://asm.ow2.org/"}}{\fldrslt http://asm.ow2.org/}})\
- asm-util (org.ow2.asm:asm-util:7.1 - {\field{\*\fldinst{HYPERLINK "http://asm.ow2.org/"}}{\fldrslt http://asm.ow2.org/}})\
Eclipse Public License - Version 1.0:\
- Jetty :: Http Utility (org.eclipse.jetty:jetty-http:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-http"}}{\fldrslt https://eclipse.org/jetty/jetty-http}})\
- Jetty :: IO Utility (org.eclipse.jetty:jetty-io:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-io"}}{\fldrslt https://eclipse.org/jetty/jetty-io}})\
- Jetty :: Security (org.eclipse.jetty:jetty-security:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-security"}}{\fldrslt https://eclipse.org/jetty/jetty-security}})\
- Jetty :: Server Core (org.eclipse.jetty:jetty-server:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-server"}}{\fldrslt https://eclipse.org/jetty/jetty-server}})\
- Jetty :: Servlet Handling (org.eclipse.jetty:jetty-servlet:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-servlet"}}{\fldrslt https://eclipse.org/jetty/jetty-servlet}})\
- Jetty :: Utilities (org.eclipse.jetty:jetty-util:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-util"}}{\fldrslt https://eclipse.org/jetty/jetty-util}})\
- Jetty :: Utilities :: Ajax(JSON) (org.eclipse.jetty:jetty-util-ajax:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-util-ajax"}}{\fldrslt https://eclipse.org/jetty/jetty-util-ajax}})\
- Jetty :: Webapp Application Support (org.eclipse.jetty:jetty-webapp:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-webapp"}}{\fldrslt https://eclipse.org/jetty/jetty-webapp}})\
- Jetty :: XML utilities (org.eclipse.jetty:jetty-xml:9.4.35.v20201120 - {\field{\*\fldinst{HYPERLINK "https://eclipse.org/jetty/jetty-xml"}}{\fldrslt https://eclipse.org/jetty/jetty-xml}})\
Eclipse Public License - v 2.0:\
- jnr-posix (com.github.jnr:jnr-posix:3.0.54 - {\field{\*\fldinst{HYPERLINK "http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix"}}{\fldrslt http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix}})\
GPLv2:\
- jnr-posix (com.github.jnr:jnr-posix:3.0.54 - {\field{\*\fldinst{HYPERLINK "http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix"}}{\fldrslt http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix}})\
GPLv2+CE:\
- Java Servlet API (javax.servlet:javax.servlet-api:3.1.0 - {\field{\*\fldinst{HYPERLINK "http://servlet-spec.java.net"}}{\fldrslt http://servlet-spec.java.net}})\
- javafx-base (org.openjfx:javafx-base:15 - {\field{\*\fldinst{HYPERLINK "https://openjdk.java.net/projects/openjfx/javafx-base/"}}{\fldrslt https://openjdk.java.net/projects/openjfx/javafx-base/}})\
- javafx-controls (org.openjfx:javafx-controls:15 - {\field{\*\fldinst{HYPERLINK "https://openjdk.java.net/projects/openjfx/javafx-controls/"}}{\fldrslt https://openjdk.java.net/projects/openjfx/javafx-controls/}})\
- javafx-fxml (org.openjfx:javafx-fxml:15 - {\field{\*\fldinst{HYPERLINK "https://openjdk.java.net/projects/openjfx/javafx-fxml/"}}{\fldrslt https://openjdk.java.net/projects/openjfx/javafx-fxml/}})\
- javafx-graphics (org.openjfx:javafx-graphics:15 - {\field{\*\fldinst{HYPERLINK "https://openjdk.java.net/projects/openjfx/javafx-graphics/"}}{\fldrslt https://openjdk.java.net/projects/openjfx/javafx-graphics/}})\
LGPL 2.1:\
- jnr-posix (com.github.jnr:jnr-posix:3.0.54 - {\field{\*\fldinst{HYPERLINK "http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix"}}{\fldrslt http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix}})\
- Java Native Access (net.java.dev.jna:jna:5.6.0 - https://github.com/java-native-access/jna)\
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.5.0 - {\field{\*\fldinst{HYPERLINK "https://github.com/java-native-access/jna"}}{\fldrslt https://github.com/java-native-access/jna}})\
MIT License:\
- java jwt (com.auth0:java-jwt:3.12.0 - {\field{\*\fldinst{HYPERLINK "https://github.com/auth0/java-jwt"}}{\fldrslt https://github.com/auth0/java-jwt}})\
- jnr-x86asm (com.github.jnr:jnr-x86asm:1.0.2 - {\field{\*\fldinst{HYPERLINK "http://github.com/jnr/jnr-x86asm"}}{\fldrslt http://github.com/jnr/jnr-x86asm}})\
- jnr-fuse (com.github.serceman:jnr-fuse:0.5.4 - no url defined)\
- zxcvbn4j (com.nulab-inc:zxcvbn:1.3.0 - {\field{\*\fldinst{HYPERLINK "https://github.com/nulab/zxcvbn4j"}}{\fldrslt https://github.com/nulab/zxcvbn4j}})\
- Checker Qual (org.checkerframework:checker-qual:3.5.0 - {\field{\*\fldinst{HYPERLINK "https://checkerframework.org"}}{\fldrslt https://checkerframework.org}})\
- SLF4J API Module (org.slf4j:slf4j-api:1.7.30 - {\field{\*\fldinst{HYPERLINK "http://www.slf4j.org"}}{\fldrslt http://www.slf4j.org}})\
The BSD 2-Clause License:\
- EasyBind (com.tobiasdiez:easybind:2.1.0 - {\field{\*\fldinst{HYPERLINK "https://github.com/tobiasdiez/EasyBind"}}{\fldrslt https://github.com/tobiasdiez/EasyBind}})\
\
\f0\b Cryptomator uses other third-party assets under the following licenses:
\f1\b0 \
SIL OFL 1.1 License:\
- Font Awesome 5.12.0 ({\field{\*\fldinst{HYPERLINK "https://fontawesome.com/"}}{\fldrslt https://fontawesome.com/}})\
\
}

8
dist/mac/dmg/resources/macFUSE.webloc vendored Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>URL</key>
<string>https://osxfuse.github.io/</string>
</dict>
</plist>

View File

@@ -1,10 +1,12 @@
#!/bin/sh
cd $(dirname $0)
java \
-p "mods" \
-cp "libs/*" \
-Dcryptomator.settingsPath="~/Library/Application Support/Cryptomator/settings.json" \
-Dcryptomator.ipcPortPath="~/Library/Application Support/Cryptomator/ipcPort.bin" \
-Dcryptomator.ipcSocketPath="~/Library/Application Support/Cryptomator/ipc.socket" \
-Dcryptomator.logDir="~/Library/Logs/Cryptomator" \
-Dcryptomator.mountPointsDir="/Volumes" \
-Xss20m \
-Xmx512m \
org.cryptomator.launcher.Cryptomator
-m org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator

Binary file not shown.

BIN
dist/mac/resources/Cryptomator.icns vendored Normal file

Binary file not shown.

120
dist/mac/resources/Info.plist vendored Normal file
View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LSMinimumSystemVersion</key>
<string>10.13.0</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
<key>CFBundleExecutable</key>
<string>Cryptomator</string>
<key>CFBundleIconFile</key>
<string>Cryptomator.icns</string>
<key>CFBundleIdentifier</key>
<string>org.cryptomator</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Cryptomator</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>###BUNDLE_SHORT_VERSION_STRING###</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>CFBundleVersion</key>
<string>###BUNDLE_VERSION###</string>
<key>NSHumanReadableCopyright</key>
<string>cryptomator.org</string>
<key>NSHighResolutionCapable</key>
<string>true</string>
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.setolabs.Cryptomator</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>Cryptomator</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
</dict>
</dict>
<!-- register .cryptomator extension -->
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>LSItemContentTypes</key>
<array>
<string>org.cryptomator.vault-metadata</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>Cryptomator-Vault.icns</string>
<key>CFBundleTypeName</key>
<string>Cryptomator Vault Metadata</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>org.cryptomator.vault-metadata</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.utf8-plain-text</string>
<string>public.json</string>
</array>
<key>UTTypeDescription</key>
<string>Cryptomator Vault Metadata</string>
<key>UTTypeIconFile</key>
<string>Cryptomator-Vault.icns</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>cryptomator</string>
</array>
<key>public.mime-type</key>
<array>
<string>application/vnd.cryptomator.vault</string>
</array>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>org.cryptomator.encrypted-data</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>Cryptomator Encrypted Data</string>
<key>UTTypeIconFile</key>
<string>Cryptomator-Vault.icns</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>c9r</string>
<string>c9s</string>
</array>
<key>public.mime-type</key>
<array>
<string>application/vnd.cryptomator.encrypted</string>
</array>
</dict>
</dict>
</array>
<!-- allow utilization of integrated GPU, see https://developer.apple.com/library/mac/qa/qa1734/_index.html -->
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
</dict>
</plist>

7
dist/win/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
runtime
Cryptomator
installer
*.wixobj
*.pdb
*.msi
license.rtf

2
dist/win/build.bat vendored Normal file
View File

@@ -0,0 +1,2 @@
@echo off
powershell -NoLogo -NoExit -ExecutionPolicy Unrestricted -Command .\build.ps1

143
dist/win/build.ps1 vendored Normal file
View File

@@ -0,0 +1,143 @@
# check parameters
$clean = $args[0] -eq "fresh"
# check preconditions
if ((Get-Command "git" -ErrorAction SilentlyContinue) -eq $null)
{
Write-Host "Unable to find git.exe in your PATH (try: choco install git)"
exit 1
}
if ((Get-Command "mvn" -ErrorAction SilentlyContinue) -eq $null)
{
Write-Host "Unable to find mvn.cmd in your PATH (try: choco install maven)"
exit 1
}
$buildDir = Split-Path -Parent $PSCommandPath
$version = $(mvn -f $buildDir/../../pom.xml help:evaluate -Dexpression="project.version" -q -DforceStdout)
$semVerNo = $version -replace '(\d\.\d\.\d).*','$1'
$revisionNo = $(git rev-list --count HEAD)
Write-Output "`$version=$version"
Write-Output "`$semVerNo=$semVerNo"
Write-Output "`$revisionNo=$revisionNo"
Write-Output "`$buildDir=$buildDir"
Write-Output "`$Env:JAVA_HOME=$Env:JAVA_HOME"
$vendor = "Skymatic GmbH"
$copyright = "(C) 2016 - 2022 Skymatic GmbH"
# compile
&mvn -B -f $buildDir/../../pom.xml clean package -DskipTests -Pwin
Copy-Item "$buildDir\..\..\target\cryptomator-*.jar" -Destination "$buildDir\..\..\target\mods"
# add runtime
$runtimeImagePath = '.\runtime'
if ($clean -and (Test-Path -Path $runtimeImagePath)) {
Remove-Item -Path $runtimeImagePath -Force -Recurse
}
& "$Env:JAVA_HOME\bin\jlink" `
--verbose `
--output runtime `
--module-path "$Env:JAVA_HOME/jmods" `
--add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility,jdk.management.jfr `
--no-header-files `
--no-man-pages `
--strip-debug `
--compress=1
$appPath = '.\Cryptomator'
if ($clean -and (Test-Path -Path $appPath)) {
Remove-Item -Path $appPath -Force -Recurse
}
# create app dir
& "$Env:JAVA_HOME\bin\jpackage" `
--verbose `
--type app-image `
--runtime-image runtime `
--input ../../target/libs `
--module-path ../../target/mods `
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator `
--dest . `
--name Cryptomator `
--vendor $vendor `
--copyright $copyright `
--java-options "-Xss5m" `
--java-options "-Xmx256m" `
--java-options "-Dcryptomator.appVersion=`"$semVerNo`"" `
--app-version "$semVerNo.$revisionNo" `
--java-options "-Dfile.encoding=`"utf-8`"" `
--java-options "-Dcryptomator.logDir=`"~/AppData/Roaming/Cryptomator`"" `
--java-options "-Dcryptomator.pluginDir=`"~/AppData/Roaming/Cryptomator/Plugins`"" `
--java-options "-Dcryptomator.settingsPath=`"~/AppData/Roaming/Cryptomator/settings.json`"" `
--java-options "-Dcryptomator.ipcSocketPath=`"~/AppData/Roaming/Cryptomator/ipc.socket`"" `
--java-options "-Dcryptomator.keychainPath=`"~/AppData/Roaming/Cryptomator/keychain.json`"" `
--java-options "-Dcryptomator.mountPointsDir=`"~/Cryptomator`"" `
--java-options "-Dcryptomator.showTrayIcon=true" `
--java-options "-Dcryptomator.buildNumber=`"msi-$revisionNo`"" `
--resource-dir resources `
--icon resources/Cryptomator.ico
#Create RTF license for msi
&mvn -B -f $buildDir/../../pom.xml license:add-third-party `
"-Dlicense.thirdPartyFilename=license.rtf" `
"-Dlicense.fileTemplate=$buildDir\resources\licenseTemplate.ftl" `
"-Dlicense.outputDirectory=$buildDir\resources\"
# patch app dir
Copy-Item "contrib\*" -Destination "Cryptomator"
attrib -r "Cryptomator\Cryptomator.exe"
$aboutUrl="https://cryptomator.org"
$updateUrl="https://cryptomator.org/downloads/"
$helpUrl="https://cryptomator.org/contact/"
# create .msi
$Env:JP_WIXWIZARD_RESOURCES = "$buildDir\resources"
& "$Env:JAVA_HOME\bin\jpackage" `
--verbose `
--type msi `
--win-upgrade-uuid bda45523-42b1-4cae-9354-a45475ed4775 `
--app-image Cryptomator `
--dest installer `
--name Cryptomator `
--vendor $vendor `
--copyright $copyright `
--app-version "$semVerNo" `
--win-menu `
--win-dir-chooser `
--win-shortcut-prompt `
--win-update-url $updateUrl `
--win-menu-group Cryptomator `
--resource-dir resources `
--about-url $aboutUrl `
--license-file resources/license.rtf `
--file-associations resources/FAvaultFile.properties
#Create RTF license for bundle
&mvn -B -f $buildDir/../../pom.xml license:add-third-party `
"-Dlicense.thirdPartyFilename=license.rtf" `
"-Dlicense.fileTemplate=$buildDir\bundle\resources\licenseTemplate.ftl" `
"-Dlicense.outputDirectory=$buildDir\bundle\resources\"
# download Winfsp
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$ProgressPreference = 'SilentlyContinue' # disables Invoke-WebRequest's progress bar, which slows down downloads to a few bytes/s
$winfspMsiUrl = "https://github.com/winfsp/winfsp/releases/download/v1.10/winfsp-1.10.22006.msi"
Write-Output "Downloading ${winfspMsiUrl}..."
Invoke-WebRequest $winfspMsiUrl -OutFile ".\bundle\resources\winfsp.msi" # redirects are followed by default
# copy MSI to bundle resources
Copy-Item ".\installer\Cryptomator-*.msi" -Destination ".\bundle\resources\Cryptomator.msi"
# create bundle including winfsp
& "$env:WIX\bin\candle.exe" .\bundle\bundleWithWinfsp.wxs -ext WixBalExtension -out bundle\ `
-dBundleVersion="$semVerNo.$revisionNo" `
-dBundleVendor="$vendor" `
-dBundleCopyright="$copyright" `
-dAboutUrl="$aboutUrl" `
-dHelpUrl="$helpUrl" `
-dUpdateUrl="$updateUrl"
& "$env:WIX\bin\light.exe" -b . .\bundle\BundlewithWinfsp.wixobj -ext WixBalExtension -out installer\CryptomatorBundle.exe

43
dist/win/bundle/bundleWithWinfsp.wxs vendored Normal file
View File

@@ -0,0 +1,43 @@
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<!-- see https://wixtoolset.org/documentation/manual/v3/xsd/wix/bundle.html-->
<!-- Attributes explicitly not used:
Condition - the single msi files have their own install conditions, no need to copy them here
-->
<Bundle Name="Cryptomator" UpgradeCode="29eea626-2e5b-4449-b5f8-4602925ddf7b" Version="$(var.BundleVersion)" Manufacturer="$(var.BundleVendor)"
AboutUrl="$(var.AboutUrl)" HelpUrl="$(var.HelpUrl)" UpdateUrl="$(var.UpdateUrl)" Copyright="$(var.BundleCopyright)" IconSourceFile="bundle\resources\Cryptomator.ico">
<!-- for definition of the standard themes, see https://github.com/wixtoolset/wix3/blob/master/src/ext/BalExtension/wixstdba/Resources/-->
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLargeLicense">
<!-- see https://wixtoolset.org/documentation/manual/v3/xsd/bal/wixstandardbootstrapperapplication.html -->
<!-- Possible Attributes: LaunchTarget -->
<bal:WixStandardBootstrapperApplication
LicenseFile="bundle\resources\license.rtf"
ShowVersion="yes"
SuppressOptionsUI="yes"
ThemeFile="bundle\customBootstrapperTheme.xml"
LocalizationFile="bundle\customBootstrapperTheme.wxl"
LogoFile="bundle\resources\logo.png"
/>
<Payload SourceFile="bundle\resources\logoSide.png" />
</BootstrapperApplicationRef>
<Chain>
<!-- see https://wixtoolset.org/documentation/manual/v3/xsd/wix/msipackage.html-->
<MsiPackage
SourceFile="resources\Cryptomator.msi"
CacheId="cryptomator-bundle-cryptomator"
DisplayInternalUI="no"
Visible="no"
/>
<MsiPackage
SourceFile="resources\winfsp.msi"
CacheId="cryptomator-bundle-winfsp"
Visible="yes"
DisplayInternalUI="no"
Vital="no"
Permanent="yes"
/>
</Chain>
</Bundle>
</Wix>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<WixLocalization Culture="en-us" Language="1033" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="Caption">[WixBundleName] Setup</String>
<String Id="Title">[WixBundleName]</String>
<String Id="InstallHeader">Welcome</String>
<String Id="InstallMessage">This Setup will install [WixBundleName] and additional dependencies on your computer.</String>
<String Id="InstallVersion">Version [WixBundleVersion]</String>
<String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
<String Id="ExecuteUpgradeRelatedBundleMessage">Previous version</String>
<String Id="HelpHeader">Setup Help</String>
<String Id="HelpText">/install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or
creates a complete local copy of the bundle in directory. Install is the default.
/passive | /quiet - displays minimal UI with no prompts or displays no UI and
no prompts. By default UI and all prompts are displayed.
/norestart - suppress any attempts to restart. By default UI will prompt before restart.
/log log.txt - logs to a specific file. By default a log file is created in %TEMP%.</String>
<String Id="HelpCloseButton">&amp;Close</String>
<String Id="InstallLicenseLinkText">[WixBundleName] &lt;a href="#"&gt;license terms&lt;/a&gt;.</String>
<String Id="InstallAcceptCheckbox">I &amp;agree to the license terms and conditions</String>
<String Id="InstallOptionsButton">&amp;Options</String>
<String Id="InstallInstallButton">&amp;Install</String>
<String Id="InstallCloseButton">&amp;Close</String>
<String Id="OptionsHeader">Setup Options</String>
<String Id="OptionsLocationLabel">Install location:</String>
<String Id="OptionsBrowseButton">&amp;Browse</String>
<String Id="OptionsOkButton">&amp;OK</String>
<String Id="OptionsCancelButton">&amp;Cancel</String>
<String Id="ProgressHeader">Setup Progress</String>
<String Id="ProgressLabel">Processing:</String>
<String Id="OverallProgressPackageText">Initializing...</String>
<String Id="ProgressCancelButton">&amp;Cancel</String>
<String Id="ModifyHeader">Modify Setup</String>
<String Id="ModifyRepairButton">&amp;Repair</String>
<String Id="ModifyUninstallButton">&amp;Uninstall</String>
<String Id="ModifyCloseButton">&amp;Close</String>
<String Id="SuccessRepairHeader">Repair Successfully Completed</String>
<String Id="SuccessUninstallHeader">Uninstall Successfully Completed</String>
<String Id="SuccessInstallHeader">Installation Successfully Completed</String>
<String Id="SuccessHeader">Setup Successful</String>
<String Id="SuccessLaunchButton">&amp;Launch</String>
<String Id="SuccessRestartText">You must restart your computer before you can use the software.</String>
<String Id="SuccessRestartButton">&amp;Restart</String>
<String Id="SuccessCloseButton">&amp;Close</String>
<String Id="FailureHeader">Setup Failed</String>
<String Id="FailureInstallHeader">Setup Failed</String>
<String Id="FailureUninstallHeader">Uninstall Failed</String>
<String Id="FailureRepairHeader">Repair Failed</String>
<String Id="FailureHyperlinkLogText">One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the &lt;a href="#"&gt;log file&lt;/a&gt;.</String>
<String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
<String Id="FailureRestartButton">&amp;Restart</String>
<String Id="FailureCloseButton">&amp;Close</String>
<String Id="FilesInUseHeader">Files In Use</String>
<String Id="FilesInUseLabel">The following applications are using files that need to be updated:</String>
<String Id="FilesInUseCloseRadioButton">Close the &amp;applications and attempt to restart them.</String>
<String Id="FilesInUseDontCloseRadioButton">&amp;Do not close applications. A reboot will be required.</String>
<String Id="FilesInUseOkButton">&amp;OK</String>
<String Id="FilesInUseCancelButton">&amp;Cancel</String>
<String Id="ErrorFailNoActionReboot">No action was taken as a system reboot is required.</String>
</WixLocalization>

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<!-- adjusted theme based on https://github.com/wixtoolset/wix3/blob/master/src/ext/BalExtension/wixstdba/Resources/HyperlinkSidebarTheme.xml -->
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
<Window Width="600" Height="450" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
<Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
<Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
<Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
<Image X="11" Y="11" Width="64" Height="64" ImageFile="logo.png" />
<Text X="80" Y="11" Width="-11" Height="64" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
<Page Name="Help">
<Image X="11" Y="11" Width="64" Height="64" ImageFile="logo.png" />
<Text X="80" Y="11" Width="-11" Height="64" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>
<Text X="11" Y="112" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Text>
<Button Name="HelpCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
</Page>
<Page Name="Install">
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
<Image X="11" Y="11" Width="165" Height="400" ImageFile="logoside.png"/>
<Text X="185" Y="50" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.InstallHeader)</Text>
<Text X="185" Y="91" Width="-11" Height="64" FontId="3" DisablePrefix="yes">#(loc.InstallMessage)</Text>
<Richedit Name="EulaRichedit" X="185" Y="131" Width="-12" Height="-65" HexStyle="0x00800000" TabStop="yes" FontId="0" />
<Checkbox Name="EulaAcceptCheckbox" X="185" Y="-46" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
<Text Name="InstallVersion" X="185" Y="-11" Width="-11" Height="17" FontId="3" DisablePrefix="yes" HideWhenDisabled="yes">#(loc.InstallVersion)</Text>
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
</Page>
<Page Name="FilesInUse">
<Image X="11" Y="11" Width="64" Height="64" ImageFile="logo.png" />
<Text X="80" Y="11" Width="-11" Height="64" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.FilesInUseHeader)</Text>
<Text X="11" Y="121" Width="-11" Height="34" FontId="3" DisablePrefix="yes">#(loc.FilesInUseLabel)</Text>
<Text Name="FilesInUseText" X="11" Y="150" Width="-11" Height="-86" FontId="3" DisablePrefix="yes" HexStyle="0x0000000C">A</Text>
<Button Name="FilesInUseCloseRadioButton" X="11" Y="-60" Width="-11" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes" HexStyle="0x000009">#(loc.FilesInUseCloseRadioButton)</Button>
<Button Name="FilesInUseDontCloseRadioButton" X="11" Y="-40" Width="-11" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes" HexStyle="0x000009">#(loc.FilesInUseDontCloseRadioButton)</Button>
<Button Name="FilesInUseOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FilesInUseOkButton)</Button>
<Button Name="FilesInUseCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FilesInUseCancelButton)</Button>
</Page>
<Page Name="Progress">
<Text X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
<Image X="11" Y="11" Width="64" Height="64" ImageFile="logo.png"/>
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
<Text X="11" Y="141" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
<Text Name="OverallProgressPackageText" X="85" Y="141" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="163" Width="-11" Height="20" />
<Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
</Page>
<Page Name="Modify">
<Image X="11" Y="11" Width="64" Height="64" ImageFile="logo.png" />
<Text X="80" Y="11" Width="-11" Height="64" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
<Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Text>
<Button Name="RepairButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
<Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
<Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
</Page>
<Page Name="Success">
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
<Image X="11" Y="11" Width="165" Height="400" ImageFile="logoside.png"/>
<Text Name="SuccessHeader" X="185" Y="50" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
<Text Name="SuccessInstallHeader" X="185" Y="50" Width="-11" Height="100" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessInstallHeader)</Text>
<Text Name="SuccessRepairHeader" X="185" Y="50" Width="-11" Height="100" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRepairHeader)</Text>
<Text Name="SuccessUninstallHeader" X="185" Y="50" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessUninstallHeader)</Text>
<Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
<Text Name="SuccessRestartText" X="185" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
<Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
<Button Name="SuccessCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
</Page>
<Page Name="Failure">
<Text X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
<Image X="11" Y="11" Width="165" Height="400" ImageFile="logoside.png"/>
<Text Name="FailureHeader" X="185" Y="50" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureHeader)</Text>
<Text Name="FailureInstallHeader" X="185" Y="50" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureInstallHeader)</Text>
<Text Name="FailureUninstallHeader" X="185" Y="50" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureUninstallHeader)</Text>
<Text Name="FailureRepairHeader" X="185" Y="50" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRepairHeader)</Text>
<Hypertext Name="FailureLogFileLink" X="185" Y="121" Width="-11" Height="68" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
<Hypertext Name="FailureMessageText" X="185" Y="-115" Width="-11" Height="80" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
<Text Name="FailureRestartText" X="185" Y="-57" Width="-11" Height="80" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
</Page>
</Theme>

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

View File

@@ -0,0 +1,41 @@
<#function artifactFormat p>
<#if p.name?index_of('Unnamed') &gt; -1>
<#return p.artifactId + " (" + p.groupId + ":" + p.artifactId + ":" + p.version + " - {{\\field{\\*\\fldinst{HYPERLINK " + (p.url!"no url defined") + "}}{\\fldrslt{" + (p.url!"no url defined") + "\\ul0\\cf0}}}}\\f0\\fs16 ) ">
<#else>
<#return p.name + " (" + p.groupId + ":" + p.artifactId + ":" + p.version + " - {{\\field{\\*\\fldinst{HYPERLINK " + (p.url!"no url defined") + "}}{\\fldrslt{" + (p.url!"no url defined") + "\\ul0\\cf0}}}}\\f0\\fs16 ) ">
</#if>
</#function>
{\rtf1\ansi\ansicpg1252\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue255;}
\viewkind4\uc1
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\b\fs16\lang7 Cryptomator is distributed under the GPLv3 License, found below. Please see the bottom of this document for any other license applicable to code used within Cryptomator.\b0\par
\par
\b\'a9 2016 \endash 2022 Skymatic GmbH\b0\par
\par
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\par
\par
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\par
\par
You should have received a copy of the GNU General Public License along with this program. If not, see {{\field{\*\fldinst{HYPERLINK http://www.gnu.org/licenses/ }}{\fldrslt{http://www.gnu.org/licenses/\ul0\cf0}}}}\f0\fs16 .\par
\par
\b Cryptomator uses ${dependencyMap?size} third-party dependencies under the following licenses:\b0\par
<#list licenseMap as e>
<#assign license = e.getKey()/>
<#assign projects = e.getValue()/>
<#if projects?size &gt; 0>
\tab ${license}:\par
<#list projects as project>
\tab\tab- ${artifactFormat(project)}\par
</#list>
</#if>
</#list>
\par
\b Cryptomator uses other third-party assets under the following licenses:\b0\par
\tab SIL OFL 1.1 License:\par
\tab\tab - Font Awesome 5.12.0 ({{\field{\*\fldinst{HYPERLINK https://fontawesome.com/ }}{\fldrslt{https://fontawesome.com/\ul0\cf0}}}}\f0\fs16 )\b\par
\par
\b Cryptomator dynamically links to third-party libraries under the following license:\b0\par
\tab Uncategorized License:\par
\tab\tab - WinFsp - Windows File System Proxy, Copyright (C) Bill Zissimopoulos ({{\field{\*\fldinst{HYPERLINK https://github.com/billziss-gh/winfsp }}{\fldrslt{https://github.com/billziss-gh/winfsp\ul0\cf0}}}}\f0\fs16 )\b\par
}

BIN
dist/win/bundle/resources/logo.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
dist/win/bundle/resources/logoSide.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

12
dist/win/contrib/cryptomator.bat vendored Normal file
View File

@@ -0,0 +1,12 @@
@echo off
java ^
-p "app/mods" ^
-cp "app/*" ^
-Dcryptomator.settingsPath="~/AppData/Roaming/Cryptomator/settings.json" ^
-Dcryptomator.ipcSocketPath="~/AppData/Roaming/Cryptomator/ipc.socket" ^
-Dcryptomator.logDir="~/AppData/Roaming/Cryptomator" ^
-Dcryptomator.mountPointsDir="~/Cryptomator" ^
-Dcryptomator.keychainPath="~/AppData/Roaming/Cryptomator/keychain.json" ^
-Xss20m ^
-Xmx512m ^
-m org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator

BIN
dist/win/contrib/dokan1.dll vendored Executable file

Binary file not shown.

BIN
dist/win/contrib/jnidispatch.dll vendored Normal file

Binary file not shown.

3
dist/win/contrib/patchWebDAV.bat vendored Normal file
View File

@@ -0,0 +1,3 @@
@echo off
cd %~dp0
powershell -NoLogo -NonInteractive -ExecutionPolicy Unrestricted -Command .\patchWebDAV.ps1

61
dist/win/contrib/patchWebDAV.ps1 vendored Normal file
View File

@@ -0,0 +1,61 @@
#Requires -RunAsAdministrator
# Adds for address 127.0.0.1 the 'cryptomator-vault' alias to the hosts file
function Add-AliasToHost {
$sysdir = [Environment]::SystemDirectory
$hostsFile = "$sysdir\drivers\etc\hosts"
$aliasLine = '127.0.0.1 cryptomator-vault'
foreach ($line in Get-Content $hostsFile) {
if ($line -eq $aliasLine){
return
}
}
Add-Content -Path $hostsFile -Encoding ascii -Value "`r`n$aliasLine"
}
# Sets in the registry the webclient file size limit to the maximum value
function Set-WebDAVFileSizeLimit {
# Set variables to indicate value and key to set
$RegistryPath = 'HKLM:\SYSTEM\CurrentControlSet\Services\WebClient\Parameters'
$Name = 'FileSizeLimitInBytes'
$Value = '0xffffffff'
# Create the key if it does not exist
If (-NOT (Test-Path $RegistryPath)) {
New-Item -Path $RegistryPath -Force | Out-Null
}
# Now set the value
New-ItemProperty -Path $RegistryPath -Name $Name -Value $Value -PropertyType DWORD -Force | Out-Null
}
# Changes the network provider order such that the builtin Windows webclient is always first
function Edit-ProviderOrder {
$RegistryPath = 'HKLM:\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder'
$Name = 'ProviderOrder'
$WebClientString = 'webclient'
$CurrentOrder = (Get-ItemProperty $RegistryPath $Name).$Name
$OrderWithoutWebclientArray = $CurrentOrder -split ',' | Where-Object {$_ -ne $WebClientString}
$WebClientArray = @($WebClientString)
$UpdatedOrder = ($WebClientArray + $OrderWithoutWebclientArray) -join ","
New-ItemProperty -Path $RegistryPath -Name $Name -Value $UpdatedOrder -PropertyType String -Force | Out-Null
}
Add-AliasToHost
Write-Output 'Ensured alias exists in hosts file'
Set-WebDAVFileSizeLimit
Write-Output 'Set WebDAV file size limit'
Edit-ProviderOrder
Write-Output 'Ensured correct provider order'
exit 0

View File

@@ -1,10 +1,12 @@
@echo off
java ^
-p "mods" ^
-cp "libs/*" ^
-Dcryptomator.settingsPath="~/AppData/Roaming/Cryptomator/settings.json" ^
-Dcryptomator.ipcPortPath="~/AppData/Roaming/Cryptomator/ipcPort.bin" ^
-Dcryptomator.ipcSocketPath="~/AppData/Roaming/Cryptomator/ipc.socket" ^
-Dcryptomator.logDir="~/AppData/Roaming/Cryptomator" ^
-Dcryptomator.mountPointsDir="~/Cryptomator" ^
-Dcryptomator.keychainPath="~/AppData/Roaming/Cryptomator/keychain.json" ^
-Xss20m ^
-Xmx512m ^
org.cryptomator.launcher.Cryptomator
-m org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator

BIN
dist/win/resources/Cryptomator-Vault.ico vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

BIN
dist/win/resources/Cryptomator.ico vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

View File

@@ -0,0 +1,4 @@
mime-type=application/vnd.cryptomator.vault
extension=cryptomator
description=Cryptomator Vault File
icon=resources/Cryptomator-Vault.ico

BIN
dist/win/resources/background.bmp vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 KiB

BIN
dist/win/resources/banner.bmp vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

89
dist/win/resources/customWizard.wxi vendored Normal file
View File

@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<Fragment>
<!-- copy pasta from https://github.com/wixtoolset/wix3/blob/develop/src/ext/UIExtension/wixlib/WixUI_InstallDir.wxs with custom exit dialog-->
<UI Id="CustomWizard">
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
<TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<Property Id="WixUI_Mode" Value="InstallDir" />
<DialogRef Id="BrowseDlg" />
<DialogRef Id="DiskCostDlg" />
<DialogRef Id="ErrorDlg" />
<DialogRef Id="FatalError" />
<DialogRef Id="FilesInUse" />
<DialogRef Id="MsiRMFilesInUse" />
<DialogRef Id="PrepareDlg" />
<DialogRef Id="ProgressDlg" />
<DialogRef Id="ResumeDlg" />
<DialogRef Id="UserExit" />
<Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="3">1</Publish>
<Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="4"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
<!-- custom end dialog -->
<Publish Dialog="MyExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed</Publish>
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>
<Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">LicenseAccepted = "1"</Publish>
<Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
<Publish Dialog="InstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="InstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath" Order="2">NOT WIXUI_DONTVALIDATEPATH</Publish>
<Publish Dialog="InstallDirDlg" Control="Next" Event="SpawnDialog" Value="InvalidDirDlg" Order="3"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
<Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="4">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"</Publish>
<Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
<Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg" Order="1">NOT Installed</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT PATCH</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2">Installed AND PATCH</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
<Property Id="ARPNOMODIFY" Value="1" />
<!-- copy pasta from https://github.com/wixtoolset/wix3/blob/develop/src/ext/UIExtension/wixlib/ExitDialog.wxs with adjustments-->
<Dialog Id="MyExitDialog" Width="370" Height="270" Title="!(loc.ExitDialog_Title)">
<Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" />
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" />
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" />
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogDescription)" />
<Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogTitle)" />
<!-- TODO: localize? -->
<Control Id="Suggestion" Type="Text" X="135" Y="100" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
<Text>We recommend for the best user experience to download and install one of the following third party Windows drivers:</Text>
</Control>
<Control Id="WinFsp" Type="Hyperlink" X="140" Y="125" Width="220" Height="60" Transparent="yes">
<Text><![CDATA[• WinFsp (<a href="http://www.secfs.net/winfsp/rel/">Homepage</a>)]]></Text>
</Control>
<Control Id="Dokany" Type="Hyperlink" X="140" Y="137" Width="220" Height="60" Transparent="yes">
<Text><![CDATA[• Dokany (<a href="https://dokan-dev.github.io/">Homepage</a>)]]></Text>
</Control>
</Dialog>
<InstallUISequence>
<Show Dialog="MyExitDialog" Overridable="yes" OnExit="success"/>
</InstallUISequence>
<AdminUISequence>
<Show Dialog="MyExitDialog" Overridable="yes" OnExit="success"/>
</AdminUISequence>
</UI>
<UIRef Id="WixUI_Common" />
</Fragment>
</Include>

37
dist/win/resources/licenseTemplate.ftl vendored Normal file
View File

@@ -0,0 +1,37 @@
<#function artifactFormat p>
<#if p.name?index_of('Unnamed') &gt; -1>
<#return p.artifactId + " (" + p.groupId + ":" + p.artifactId + ":" + p.version + " - {{\\field{\\*\\fldinst{HYPERLINK " + (p.url!"no url defined") + "}}{\\fldrslt{" + (p.url!"no url defined") + "\\ul0\\cf0}}}}\\f0\\fs16 ) ">
<#else>
<#return p.name + " (" + p.groupId + ":" + p.artifactId + ":" + p.version + " - {{\\field{\\*\\fldinst{HYPERLINK " + (p.url!"no url defined") + "}}{\\fldrslt{" + (p.url!"no url defined") + "\\ul0\\cf0}}}}\\f0\\fs16 ) ">
</#if>
</#function>
{\rtf1\ansi\ansicpg1252\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue255;}
\viewkind4\uc1
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\b\fs16\lang7 Cryptomator is distributed under the GPLv3 License, found below. Please see the bottom of this document for any other license applicable to code used within Cryptomator.\b0\par
\par
\b\'a9 2016 \endash 2022 Skymatic GmbH\b0\par
\par
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\par
\par
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\par
\par
You should have received a copy of the GNU General Public License along with this program. If not, see {{\field{\*\fldinst{HYPERLINK http://www.gnu.org/licenses/ }}{\fldrslt{http://www.gnu.org/licenses/\ul0\cf0}}}}\f0\fs16 .\par
\par
\b Cryptomator uses ${dependencyMap?size} third-party dependencies under the following licenses:\b0\par
<#list licenseMap as e>
<#assign license = e.getKey()/>
<#assign projects = e.getValue()/>
<#if projects?size &gt; 0>
\tab ${license}:\par
<#list projects as project>
\tab\tab- ${artifactFormat(project)}\par
</#list>
</#if>
</#list>
\par
\b Cryptomator uses other third-party assets under the following licenses:\b0\par
\tab SIL OFL 1.1 License:\par
\tab\tab - Font Awesome 5.12.0 ({{\field{\*\fldinst{HYPERLINK https://fontawesome.com/ }}{\fldrslt{https://fontawesome.com/\ul0\cf0}}}}\f0\fs16 )\b\par
}

167
dist/win/resources/main.wxs vendored Normal file
View File

@@ -0,0 +1,167 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<?ifdef JpIsSystemWide ?>
<?define JpInstallScope="perMachine"?>
<?else?>
<?define JpInstallScope="perUser"?>
<?endif?>
<?define JpProductLanguage=1033 ?>
<?define JpInstallerVersion=200 ?>
<?define JpCompressedMsi=yes ?>
<?ifdef JpAllowUpgrades ?>
<?define JpUpgradeVersionOnlyDetectUpgrade="no"?>
<?else?>
<?define JpUpgradeVersionOnlyDetectUpgrade="yes"?>
<?endif?>
<?ifdef JpAllowDowngrades ?>
<?define JpUpgradeVersionOnlyDetectDowngrade="no"?>
<?else?>
<?define JpUpgradeVersionOnlyDetectDowngrade="yes"?>
<?endif?>
<?include $(var.JpConfigDir)/overrides.wxi ?>
<Product
Id="$(var.JpProductCode)"
Name="$(var.JpAppName)"
Language="$(var.JpProductLanguage)"
Version="$(var.JpAppVersion)"
Manufacturer="$(var.JpAppVendor)"
UpgradeCode="$(var.JpProductUpgradeCode)">
<Package
Description="$(var.JpAppDescription)"
Manufacturer="$(var.JpAppVendor)"
InstallerVersion="$(var.JpInstallerVersion)"
Compressed="$(var.JpCompressedMsi)"
InstallScope="$(var.JpInstallScope)" Platform="x64"
/>
<Media Id="1" Cabinet="Data.cab" EmbedCab="yes" />
<Upgrade Id="$(var.JpProductUpgradeCode)">
<UpgradeVersion
OnlyDetect="$(var.JpUpgradeVersionOnlyDetectUpgrade)"
Property="JP_UPGRADABLE_FOUND"
Maximum="$(var.JpAppVersion)"
MigrateFeatures="yes"
IncludeMaximum="$(var.JpUpgradeVersionOnlyDetectUpgrade)" />
<UpgradeVersion
OnlyDetect="$(var.JpUpgradeVersionOnlyDetectDowngrade)"
Property="JP_DOWNGRADABLE_FOUND"
Minimum="$(var.JpAppVersion)"
MigrateFeatures="yes"
IncludeMinimum="$(var.JpUpgradeVersionOnlyDetectDowngrade)" />
</Upgrade>
<?ifndef JpAllowUpgrades ?>
<CustomAction Id="JpDisallowUpgrade" Error="!(loc.DisallowUpgradeErrorMessage)" />
<?endif?>
<?ifndef JpAllowDowngrades ?>
<CustomAction Id="JpDisallowDowngrade" Error="!(loc.DowngradeErrorMessage)" />
<?endif?>
<!-- Looking for legacy Cryptomator versions-->
<Property Id="OLDEXEINSTALLER">
<RegistrySearch Id="InnoSetupInstallation" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Cryptomator_is1" Type="raw" Name="DisplayName" />
</Property>
<!-- Block installation if innosetup entry of Cryptomator is found -->
<!-- TODO: localize -->
<Condition Message="A lower version of [ProductName] is already installed. Uninstall it first and then start the setup again. Setup will now exit.">
<![CDATA[Installed OR NOT OLDEXEINSTALLER]]>
</Condition>
<!-- Cryptomator uses UNIX Sockets, which are supported starting with Windows 10 v1803-->
<Property Id="WINDOWSBUILDNUMBER" Secure="yes">
<RegistrySearch Id="BuildNumberSearch" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion" Name="CurrentBuildNumber" Type="raw" />
</Property>
<Condition Message="This application requires Windows 10 version 1803 (build 17134) or newer.">
<![CDATA[Installed OR (WINDOWSBUILDNUMBER >= 17134)]]>
</Condition>
<!-- Non-Opening ProgID -->
<DirectoryRef Id="INSTALLDIR">
<Component Win64="yes" Id="nonStartingProgID" >
<File Id="IconFileForEncryptedData" KeyPath="yes" Source="$(env.JP_WIXWIZARD_RESOURCES)\Cryptomator-Vault.ico" Name="Cryptomator-Vault.ico"></File>
<ProgId Id="Cryptomator.Encrypted.1" Description="Cryptomator Encrypted Data" Icon="IconFileForEncryptedData" IconIndex="0">
<Extension Id="c9r" Advertise="no" ContentType="application/vnd.cryptomator.encrypted">
<MIME ContentType="application/vnd.cryptomator.encrypted" Default="yes"></MIME>
</Extension>
<Extension Id="c9s" Advertise="no" ContentType="application/vnd.cryptomator.encrypted"/>
</ProgId>
</Component>
</DirectoryRef>
<!-- Standard required root -->
<Directory Id="TARGETDIR" Name="SourceDir"/>
<Feature Id="DefaultFeature" Title="!(loc.MainFeatureTitle)" Level="1">
<ComponentGroupRef Id="Shortcuts"/>
<ComponentGroupRef Id="Files"/>
<ComponentGroupRef Id="FileAssociations"/>
<!-- Ref to additional ProgIDs -->
<ComponentRef Id="nonStartingProgID" />
</Feature>
<CustomAction Id="JpSetARPINSTALLLOCATION" Property="ARPINSTALLLOCATION" Value="[INSTALLDIR]" />
<CustomAction Id="JpSetARPCOMMENTS" Property="ARPCOMMENTS" Value="$(var.JpAppDescription)" />
<CustomAction Id="JpSetARPCONTACT" Property="ARPCONTACT" Value="$(var.JpAppVendor)" />
<CustomAction Id="JpSetARPSIZE" Property="ARPSIZE" Value="$(var.JpAppSizeKb)" />
<?ifdef JpHelpURL ?>
<CustomAction Id="JpSetARPHELPLINK" Property="ARPHELPLINK" Value="$(var.JpHelpURL)" />
<?endif?>
<?ifdef JpAboutURL ?>
<CustomAction Id="JpSetARPURLINFOABOUT" Property="ARPURLINFOABOUT" Value="$(var.JpAboutURL)" />
<?endif?>
<?ifdef JpUpdateURL ?>
<CustomAction Id="JpSetARPURLUPDATEINFO" Property="ARPURLUPDATEINFO" Value="$(var.JpUpdateURL)" />
<?endif?>
<!-- WebDAV patches -->
<CustomAction Id="PatchWebDAV" Impersonate="no" ExeCommand="[INSTALLDIR]patchWebDAV.bat" Directory="INSTALLDIR" Execute="deferred" Return="asyncWait" />
<?ifdef JpIcon ?>
<Property Id="ARPPRODUCTICON" Value="JpARPPRODUCTICON"/>
<Icon Id="JpARPPRODUCTICON" SourceFile="$(var.JpIcon)"/>
<?endif?>
<UIRef Id="JpUI"/>
<InstallExecuteSequence>
<Custom Action="JpSetARPINSTALLLOCATION" After="CostFinalize">Not Installed</Custom>
<Custom Action="JpSetARPCOMMENTS" After="CostFinalize">Not Installed</Custom>
<Custom Action="JpSetARPCONTACT" After="CostFinalize">Not Installed</Custom>
<Custom Action="JpSetARPSIZE" After="CostFinalize">Not Installed</Custom>
<?ifdef JpHelpURL ?>
<Custom Action="JpSetARPHELPLINK" After="CostFinalize">Not Installed</Custom>
<?endif?>
<?ifdef JpAboutURL ?>
<Custom Action="JpSetARPURLINFOABOUT" After="CostFinalize">Not Installed</Custom>
<?endif?>
<?ifdef JpUpdateURL ?>
<Custom Action="JpSetARPURLUPDATEINFO" After="CostFinalize">Not Installed</Custom>
<?endif?>
<?ifndef JpAllowUpgrades ?>
<Custom Action="JpDisallowUpgrade" After="FindRelatedProducts">JP_UPGRADABLE_FOUND</Custom>
<?endif?>
<?ifndef JpAllowDowngrades ?>
<Custom Action="JpDisallowDowngrade" After="FindRelatedProducts">JP_DOWNGRADABLE_FOUND</Custom>
<?endif?>
<RemoveExistingProducts Before="CostInitialize"/>
<Custom Action="PatchWebDAV" After="InstallFiles">NOT Installed OR REINSTALL</Custom>
</InstallExecuteSequence>
<WixVariable Id="WixUIBannerBmp" Value="$(env.JP_WIXWIZARD_RESOURCES)\banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="$(env.JP_WIXWIZARD_RESOURCES)\background.bmp" />
</Product>
</Wix>

16
dist/win/resources/ui.wxf vendored Normal file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Fragment>
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"></Property>
<WixVariable Id="WixUILicenseRtf" Value="$(var.JpLicenseRtf)"></WixVariable>
<UI Id="JpUI">
<UIRef Id="CustomWizard" />
<DialogRef Id="InstallDirNotEmptyDlg"></DialogRef>
<Publish Dialog="ShortcutPromptDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg">1</Publish>
<Publish Dialog="ShortcutPromptDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="ShortcutPromptDlg" Order="6">NOT Installed</Publish>
<UIRef Id="CustomWizard" />
</UI>
</Fragment>
<?include $(env.JP_WIXWIZARD_RESOURCES)\customWizard.wxi ?>
</Wix>

View File

@@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>tarball</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>target/</directory>
<includes>
<include>version.txt</include>
</includes>
<outputDirectory>libs</outputDirectory>
</fileSet>
<fileSet>
<directory>target/</directory>
<includes>
<include>ffi-version.txt</include>
</includes>
<outputDirectory>libs</outputDirectory>
</fileSet>
<fileSet>
<directory>target/</directory>
<includes>
<include>LICENSE.txt</include>
</includes>
<outputDirectory></outputDirectory>
</fileSet>
<fileSet>
<directory>target/</directory>
<includes>
<include>launcher-linux.sh</include>
</includes>
<outputDirectory></outputDirectory>
<fileMode>0755</fileMode>
</fileSet>
<fileSet>
<directory>target/libs</directory>
<includes>
<include>*.jar</include>
</includes>
<outputDirectory>libs</outputDirectory>
</fileSet>
<fileSet>
<directory>target/linux-libs</directory>
<includes>
<include>*.jar</include>
</includes>
<outputDirectory>libs</outputDirectory>
</fileSet>
</fileSets>
</assembly>

View File

@@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>tarball</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>target/</directory>
<includes>
<include>version.txt</include>
</includes>
<outputDirectory>libs</outputDirectory>
</fileSet>
<fileSet>
<directory>target/</directory>
<includes>
<include>ffi-version.txt</include>
</includes>
<outputDirectory>libs</outputDirectory>
</fileSet>
<fileSet>
<directory>target/</directory>
<includes>
<include>LICENSE.txt</include>
</includes>
<outputDirectory></outputDirectory>
</fileSet>
<fileSet>
<directory>target/</directory>
<includes>
<include>launcher-mac.sh</include>
</includes>
<outputDirectory></outputDirectory>
<fileMode>0755</fileMode>
</fileSet>
<fileSet>
<directory>target/libs</directory>
<includes>
<include>*.jar</include>
</includes>
<outputDirectory>libs</outputDirectory>
</fileSet>
<fileSet>
<directory>target/mac-libs</directory>
<includes>
<include>*.jar</include>
</includes>
<outputDirectory>libs</outputDirectory>
</fileSet>
</fileSets>
</assembly>

Some files were not shown because too many files have changed in this diff Show More