{"id":13724297,"url":"https://github.com/theCalcaholic/nextcloud-secrets","last_synced_at":"2025-05-07T18:30:38.185Z","repository":{"id":63410208,"uuid":"556280641","full_name":"theCalcaholic/nextcloud-secrets","owner":"theCalcaholic","description":"The secrets app allows Nextcloud users to securely transmit e2e encrypted secrets (like passwords) to anyone","archived":false,"fork":false,"pushed_at":"2025-04-17T02:48:50.000Z","size":3373,"stargazers_count":30,"open_issues_count":8,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-17T16:28:36.085Z","etag":null,"topics":["nextcloud","nextcloud-app","nextcloud-apps","secret-sharing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theCalcaholic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"thecalcaholic","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2022-10-23T13:49:03.000Z","updated_at":"2025-04-17T02:48:51.000Z","dependencies_parsed_at":"2023-10-15T04:14:03.638Z","dependency_job_id":"2ba8269c-4d06-475d-ad64-987c64be5246","html_url":"https://github.com/theCalcaholic/nextcloud-secrets","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theCalcaholic%2Fnextcloud-secrets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theCalcaholic%2Fnextcloud-secrets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theCalcaholic%2Fnextcloud-secrets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theCalcaholic%2Fnextcloud-secrets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theCalcaholic","download_url":"https://codeload.github.com/theCalcaholic/nextcloud-secrets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252933855,"owners_count":21827601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextcloud","nextcloud-app","nextcloud-apps","secret-sharing"],"created_at":"2024-08-03T01:01:53.968Z","updated_at":"2025-05-07T18:30:38.140Z","avatar_url":"https://github.com/theCalcaholic.png","language":"JavaScript","funding_links":["https://ko-fi.com/thecalcaholic"],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003c!--\nSPDX-FileCopyrightText: Tobias Knöppler \u003cthecalcaholic@web.de\u003e\nSPDX-License-Identifier: CC0-1.0\n--\u003e\n\n# Secrets\n\n*Securely share data with anyone. All data is end-to-end encrypted by the user and will be deleted once retrieved successfully*\n\n\u003cdiv\u003e\n    \u003cimg height=\"480\" src=\"./screenshots/new_secret_phone.png\"\u003e\n    \u003cimg height=\"480\" src=\"./screenshots/public_share_2_phone.png\"/\u003e\n\u003c/div\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eMore Screenshots\u003c/summary\u003e\n    \u003cimg height=\"480\" src=\"./screenshots/share_link_phone.png\"\u003e\n    \u003cimg height=\"480\" src=\"./screenshots/public_share_1_phone.png\"\u003e\n    \u003cimg height=\"350\" src=\"./screenshots/public_share_2_phone.png\"/\u003e\n    \u003cimg width=\"100%\" src=\"./screenshots/new_secret.png\"/\u003e\n    \u003cimg width=\"100%\" src=\"./screenshots/share_link.png\"\u003e\n    \u003cimg width=\"100%\" src=\"./screenshots/public_share_1.png\"\u003e\n    \u003cimg width=\"100%\" src=\"./screenshots/public_share_2.png\"\u003e\n\u003c/details\u003e\n\nGet it from the [Nextcloud app store](https://apps.nextcloud.com/apps/secrets)\n\n## Sharing\n\nSecrets allows users to generate share links for text based data (e.g. passwords, CSV lists, bank accounts...) that can\nbe sent to anyone (including receivers without a Nextcloud account) for retrieval.\nThe data itself will be end-to-end encrypted (so not even Nextcloud can access it) and the encryption key will be part of\nthe share link (the anchor part) - but never be actually sent to the server.\nOnce retrieved, the secret will be deleted from the server, ensuring, that if it arrived at the correct receiver it has\nbeen seen by nobody else.\n\n## Cli\n\nStarting with version 2.0.0, Secrets offers a command line tool that allows the creation and retrieval of secrets without a web browser.\nIt's available from the [github releases](https://github.com/thecalcaholic/nextcloud-secrets/releases).\n\n### Usage\n\n```sh\nUsage: nc-secrets [options] [command]\n\ncli for https://apps.nextcloud.com/apps/secrets\n\nOptions:\n  -k, --insecure                                         Disable SSL certificate validation (FOR TESTING ONLY)\n  -h, --help                                             display help for command\n\nCommands:\n  create [options] \u003cnextcloud-url\u003e \u003cuser\u003e \u003csecret-file\u003e  Create a new secret\n  retrieve [options] \u003csecret-url\u003e                        Retrieve a secret and print it to stdout\n  info \u003cnextcloud-url\u003e                                     Get information about a Nextcloud Secrets API\n  help [command]                                         display help for command\n```\n\nMore details [here](./cli/README.md).\n\n## OCS-API\n\nStarting with version 2.0.0, Secrets provides an OCS-API (that's also used by the [Secrets CLI](#cli)).\nIt's specification can be found [here](./openapi.json);\n\n**However, all of the encryption is not part of the API, but is solved in the client (since Secrets uses solely \nend-to-end encryption). So take care when using the OCS-API directly.\nYou can find the implementation of Secrets' client cryptography [here](./src/crypto.js)**\n\n## Development\n\n### Building the app\n\nThe app can be built by using the provided Makefile by running:\n\n```sh\nmake\n```\n\nThis requires the following things to be present:\n* make\n* which\n* tar: for building the archive\n* curl: used if phpunit and composer are not installed to fetch them from the web\n* npm: for building and testing everything JS, only required if a package.json is placed inside the **js/** folder\n\nThe make command will install or update Composer dependencies and also **npm run build**.\n\n### Publish to App Store\n\nFirst get an account for the [App Store](http://apps.nextcloud.com/) then run:\n\n    make \u0026\u0026 make appstore\n\nThe archive is located in build/artifacts/appstore and can then be uploaded to the App Store.\n\n### Running tests\nYou can use the provided Makefile to run all tests by using:\n\n    make test\n\nThis will run the PHP unit and integration tests and if a package.json is present in the **js/** folder will execute **npm run test**\n\nOf course you can also install [PHPUnit](http://phpunit.de/getting-started.html) and use the configurations directly:\n\n    phpunit -c phpunit.xml\n\nor:\n\n    phpunit -c phpunit.integration.xml\n\nfor integration tests\n\n### Generating OpenAPI specification\n\nThis command will generate a file namd openapi.json which contains the documentation for the app's API endpoints. \n\n```sh\ncompose exec generate-spec\n```\n\nThis command is not included in make, due to [this bug with Nextcloud's openapi-extractor](https://github.com/nextcloud/openapi-extractor/issues/28)\nand therefore needs to be run manually before release.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FtheCalcaholic%2Fnextcloud-secrets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FtheCalcaholic%2Fnextcloud-secrets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FtheCalcaholic%2Fnextcloud-secrets/lists"}