Rotonde on Windows

This is a quick tutorial on how to install Rotonde on windows. 

Things to know:

One of the issues with this windows build of beaker is that it won't support utp-native. It shouldn't be an issue as tcp can be used as a fallback, but performance will be a lot worse.

[update, October 18th] Goldbuick has pushed a fix for windows to the utp-native project. It will take some time for this to be integrated, tested, and released for beaker browser. But it looks like an actual version of beaker for windows will obsolete this guide in the near future. Check the beaker website for a windows build before continuing with this guide. Once a windows build is published, my guide will be obsolete.

[update, October 28th] There is now an experimental windows build. Please see if this works for you before proceeding. 

Getting Started:

First, let's start with the standard installation instruction here at https://louis.center/p2p-social-networking/. However to install breaker browser on windows you'll need some special steps. It's not officially supported, and does have performance issues.

Or, you can download my binary here - although I would encourage you to distrust random zipped executable's on the web, and build it from source yourself.

Installing Beaker Browser on Windows

The vast majority of the work was done by an individual here. I'll re-post the steps with the minor variations I had to use to get it to work for me.

Requirements:

Setup an environment variable named NODE_PATH set to "%AppData%\npm"

Installation:

In a terminal run the following to first get breaker browser at the same revision as the released/supported version.

C:

cd C:\

git clone https://github.com/beakerbrowser/beaker.git

cd beaker

git checkout 3a3d82e1af2517e266b05a38446528d4b8176595

Now build breaker browser for windows. Note, you should change 2015 if that's not the version of visual studio you have. I've only tested with 2017.

npm config set python c:/python27

npm config set msvs_version 2015

npm install -g node-gyp

npm install -g gulp

npm install hyperdrive

npm install electron-rebuild

npm install

The original blog post seems to have an issue with compiling, I didn't but you can read about it here and see if it helps you in case of any issues with the above command.

Now let's go fix the dependency chain. I'd like to note that running prepublish in the sqlite3 directory didn't work for me, and it didn't seem to matter. It could be the version of node I have already installed, but it seems to not be a problem. Run the following in a terminal:

cd app

npm rebuild --runtime=electron --target=1.5.0 --disturl=https://atom.io/download/atom-shell --build-from-source

gulp build

cd node_modules/sqlite3

npm run prepublish

node-gyp configure --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.7-win32-x64

node-gyp rebuild --target=1.7.0 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/atom-shell --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.7-win32-x64

cd ../../../

npm start

Fin.

From this point you should be able to follow the standard tutorial. Good luck!