atheme-legacy / iris Goto Github PK
View Code? Open in Web Editor NEWweb irc client for the atheme platform
License: Other
web irc client for the atheme platform
License: Other
problems to forward real host! its seand real host to REAL NAME not REAL HOST
If you connect to a server with the nick "Hello", any messages sent to "hello" are not displayed within iris.
httpd.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/irc
ServerName irc.example.com
ProxyPass /chat/ http://127.0.0.1:3989/
ProxyPassReverse /chat/ http://127.0.0.1:3989/
</VirtualHost>
First Tab: Working Iris => using http://example.com:3989/
Second Tab: Not Working Iris => using http://irc.example.com/chat/
Currently https://gist.github.com/a2b69a74bda308a22bed is the minimum amount of configuration required to get an iris server running. In comparison to say Charybdis and other products which default to hard coded values in the event a configuration value is not set. Charybdis for example can run fine on https://gist.github.com/e038e6d985a6152caa4e
What I am suggesting is that almost every option, bar irc server and network name, maybe a few others get a default option and that they need not be specified in the configuration.
Thanks
md_5
From what I'm aware of, /topic expects arguments. Triggering /topic without arguments might trigger the topic to be shown instead of set.
A possible fix might be changing the lines 131 and 132 of /js/irc/commands.js
to the following:
cmd_TOPIC: [true, 1, 0, function(args) {
this.send("TOPIC " + this.getActiveWindow().name + (args?" :" + args[0]:""));
It's possible to remove the menu button?
Just noticed today that Iris doesn't seem to be able to resolve IPv6 addresses to a hostname. Connecting directly to the IRC networks works as well as using IPv4 on Iris. However v6 always returns the IP address and not the hostname.
Both channel list and channel cloud don't show special characters like for example ä, ü, ö, ß.
These characters work fine anywhere else though.
When I want to connect to the irc network with the newest version of IRIS I'm getting the following exception:
2013-03-01 20:23:07+0100 [TimeoutHTTPChannel,0,XX.XXX.XXX.XX] Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/twisted/web/http.py", line 1371, in dataReceived
finishCallback(data[contentLength:])
File "/usr/lib/python2.6/dist-packages/twisted/web/http.py", line 1585, in _finishRequestBody
self.allContentReceived()
File "/usr/lib/python2.6/dist-packages/twisted/web/http.py", line 1641, in allContentReceived
req.requestReceived(command, path, version)
File "/usr/lib/python2.6/dist-packages/twisted/web/http.py", line 807, in requestReceived
self.process()
--- <exception caught here> ---
File "/usr/lib/python2.6/dist-packages/twisted/web/server.py", line 125, in process
self.render(resrc)
File "/usr/lib/python2.6/dist-packages/twisted/web/server.py", line 132, in render
body = resrc.render(self)
File "/usr/lib/python2.6/dist-packages/twisted/web/resource.py", line 210, in render
return m(request)
File "/home/ircwebchat/iris/qwebirc/engines/ajaxengine.py", line 34, in decorator
x = fn(*args, **kwargs)
File "/home/ircwebchat/iris/qwebirc/engines/ajaxengine.py", line 181, in render_POST
return handler(self, request)
File "/home/ircwebchat/iris/qwebirc/engines/ajaxengine.py", line 235, in newConnection
proceed(None)
File "/home/ircwebchat/iris/qwebirc/engines/ajaxengine.py", line 231, in proceed
client = ircclient.createIRC(session, **kwargs)
File "/home/ircwebchat/iris/qwebirc/ircclient.py", line 229, in createIRC
bind_ip = config.irc["bind_ip"]
exceptions.KeyError: 'bind_ip'
It doesn't matter if I connect over SSL or not.
I'm using the latest UnrealIRCd version as IRC Server and run the IRIS Wehchat on the latest 64Bit Version of Debian Squeeze (all updates installed)!
I've successfully installed this before without issue, but now on a newer server I'm having dep problems so I came here to read the documentation to find the list of dependencies and got this:
(0. install all dependencies, get python, install python-simplejson etc.; do not complain about errors which are caused by missing dependencies)
Seriously? There's no list of deps and you have 'etc....' and then 'do not complain about errors which are caused by missing dependencies' ??
This is needed documentation.
In the file qwebirc/engines/athemeengine.py in the logout function the paramaters that are passed to the XML-RPC API are swapped.
Wrong:
result["output"] = self.do_xmlrpc(self.conn.atheme.logout, (user[0], token[0]))
Correct:
result["output"] = self.do_xmlrpc(self.conn.atheme.logout, (token[0], user[0]))
After i made these changes everything worked fine
Hi,
some of the users on my network use channel names with umlauts. Vor example #brücke
When using a software IRC client everything works fine and the users can talk with each other on that channel. However users using Iris seem to create a new channel with a name which looks exactly the same however it would make such a difference that it is actually a completely new IRC channel for the IRCD.
IRCD: Inspircd 2.0.10
Casemapping: rfc1459
Charset: ascii
Thanks in advance.
would be nice if atheme wasn't needed to get the channel list
Auto-selecting reactor: epoll
Traceback (most recent call last):
File "./run.py", line 106, in
run_twistd(args1, args2)
File "./run.py", line 21, in run_twistd
run()
File "/usr/lib/python2.7/dist-packages/twisted/scripts/twistd.py", line 27, in run
app.run(runApp, ServerOptions)
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 652, in run
runApp(config)
File "/usr/lib/python2.7/dist-packages/twisted/scripts/twistd.py", line 23, in runApp
_SomeApplicationRunner(config).run()
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 386, in run
self.application = self.createOrGetApplication()
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 446, in createOrGetApplication
ser = plg.makeService(self.config.subOptions)
File "/var/www/iris/twisted/plugins/webirc.py", line 44, in makeService
site = RootSite(config['staticpath'])
File "/var/www/iris/qwebirc/root.py", line 85, in init
register(engines.AthemeEngine, "a")
File "/var/www/iris/qwebirc/root.py", line 77, in register
sobj = service("/" + path, _args, *_kwargs)
File "/var/www/iris/qwebirc/engines/athemeengine.py", line 34, in init
chanlist = self.do_list()
File "/var/www/iris/qwebirc/engines/athemeengine.py", line 89, in do_list
channel = { "name": lineitems[0], "users": int(lineitems[1]) }
ValueError: invalid literal for int() with base 10: 'un'
This project is probably abandoned? Since the last commit was 1 year and 3 months ago..
but meh..
Allow us to create links that will instead of bringing the user to a channel it'll create a query to another user (same as /query )
For example: webchat.esper.net/?nick=name&query=Vastrix&prompt=0
Also, the "Feedback" menu in the Iris webchat isn't working.. :/ (not on espernet anyway)
Thanks :)
I'm new to this. but i got qwebirc working before on it's own. but when i start iris after shutting qwebirc down it shows following errors:
Traceback (most recent call last):
File "run.py", line 106, in
run_twistd(args1, args2)
File "run.py", line 21, in run_twistd
run()
File "C:\Python27\lib\site-packages\twisted\scripts\twistd.py", line 31, in run
app.run(runApp, ServerOptions)
File "C:\Python27\lib\site-packages\twisted\application\app.py", line 674, in run
runApp(config)
File "C:\Python27\lib\site-packages\twisted\scripts\twistd.py", line 25, in runApp
runner.run()
File "C:\Python27\lib\site-packages\twisted\application\app.py", line 381, in run
self.application = self.createOrGetApplication()
File "C:\Python27\lib\site-packages\twisted\application\app.py", line 448, in createOrGetApplication
ser = plg.makeService(self.config.subOptions)
File "C:\users\administrator\ircclient\twisted\plugins\webirc.py", line 44, in makeService
site = RootSite(config['staticpath'])
File "C:\users\administrator\ircclient\qwebirc\root.py", line 85, in init
register(engines.AthemeEngine, "a")
File "C:\users\administrator\ircclient\qwebirc\root.py", line 77, in register
sobj = service("/" + path, args, **kwargs)
File "C:\users\administrator\ircclient\qwebirc\engines\athemeengine.py", line 34, in init
chanlist = self.do_list()
File "C:\users\administrator\ircclient\qwebirc\engines\athemeengine.py", line 74, in do_list
output = self.do_xmlrpc(self.conn.atheme.command, ("", "", "0.0.0.0", "ALIS", "LIST", "", "-maxmatches", "-1"))
File "C:\users\administrator\ircclient\qwebirc\engines\athemeengine.py", line 59, in do_xmlrpc
result = rpc(*params)
File "C:\Python27\lib\xmlrpclib.py", line 1243, in call
return self.__send(self.__name, args)
File "C:\Python27\lib\xmlrpclib.py", line 1602, in __request
verbose=self.__verbose
File "C:\Python27\lib\xmlrpclib.py", line 1283, in request
return self.single_request(host, handler, request_body, verbose)
File "C:\Python27\lib\xmlrpclib.py", line 1311, in single_request
self.send_content(h, request_body)
File "C:\Python27\lib\xmlrpclib.py", line 1459, in send_content
connection.endheaders(request_body)
File "C:\Python27\lib\httplib.py", line 1038, in endheaders
self._send_output(message_body)
File "C:\Python27\lib\httplib.py", line 882, in _send_output
self.send(msg)
File "C:\Python27\lib\httplib.py", line 844, in send
self.connect()
File "C:\Python27\lib\httplib.py", line 821, in connect
self.timeout, self.source_address)
File "C:\Python27\lib\socket.py", line 575, in create_connection
raise err
can some help me with this please?
I've noticed that when we put the iFrame embed code onto a lower part of the page, the page itself will jump down to the login screen when the page loads.
If I just put the code in a plain text file, I am able to replicate it sometimes. When jQuery is loaded, it always jumps.
My guess is that the nickname field has an focus() applied to it on load, which forces the browser to jump down. I have not been able to find out where it's doing it exactly though.
Hi,
We have come across an issue. We always use the latest atheme/iris git.
IRIS since last May 2012 has been running very well on our host providers server running FreeBSD 7.4 32bit.
On 13th January 2013 the server IRIS was running on was upgraded to FreeBSD 8.3 64bit and this is where the problems began.
Part of the process when the upgrade was complete was to recompile everything. We recompiled ShadowIRCd 6.3.3 and Atheme 7.0.5 and these ran perfectly however it was when we compiled IRIS we had the following:
When compiling IRIS on this new system (cloning a new git) and running it we now get 'Segmentation fault 11' (This is all the information we have as we cannot run any debugging)
After speaking to our host provider they said IRIS was falling over at the openssl stage however we quickly ruled that out by setting SSL in the config to false and even as far as stripping the SSL code out of IRIS. This was not the case so we added SSL back in.
We then double checked and IRIS has all its dependencies installed.
We then tried IRIS on a FreeBSD 8.3 32bit system and it ran perfectly so we have drawn the conclusion it is down to IRIS running on a 64bit FreeBSD system.
Temporary we have left IRIS on this 32bit FreeBSD 8.3 system but this is not ideal long term. We are coming to you guys as we cannot seem to find a fix for this issue.
To note: We hg cloned QwebIRC that IRIS is forked from, compiled it and this DOES run on FreeBSD 8.3 64bit.
Again apologies but this is all the information we have as currently on this new FreeBSD 8.3 64bit system with IRIS we cannot do anything with python ./run.py as it just gives us 'Segmentation Fault 11'
Many thanks for any help/fixes you can provide
I see there is a PASS line in the code, but no way to trigger it. Would be nice to allow server passwords.
When a user scrolls up in the channel window, and then back down to the bottom, the window should resume autoscrolling as new lines are displayed. This fails, however, if the "last position" marker is shown at the very bottom of the window. The user must wait until another line of text is displayed after the marker, and then manually scroll to the bottom, to make autoscrolling work again.
I would like to translate the chat to German. I didn't find any language files to change.
With the newest version I am not able to connect to the server whe nnickserv_login is set to false.
Theres no JS Error anymore like in the previous version, simply nothing happens anymore!
Hi Guys,
An issue has become apparent where users cannot login to iris webchat using a grouped nick and their password. SASL Authentication does not go through and in turn they get changed to a chatter.
logging in to iris webchat without a password with the grouped nick and /ns identifying does allow the authentication to go through via nickserv.
I am thinking the way SASL works is it cross checks the nickname and password with that of the nick originally registered in the Atheme Services database. Grouped nicks are not registered in this way, they are simply added to the original nick.
Is this something that can be added? To allow grouped nicks to be identified via SASL Authentication or is it just a case of having to identify with original registered nick and password in IRIS webchat?
Cheers
When you set nickserv_login to false in iris.conf, it is not possible to connect due to error in javascript. There are some parts that expects element srvbutton, but it doesn't exists...
Hi,
while trying to compile iris on my debian 7 vps, the process aborts with the following lines
irisirc@vps2:~/iris$ python compile.py
Traceback (most recent call last):
File "compile.py", line 2, in
import bin.compile
File "/home/irisirc/iris/bin/compile.py", line 5, in
import pages, os, subprocess, pagegen, shutil, sys, time
File "/home/irisirc/iris/bin/pagegen.py", line 2, in
import qwebirc.config as config
File "/home/irisirc/iris/qwebirc/config.py", line 143, in
load_config()
File "/home/irisirc/iris/qwebirc/config.py", line 23, in load_config
check_config(True)
File "/home/irisirc/iris/qwebirc/config.py", line 30, in check_config
raise ConfigParser.NoSectionError(section)
ConfigParser.NoSectionError: No section: 'adminengine'
how can I solve this problem?
It would be nice to have iris support WebSocket (if available, otherwise fall back).
That would drastically improve performance when used with huge amounts of clients.
Are there already any plans to implement this?
I've installed iris here: https://irc.idev.ge/
All went fine.
Except on homepage, default for user is channels tab, which obviously states:
"Unable to load channel list, please try refreshing again later."
Wouldn't it be wise instead to show connect tab as a default?
Is this behavior configurable via conf file? I didn't see anything related to this.
When in the [atheme]
section of the iris.conf
the value for nickserv_login
is not set, or set to anything which isn't true
it will causes an JavaScript error when clicking the connect button, making it impossible to connect.
qui-c26375f04806fb21b78d790f4c69e4abc1f02e06.js:5807 TypeError: 'undefined' is not an object (evaluating 'srvbutton.checked')
(Please note I am using uncompressed JavaScript files, due to the lack of Java)
I would like to make iris auto connect to my IRC on page load because my users have difficulty pressing a button because "it's scary".
All I need is a simple code modification that i can perform, I tried changing this.createConfirmBox(null) to this.connect(null) in js/ui/panes/connect.js but that just makes nothing on the page load.
Any help would be appreciated.
Hi there,
When you specify ?initial_chans=test&initial_nick=XXXX&prompt=0 you get a prompt:
To connect to IRC and join channel #test as XXXX click 'Connect'.
The connect button is visible but clicking on it does nothing. There is no event listener attached, nor do any errors come up in the console - there is simply no javascript running at that point.
According to js/config.js this kind of operation should work (since it parses document.location) and populates using either nick/initial_nick or channels/initial_chans.
The breaker seems to be the prompt=0. Specifying prompt=1 gives you the nickname box and you can click to login.
Compare:
?initial_chans=test&initial_nick=XXXX&prompt=0 (not working connect button), to:
?initial_chans=test&initial_nick=XXXX&prompt=1 (working connect button)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.