dgl / cgiirc Goto Github PK
View Code? Open in Web Editor NEWCGI:IRC web based IRC client
Home Page: http://cgiirc.org
CGI:IRC web based IRC client
Home Page: http://cgiirc.org
I have been experiencing issues with an CGI::IRC installation lately.
CGI::IRC does not seem to be loading correctly when the web server is configured for the HTTP/2.0 protocol.
When the subdomain CGI::IRC is running on is restricted to HTTP/1.1, CGI::IRC works properly.
This behaviour is observed when running on Apache 2.4.58.
So, when I use a dark theme (set in cgiirc.config) the name of my tabs is wrong.
Ex : I try to connect on irc.example.com, I set #channel1,#channel2 in login form, when i'm connect, my tab Status is on #channel2, my #channel2 is on #channel1 and my #channel1 is on Status, or somethig like that.
It's same with Gothic format.
I tried other theme, like mirc, and it work well.
I use the 0.5.11 version, on Archlinux and Lighttpd
i had try
$rhc app-create cgiirc perl-5.10
ssh in and $git clone https://github.com/dgl/cgiirc.git
edit the cgiirc.config and i change the .htaccess.
When you have the Status window selected and issue the mode
command without specifying a target, the target defaults to Status and is issued to the server. If there is a user with the nick Status the mode
command might apply to him, even though that definitely wasn't intended by the issuer of the mode
command.
It might only effectively change the mode of the inadvertently targeted user if the issuer of the mode
command has rights to perform such action. (fe. if the issuer is an ircop or the server restrictions are lower)
This might affect other commands as well.
It would be nice if you could have it be able to use parameters (such as nickname, server, etc) in the URL used to access it to automatically connect using them.
unpacked http://cgiirc.org/releases/cgiirc-0.5.12.tar.gz in /usr/local, renamed it to cgiirc
apache2 configuration
<VirtualHost *:443>
<Directory "/usr/local/cgiirc">
Options All
AllowOverride All
Require all granted
</Directory>
Alias /cgi-bin/images /usr/local/cgiirc/images
ScriptAlias /cgi-bin /usr/local/cgiirc
ServerAdmin [email protected]
DocumentRoot /var/www/htdocs.chat.knageroe.nl
ServerName chat.knageroe.nl
CustomLog /var/log/apache2/chat.knageroe.nl_access_log combined
ErrorLog /var/log/apache2/chat.knageroe.nl_error_log
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/chat.knageroe.nl/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/chat.knageroe.nl/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
This results in:
An error occurred: Communication socket already exists
I verified that no cgi* files were under /tmp (none at all in fact).
Unsure if this is related to #14, after updating to Safari 14 (on Mojave) login hangs.
User Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
Still works under Safari 13 (on High Sierra):
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15
FWIW I'm also unable to get mobile Safari to login, its User Agent also claims to be Safari 13:
Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Mobile/15E148 Safari/604.1
sorry, turns out it uses gpl
(https://sourceforge.net/projects/cgiirc/) the original repo has GPL v2 as the license, this repo also need to have gpl v2 as the license(But it does not mention it at all) can you add said license?
Only lasts little time online. NOT be that.
Loading several resources at the same time (i.e. some irc.cgi
frames and nph-irc.cgi
) seems to sometimes block on iOS 12.2. It looks like potentially nph-irc.cgi
's streaming nature blocks the render of the whole frameset.
We can workaround this.
As far as I can see everything is set up correctly. I can get to the login page. I click login and get redirected, but no further. Doesn't connect to IRC.
The ONLY log entry that I find of interest is:
Aug 22 13:57:00 ErinPi fcgiwrap[11999]: Can't locate object method "new" via package "Event" (perhaps you forgot to load "Event"?) at /var/www/html/cgiirc/nph-irc.cgi line 1124
I've also tried with uwsgi and I've configured myself around in circles with inspired/nginx/cgistuff/everything.
Any clue about this?
Thanks
In our cgiirc set-up with multiple channels available in a drop-down (Drop-down on the initial form before entering the chat screen), I'd like to be able to share a URL which pre-populates the 'Channel' value.
To my delight I found there is a parameter which does just that! The chan
parameter.
...except it doesn't work. It pre-populates the value in the form, but then when we click through we end up connected to the default channel.
So I'm running with nginx and uwsgi.
i'm trying to get this to work but it seems to be failing. I have no idea if it's something i'm doing or not.
nginx config (scrubbed):
server {
listen [::]:443 ssl;
server_name my.server.com;
error_page 404 /usr/share/nginx/errors/404.html;
access_log /var/log/nginx/vhost/chat/ssl_access.log main;
#error_log /var/log/nginx/vhost/chat/ssl_error.log;
error_log /var/log/nginx/vhost/chat/ssl_error.log debug;
ssl_certificate /etc/nginx/ssl/certs/wildcard.crt;
ssl_certificate_key /etc/nginx/ssl/keys/myserver.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_dhparam /etc/nginx/ssl/keys/dh4096.pem;
ssl_prefer_server_ciphers on;
#root /srv/http/chat;
location / {
root /srv/http/chat;
index index.html index.htm;
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/cgiirc.sock;
uwsgi_modifier1 5;
#uwsgi_pass 127.0.0.1:3031;
}
}
/etc/uwsgi/cgiirc.ini:
[uwsgi]
master = true
chdir = /srv/http/chat
plugins = psgi
socket = /run/uwsgi/cgiirc.sock
cgi = /srv/http/chat
cgi-allowed-ext = .cgi
uid = http
gid = http
psgi = /srv/http/chat/irc.cgi
http-socket-modifier1 = 5
and the config:
[root@alpha chat.src]# egrep -vE '^[[:space:]]*($|#)' cgiirc.config
default_server = irc.freenode.net
default_port = 7000
default_channel = #mychannel
default_name = https://my.server.com
default_nick = web|???????
default_user = cgiirc
quit_message = https://my.server.com
script_nph = nph-irc.cgi
script_form = client-perl.cgi
script_login = irc.cgi
image_path = images
socket_prefix = /tmp/cgiirc-
encoded_ip = 2
ip_access_file = ipaccess
allow_non_default = 0
access_channel = .*
access_server = .*
access_port = .*
access_command = msg me whois nick q !
session_timeout = 3600
dnsbl = dnsbl.dronebl.org
login basic = Nickname
login advanced = Nickname, Realname, Password, Format, Character set
format = default
interface timestamp = 1
interface smilies = 0
interface scrollback = 0
hitting https://my.server.com with curl causes the following to appear in the uwsgi logs (and returns a 500):
Jan 20 23:36:25 my.server.com uwsgi[31536]: [uwsgi-perl error] Undefined subroutine &main::1 called.
Jan 20 23:36:25 my.server.com uwsgi[31536]: [pid: ####|app: 0|req: 2/2] ::ffff:my.client.ip.addr () {42 vars in 626 bytes} [Wed Jan 20 23:36:25 2016] GET / => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)
any ideas? this is reproducible for me on both the git HEAD and on the latest release tarball.
software/versions:
nginx 1.9.9
Arch Linux (kernel 4.3.3)
uwsgi 2.0.12
perl 5.22.1
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.