https://github.com/floccusaddon/floccus
:cloud: Sync your bookmarks privately across browsers and devices
https://github.com/floccusaddon/floccus
bookmark bookmarks browser-bookmarks chrome chrome-extension edge-extension firefox firefox-addon firefox-extension nextcloud nextcloud-bookmarks owncloud sync sync-solution syncing-bookmarks webdav webextension
Last synced: 13 days ago
JSON representation
:cloud: Sync your bookmarks privately across browsers and devices
- Host: GitHub
- URL: https://github.com/floccusaddon/floccus
- Owner: floccusaddon
- License: mpl-2.0
- Created: 2016-06-04T23:37:43.000Z (almost 9 years ago)
- Default Branch: develop
- Last Pushed: 2024-10-27T11:12:20.000Z (6 months ago)
- Last Synced: 2024-10-29T14:54:02.562Z (6 months ago)
- Topics: bookmark, bookmarks, browser-bookmarks, chrome, chrome-extension, edge-extension, firefox, firefox-addon, firefox-extension, nextcloud, nextcloud-bookmarks, owncloud, sync, sync-solution, syncing-bookmarks, webdav, webextension
- Language: JavaScript
- Homepage: https://floccus.org
- Size: 19.2 MB
- Stars: 5,749
- Watchers: 61
- Forks: 242
- Open Issues: 120
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-starred - floccusaddon/floccus - :cloud: Sync your bookmarks privately across browsers and devices (chrome-extension)
README
#  Floccus

> Sync your bookmarks privately across browsers and devices[](https://github.com/marcelklehr/floccus/actions?query=workflow%3ATests)
![]()
- 🔖 Syncs your real, native browser bookmarks directly
- ☸ Sync via [Nextcloud Bookmarks](https://github.com/nextcloud/bookmarks), Google Drive, any Git server (like GitHub, Gitlab, Gitea, etc.) or [any WebDAV-compatible service](https://community.cryptomator.org/t/webdav-urls-of-common-cloud-storage-services/75)
- ⚛ Use any browser that supports Web extensions (e.g. Firefox, Chrome, Edge, Opera, Brave, Vivaldi, ...; Safari [not yet](https://github.com/floccusaddon/floccus/issues/23))
- 📲 Install the floccus Android app to access your bookmarks on your phone
- 💼 Create as many sync profiles as you need
- 🚚 Control sync strategy (i.e. uni- or bidirectional), ⏳ sync interval and 📂 synced folder
- 📦 Easily export your configuration
- 🔒 Keep your credentials secure with an encryption passphrase[](https://floccus.org/download)
This is the SHA-256 fingerprint of the certificate used to sign the floccus APKs:
```
ffed2778ff07371e6367b6dcf5d7c1327c57ff7158b8444029182a9aa2dd7085
```If you'd like to support the creation and maintenance of this software, please consider donating. :)
| [
](https://opencollective.com/floccus) | [
](https://github.com/sponsors/marcelklehr) | [
](https://liberapay.com/marcelklehr/donate) | [
](https://www.paypal.me/marcelklehr1) |
|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| :-------------------------------------------------------------------------------------------------------------------------------------------------: |:--:|:---:|## 🎬 Getting started
If you don't know how to start with Floccus, [read these guides](https://floccus.org/guides).If you need help, talk to us on [gitter](https://gitter.im/marcelklehr/floccus), matrix ([`#marcelklehr_floccus:gitter.im`](https://matrix.to/#/#marcelklehr_floccus:gitter.im?utm_source=gitter)), in the [official Nextcloud Bookmarks talk channel](https://cloud.nextcloud.com/call/u52jcby9), or drop [me](https://marcelklehr.de) a mail! :wave:
### Troubleshooting
- **Emojis**: MySQL doesn't support emojis out of the box, so if you're syncing to nextcloud and getting Error code 500 from nextcloud, check the nextcloud log for SQL errors and [proceed as explained in the nextcloud docs if you get charset errors](https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/mysql_4byte_support.html).
If you need help sorting out problems, try the gitter chat room:
## Considerations
Is this a good idea? I think so. If you'd like to know more, check out [the considerations file](./CONSIDERATIONS.md)
## What's with the name?
[Cirrus floccus](https://en.wikipedia.org/wiki/Cirrus_floccus) is a type of cloud, that
can sync your browser datalooks very nice.## Contributors
This project exists thanks to all the people who contribute.
Bernd Wechner
🐛 🤔 ⚠️
jlbprof
💻 🐛 ⚠️
TeutonJon78
🐛 🤔
Scott P.
🐛 🤔
Lantizia
🐛 🤔
TCB13
💻 🤔 🔌 🌍
gohrner
🐛
Tank-Missile
🐛
Torsten Kurbad
🐛
gerroon
🐛
Matija Nalis
🤔 💬 🐛
Marcel Klehr
💬 💻 🖋 🎨 📖 🚇 🚧 📆
binsee
💻
Marc Shapiro
💻
Marllus Lustosa
💻
Izzy
🐛 🤔 🚇
sunjam
🤔 ⚠️
Danny Siminiuk
⚠️ 🤔
Seirade
🤔 🐛
pinpontitit
🤔 🐛 💻
Motte
💻 🐛
macrogreg
💻
Andy Balaam
💻 🐛
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification.
## Contribute
All contributions, code, feedback and strategic advice, are welcome. If you have a question you can contact me directly via email or simply [open an issue](https://github.com/marcelklehr/floccus/issues/new) on the repository. I'm also always happy for people helping me test new features -- see the issues for announcements of beta versions.
### Translating
Translations can now be provided over at [transifex](https://www.transifex.com/floccus/floccus/).

### Development
#### Setting up a dev environment
- Clone this repository.
- Install the [latest LTS version of node.js](https://nodejs.org/en/download/).
- In the root of your floccus repo, run `npm install`.
- Run `npm run build` to build.
- Find out more on how to develop browser extensions here: .For building the android app you'll need Android Studio
- Open the `android/` folder in Android studio and build the App like any other Android app.
- `npm run build` and `npm run watch` will push changes to `android/` as necessary.#### Building
- `npm run build`
Run the following to automatically compile changes as you make them:
- `npm run watch`
#### Releasing
- `npm run build-release`
#### Windows-specific considerations
Follow the above general guidance on setting up a dev environment.
There are Windows-specific versions of some npm scripts:
- build: `npm run build-win`
- build-release: `npm run build-release-win`
- watch: `watch-win`When building for the first time you may get an error about `gulp` not being found.
You can install gulp globally on your system by executing `npm install -g gulp` from your repo root.
It is recommended that you do this proactively after executing `npm install` in the repo root for the first time.#### Running the browser extension and corresponding tests locally
- Build the browser extension:
`npm run build-release`
(`npm run build-release-win` if you use Windows)- After a successful build, the extension package will be found in:
`RepoRoot/builds/`- The following steps use _Firefox_ as an example; other browsers work similarly.
The Firefox extension package is a file with an `.xpi`-extension. It is a simple archive. To modify it, you can rename it to `.zip`, make the changes, and then rename it back to `.xpi`. Many archive-related tools know this and allow you to work with the `.xpi`-file directly (e.g. [Total Commander](https://www.ghisler.com/download.htm)).- Enable the extension package for local testing:
By default, tests are not included into the release archive. To run tests in your local browser, copy the file
`RepoRoot/dist/js/test.js`
into the release package, so that it is located at
`FloccusPackage.xpi/dist/js/test.js`- Open Firefox using a dedicated test-profile:
**If you use your main profile for testing, the test scripts will likely destroy your existing bookmarks and open tabs!**
To interact with profiles, go to this address:
`about:profiles`- Load the extension:
In the a dedicated Firefox profile window, go to
`about:debugging`
Select "This Firefox", and then under "Temporary Extensions", select "Load Temporary Add-on...". Then select the `.xpi`-file you prepared earlier.
(Remember to unload the extension if you need to modify/rebuild the extension package.)- The extension is now loaded. You can access it via the browser's extensions menu.
- Run tests:
After loading the extension, click on "Manifest URL". It will open a new tab with the URL
`moz-extension://SomeGuid/manifest.json`
Modify the URL to read
`moz-extension://SomeGuid/dist/html/test.html`
, keeping the same GUID and press enter. The test run should start automatically.- Debug or pause tests:
Press `F12` to open developer tools.
On the "Debugger" tab, you can pause the execution, set breakpoints and step through the code.Happy developing and thank you for your contributions!
## Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/floccus#backer)]
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/floccus#sponsor)]
## License
(c) Marcel Klehr
MPL-2.0 (see LICENSE.txt)