lapwat's blog

How to Get Rid of Google Sync

Following the latest Google announcement where Google plans to disable Chrome Sync features (password manager, bookmarks, history) to third-party Chromium browser after March the 15th, I would like to open the way for those who want to switch to opensource alternatives of Google Sync features.

I will cover the presentation of two services:

Both are available on Firefox and Chromium-based browser.

Prerequisites

You will need a working https proxy (Træfik in my case). We will be dealing with sensitive data such as your passwords so make sure you enabled a secure connection to your server.

I will use Docker to deploy but feel free to use any environment you are at ease with.

Bitwarden is a password manager.

Features

Config

DOMAIN=https://passwords.mydomain.org

bitwarden/.env

version: '3.3'

services:
  server:
    image: bitwardenrs/server
    volumes:
      - data:/data
    env_file:
      - .env
    networks:
      - default
    labels:
      - "traefik.http.routers.passwords.rule=Host(`passwords.mydomain.org`)"
      - "traefik.http.routers.passwords.tls=true"
      - "traefik.http.routers.passwords.tls.certresolver=letsencrypt"
      - "traefik.http.services.passwords.loadbalancer.server.port=80"

volumes:
  data:

networks:
  default:
    external:
      name: gateway

bitwarden/docker-compose.yml

I declare a data volume to keep password after restart / update queries.

Run

Go into bitwarden directory and deploy it with docker-compose up -d.

Then go to https://passwords. mydomain .org to configure your master key. I suggest you create a passphrase of at least 4 words. It is easier to type and to remember.

You can use brain_password_generator.py script from this repo: https://github.com/lapwat/random.

Now you can go on you account page to configure your vault, change you master key, rotate your encryption key, configure your Yubikey and so on.

Install the extension

Once your vault is properly configure, you can install the Chrome extension.

When opening the extension window for the first time. You need to change the Server Url in the Settings (top left corner). Set it to whatever endpoint you have chosen before (in my case https://passwords.mydomain.org).

Now you can log in with you email address and master key.

Shortcuts

Floccus is a bookmark manager. It is useful to synchronize your bookmarks different across browsers. You can switch your browser any time and even use two different browsers at the same time.

Features

Cons

Config

USER=myuser
PASSWORD=securerandompasswordgeneratedwithbitwarden:)

floccus/.env

version: '3.3'

services:
  server:
    image: marlluslustosa/floccuswebdav
    volumes:
      - data:/var/floccuswebdav/bookmarks
    env_file:
      - .env
    networks:
      - default
    labels:
      - "traefik.http.routers.bookmarks.rule=Host(`bookmarks.mydomain.org`)"
      - "traefik.http.routers.bookmarks.tls=true"
      - "traefik.http.routers.bookmarks.tls.certresolver=letsencrypt"
      - "traefik.http.services.bookmarks.loadbalancer.server.port=8081"

volumes:
  data:

networks:
  default:
    external:
      name: gateway

floccus/docker-compose.yml

Again, we save /var/floccuswebdav/bookmarks in a volume for persistence.

Run

Go into floccus directory and deploy the stack with docker-compose up -d.

Install the adequate extension. Click on Add account then select XBEL file method for synchronization. Enter your domain endpoint (https://bookmarks.mydomain.org), user and password.

In map Folder mapping, set Local folder: /Bookmarks/ if you want to sync your bookmarks directly in your top bar.

This is a first step to getting rid of Google but many more things need to be done:

For the 2 later, I suggest to use Nextcloud which has Contact / Calendar webDAV endpoints included.