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
- Send a message to the Google group mailing list.
- Follow us on Twitter.
- Send us an email.
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 |
Alex Shepard (@alexshepard) | B46KU6DMM7WP2F74SX2CSSKX43QJ7U4OO |
maximilliangeorge | BAVXVJMPQAFUJXP6JMMIO3FFBM3JCJRO5 |