diff options
Diffstat (limited to '')
-rw-r--r-- | LICENSE | 22 | ||||
-rw-r--r-- | MANUAL.md | 75 | ||||
-rw-r--r-- | README.md | 61 |
3 files changed, 158 insertions, 0 deletions
@@ -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 <hostname> [<password>]` +- 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 <text>` - 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 <nick>` - set your default nickname +- `/altnick <nick>` - set your alternate nickname +- `/server <hostname>` - set the server address +- `/port [+]<port>` - set the server port; prefix with + to use SSL/TLS +- `/username <name>` - set your IRC username +- `/realname <name>` - set your IRC realname +- `/password [<pass>]` - 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 ;) + + + + + |