Giter Club home page Giter Club logo

hacktunnel's Introduction

HackTunnel

HackTunnel is web-based peer-to-peer chat software for anonymous and encrypted communication. Chat messages are encrypted twice: with TLS and OTR.

With HackTunnel you won't need any IM applications, just a browser:

  1. Navigate to https://hacktunnel.com or https://hacktunnel.com/your_unique_tunnel_name.
  2. Enter pre-shared passphrase (highly recommended) and click "Start".
  3. Share your browser's url address with your friend.

And here you go, chat room is created and ready to use.

HackTunnel is fully open sourced and licensed under AGPL. You can easily set up your own instance of HackTunnel and communicate with your friends securely!

How to setup your own server

Required OS: Linux or FreeBSD with Redis, NodeJS and Go language installed.

go get github.com/nats-io/gnatsd
cp nats-server.conf.sample nats-server.conf
gnatsd -c nats-server.conf &
redis-server &
make get-deps
make
cp hacktunnel.conf.sample hacktunnel.conf
make run

Navigate to http://localhost:2000

See comments in hacktunnel.conf.sample for setting up server parameters.

Plans

  • Add optional nicknames/usernames support
  • Add WebRTC support for video/voice conferencing
  • Support chat rooms for more than 2 peers
  • Support for majority of browsers (including browsers for mobile devices)
  • Button for changing current chat background

License

AGPL 3

hacktunnel's People

Contributors

ro31337 avatar

Stargazers

 avatar  avatar  avatar Alex avatar  avatar  avatar Dima_Novik avatar  avatar sagar jethi avatar Sandeep Sangamreddi avatar GAURAV avatar Kapiveer avatar Alexandr Zherdev avatar  avatar Sardach avatar Suri avatar Andrey avatar mva1985 avatar cristianminicaionut avatar Vitaly Filimonov avatar Mathieu avatar Paul Fariello avatar David A. Lareo avatar Chiu-Hsiang Hsu avatar Lorin Zahra-Newman avatar Ali Torki avatar  avatar Max Rugen avatar Ruslan Salikhov avatar 王可森 avatar  avatar Sylwester Lachiewicz avatar Matt Sylvia avatar Nikhil  avatar Alessio Delmonti avatar Che-Wei Lin avatar David LOIRET avatar Andrey Shcherbinin avatar Matt John avatar Spencer Thayer avatar ingemar avatar Alec Burgdorf avatar Hady Mahmoud avatar Albert Le Batteux avatar Bazyli Brzóska avatar Connor Leech avatar  avatar Phlegx Systems avatar Alexander Vinyukov avatar Gennady G avatar  avatar  avatar  avatar Sergey Vyatkin avatar Who am i? avatar Angus H. avatar José Wenceslao Castillo avatar  avatar k0nsl avatar Roman Kokarev avatar Andrea Parker avatar Jemma Nelson avatar Roman Travnikov avatar roma avatar Isaac Springer avatar Michele Lacchia avatar Carla Souza avatar Nino avatar Alexander Inglessi avatar Mohammad Sadegh Khoeini avatar Benedikt Lang avatar Rimenes Ribeiro avatar Khoa Lê avatar Patrick Gray avatar Marius Wilms avatar Sahel Jalal avatar Mohammad Reza Taesiri avatar Peter Nguyen avatar  avatar Chad Maine avatar Arca Artem avatar Daniel Andersson avatar Xe Iaso avatar Yu Lin avatar Sudhi Herle avatar Jeff Kingyens avatar  avatar Chase Colman avatar Sebastian Macias avatar Kirill Kunst avatar Nikolay Kolev avatar Leonid Suprun avatar C̷̱̺͙͓̪͔̹͉͉̯̖̟̀͆́̽̔̈̚͠͝o̶̥̻̻̖̮͚͒̂̒͌̾̇͗͘͝d̸̢̡͈̮̦͈͙̖͔̦̭̩̰͎͉̣̰͆̈́͘͝e̸͖͆̎̏͒̀̈́͛́̍̀̀̿̚͝B̵̨̯̹̝͙͉̲̟̳̟͎̪̫̪̤̒͋̉̑̐̒̅̅̋͜y̵̞͚͕̭̤̱͖̟̫̜̓͐̏̕ͅZ̸͎̫̖͍̪̓̐͆e̶͈͇̽̔͂̉͊̈́ņ̶̣̣͎̤̯͖͉͍̳͇͈̘̳̗͚́̄̊̂̊̏̄͐͐̿̓́̽̃̄̚͝ avatar Vlad Derzhavin avatar  avatar  avatar Anton Bogdanovich avatar

Watchers

Patrick Gray avatar James Cloos avatar Codedaiquiri avatar  avatar k0nsl avatar (◕ᴥ◕) avatar Anton Bogdanovich avatar Isaac Springer avatar Anton Karpenko avatar ultimatesolution avatar Wangai avatar  avatar

hacktunnel's Issues

Add autogrowing text area instead of fixed input field

As a user I must be able to enter multi-line text by pressing Ctrl+Enter in text input control. Text area should grow up, so I'll be able to see text lines typed. Textarea autogrowing should stop at some point, when text area height is too large (let's say about 300px).

When Enter is pressed, text should be sent, text area should be cleared and restored to it's original height.

When textarea grows, overlapping over existing chat messages is OK.

Create Vagrant and VirtualBox provisioning repository and readme.md

As a developer I should be able to easily run HackTunnel/tests locally without dependencies/limitations on my own environment and without wasting time on installing required software.

Create public repository (hacktunnel-dev-box) with Vagrant provisioning scripts for Ubuntu Linux and with scripts for:

  • Installing go language
  • Installing redis
  • Installing node.js
  • Installing global node.js modules (if required)
  • Installing phantomjs
  • Installing other necessary software
  • Cloning latest version
  • Building latest version

After successful provisioning I should be able to see the message:

"Project was built and configured successfully, execute ./hacktunnel to start the server"

After installation I should be located at the directory with hacktunnel executable available.

Implement nickname/username.

Would it be possible to implement a way to show nickname/username? It would be useful when there is a group of more than twenty people.
Very difficult to know who is writing when there are no names :)

Add initial integration tests infrastructure

Within the vagrant virtual box, create initial integration tests infrastructure based on node.js + phantomjs. Example should be able to run two independent instances of headless browser pointing to the app. Example should be able to load and verify two pages (main and about) for correct loading and absence of javascript errors on these pages. No any chat logic should be covered at this point.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.