From 55dc02b495989123dffa084382aef39fe7c545f1 Mon Sep 17 00:00:00 2001 From: Julian Raufelder Date: Mon, 16 Dec 2024 12:44:24 +0100 Subject: [PATCH 1/7] Add GitHub issue template, CoD etc --- .github/CODE_OF_CONDUCT.md | 76 ++++++++++++++++++++++ .github/CONTRIBUTING.md | 27 ++++++++ .github/FUNDING.yml | 8 +++ .github/ISSUE_TEMPLATE/bug.yml | 100 +++++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 8 +++ .github/ISSUE_TEMPLATE/feature.yml | 37 +++++++++++ .github/SECURITY.md | 26 ++++++++ .github/SUPPORT.md | 18 ++++++ 8 files changed, 300 insertions(+) create mode 100644 .github/CODE_OF_CONDUCT.md create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/bug.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature.yml create mode 100644 .github/SECURITY.md create mode 100644 .github/SUPPORT.md diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..83ec966 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* 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 +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when +an individual is representing the project or its community in public spaces. +Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at support@cryptomator.org. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..2f7b877 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,27 @@ +# Contributing to Cryptomator CLI + +## Did you find a bug? + +- Ensure you're running the latest version of Cryptomator CLI. +- Ensure the bug is related to the CLI version of Cryptomator. Bugs concerning the Cryptomator desktop, iOS and Android app can be reported on the [Cryptomator issues list](https://github.com/cryptomator/cryptomator/issues), [Cryptomator for iOS issues list](https://github.com/cryptomator/ios/issues) and [Cryptomator for Android issues list](https://github.com/cryptomator/android/issues) respectively. +- Ensure the bug was not [already reported](https://github.com/cryptomator/cli/issues). You can also check out our [FAQ](https://community.cryptomator.org/c/kb/faq). +- If you're unable to find an open issue addressing the problem, [submit a new one](https://github.com/cryptomator/cli/issues/new/choose). + +## Did you write a patch that fixes a bug? + +- Open a new pull request with the patch. +- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +## Do you intend to add a new feature or change an existing one? + +- Suggest your change by [submitting a new issue](https://github.com/cryptomator/cli/issues/new/choose) and start writing code. + +## Code of Conduct + +Help us keep Cryptomator open and inclusive. Please read and follow our [Code of Conduct](https://github.com/cryptomator/cli/blob/develop/.github/CODE_OF_CONDUCT.md). + +## Above all, thank you for your contributions + +Thank you for taking the time to contribute to the project! :+1: + +Cryptomator Team diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..e55829a --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,8 @@ +# These are supported funding model platforms + +github: [cryptomator] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +custom: https://cryptomator.org/sponsors/ diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 0000000..b6a723c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,100 @@ +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/cli/issues?q=) for duplicates + required: true + - label: I agree to follow this project's [Code of Conduct](https://github.com/cryptomator/cli/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 CLI: 1.5.16 + - OneDrive: 23.226 + - LibreOffice: 7.1.4 + value: | + - Operating System: + - Cryptomator CLI: + - … + validations: + required: true + - type: dropdown + id: volume-type + attributes: + label: Volume Type + description: What volume type is selected under Settings → Virtual Drive? + options: + - WinFsp + - WinFsp (Local Drive) + - FUSE-T + - macFUSE + - FUSE + - WebDAV (Windows Explorer) + - WebDAV (AppleScript) + - WebDAV (gio) + - WebDAV (HTTP Address) + - Dokany (1.5) + 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? diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..94f5f51 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -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 diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml new file mode 100644 index 0000000..ef58a40 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -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/cli/issues?q=) for duplicates + required: true + - label: I agree to follow this project's [Code of Conduct](https://github.com/cryptomator/cli/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? \ No newline at end of file diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 0000000..954d37c --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,26 @@ +# Security Policy + +## Reporting a Vulnerability + +We take security seriously at Cryptomator. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions. + +To report a security vulnerability, please use the [GitHub Security Advisory feature](https://github.com/cryptomator/cli/security/advisories). This feature allows you to privately discuss, fix, and publish information about security vulnerabilities. + +If you prefer to report the vulnerability via email, please send an email to security@cryptomator.org. + +PGP key fingerprint: `3647 9903 B23A E0A5 9359  9A3E 23B5 DBEF 94D4 D81D` ([public key](https://gist.github.com/cryptobot/864300b6b44ae2d2a15abedfe14bd040)) + +## Expectations + +When reporting a vulnerability, please provide us with a detailed report that includes: + +- A description of the vulnerability +- Steps to reproduce the vulnerability +- Possible impact of the vulnerability +- Any additional information that may be helpful + +We ask that you do not publicly disclose the vulnerability until we have had a chance to address it. + +## Thank You + +We appreciate your help in keeping Cryptomator secure. Thank you for your contributions to the security of our project. diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md new file mode 100644 index 0000000..f9ef846 --- /dev/null +++ b/.github/SUPPORT.md @@ -0,0 +1,18 @@ +# Support for Cryptomator + +For development-related topics, GitHub is the right place. + +For _everything else_, please visit our official [Cryptomator Community](https://community.cryptomator.org) (we are there, too :wink:). Amongst others, you will find: + +- [Knowledge Base](https://community.cryptomator.org/c/kb) + - Installation manuals + - Usage guides + - FAQ +- [Help with problems](https://community.cryptomator.org/c/help) + - Assistance with the setup + - Known issues and workarounds + - Discussions about the apps +- [Development discussions](https://community.cryptomator.org/c/development) + - General questions + - Discussions regarding our design decisions + - Our roadmap From c6c9ded9d7b4d7b5c5e4e1d2a1c61cb9b16b3986 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Jan 2025 14:30:24 +0000 Subject: [PATCH 2/7] Bump ch.qos.logback:logback-core from 1.5.12 to 1.5.13 (#80) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 91d0113..8f25c98 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ 2.7.1 2.0.7 5.0.2 - 1.5.12 + 1.5.13 2.0.16 From b3e7a914d766901cf6eadf4ecc4b90acd03da4d9 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 6 Jan 2025 15:38:23 +0100 Subject: [PATCH 3/7] fixes #81 --- src/main/java/org/cryptomator/cli/MountSetup.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cryptomator/cli/MountSetup.java b/src/main/java/org/cryptomator/cli/MountSetup.java index d636720..98535b6 100644 --- a/src/main/java/org/cryptomator/cli/MountSetup.java +++ b/src/main/java/org/cryptomator/cli/MountSetup.java @@ -110,7 +110,11 @@ private Map listSpecifiedMountOptions() { } Mount mount(FileSystem fs) throws MountFailedException { - if (!mountService.hasCapability(MOUNT_TO_SYSTEM_CHOSEN_PATH) && mountPoint.isEmpty()) { + boolean requiresMountPoint = Set.of(MOUNT_TO_EXISTING_DIR, // + MOUNT_WITHIN_EXISTING_PARENT, // + MOUNT_AS_DRIVE_LETTER) + .stream().anyMatch(mountService::hasCapability); + if( requiresMountPoint && mountPoint.isEmpty()){ throw new RuntimeException("Unsupported configuration: Mounter %s requires a mount point. Use --mountPoint /path/to/mount/point to specify it.".formatted(mountService.getClass().getName())); } From aff28346ea0651529868a12b97e7f3b3f76779b1 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 6 Jan 2025 15:42:49 +0100 Subject: [PATCH 4/7] add help command --- src/main/java/org/cryptomator/cli/CryptomatorCli.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/cryptomator/cli/CryptomatorCli.java b/src/main/java/org/cryptomator/cli/CryptomatorCli.java index 971a1e8..6e4de0f 100644 --- a/src/main/java/org/cryptomator/cli/CryptomatorCli.java +++ b/src/main/java/org/cryptomator/cli/CryptomatorCli.java @@ -12,7 +12,7 @@ mixinStandardHelpOptions = true, version = "${org.cryptomator.cli.version}", description = "Unlocks a cryptomator vault and mounts it into the system.", - subcommands = { Unlock.class, ListMounters.class}) + subcommands = { Unlock.class, ListMounters.class, CommandLine.HelpCommand.class}) public class CryptomatorCli { private static final Logger LOG = LoggerFactory.getLogger(CryptomatorCli.class); From 21648a4bfb8a40e67aaf8014b8075dd038f2a580 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 6 Jan 2025 16:51:18 +0100 Subject: [PATCH 5/7] strip parent directory from linux release --- .github/workflows/build-linux.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 267a4dd..24c4594 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -96,7 +96,8 @@ jobs: path: ./target/cryptomator-cli if-no-files-found: error - name: Zip binary for release - run: zip -r ./${{ matrix.artifact-name}} ./target/cryptomator-cli + run: zip -r ./${{ matrix.artifact-name}} ./cryptomator-cli + working-directory: target - name: Create detached GPG signature with key 615D449FE6E6A235 run: | echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import From f70a4c69b790267d1c60bdffa17d65bcbae28cec Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 6 Jan 2025 17:58:23 +0100 Subject: [PATCH 6/7] fix linux build --- .github/workflows/build-linux.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 24c4594..7cacddf 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -96,7 +96,9 @@ jobs: path: ./target/cryptomator-cli if-no-files-found: error - name: Zip binary for release - run: zip -r ./${{ matrix.artifact-name}} ./cryptomator-cli + run: | + zip -r ./${{ matrix.artifact-name}} ./cryptomator-cli + mv ./${{ matrix.artifact-name }} .. working-directory: target - name: Create detached GPG signature with key 615D449FE6E6A235 run: | From aff58aff27c600108265999b292897ca8e1cde8e Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Tue, 7 Jan 2025 11:27:47 +0100 Subject: [PATCH 7/7] prepare 0.6.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8f25c98..35eb65e 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.cryptomator cli - 0.7.0-SNAPSHOT + 0.6.1 Cryptomator CLI Command line program to access encrypted files via WebDAV. https://github.com/cryptomator/cli