summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorSimeon Simeonov2018-06-30 12:22:35 +0200
committerSimeon Simeonov2018-06-30 12:22:35 +0200
commit29ea2f46a81c516a08767eafdab9698d5cbd6150 (patch)
tree84ce1067a40eda5b5f262b8b1de56e3317a0406d /README
parent63ddf50344cf1e4f2f9b75ce3b0c4db940a3be47 (diff)
Documentation cleanups. INSTALL -> INSTALL.md, README -> README.md
Diffstat (limited to 'README')
-rw-r--r--README122
1 files changed, 0 insertions, 122 deletions
diff --git a/README b/README
deleted file mode 100644
index f2bf0d5..0000000
--- a/README
+++ /dev/null
@@ -1,122 +0,0 @@
1Copyright (C) 2014-2018 - Simeon Simeonov
2See the end of the file for license conditions.
3
4
5What is BEINC?
6--------------
7
8Blackmore's Enchanced IRC Notification Collection (BEINC) is a free set of
9components that aims to provide a complete system for different
10on-screen-display notification scenarios.
11
12The current version of BEINC contains the following components:
13beinc_server.py - server used for queueing or providing on-screen-display (OSD)
14beinc_poller.py - client used to fetch enqueued messages from beinc_server.py
15 and provide OSD
16beinc_weechat.py - a complete script / client for the Weechat IRC client >=0.4.0
17 used to push notification messages to beinc_server.py
18beinc_generic_client.py - a simple client used to push notification messages
19 to beinc_server.py
20 Its main purpose is to provide a convenient way to
21 test beinc_server.py (and beinc_poller.py) as well as
22 to serve as an example for how to develop BEINC-clients
23+ documentation and a sample configuration file (beinc_config_sample.json)
24
25
26Why should I use BEINC and what has it done for me lately?
27----------------------------------------------------------
28
29BEINC is a free-software, licensed under the GPL3. It gives you the freedoms
30of using it, studying it and modifying it.
31
32BEINC is designed to assist you two common scenarios.
33As an example we will consider the case of an IRC cliet, although BEINC can be
34used by any client that conforms with BEINC's "messaging protocol".
35
36We have the common situation where a user is accessing an IRC client located on
37a different computer (typically: weechat, irssi, etc. running on a remote server)
38The IRC client receives a private message (or any event that requires the user's
39attention) and the user has to be notified.
40No matter which of the two scenarios applies to your needs, you should start by
41 - setting up a BEINC client similar to beinc_generic_client.py on the server
42 If you are running weechat >=0.4.0, this version of BEINC comes with
43 a complete weechat BEINC-client: beinc_weechat.py
44 Configure the client to send notifications to the beinc_server.py
45N.B. Using encryption is important in these days and age.
46
47Scenario one:
48The user's computer can be reached by the server running the IRC client.
49If the server (running the IRC client) is able to connect to
50a specified TCP port on the user's computer, this is sufficient for BEINC to
51directly notify the user. Solution:
52 - set up the beinc_server.py on the desktop workstation (the computer where the
53 notification-message should be displayed). Define an unprivileged port for
54 beinc_server.py to listen on and enable its OSD capabilities
55 (through pynotify)
56
57Scenario two:
58The user's computer can NOT be reached by the server running the IRC client.
59This scenario is typical for users that are working on computers that can not
60be reached from outside.
61Solution:
62 - find a server that can be reached by the server running the IRC client.
63 - set up the beinc_server.py on it. No OSD capabilities are needed (no X11).
64 Define instance(s) for queueing. Define a queue size
65 (how many notifications to store) for each of them.
66 - set up beinc_poller.py on the desktop workstation (the computer where the
67 notification-message should be displayed).
68 beinc_poller.py should be able to access the server running beinc_server.py
69 Polling interval of 5 seconds should be enough for most users.
70
71Read beinc_config_sample.json.readme for details on how to setup
72beinc_server.py and beinc_weechat.py!
73Use "-h" command line parameter to display the available options for
74beinc_poller.py and beinc_generic_client.py
75Each configured beinc_server.py instance has an unique name.
76There are 2 operations that can be done on an instance:
77 - push - a client is sending a notification to the BEINC server.
78 A push is available for all instances.
79 - pull - a poller (f.i. beinc_poller.py) is fetching data from the instance-queue.
80 A pull is available only for instances defined for queueing.
81 (read beinc_config_sample.json.readme for details!)
82Example:
83If you defined a beinc_server.py instance with SSL-support,
84your URL will be: https://hostname:port
85
86
87Supported systems & requirements
88--------------------------------
89Any system running the software required for the selected components.
90All components tested on: Gentoo GNU/Linux 2014,2015,
91 Ubuntu GNU/Linux 14.4,14.10,
92 FreeBSD 10.x
93
94
95Requirements:
96All components: Python >= 2.7.9 or Python >= 3.4.*
97
98beinc_server.py: pynotify >= 0.1 (optional)
99beinc_weechat.py: Weechat >= 0.4.0
100beinc_poller.py: pynotify >= 0.1
101beinc_generic_client.py: No additional software required
102
103Read INSTALL in this very same folder for more details about installing the requirements!
104
105
106License
107-------
108
109This file is part of BEINC.
110
111BEINC is free software: you can redistribute it and/or modify
112it under the terms of the GNU General Public License as published by
113the Free Software Foundation, either version 3 of the License, or
114(at your option) any later version.
115
116This program is distributed in the hope that it will be useful,
117but WITHOUT ANY WARRANTY; without even the implied warranty of
118MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
119GNU General Public License for more details.
120
121You should have received a copy of the GNU General Public License
122along with this program. If not, see <http://www.gnu.org/licenses/>