Vole

Peer-to-peer social web

Vole is a web-based social network that you use in your browser, without a central server. It's built on the power of Bittorrent, Go and Ember.js.

Screenshot

How it works

Vole feels and behaves like the web apps you're used to, but it works completely differently. Instead of the web browser sending your data to a central server, it connects to your local machine, saving your data to a folder on your computer.

This folder is shared with other Vole users by giving out a read-only key that allows them to see a stream of your posts, updated live on their computers. By exchanging keys with your friends or people who you'd like to follow, you can form a network that is self-supporting and self-controlled.

Technical details

Vole has a web frontend and a backend. The backend is a simple web server running on your local machine (written in Go). This backend serves data to the browser as JSON over REST endpoints, and writes .json files back to your hard drive in a structured way. Your data is thus available locally as simple text files in JSON format.

Because Go applications compile to a single binary file, you don't have to install any dependencies to run Vole. No language runtime or virtual machine. No Ruby On Rails, Python or node.js. This makes Vole easy to run and distribute.

The core Vole application doesn't yet manage any of the syncronization, this is handled by Bittorrent Sync and potentially any other folder sync application that you may find suitable.

Why another network?

To understand why Vole exists, consider some of the drawbacks of existing social web application design:

Large server processing power

Since every user connects to a central location, the large social networks run server farms that consume huge amounts of bandwidth, energy and space, while often the user's desktop computer and internet connection are underutilized.

Single point of failure

When the servers go down, the network goes down. This opens up an opportunity for attackers to run denial-of-service attacks and otherwise attempt to disrupt the network by going after the central point. The Vole network is designed to not have a single point of failure.

Censorship

Existing social networks are typically created and maintained by companies under the jurisdiction of a country's laws. This makes them vulnerable to censorship and political interference. The Internet, however, is global - and so laws that govern one country don't necessarily apply in others. The Vole network has no physical location, no censorship and is resistant to political attempts to block it.

Data ownership and legal terms

You shouldn't have to agree to a terms-of-service legal document in order to create networks with people. Vole gives you full control and ownership of your data.

Vole's approach

Vole takes a distributed approach to social networking.

Cross-platform

Our goal is to be totally cross-platform, and by building on existing open web standards, Vole can be accessed from any device with a web browser. We currently have builds for Mac, Windows and Linux and are using HTML5 best practices in our front-end development.

Open source

With a liberal MIT license, Vole is available for anyone to use, modify or distribute.

Get started!

If you're an interested developer, get started right now, we have pre-release builds available and instructions for contributing. Check out the Vole Github repo.

Contact us

Current Vole users

Name Key
Vole team updates RA32XLBBHXMWMECGJAJSJMMPQ3Z2ZGR7K
Mark RSBKDFDKOFJUCBBCS3Y3UXZLDJPHBCFDH
Aaron RO62RI5IQPFSY4VCIJTXI62SKSKSETIHD
TT R6JW3JFPOLR3JRH746EQ26FJEXQZMEUOA
Joe Provo R3JA4MBEOS5JFZEVHYGAMEHIP6Y3CPH2Y
Dario Castañé RW2MTVZFHGP5JCOJKCFYZZRWI66GXDCNO
Doug Belshaw BNBK7XI7INMFAUQA625WLIL7NIWDHIA3G
Fil RC3HYDEQOQWTSHD3K7EX6NGMNZGLSB542
Nicolas Hoizey RIHGSN3V2X5WPURMDJWCAEWNYN6C2F6SA
Frank Taillandier RIDV53LM6PVOWXSEGNM463NIJNCBAM2TD
Chris RRKKHSTIXEWGCQUQV5IJQTZ36VHTYXPPO
Nicolas Dubois RCZ7OL4SMMJSZZZVKUL522NTAON2HCXOA
Maxime Thirouin (@MoOx) RKIBX4OWDH42VO236R7RB5QAVJCM7SHWW
Dave Hansen B6IFC4JDSFHLG73SXG646SDV7ANVOUL4H
maxlath BEB4VYX2FUZI6FYX3TRXKNWR4S3KH7VME
Lucas de Avilla B774UZH67DTNCYBFQQ7AQQU2P5QPEWIFA
Carlos Duarte do Nascimento (@chesterbr) BARX4IIOYKIG4VVNIELWANJ4UOUMHAC3H
Fabricio Campos Zuardi BOYYQ536LRCVQATHVL4JTIALHWL7FHNWI
pitr BO45PGFGAUT57ESL455QJD7CDD7OUEAIW
Myles Braithwaite (@mylesb) BYQB7YDRRJXR6SRISZZKIKYUQHVVOKW5G
Rivsen Tan (@Rivsen) BWIRJSEWXRQD4WCKS5PUN2HBFIFF4U5KU
Mike Manilone (@ekd123) BES5XB3BKKPNAF2SWLG2IZA5JYDBVBNKF
Bla Mbin (@blambin) BVBSY4BRM555TOFIUQFZL4Z4ZRB2CQVPQ
Vole中文圈 (@VoleChina) BTE2K4RE3L6PLWWECYVG62PAAWTA6NSQX
Nils BFJV3ZWL4LAZZDQE3NSAM44V2NJUBU2RF
Michael Wheeler (mwheeler.org) BBUV44HNJG47ELMVO7S5YHIQFGGYKWQKO
Joe R B5FSQJ5XS7Y4VJN26UGGSIUWJYC4M43Y7
Jason BIF6A3OSCBHQMQDQBWUEBTBTUZXOBZXYJ
diCoy BQFD4XJ4VM2GIJJ7O2X226JJKZIAA2SGV
Chosenken BPUAVU6VOOTE3O5PQUQYZMNGGT3LCDOBS
lexoyo (@lexoyo) BMUOSWOXMFUCTFKM2MRBJW4SV5KVLWV5Y
csmpls B64S2JYK2CIVIWQGBU4EULZZQAI4H4MA2
Mescalinich BV62NFOU5EWOOWPTT23ZMC5BDNMZLFCSO
Federico Ramallo BCKBKGDO2JO6ILBJJSFENZEAUWR42S3GX
SaucyFox BZLMJMGALIIY746TQDTKSXF3GSQOWSRG3
dustincurrie ACF3LXV6BJGCRQZ3TXWPM43FPVGREQJMS
SHIMIZU Taku (@takuan_osho) B7JZA2NTPPAITW3CSL56TI3THKHC5IMBY
Julio Bastida (@lordPalpatine) BY6UQG4ZPKFHSCAIXFQG5FDGOYUPKS4YK
asaaki BCV5VJSBXOI2SGAGJKYEKIMY7ADQY3F4K
Wolf B7ETKNKEJ2RMYSU6J2DJTUD7ZF5Y2ETVF
GuGuss B6DX4JFNSV2IRBOBXVQTQ2YQLK4C4JGZL