summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE22
-rw-r--r--MANUAL.md75
-rw-r--r--README.md61
3 files changed, 158 insertions, 0 deletions
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 <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 ;)
+
+
+
+
+