From ed15501b00fbcb2bd1bbde1459651b518195f243 Mon Sep 17 00:00:00 2001 From: Treeki Date: Tue, 18 Feb 2014 02:54:15 +0100 Subject: add documentation and stuff --- LICENSE | 22 +++++++++++++++++++ MANUAL.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 158 insertions(+) create mode 100644 LICENSE create mode 100644 MANUAL.md create mode 100644 README.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b8201ed --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ninjifox + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/MANUAL.md b/MANUAL.md new file mode 100644 index 0000000..3ba8199 --- /dev/null +++ b/MANUAL.md @@ -0,0 +1,75 @@ +Thank you for trying out VulpIRC - or at least being interested in it enough +to read this document ;) + +This client is currently extremely barebones in parts, since I've been slowly +fleshing out bits as I go along and there's areas I just haven't got to yet - +for instance, most `/commands` are currently not implemented, requiring you to +enter raw IRC commands into the server status window instead. + + +Quick Start Guide +----------------- + +### Bouncer + +- *(You'll need a C++11-capable compiler, and gnutls installed)* +- Run `bouncer/build.sh` to compile a dynamically-linked binary +- ..or alternatively, run `bouncer/build_static.sh` to compile a statically + linked binary without gnutls +- Start `bouncer/binary/vulpircd` or `bouncer/binary/vulpircd_static` +- VulpIRC will be listening on port 5454, with the default settings + +### Test Client + +- *(You'll need Python 3 and PyQt5)* +- Run `python3 python_client.py []` +- Click Connect and then Login + +### Android Client + +- *(You'll need the Android SDK and the Support Library installed)* +- Compile and install the app inside the `android/` directory +- Enter your server login details into the app: + - Username can be anything; it's currently ignored + - Password is whatever's configured inside `config.ini` + - Address is an IP or hostname to find the server on + - Port should be 5454 + - SSL is currently not supported; the choice is ignored +- ...and you'll be in! +- Choose Disconnect from the action overflow menu to end the session + +### Notes + +- For security, you should set a password: run the `save` command at least + once to generate a `config.ini` file, modify it to add a password, and then + start up the server again +- The Android client does not yet support debug window commands, so you can + only add new servers by editing config.ini or by running `addsrv` from the + desktop test client + + +Control Commands +---------------- + +### Debug Window + +- `addsrv` - adds a new, blank IRC network +- `save` - saves the current configuration to `config.ini` +- `quit` - terminates the server +- `all ` - sends some text to the debug window of all connected clients + +### Server Status Window + +- `/connect` - connect to the network +- `/disconnect` - disconnect from the network +- `/defaultnick ` - set your default nickname +- `/altnick ` - set your alternate nickname +- `/server ` - set the server address +- `/port [+]` - set the server port; prefix with + to use SSL/TLS +- `/username ` - set your IRC username +- `/realname ` - set your IRC realname +- `/password []` - set or clear your IRC server password + +Anything typed into the server status window without an / prefix will be sent +directly to the IRC server. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..9361ef6 --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +VulpIRC +======= + +A hybrid IRC client/bouncer designed for mobile platforms. + +VulpIRC currently includes a back-end bouncer/server which runs on POSIX +systems (Windows support coming soon), a client for Android, and a prototype +desktop client written using PyQt (for testing purposes). + +(Possible future plans include a polished desktop client, an iOS client, a +standalone Android client using a modified core compiled via JNI, and a ZNC +module to allow VulpIRC clients to connect to a running ZNC instance, but none +of these are final - simply ideas I'd like to explore in the future.) + +It's currently functional for basic usage, though it's lacking lots of +features and needs tons of polish. With any luck, eventually it will grow to +become a full (and hopefully awesome) client ;) + +This code is placed under the MIT License - see the `LICENSE` file for more +details. + +Copyright 2013-2014 Ninjifox/Treeki + + +Quick Start +----------- + +See `MANUAL.md` for setup and usage instructions. + + +Currently Implemented Features +------------------------------ + +This is not an extensive feature list for VulpIRC - these are just the things +I've implemented already. There's tons more to go after this... + +### Bouncer + +- Written in C++ with minimal dependencies (gnutls for SSL/TLS support, which + is optional) +- Supports SSL/TLS for client connections and for IRC server connections +- Runs on POSIX systems (developed and tested on Linux, but I plan to try and + make sure it works on other systems, and Windows support will be added later) +- Single user (multiple user support planned) +- Multiple clients and IRC servers +- Sessions are automatically suspended in case of connection loss, and can be + resumed for as long as they remain active +- Login authentication + +### Android Client + +- Designed for and compatible with Android 4.x +- Swipe left/right through open tabs or see a full list in a pull-out drawer +- Displays formatting (bold, italic, underline, colours) +- Compatible with Samsung's Multi-Window +- So featureless that it's actually pretty fast and speedy ;) + + + + + -- cgit v1.2.3