Warning!
This is beta software! If you have any installations or usage problems please check the User Resources page.
So welcome. Have a sit.
Precompiled / Easy to install packages
- Packages for openSUSE, SLE, Fedora and Centos:
http://software.opensuse.org/download.html?project=home%3Amiguelfreitas&package=twister - Packages for Debian and Ubuntu (thanks @podshumok):
https://launchpad.net/~podshumok/+archive/ubuntu/twister-core-daily - Packages for Ubuntu Vivid/Utopic/Trusty (thanks “Giroll LUG” team):
https://launchpad.net/~giroll/+archive/ubuntu/ppa/+packages?field.name_filter=twister&field.status_filter=published&field.series_filter= - Unofficial twister installer for Windows:
twister Windows installer bundle (external)
Warning: Unsupported. This twister installer is kindly provided by @denis, thanks! - twister precompiled sample web app for Android: (updated 05/Jun/2015 – v0.9.29)
twisterActivity-release.apk (source)
twisterActivity-release.apk.asc (PGP signature for the APK)
Warning: Unsupported. Limited functionality for Android 2.x (no avatar setup). Check Android known issues. - Running twister with Docker:
Automated twister-on-docker build repository
Download and compile
- twister core (get this to compile from source):
https://github.com/miguelfreitas/twister-core - twister HTML user-interface (read installation instructions below):
https://github.com/miguelfreitas/twister-html - Compile native Windows client using Gitian
https://github.com/miguelfreitas/twister-core/wiki/Build-native-Windows-client-using-Gitian - Extra utility: twister DNS seeder (not needed for running twister):
https://github.com/miguelfreitas/twister-seeder
Compiling
First of all, the dependencies: OpenSSL, Berkeley DB (>4.8) and Boost. Check doc/build-unix.md for a complete dependency build instructions.
The generic instructions below are intended for linux-only. Specific instructions for other systems are available:
- Build native Windows client using Gitian
- Compiling twister for Windows (cygwin)
- Mac OS X build instructions
- How to run Twister on ARM (Debian) and OSX (thanks @toyg)
A new unified building system is now available from twister-core:
$ git clone https://github.com/miguelfreitas/twister-core.git $ cd twister-core $ ./bootstrap.sh $ ./configure $ make
Notes:
- If you have problems with libboost detection, the following argument may be needed to configure:
"--with-boost-libdir=/usr/lib64"
(64-bit openSUSE),"--with-boost-libdir=/usr/lib"
or"--with-boost-libdir=/usr/lib/x86_64-linux-gnu"
(64-bit Ubuntu). - Disable logging if you want, but at this point it might help to diagnose problems in case anything goes wrong.
Installing
Contents of twister-html package should be extracted to the directory:
USERHOME/.twister/html
If you want to use it in a different directory please use the argument -htmldir=directory
Note: watch out for the extra directory level, you may use the following commands to make sure the files are extracted to the right place:
$ mkdir ~/.twister $ cd ~/.twister $ git clone https://github.com/miguelfreitas/twister-html.git html
In Windows, the following directories are used:
Windows older than Vista: C:\Documents and Settings\Username\Application Data\Twister
Windows Vista or newer: C:\Users\Username\AppData\Roaming\Twister
Running
Start twisterd with the following command:
./twisterd -daemon -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1
Then you may watch ~/.twister/debug.log
for the complete log of the daemon, including progress on downloading blocks. Note: copy-paste the command line above “as is”, don’t replace “user” or “pwd” because these are currently hardcoded into the html pages. With “rpcallowip” parameter connections are only accepted from your own computer.
The RPC commands can be executed as following:
./twisterd -rpcuser=user -rpcpassword=pwd help
User interface
Then open your browser and access the following URL:
http://user:pwd@127.0.0.1:28332
Please note that registering a new user requires acknowledge from other nodes of the network (the user registration must be accepted into the block chain). On average, a new block is generated every 10 minutes but the exact time cannot be predicted, so it might take anything from like one minute to half an hour.
I admire your work but you gotta create an easier way to install this, I’m a developer but anyways think that you should create a bundle
+1, honestly your audience will grow a lot when ordinary people like me can get the installer and bring it to a full group at a time…
That’s harsh. I can see that this project has a lot of people excited, who are not necessarily C++ developers. Word spread very quickly and there’s a lot of goodwill that should not be wasted.
For starter, the HTML UI could do with some webdev love (which it *is* now getting, looking at commits). Webdevs are not necessarily familiar with make, and even if they are, not many projects ask you to build with custom options.
SURE, IF you want a secure network FOR ONLY DEVELOPERS, that’s what you’ve already GOT.
If you want everyone to join, then something more GUI-easy is needed.
It’s a GREAT first step. An awesome one.
LKCL,
You are right as always. Packaging is the way to go.
Giacomo,
It’s not harsh. The earlier that the effort to package is made, the better off it is.
–with-boost-libdir=/usr/lib/x86_64-linux-gnu
This was needed for me on a newer version of Ubuntu.
I’m impressed. As someone who respects code (but knows little) I just started coding academy in order to design (essentially) this exact software. Synchronicity, indeed. I’m having a hell of a time trying to install this though, I would post bug reports but I’m not sure this is the right place? In any case, I’ll be closely following this project (and teaching myself to code along the way). If there’s anything I can help with, I do have the time and would love to contribute in any way I can to this project.
john: any project should have a bugtracker. on any software libre project, if it’s managed correctly, you should expect there to be a bugtracker. and a wiki. and a mailing list. and an irc channel. certainly not a “buhloggggh”. however there is… rather a lot of lack of education on how to go about setting up and managing a software-libre project, leaving people to think it’s okay to have a buhloogggggguh as a way to manage the huge formal complexity of incremental software improvement purely out of lack of experience.
as a _specific_ answer to the question you asked: on each of the dependencies of the software that you’ve downloaded, they’re done as github projects, right? so, if you find it acceptable to have your details recorded (and possibly sold by github) you should register on github.com then go to that project and submit a bug there.
remember to put as *much* information as you can. what compiler, what operating system, what libraries were installed, and then use nohup or typescript to record the *entire* process of compiling (right from the start of the build instructions).
the worst possible thing you can do is just say “it don’t work” as this just completely wastes everyone’s time including your own. take it from the perspective of handing your own code over to someone else and receiving a report “it don’t work” – what would you ask them to give you as a way to follow *precisely* along in order to *absolutely* replicate what that other person did? _that’s_ what you have to provide.
ok?
Well said lkcl. Well said. Definetely once this is out of alpha stage, the infrastructure will spring up.
FNF would be happy to host this project in the FreedomCenter.
TL;DR: Leave an ‘issue’ on the respective Github page(https://github.com/miguelfreitas/twister-html/issues or https://github.com/miguelfreitas/twister-core/issues). Please make your report as detailed as possible.
lkcl: I personally am not a big fan of your attitude.
This fails building on Fedora 19.
g++ … db.cpp
In file included from db.cpp:7:0:
db.h:16:20: fatal error: db_cxx.h: No such file or directory
compilation terminated.
make: *** [obj/db.o] Error 1
I have Berkeley DB packages installed (db4 and db4-devel).
You should really provide a means to build a SRPM so people can create binary RPM packages for RHEL, CentOS, OpenSUSE, etc, preferly using packaged distribution libraries.
You must upgrade your db4 version (try >= 4.8).
PS: With Fedora you will might need to compile your own openssl as well.
Thanks for the help, got it running. Seams everything needed is included already with Fedora 19/20.
The full sequence I used to build if someone needs it:
yum install libdb-devel libdb-cxx libdb-cxx-devel
git clone https://github.com/miguelfreitas/twister-core.git
cd twister-core/libtorrent
./bootstrap.sh –with-boost-libdir=/usr/lib64
./configure –with-boost-libdir=/usr/lib64 –enable-logging –enable-debug –enable-dht
make -j 8
cd ../src
make -j 8 -f makefile.unix
Hi,
Successfully built on Mac OS X Mavericks as well as Snow Leopard using Macports. The posted build instructions skip the libtorrent step and the environment variables are slightly different – the rest is fine. On Snow Leopard a few of the tools (automake etc) also need to be updated using Macports but that becomes obvious when building libtorrent.
export OPENSSL_INCLUDE_PATH=/opt/local/include
export OPENSSL_LIB_PATH=/opt/local/lib/
export BDB_INCLUDE_PATH=/opt/local/include/db48
export BDB_LIB_PATH=/opt/local/lib/db48
export BOOST_INCLUDE_PATH=/opt/local/include
export BOOST_LIB_PATH=/opt/local/lib
regards,
@troed
i’m stuck at:
clang: warning: argument unused during compilation: ‘-pthread’
ld: library not found for -lboost_system
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [twisterd] Error 1
when running “make -f makefile.osx”
boost is installed with macports
any ideas?
Please post your error to the twister-users mailing list.
In addition to the changed exports in my post the other three from the linked build instructions still need to be done as well. I _think_ your issue might be not having done:
export BOOST_LIB_SUFFIX=-mt
The name of your lib if you check with ‘ls /opt/local/lib’ is likely to be libboost_system-mt
regards,
@troed
You won’t believe me, but I had an idea in the shower during the Christmas break. My idea was to make an encrypted communication network based on the mechanics of bitcoin and DHT. Somehow (I don’t remember now why) I convinced myself that it would not work and it was a bad idea. I am really, really glad you did this! It made me smile. Just downloading the source now…
Same here! My friend Motiejus came over with an idea of building peer-to-peer messaging, and I said why don’t we use something like the bitcoin blockchain. We didn’t get around to building anything, and now it’s already been built
successfully installed on ubuntu 13.10
you can follow me @aron
Successfully installed on Lubuntu 13.10. The idea of Twister is great) Thanks
Why do I get this every time I run the program. Got the same error on two different hosts.
I tried to reset .twister directory but it does not help.
twisterd: key.cpp:148: {anonymous}::CECKey::CECKey(): Assertion `pkey != __null’ failed.
./bjorn.sh: line 2: 9948 Aborted (core dumped) ./twisterd -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1
Seam to be a “bug” with openssl on Fedora, a eliptic crypto needed by bitcoin is not included due to legal issues. Works fine with custom built openssl.
I want to download and play with this, but I am no get at technology. How do I do this? How can I help?
Can someone please post a simple tutorial to install Twister on Lubuntu? I’m not an expert… thanks a lot.
Could you check which version of Lubuntu you’re running please..
$ lsb_release -a
I’ll google to find out which ubuntu that actually is and update you but it shouldn’t be too hard
Has anyone attempted the Windows process, especially Windows 7 64?
Awesome idea. You have to start the full windows installer for to grow faster and sooner.
with Ubuntu 13.10/i386, I needed to append “–with-boost-libdir=/usr/lib/i386-linux-gnu/” to the ./boostrap command to build libtorrent
I really like the idea of this, I’ve been fed up with the spam walls that have gone up in the past couple of years like Facebook and Twitter where people crap out every aspect of their life to you. It’s about time someone made something like this. I have to agree with the other users that posted that it does need to be easier to install, I’m not really a coder but I will have a poke around and see what it’s like.
Twister is a wonderful idea. I love how in the wake of the NSA revelations, there is more and more emphasis on decentralisation, encryption and annonymity. Did you know it took the English some 800 years to conquer Ireland? Why? Because Ireland didn’t have a centralized system of government, but an anarchial system of chiefs and judges. Overthrowing one king is no biggie, but it’s difficult to overthrow a decentralized system!
But I digress…
Anyway, seeing as that Twister allows messages to be sent to a recipient with a human readable but annonymous nickname, I got this Idea that Twister would be perfect for authentication! (Instead of trusting Doh!gle or Facepalm)
I’ll just throw this idea out there to whoever has more skillz and time than I do:
To log into a site or post a comment, the user would write his Twister name in a box, after which the authentication service or website script sends a unique password to that twister account. The user uses the password to log in, like those SMS authentication services. The service could either be hosted on the webpage or as a separate service. If hosted as a separate service, on one hand it requires trusts that the service will not misuse the password, but on the other hand it could provide a global karma ranking to filter out spammers and people who can’t behave properly. Maybe the service itself can be distributed somehow? Or even completely automated?
I know you guys can figure something out, you’re very clever. So please take my idea and run with it. I’d be happy to see something like that.
There is a problem with Windows 8.1. I used the win-package, just unziped it and start with http://127.0.0.1:28332/network.html. The Daemon seems running, but the Connection status is “Connection lost” (actually the german counterpart “Verbindung verloren”). Any idea on how I can solve this issue?
I also tried the android apk and I managed to create a private key but now i’m waiting for other users to accept me as new user.
Try manually adding seed.twister.net.co / seed2.twister.net.co / seed3.twister.net.co into the Network page.
I think it should work either in “add node” (this will add just a single node to connect immediately) or “add DNS seed” (this will obtain a list of nodes from seeder) fields.
A similar idea but slightly different is Nightweb, https://nightweb.net
I’m looking forward to trying Twister. Congratulations on the release and media.
Have you noticed twitter has a new design and most people think it sucks. Now is a good time to promote Twister buy setting up a Twister account on twitter, then you can try to get more coders involved with Twister. You also need to make some instructional videos on how to set up Twister.
I’m a french journalist in freelance and I try to wright a paper about Twister. I’m looking for a (french, if it’s possible) nearly adopter who would like to talk to me about is experience on Twister. Thank you.
Salut!
Tu devrais demander à @bortzmeyer ou s’il n’a pas le temps à moi.
A+
Salut Enrique o/ je suis une utilisatrice de twister depuis janvier. Tu peux m’écrire à mylene at instants-suspendus.net
salut utilisateur de twister également
If I could add just one line to the instructions…
sudo apt-get install libdb5.1++-dev libboost-locale-dev libboost-thread-dev libboost-program-options-dev libboost-filesystem-dev libboost-system-dev libboost-dev
(it may save the next guy a few annoying iterations to find each manually)
Hey, I solved lsboost problem with this help in my Ubuntu http://stackoverflow.com/questions/13058367/problems-with-configure-for-libtorrent-on-linux
Thanks. I’m eaiting for the net.
VEry useful and nice project
Is there documentation about the wire protocol?
I’d love to implement a peer that only does storage/distribution.
The wire protocols are the same used by Bitcoin and Libtorrent, except for the signature differences as described here: /?page_id=21
Hey Mr. mfreitas can you help me with this error. Ajax error: bad post signature I downloaded and installed Unofficial twister installer for Windows: twister Windows installer bundle (external) It has been working ok but now I get that error message every time I try to retwist someones comment or if I try to post a comment. Please help.
The instalation is OK until command “make”
$ make
make: *** No targets specified and no makefile found. Stop.
When I run:
$ ./twisterd -daemon -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1
bash: ./twisterd: No such file or directory
I dont know what can I do, thanks in advance for any help.
I think for most Windows users, they need compiled version.
thank you so much. from china, inside the great fire wall. but not easy to install
Ubuntu PPA for twister.
https://launchpad.net/~podshumok/+archive/ubuntu/twister-core-daily
Hi Miguel,
Can you please email me? I am very interested in helping you develop Twister into something everyone can eventually use.
Thanks,
Jake
I’ve installed this on Linux Mint 17 and it seemed to compile and run with no problems, but when I go to the interface in the browser, it’s blank. The log says .twister/html/home.html is not found, and indeed there’s no html dir at all – any idea what may have happened?
I want this software.Thanks!
It app is very usefull for all puplic.
Urgente un cliente de Android !! (app)