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:
Bitwarden
password managerFloccus
bookmark manager
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
- Client extension with minimum local storage
- Autopaste credentials
- One Time Code autocopy after successful login
- Configurable password generator
- Password sharing & user groups
- Supports FIDO to connect to the web interface
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
ctrl+shift+u
unlock Bitwardenctrl+shift+l
autopaster login credentialsctrl+shift+9
generate a new password and store it in the clipboard
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
- Extension for all major browsers
- Standard WebDAV format
- Auto sync
Cons
- Extension cannot be installed on mobile (except Kiwi browser at the time of writing)
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:
- self-hosted Contacts lists
- self-hosted Calendar events
For the 2 later, I suggest to use Nextcloud which has Contact / Calendar webDAV endpoints included.