{"id":13465963,"url":"https://github.com/nextcloud/bookmarks","last_synced_at":"2026-02-21T14:05:23.222Z","repository":{"id":37664481,"uuid":"9332725","full_name":"nextcloud/bookmarks","owner":"nextcloud","description":"🔖 Bookmark app for Nextcloud","archived":false,"fork":false,"pushed_at":"2026-02-14T03:54:58.000Z","size":21942,"stargazers_count":1159,"open_issues_count":72,"forks_count":181,"subscribers_count":81,"default_branch":"master","last_synced_at":"2026-02-14T03:59:20.306Z","etag":null,"topics":["bookmark","bookmark-manager","bookmarking","bookmarks","bookmarks-manager","free-software","nextcloud","nextcloud-bookmarks"],"latest_commit_sha":null,"homepage":"https://apps.nextcloud.com/apps/bookmarks","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/nextcloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"COPYING","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["marcelklehr"],"patreon":null,"open_collective":"floccus","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":"marcelklehr","issuehunt":null,"otechie":null,"custom":["https://www.paypal.com/donate/?hosted_button_id=VESJWWBEZ9V6J"]}},"created_at":"2013-04-09T22:09:20.000Z","updated_at":"2026-02-14T03:54:00.000Z","dependencies_parsed_at":"2022-07-07T18:22:22.713Z","dependency_job_id":"81241eb2-18e9-47fd-a5f2-4eef25c7d771","html_url":"https://github.com/nextcloud/bookmarks","commit_stats":{"total_commits":4555,"total_committers":114,"mean_commits":39.95614035087719,"dds":0.5611416026344676,"last_synced_commit":"e92f4b73846163aeeabd48a93b16817a9019471c"},"previous_names":[],"tags_count":356,"template":false,"template_full_name":null,"purl":"pkg:github/nextcloud/bookmarks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fbookmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fbookmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fbookmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fbookmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextcloud","download_url":"https://codeload.github.com/nextcloud/bookmarks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fbookmarks/sbom","scorecard":{"id":138944,"data":{"date":"2025-08-04","repo":{"name":"github.com/nextcloud/bookmarks","commit":"37142776113628d66ff3fe2012e2c6dac17b78de"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":5.3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/11 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 18 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:26","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:27","Info: jobLevel 'contents' permission set to 'read': .github/workflows/node.yml:30","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/node.yml:31","Info: found token with 'none' permissions: .github/workflows/node.yml:100","Info: jobLevel 'contents' permission set to 'read': .github/workflows/phpunit-mariadb.yml:43","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/phpunit-mariadb.yml:44","Info: found token with 'none' permissions: .github/workflows/phpunit-mariadb.yml:191","Info: jobLevel 'contents' permission set to 'read': .github/workflows/phpunit-mysql.yml:44","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/phpunit-mysql.yml:45","Info: found token with 'none' permissions: .github/workflows/phpunit-mysql.yml:189","Info: jobLevel 'contents' permission set to 'read': .github/workflows/phpunit-pgsql.yml:43","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/phpunit-pgsql.yml:44","Info: found token with 'none' permissions: .github/workflows/phpunit-pgsql.yml:187","Info: found token with 'none' permissions: .github/workflows/phpunit-sqlite.yml:176","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/phpunit-sqlite.yml:44","Info: jobLevel 'contents' permission set to 'read': .github/workflows/phpunit-sqlite.yml:43","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/dependabot-approve-merge.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:11","Warn: no topLevel permission defined: .github/workflows/floccus.yml:1","Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Warn: no topLevel permission defined: .github/workflows/lint.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/node.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/phpunit-mariadb.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/phpunit-mysql.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/phpunit-pgsql.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/phpunit-sqlite.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/psalm.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/repair.yml:16","Info: topLevel 'contents' permission set to 'read': .github/workflows/upgrade.yml:16","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: COPYING:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-review.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/dependency-review.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-review.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/dependency-review.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/floccus.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/floccus.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/floccus.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/floccus.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/floccus.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/floccus.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/floccus.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/floccus.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/floccus.yml:144: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/floccus.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/floccus.yml:152: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/floccus.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/floccus.yml:159: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/floccus.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/issues.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/issues.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/issues.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/issues.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:107: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/repair.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/repair.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/repair.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/repair.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/repair.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/repair.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/upgrade.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/upgrade.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/upgrade.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/upgrade.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/upgrade.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/upgrade.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/upgrade.yml:119: update your workflow using https://app.stepsecurity.io/secureworkflow/nextcloud/bookmarks/upgrade.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/floccus.yml:49","Warn: npmCommand not pinned by hash: .github/workflows/floccus.yml:150","Warn: npmCommand not pinned by hash: .github/workflows/lint.yml:80","Warn: npmCommand not pinned by hash: .github/workflows/lint.yml:113","Warn: npmCommand not pinned by hash: .github/workflows/node.yml:78","Info:  16 out of  38 GitHub-owned GitHubAction dependencies pinned","Info:  22 out of  32 third-party GitHubAction dependencies pinned","Info:   4 out of   9 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v15.1.3 not signed: https://api.github.com/repos/nextcloud/bookmarks/releases/235453138","Warn: release artifact v15.1.2 not signed: https://api.github.com/repos/nextcloud/bookmarks/releases/232048320","Warn: release artifact v15.1.1 not signed: https://api.github.com/repos/nextcloud/bookmarks/releases/226823357","Warn: release artifact v15.1.0 not signed: https://api.github.com/repos/nextcloud/bookmarks/releases/201895796","Warn: release artifact v15.0.5 not signed: https://api.github.com/repos/nextcloud/bookmarks/releases/195455879","Warn: release artifact v15.1.3 does not have provenance: https://api.github.com/repos/nextcloud/bookmarks/releases/235453138","Warn: release artifact v15.1.2 does not have provenance: https://api.github.com/repos/nextcloud/bookmarks/releases/232048320","Warn: release artifact v15.1.1 does not have provenance: https://api.github.com/repos/nextcloud/bookmarks/releases/226823357","Warn: release artifact v15.1.0 does not have provenance: https://api.github.com/repos/nextcloud/bookmarks/releases/201895796","Warn: release artifact v15.0.5 does not have provenance: https://api.github.com/repos/nextcloud/bookmarks/releases/195455879"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/nextcloud/.github/SECURITY.md:1","Info: Found linked content: github.com/nextcloud/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/nextcloud/.github/SECURITY.md:1","Info: Found text in security policy: github.com/nextcloud/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 19 commits out of 21 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":4,"reason":"6 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-g974-hxvm-x689","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-5j4c-8p2g-v4jx","Warn: Project is vulnerable to: GHSA-g3ch-rx76-35fx"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T07:26:41.105Z","repository_id":37664481,"created_at":"2025-08-16T07:26:41.105Z","updated_at":"2025-08-16T07:26:41.105Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29614585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T10:52:55.328Z","status":"ssl_error","status_checked_at":"2026-02-19T10:52:26.323Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bookmark","bookmark-manager","bookmarking","bookmarks","bookmarks-manager","free-software","nextcloud","nextcloud-bookmarks"],"created_at":"2024-07-31T15:00:37.398Z","updated_at":"2026-02-19T13:01:01.100Z","avatar_url":"https://github.com/nextcloud.png","language":"JavaScript","readme":"# Nextcloud Bookmarks\n\n![Downloads](https://img.shields.io/github/downloads/nextcloud/bookmarks/total.svg?style=flat-square)\n[![Code coverage](https://img.shields.io/codecov/c/github/nextcloud/bookmarks.svg?style=flat-square)](https://codecov.io/gh/nextcloud/bookmarks/)\n[![Dependabot status](https://img.shields.io/badge/Dependabot-enabled-brightgreen.svg?longCache=true\u0026style=flat-square\u0026logo=dependabot)](https://dependabot.com)\n\n![](https://github.com/nextcloud/bookmarks/raw/master/screenshots/Bookmarks.png)\n\n\u003e Collect and manage bookmarks, synced with all your devices\n\nThis app provides you with a web interface for collecting and organizing bookmarks to the places on the web that are precious to you.\n\n- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- ☠ Find broken links and duplicates\n- 📲 Synchronize with all your browsers and devices\n- 📔 Store archived versions of your links in case they are depublished\n- 🔍 Full-text search on site contents\n- 👪 Share bookmarks with other users, groups and teams or via public links\n- ⚛ Generate RSS feeds of your collections\n- 📈 Stats on how often you access which links\n- 🔒 Automatic backups of your bookmarks collection\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\n## Third-party clients\n\n### Android\n\n- [Nextcloud Bookmarks](https://gitlab.com/bisada/OCBookmarks) - client app for Android ([Amazon Appstore](https://www.amazon.com/dp/B08L5RKHMM/ref=apps_sf_sta)/[F-Droid](https://f-droid.org/packages/org.schabi.nxbookmarks))\n- [NCBookmark](https://gitlab.com/lenchan139/NCBookmark) - Android App\n- Bookmarks for Nextcloud - client app for Android (phone and tablet) with folders, tags, search, sync ([Google Play Store - Bookmarks for Nextcloud](https://play.google.com/store/apps/details?id=de.emasty.bookmarks))\n- [Floccus](https://floccus.org) - Bookmark sync as Browser extension for Firefox/Chromium-based browsers, Android \u0026 iOS Apps\n\n### Browser\n\n- [Owncloud Bookmarks](https://chrome.google.com/webstore/detail/owncloud-bookmarks/eomolhpeokmbnincelpkagpapjpeeckc) - Bookmarks extension for Chromium-based browsers (Chromium/Chrome/Opera/Vivaldi)\n- [Floccus](https://floccus.org/) - Bookmark sync as Browser extension for Firefox/Chromium-based browsers, Android \u0026 iOS Apps\n- [FreedomMarks](https://github.com/damko/freedommarks-browser-webextension) - Addon for Firefox and Chrome. No sync, just a client.\n- [add-nextcloud-bookmarks](https://github.com/qutebrowser/qutebrowser/blob/master/misc/userscripts/README.md) - qutebrowser userscript that allows for easy bookmark creation\n- [Bookmarker for Nextcloud](https://plushbyte.com/browser-extensions/bookmarker-for-nextcloud/) - Easily add bookmarks (Chrome extension)\n\n### Desktop\n\n- [Nextcloud Bookmark Manager](https://www.midwinter-dg.com/mac-apps/nextcloud-bookmark-manager.html) A MacOS client\n- [QOwnNotes](https://www.qownnotes.org/) - Plain-text file markdown note taking desktop application (no sync, just importing bookmarks)\n\n### iOS\n\n- [Nextbookmark](https://gitlab.com/altepizza/nextbookmark) - A minimal client for iOS ([App Store entry](https://apps.apple.com/app/nextbookmark/id1500340092))\n- [Onion Browser](https://onionbrowser.com) - Tor browser support syncing ([App Store entry](https://apps.apple.com/app/onion-browser/id519296448))\n- [Floccus](https://floccus.org) - Bookmark sync as Browser extension for Firefox/Chromium-based browsers, Android \u0026 iOS Apps\n\n### Other\n\n- [uMarks](https://open-store.io/app/umarks.ernesst) - App for Ubuntu touch\n\n## Community\n\nTalk to us on [gitter](https://gitter.im/nextcloud-bookmarks/community), via matrix `#nextcloud-bookmarks_community:gitter.im` or in our [official Talk channel](https://cloud.nextcloud.com/call/u52jcby9)\n\n## Install\n\n### Requirements\n\n- php 7.3 and above\n\nPHP extensions:\n\n- intl: \\*\n- mbstring: \\*\n\n### One-click\n\nInstall this app in the app store of your nextcloud instance (you must have administrator privileges). You will find it in the 'Organization' category.\n\n### Manual install\n\n#### Dependencies\n\n- [git](https://git-scm.org/)\n- [Node.js and npm](https://nodejs.org/)\n- [php](https://php.net/), extension dom and tokenizer\n- [composer](https://getcomposer.org/)\n\n#### Setup\n\n```\ncd /path/to/nextcloud/apps/\ngit clone https://github.com/nextcloud/bookmarks.git\ncd bookmarks\ncomposer install\nnpm install\nnpm run build\n```\n\n## API\n\nThis app exposes a public REST API that third-party clients can interface with.\n\n[Head over to the API docs](https://nextcloud-bookmarks.readthedocs.io/en/latest/).\n\n## Maintainers\n\n- [Marcel Klehr](https://github.com/marcelklehr)\n\n## Donate\n\nIf you'd like to support the creation and maintenance of this software, consider donating.\n\n| [\u003cimg src=\"https://img.shields.io/badge/paypal-donate-blue.svg?logo=paypal\u0026style=for-the-badge\"\u003e](https://www.paypal.me/marcelklehr1) | [\u003cimg src=\"http://img.shields.io/liberapay/receives/marcelklehr.svg?logo=liberapay\u0026style=for-the-badge\"\u003e](https://liberapay.com/marcelklehr/donate) | [\u003cimg src=\"https://img.shields.io/badge/github-sponsors-violet.svg?logo=github\u0026style=for-the-badge\"\u003e](https://github.com/sponsors/marcelklehr) |\n| :-----------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------: |\n\n## Contribute\n\nWe always welcome contributions. Have an issue or an idea for a feature? Let us know. Additionally, we happily accept pull requests.\n\nIn order to make the process run more smoothly, you can make sure of the following things:\n\n- Announce that you're working on a feature/bugfix in the relevant issue\n- Make sure the tests are passing\n- If you have any questions you can let the maintainers above know privately via email, or simply open an issue on github\n\nPlease read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.\n\nMore information on how to contribute: https://nextcloud.com/contribute/\n\nHappy hacking :heart:\n\n## License\n\nThis software is licensed under the terms of the AGPL written by the Free Software Foundation and available at [COPYING](./COPYING).\n","funding_links":["https://github.com/sponsors/marcelklehr","https://opencollective.com/floccus","https://liberapay.com/marcelklehr","https://www.paypal.com/donate/?hosted_button_id=VESJWWBEZ9V6J","https://www.paypal.me/marcelklehr1","https://liberapay.com/marcelklehr/donate"],"categories":["Apps","JavaScript","HarmonyOS","others"],"sub_categories":["Official","Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fbookmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextcloud%2Fbookmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fbookmarks/lists"}