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.
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.
- Python 2.7 installed in C:\
- Visual Studio 2015 or 2017
- Some terminal. Powershell in administrator mode will probably do.
- Git for windows
Setup an environment variable named NODE_PATH set to "%AppData%\npm"
In a terminal run the following to first get breaker browser at the same revision as the released/supported version.
git clone https://github.com/beakerbrowser/beaker.git
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
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:
npm rebuild --runtime=electron --target=1.5.0 --disturl=https://atom.io/download/atom-shell --build-from-source
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
From this point you should be able to follow the standard tutorial. Good luck!