Bitwarden Extension results in significant lag OS X Chrome Browser Like many of you I switched to Bitwarden after Last Pass started charging for 1 device. After I installed the Chrome extension I noticed that typing in gmail would be lagged.
monument-cli | |
first-contribution 1 | the CLI for rapid development with monument javascript, cli, node.js |
libgit2 | |
up for grabs 22 | libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings. c, git, libraries, dvcs, vcs |
Rust | |
E-easy 43 | A systems programming language focused on safety, speed, and concurrency. oss, systems, rust, language |
bypass-cors | |
up-for-grabs 3 | A proxy server to bypass CORS (Cross-Origin Resource Sharing) enabled servers. oss, go, cors, rest-api, html, css, javascript |
pyAFL | |
up-for-grabs 2 | Python AFL (Australian Football League) library for collecting/analysing AFL data afl, australian-football-league, sports-analytics |
LocalAppVeyor | |
up-for-grabs 1 | Run your AppVeyor builds, locally appveyor, build, console, command-line, c#, .net, .net-core |
Bookmarker | |
up-for-grabs 1 | Convert your Google Chrome's bookmarks into markdown files elixir, chrome, bookmarks, shell, markdown |
Open Live Writer | |
help wanted 45 | Open Live Writer makes it easy to write, preview, and post to your blog. c#, winforms, desktop |
Microsoft Azure SDK for .NET | |
help wanted 11 | This repository contains official .NET libraries for Azure services. .net, c#, microsoft, azure, cloud, sdk |
JabRef | |
good first issue 28 | JabRef is a reference management software that uses BibTeX and BibLaTeX as its native formats and is therefore typically used for LaTeX. What makes JabRef development special is that two developers will review each pull request to ensure high quality. latex, bibtex, biblatex, doi, pdf, java, javafx, junit, gradle |
Bitwarden Server | |
help wanted 1 | The Bitwarden Server project contains the APIs, database, and other core infrastructure items needed for the 'backend' of all bitwarden client applications. The server project is written in C# using .NET Core with ASP.NET Core. The database is written in T-SQL/SQL Server. The codebase can be developed, built, run, and deployed cross-platform on Windows, macOS, and Linux distributions. .net, .net-core, password-manager, c#, cross-platform, bitwarden |
Bokeh | |
good first issue 34 | Interactive visualization library for modern web browsers. python, javascript, visualization,>Orleans |
help wanted 47 | Orleans - Distributed Actor Model .net, c#, microsoft, azure, cloud, distributed, actor, programming, model |
Feed the flames | |
up-for-grabs 1 | Simple game concept made with CraftyJS javascript, game, craftyjs, jquery |
Blizzard ApiReader | |
up-for-grabs 1 | Csharp library responsible for reading Blizzard apis c#, .net, rest-api, game, gamedev |
SAFE-BookStore | |
help wanted 1 | Working sample of a SAFE-Stack project with hot reloading f#, .net |
Rang | |
help wanted 3 | A Minimal, Header only Modern c++ library for colors in your terminal c++, cpp, cmake, windows, linux, coverage, travis |
content-management-sdk-net | |
up-for-grabs 2 | Kentico Cloud Content Management .NET SDK .net, .net-standard, c#, content-management, sdk, kentico, kentico-cloud, cms, headless-cms, caas |
Solidity | |
help wanted 6 | The Solidity Contract-Oriented Programming Language ethereum, solidity, c++, compiler |
Godot Engine | |
junior job 57 | Multi-platform 2D and 3D game engine c++, cross-platform, gamedev, opengl, 2d, 3d |
dotnet-mono | |
help wanted 2 | dotnet utility to run .net full apps using mono on OSX/Linux .net, mono, f# |
LibreMesh.org | |
good first issue 6 | OpenWrt packages composing LibreMesh meta-firmware for wireless mesh networking lua, mesh, openwrt, firmware, routing, wireless |
Air and Ground Monitoring Information System using Arduino UNO R3 | |
documentation 1 | The monitoring system for air temperature, soil moisture and soil ph uses the Arduino Uno R3, where this system can assess soil conditions based on certain parameters to determine the soil is in good condition during the planting process arduino, iot |
The Lounge | |
help wanted 33 | Modern web IRC client designed for self-hosting web, node.js, irc, chat, javascript, css, html |
Redux Saga Test Plan | |
up-for-grabs 5 | Test Redux Saga with an easy plan! Declarative APIs for unit testing and integration testing sagas. javascript, redux-saga, redux, reactjs, sagas, testing, unit-testing, integration-testing |
Mint | |
Up-for-Grabs 8 | Mint is financial tracking app made on node js html, css, css3, bootstrap, finance, node.js, javascript, mocha-js, passport-js, html5, easy, simple, web |
html-duration-picker.js | |
up-for-grabs 2 | html-duration-picker.js is a very tiny JS library to turn native HTML text inputs into duration pickers. The aim is for the picker to feel like a native element as much as possible. html5, input, duration, picker, javascript |
EnumFP | |
help wanted 2 | Functional Enum type / Sum type for javascript with simple pattern matching enum, functional, functional-programming, sum-type, pattern, pattern-matching, javascript |
Couchers | |
good first issue 22 | Couchers.org is an online platform for the global couch-surfing community. python, sqlalchemy, grpc, javascript, reactjs, typescript |
FakeItEasy | |
up-for-grabs 1 | The easy mocking library for .NET tdd, unit-testing, mocking, .net |
bootcamp | |
Hacktoberfest 2 | A mini social networking application using Flask oss, web, flask, python |
vidar | |
help wanted 3 | A flexible video-editing library for the browser javascript, vanilla-javascript, video, video-editing, automation |
Legesher | |
good first issue 1 | The bridge between the words we speak and the code we write. html, css, ruby, python, javascript |
dotman | |
up-for-grabs 6 | dotman is a simple, elegant & easy to use dotfiles manager automation, bash, shell |
restedancestor | |
up-for-grabs 1 | simple REST API, focused on quotes from the Ancestor of the Darkest Dungeon videogame go, api, rest |
DynamicsCRMProvider | |
up-for-grabs 1 | A type provider for Microsoft Dynamics CRM 2011. f#, .net, type-provider |
Ancient Beast | |
easy 22 | Turn based strategy indie game project, played against other people (or bots) in hotseat or online modes, featuring a wide variety of units to acquire and put to good use in order to defeat all your opponents in battle. This project was carefully designed to be easy to learn, fun to play and hard to master. Keep fighting! oss, javascript, web, strategy, game, chess, node.js |
MBrace.Azure | |
up-for-grabs 1 | Microsoft Azure PaaS implementation for MBrace f#, .net, mbrace, cloud, azure |
overworld | |
up for grabs :zap: 7 | Social video game discovery and gaming journal. reactjs, javascript, python, django, django-rest-framework, video-games, gaming |
Tensorflow | |
good first issue 2 | An Open Source Machine Learning Framework for Everyone artificial-intelligence, deep-learning, machine-learning, python, deep-neural-networks, neural-network |
go-rejson | |
up-for-grabs 2 | Golang client for redislabs' ReJSON module using Redigo golang client. oss, go, json, redis, client, rejson |
Marten | |
up-for-grabs 4 | Use Postgresql as a Linq-Enabled Document Db and Event Store for .Net database, postgresql, .net |
topalias | |
up-for-grabs 6 | Linux bash/zsh alias generator and statistics from command history. Add contributors to README.md python, linux, cli, bash, alias, utility, console, statistic |
Cordovue | |
good first issue 1 | A sample Apache Cordova application using VueJS. html, css, javascript, ecmascript, vuejs, cordova, cross-platform |
AskQL | |
help wanted 14 | AskQL is a new query language that can express any data request using fully functional programs language, typescript, oss, parsers, parsing, virtual-machine, vm, askscript, askvm |
blockstack.js | |
good first issue 3 | The Blockstack JavaScript library for identity, auth and storage. reactjs, javascript, blockstack, blockchain, dapp, identity |
async-cache | |
up-for-grabs 2 | A caching solution for asyncio asyncio, async, python, lru, cache |
FractalZoo | |
up-for-grabs 1 | An Android fractal vizualisation app android, fractal |
pnpm | |
help wanted 18 | Fast, disk space efficient package manager node.js, javascript, package-manager, installer, npm |
Open Source Event Manager | |
good first issue 1 | Event Management App Tailored to Free Software Conferences ruby, rails, html, css, javascript |
Add user(s) to the docker group. The default user would be pi. However, I highly recommend deactivating the default user.
Reboot and then test docker
Install more dependencies
This is the most annoying part of the story. You can either choose to use letsencrypt or a self-signed openssl-cert. Letsencrypt will only work, if your service will be exposed publicly. Also, letsencrypt is fairly easy to setup, so I will focus on a self-signed openssl-solution.
First, we’ll need a “virtual” certificate authority (CA) that will actually sign our certificate later. If you already have a CA, you can skip this. The first command creates a private key, the second command creates the root certificate of our CA.
Now, we’ll need to create a “client” key and a certificate signing request, which will then be “sent” to our CA.
For the actual signing, we’ll also need an extension file. I ran into problems with OSX and iOS without adding the used extensions during signing. Neither OSX, iOS nor Google Chrome accepted the certificate without those extensions. Create a file openssl.cnf
Replace <hostname> and <ip> with your actual values.
Finally, the actual signing:
The certificate you’ll need to deploy on your devices is the root certificate. Yes, this will also work on iOS.
We’ll use the bitwarden_rs docker container. It uses sqlite instead of MSSQL, which is not available for ARM.
If docker successfully downloaded the image, you can run it as follows. I simply created a small bash script.
The ROCKET_TLS argument tells bitwarden, where it can find its key and certificate. The values describe paths within the docker container. For these paths to work, we’ll need to supply a volume mapping (-v). The additional volume mapping bw-data is a volume for bitwarden to store its actual sqlite “database” in. Internally, bitwarden will bind to port 80. Since we know/hope it’ll run SSL, we can map internal port 80 to 443.
If everything works, you can reach your bitwarden vaults on https://<hostname>
You’ll most likely run into SSL problems. Good luck.
Read this article.
Show running docker containers
Logs and events
Run command within a docker container
Netstat (works w/o actual netstat binary in container. Cool, eh!?)
A word on IPv6. Initially, when bitwarden didn’t work during my first attempts, I was confused by the output of netstat. It showed, that the destination socket for https was only bound to tcp6. This shouldn’t be a problem, though, because bitwarden also sets up a couple of iptables rules (# iptables -L). However, if you think it might be a problem on your machine, try the following things in your /etc/sysctl.conf
At one point, I even completely disabled IPv6 via the kernel command line. However, that introduced even more problems.