Skip to content
Branch: develop
Go to file
Code

Files

Permalink
Failed to load latest commit information.

README.md

Floccus

Sync your bookmarks across browsers via Nextcloud, WebDAV or a local file (and thus any file sync solution)

The goal of this project is to build a browser extension that syncs your browser data across browser vendors.

News: Floccus can now sync with the local file system using LoFloccus (read below).

Tests

Chrome Webstore Mozilla Addons Microsoft Edge

Community

Talk to us on gitter! 👋

Install

The following sync methods are available:

  • WebDAV: If you have a WebDAV server at hand, like any version of nextcloud/owncloud, box.com or with any other WebDAV server, commercial or self-hosted.
  • Nextcloud Bookmarks: Nextcloud in particular also sports a dedicated bookmarks app, which allows you to also access your bookmarks via a nice web UI.
  • Local file and more: You can also just sync with a local file, using the companion desktop app LoFloccus. You can then also sync that file to other computers using your favorite file syncing solution, like Dropbox, Syncthing, rsync, etc. You can also create a WebDAV Server on the local machine using Docker in GNU/Linux, check out the project Floccus-WebDavDocker.

Once your server or the LoFloccus app is ready, read on for the browser of your choosing.

Note: It is recommended to not enable native bookmark synchronization built into your browser, as it is known to cause issues.

Note: Please avoid installing the bookmarks_fulltextsearch app in nextcloud as it is known to cause issues with newer versions of the bookmarks app.

Note: If you feel floccus is missing a sync backend and you'd like to chip in, check out the Quick Intro to creating an adapter. I'm happy to accept your pull request! :)

Nextcloud

Floccus is regularly tested with the following setups:

Nextcloud Bookmarks
v16 v1.1.2
v16 v2.3.4
v17 v2.3.4
v18 v2.3.4

Syncing via WebDAV should work with any Nextcloud version.

Chrome

You can install it via the Chrome Web store

Alternatively, you can still install it by downloading the Chrome package from the latest release and dropping it into Chrome's extension page.

Firefox

You can install it via AMO.

(Note that AMO has to review all new releases, though, so you might need to wait a bit before you can install the latest release on firefox.)

Android

Floccus is not supported by Firefox for Android yet. But, why wait for mozilla, if you can use Kiwi Browser, which supports floccus! Install instructions are the same as for Chrome.

Ugrading

Upgrading from v3.x to v4.x

See "Switching from tag-based to folder-based syncing"

Updating from v2.x to v3.0

It is recommended to remove all of your bookmarks from your accounts before using the new version, deleting the accounts and then to create them again, in order to prevent unforeseen problems!

Updating from v3.0 to v3.1

When using a WebDAV account, there's nothing you need to do to benefit from the new order preservation feature. If you are using the nextcloud adapter, it is recommended that you switch to the new nextcloud adapter, which works with the Bookmarks folders feature and also preserves ordering.

Switching from tag-based to folder-based syncing

The first sync method available with floccus syncs folders by creating associated tags on the server, which contain the folder's path. Since then the Nextcloud Bookmarks app supports folders natively and floccus has a new matching sync method. Here's how you switch to the new method:

  1. Back up your browser bookmarks
  2. Remove the active floccus account for your nextcloud in all browsers
  3. Remove all bookmarks on nextcloud (there's an option for that in the settings)
  4. Setup a new floccus sync account with the adapter that says "with folders" (as opposed to "legacy") in one browser
  5. Trigger a sync run to create the bookmarks and folders on the server
  6. Make sure everything is as expected on the server
  7. Setup floccus sync accounts in all other browsers with the "with folders"-adapter
  8. Done.

Permissions

Floccus requests the following permissions:

Permission Explanation
storage, unlimitedStorage Necessary for maintaining a cache and mappings between server and browser bookmarks
alarms Necessary for triggering synchronization in regular intervals
bookmarks Necessary for creating and reading bookmarks
Unlimited web access Necessary for accessing your self-hosted server. This cannot be limited, because everybody's server has a different URL. Unfortunately, the way webextensions work currently, floccus also gets access to all the data the browser has collected on those websites. However, floccus makes no use of that data and doesn't in any way collect information about you.

Usage

  • The accounts panel; After installation the accounts pane will pop up allowing you to create and manage accounts. You will be able to access this pane at all times by clicking the floccus icon in the browser tool bar.
  • Your accounts: You can setup multiple accounts and select a bookmark folder for each, that should be synced with that account. Floccus will keep the bookmarks in sync with the server you selected whenever you add or change them and will also sync periodically to pull the latest changes from the server.
  • Syncing the root folder: If you want to sync all bookmarks in your browser you need to select the topmost untitled folder in the folder picker. (In case you're wondering: Syncing the root folder across browsers from different vendors is now possible out of the box, because the built-in folder names are now normalized).

The server path: Mapping folders / Profiles

When using the nextcloud Bookmarks adapter, you can specify a 'server folder' in your floccus account setup. This is like the target folder of a copy or rsync command. While the local sync folder you have selected from your browser bookmarks will normally end up being synced to the root bookmark path on your server, you can change that to an arbitrary sub-directory, e.g. /Toolbar, with the 'server folder' setting. If you are using the WebDAV/XBEL adapter, you can do the same by specifying a specific xbel file in the settings.

This way it is possible to sync Firefox' 'Bookmarks Menu' folder to Chrome, which doesn't have a Menu folder out of the box: Simply set up a separate account for each of the main folders in firefox, each with a separate server folder, e.g.:

  • Fx '/Bookmarks Toolbar' <=> '/Toolbar'
  • Fx '/Other Bookmarks' <=> '/Others'
  • Fx '/Bookmarks Menu' <=> '/Menu'

Then, in Chrome you can setup the folders as follows:

  • GC '/Bookmarks Toolbar' <=> '/Toolbar'
  • GC '/Bookmarks Toolbar/Menu' <=> '/Menu' (You need to create this folder yourself, of course.)
  • GC '/Other Bookmarks' <=> '/Others'

Limitations

  • Note that currently you cannot sync the same folder with multiple nextcloud accounts in order to avoid data corruption. If you sync the root folder with one account and sync a sub folder with a different account, that sub-folder will not be synced with the account connected to the root folder anymore.

Performance

Performance is an aspect that I try to tackle with gradual improvements. The latest development here is the "parallel sync" option that processes multiple branches of the bookmarks tree in parallel. The benchmark results in this case are as follows:

adapter cold initial sync (4000 Bookmarks) warm sync with no changes (4000 Bookmarks)
nextcloud-folders ~7min ~20s
webdav ~4min ~10s

Note: The cold sync performance of the nextcloud-folders adapter depends to an extent on the server's resources as well, such that the times may vary with your setup.

Finding duplicates

Floccus will sync your bookmarks as-is, including any dupes that are in different folders. If you need to find and remove duplicates in your bookmarks, try something like bookmark-dupes.

Troubleshooting

If you need help sorting out problems, try the gitter chat room: https://gitter.im/marcelklehr/floccus

Considerations

Is this a good idea? I think so. If you'd like to know more, check out the considerations file

What's with the name?

Cirrus floccus is a type of cloud, that can sync your browser data looks very nice.

Donate

If you'd like to support the creation and maintenance of this software, please consider donating. :)

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

🐛

This project follows the 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 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.

Development

Setting up a dev environment

Building

  • gulp

Releasing

  • gulp release

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

(c) Marcel Klehr
MPL-2.0 (see LICENSE.txt)

You can’t perform that action at this time.