Download

Warning!

This is alpha software! In other words: this software is probably difficult to compile, it is not feature-complete, it can be unstable, and it may crash causing data loss. You have been warned.

If you choose to continue you probably must fall into one of the following categories:

  1. You are a developer.
  2. You are an early adopter (who wants to reserve your nickname).
  3. You are a masochist.

So welcome. Have a sit.

Downloading

Please read User resources page for important tips running twister.

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:

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.

Please check Running twister for the first time from User Resources page.
45 comments on “Download
  1. 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

    • Hervé S. says:

      +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…

    • Giacomo says:

      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.

    • Egmont Ouerveture says:

      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.

  2. Twist and Shout says:

    –with-boost-libdir=/usr/lib/x86_64-linux-gnu

    This was needed for me on a newer version of Ubuntu.

  3. John says:

    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?

    • My Full Name Here says:

      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.

  4. skies says:

    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.

    • mfreitas says:

      You must upgrade your db4 version (try >= 4.8).
      PS: With Fedora you will might need to compile your own openssl as well.

      • skies says:

        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

  5. troed says:

    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

    • h says:

      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?

      • mfreitas says:

        Please post your error to the twister-users mailing list.

      • troed says:

        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

  6. Phil says:

    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 :-)

  7. Aron says:

    successfully installed on ubuntu 13.10
    you can follow me @aron

  8. SnapDragon says:

    Successfully installed on Lubuntu 13.10. The idea of Twister is great) Thanks

  9. skies says:

    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

    • skies says:

      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.

  10. Angel Clark says:

    I want to download and play with this, but I am no get at technology. How do I do this? How can I help?

  11. iam says:

    Can someone please post a simple tutorial to install Twister on Lubuntu? I’m not an expert… thanks a lot.

    • David Stark says:

      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

  12. Has anyone attempted the Windows process, especially Windows 7 64?

  13. jim says:

    Awesome idea. You have to start the full windows installer for to grow faster and sooner.

  14. trifith says:

    with Ubuntu 13.10/i386, I needed to append “–with-boost-libdir=/usr/lib/i386-linux-gnu/” to the ./boostrap command to build libtorrent

  15. Lethn says:

    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.

  16. The Monkey says:

    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.

  17. Rene says:

    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.

    • mfreitas says:

      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.

  18. Sam says:

    A similar idea but slightly different is Nightweb, https://nightweb.net

    I’m looking forward to trying Twister. Congratulations on the release and media.

  19. Snarkly says:

    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.

  20. Enrique says:

    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.

  21. cryptomars says:

    Salut!

    Tu devrais demander à @bortzmeyer ou s’il n’a pas le temps à moi.

    A+

  22. mylene says:

    Salut Enrique o/ je suis une utilisatrice de twister depuis janvier. Tu peux m’écrire à mylene at instants-suspendus.net

  23. fredix says:

    salut utilisateur de twister également

  24. עירא says:

    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)

  25. 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

  26. Dirk says:

    Is there documentation about the wire protocol?
    I’d love to implement a peer that only does storage/distribution.

  27. Snarkly says:

    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.

  28. herra says:

    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.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>