Skip to content

Latest commit

 

History

History
70 lines (55 loc) · 2.29 KB

README.md

File metadata and controls

70 lines (55 loc) · 2.29 KB

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.