0x17de / Harpoon

Connect to various services through this bouncer. Initially meant for IRC, further protocols will follow.

Home Page:https://harpoon.0x17.de/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Harpoon

Connect to various services through this bouncer. Initially meant for IRC

This program is still work in progress. It will require a server.

You can ask questions and make requests on freenode.net channel #harpoon.

Screenshot

Features

  • Multiple users can use this service at once (e.g. family)
  • Multiple clients at the same time possible for the same user
  • Stays online when you aren't
  • Read the backlog
  • IRC support
  • Modular design (disable modules you don't like at compiletime)
  • Optional WebClient (built in)
  • Mobile client for highlights and queries. Safe battery through push notifications
  • Easy to extend
  • Serverside/Clientside scripting support in the future - e.g. automate your coffee machine at work ;)
  • Other chats integrated in the future (and can also be removed during compile time)
    • Hangouts
    • Steam
    • Jabber
    • You can additionally rely on the bitlbee project, which is using the IRC protocol
    • ...

Build instructions

Dependencies

  • Services
    • IRC (USE_IRC_PROTOCOL
      • LibIrcClient (>=1.6-r2)
    • HACK (USE_HACK_PROTOCOL
      • Websocketpp (>=0.7.0)
    • Backlog (optional, via USE_*_DATABASE flags)
      • SOCI (>=3.2.2)
      • PostgreSQL (optional via USE_POSTGRES_DATABASE)
  • Client Protocols
    • WebChat (optional via USE_WEBSOCKET_SERVER)
      • Seasocks (>=1.2.4)
      • JsonCpp (>=0.10.2-r1)

Docker

Harpoon can be built inside Docker container. To do so, before reading next sections, run this line inside project root:

sudo docker run -it --rm -p 8080:8080 -v $(pwd):/harpoon harpoon/harpoon

Compilation

For building the source CMake is required. Run the following in the project's build folder:

cmake .. -DCMAKE_BUILD_TYPE=Debug -DUSE_WEBSOCKET_SERVER=1 -DUSE_WEBSOCKET_SERVER_VERBOSE=0 -DUSE_POSTGRES_DATABASE=1

Run make afterwards.

Configuration

Before first run you should set few Harpoon options. To do so, run build/Harpoon --setup from the project's root. You can just select default values, pressing Return one by one.

Run the binary

To start the service run build/Harpoon from the project root. If you enabled webclient, you can check it on localhost:8080.

About

Connect to various services through this bouncer. Initially meant for IRC, further protocols will follow.

https://harpoon.0x17.de/

License:GNU General Public License v3.0


Languages

Language:C++ 87.9%Language:JavaScript 6.9%Language:CMake 3.6%Language:CSS 0.8%Language:HTML 0.7%