Freedom To Share Newebe is a Distributed Social Network version 0.7.1 Debian Package Dockerfile Ansible Playbook





Share Share your thoughts, your feelings, your links and your pictures with your contacts. Own Each user hosts his Newebe instance, you keep your data safely in an enviromnent you own. Fast Newebe does not need to handle millions of connections, he just serves you and your contacts. Free Newebe is a free software, you control the code and its behavior.





Install it

or



Try the demo

Install Installation on a debian (testing) server: sudo apt-get update sudo apt-get upgrade wget https://newebe.org/newebe-0.7.1.deb - sudo dpkg -i newebe-0.7.1.deb sudo apt-get install -f Then your newebe will run on port 8282. On Ubuntu 12.04 you will have to install this package manually: wget https://launchpad.net/ubuntu/+archive/primary/+files/python-cssselect_0.6.1-1_all.deb sudo dpkg -i python-cssselect_0.6.1-1_all.deb Installation on a remote server for Debian or Ubuntu users from your local computer: This one will setup newebe on your remote server directly from your desktop computer. It requires root ssh access to your server. apt-get install python python-setuptools python-pip pip install fabric fabtools wget https://raw.github.com/gelnior/newebe/master/deploy/fabfile.py fab setup -H myrootuser@myhosturlorip Then your newebe will run on port 8000. Update On your remote server, simply type this lines: sudo pip install git+git://github.com/gelnior/newebe.git sudo supervisorctl restart newebe Manual way for Debian or Ubuntu user step 1 Install following packages sudo apt-get install python python-setuptools python-pip python-pycurl python-dev python-imaging build-essential couchdb git libxml2-dev libxslt-dev openssl supervisor step 2 Get and install Newebe sudo pip install git+git://github.com/gelnior/newebe.git step 3 Ensure database is started by running this command, if there is more than one line, it's ok : ps -ef | grep couchdb If it's not ok, start the database manually : sudo /etc/init.d/couchdb start step 4 Create a newebe user and prepare newebe folders. sudo adduser --disabled-password --shell=/bin/bash newebe sudo su newebe cd mkdir newebe mkdir newebe/certs step 5 Create certificate for HTTPS. This will ask some questions, answer as you like: sudo su newebe cd ~/newebe/certs openssl genrsa -out ./server.key 1024 openssl req -new -x509 -days 3650 -key ./server.key -out ./server.crt step 6 As root user, set supervisor configuration for Newebe server. Create a file /etc/supervisor/conf.d/newebe.conf. Fill it with following content : [program:newebe] autorestart=false command=newebe_server.py redirect_stderr=true user=newebe step 7 Start newebe sudo supervisorctl update Start newebe step 8 Check that everything is fine via your web browser : go to the URL https://ip:port/ In case of your newebe is not started, try the following: sudo pip install importlib sudo supervisorctl start newebe

FAQ Why Newebe is different from Diaspora, Friendica, Movim, SàT... ? Newebe differs from the federated approach because it is designed to be only self-hosted. You can't suscribe to any server, you have to setup your own.

It brings several benefits: real privacy: your data are at home and no third party is involved during communications

hackable: it's your newebe, you can change what you want, make it looks another way, build a command line client, create another module...

It's fast, newebe does not need to serve millions of connections each day, only yours and your contact ones.

personal data store: you can take advantage of your data by reusing them, making search on them or mix them.

highly interoperable: your data are accessible through a complete REST API. Does it work or is it another Vaporware ? It works pretty well, Newebe is built in an agile way, short iterations and working software. I use it every day since almost three years. Do I need a server to host Newebe ? Yes you need a Linux based server. Don't be afraid, nowadays owning a web server is a common practice! You can either Rent it online

providers: OVH, Online.net, Rackspace, Amazon, Gandhi...

providers: OVH, Online.net, Rackspace, Amazon, Gandhi... Or buy it and plug it at home

devices: RaspberryPi, Sheevaplug, Dreamplug, Guruplug, Tonidoplug, Synology, Cubieboard...

Documentation Main concepts Actually the usage of Newebe is quite simple. Once you understand the notions of URL and contacts, everything is easy. URL is the URL which you used to connect to your Newebe. Your contacts need it to know where they have to send their data when they want to reach you. When you add contacts you give them your URL. That's why you have to register it the first time you connect to your Newebe.

Newebe URL looks like this:

http://www.myurl.com:8000/ or http://80.23.143.123:7500/ depending if you have a subdomain linked to your Newebe and the port on which Newebe is set up. Contact A contact is described by its URL. At this URL lives its Newebe. So to add a friend in your contact list, you need to add the URL of its Newebe to your contact list. Contact list All contacts can be annotated with tags. Once a contact is tagged, it is part of the list corresponding to this tags. When you share you must select a tag to tell which list of contacts will receive your post or your picture. Command Line Client A CLI is available. You can post and read messages from the command line. More details here: Newebe-CLI More For more informations about Newebe you can check the wiki.

Developers Get the code You can clone the project with Git by running: $ git clone git://github.com/gelnior/newebe Then follow the Commit policy Then follow the README instructions to set up your development environment. Before starting any development, please inform me via the mailing list. It could save you time and will make integration easier. Then fork the code from github, code and make a pull request with comments about what you did. Please document every code you push or it will be rejected. What to do Newebe must stay simple and easy to use. Moreover, there is a lot to do to make it reach its goal. So, if you don't know where to start, focus on big issues that are listed below. They are mandatory to make newebe production ready. Short specifications about what you do are welcome too. Issues Here are the main issues to solve : Security

Internationalization

Define a communication protocol or reuse an existing one

Use an embedded database instead of Couchdb

Find a way to reduce dependencies For more details about a subject, send an email to the mailing list and I will answer as soon as I can. Under the hood Server is powered by... Client is powered by...