A simple JS / HTML IRC client frontend with a simple PHP irc client backend that operates as a bouncer as well.

Pentium44 45e9577a11 Call this v1.6.0 3 years ago
.gitignore 713dfeb130 Call this v1.3.0 3 years ago
LICENSE ea6ded0e54 Tweaks 3 years ago
README.md 45e9577a11 Call this v1.6.0 3 years ago
config.php 5775da3165 Tweaks to V1.4.1 that wasn't supposed to be pushed 3 years ago
core.js 45e9577a11 Call this v1.6.0 3 years ago
dark.css 45e9577a11 Call this v1.6.0 3 years ago
index.php 45e9577a11 Call this v1.6.0 3 years ago
irc.php 45e9577a11 Call this v1.6.0 3 years ago
light.css 45e9577a11 Call this v1.6.0 3 years ago
server.php 45e9577a11 Call this v1.6.0 3 years ago
version.php 45e9577a11 Call this v1.6.0 3 years ago

README.md

IdleIRC

This is a simple ajax frontend with a very small footprint on web servers. IdleIRC uses a IRC backend written in PHP to communicate with IRC servers. With that being said, it's not secured by TLS or anything like that. This is in working condition!

Usage

Main features

IdleIRC is meant to be used by just chat commands. With that, it satisfies the need for multi tab support while keeping multi channel support like IRSSI or weechat. IdleIRC not only acts as a bouncer for your IRC user, it also supports most commands like other clients and has user accounts to allow for login and logout without disturbing your client. It can log 24/7! IdleIRC is also extremely simple; and I'm proud of that. It's versatile, easy to setup, and extremely effecient to use!

Commands in IdleIRC
  • /focus [channel|user]: Funnel messages to specific channel or user (Alias: /switch; /query)
  • /archive: Archive current log file, and clear current chat history.
  • /part (channel): Part channel, part focused channel if none specified
  • /rejoin (channel): Part, and join a channel; focused channel if none is specified
  • /nick [nickname]: Change your nickname
  • /list [channel]: List users in a channel
  • /usermode [flag(s): Sets MODE flag(s) to user
  • /msg [channel|user] [msg]: Message channel, or PM 'user'
  • /mode [channel] [flag(s)]: Sets MODE flag(s) for [channel]
  • /channel: Prints focused channel / user (Alias: /focused)
Accounts and registration

User accounts are registered before client use, and make it easy to use on any PC after setup. IdleIRC allows you to register an account. It sets up a provided username, salts (md5) your password given and stores it within a variable within users/(username).php which can be included by IdleIRC when logging in and verifying client operations via SESSION cookies.

  • To create (after setup and installed):

    • Navigate to your IdleIRC URL
    • Click "create one" within the login prompt.
    • Fill forms with username, and password
    • Click "create account"
  • To login (first user login):

    • Navigate to IdleIRC URL
    • Fill out login forms
    • Click "login" at bottom of form
    • Click "Connect to server" within the navigation bar up top
      • NOTE: Once connected, you'll stay idle on window close and logout of the web client
  • To disconnect IRC bouncer (after first login):

    • Login using above instructions
    • Click "Disconnect from server" within the nav bar
    • Logout using "Logout" within the nav bar

Requirements

PHP 5.2+ Read-Write access for working directory

Installation

  • Do a: git clone https://notabug.org/Pentium44/idleirc OR download the archive and extract it to desired location.
  • Customize config.php to your liking, and set your web servers user / group read / write access to idleirc.
  • Register an acount, and use it!

Changelog

  • v1.6.0:

    • Forced a good amount of JS from index.php to core.js
    • User list is live, and working along with web client
    • CSS modifications to dark/light.css for user list
    • Autofill /msg [username] for input box on nickname click in userlist
    • Ignore some IRC server client flags that are not needed in the chat logs. (NAMES, and MOTD EOF lines)
  • v1.5.1:

    • Add /archive, allows to keep IRC logs while clearing chat history.
    • Minor fixes / tweaks
  • v1.5.0:

    • Polishing up, adding some last minute fixes.
    • Tweaks on irc.php
    • Reconstruct socket chunk parsing, allows for more thorough IRC parsing capability
    • Fix /help missing /msg command.
  • v1.4.1:

    • Fix usleep bug where irc.php sleeps for less than a millisecond (lol)
  • v1.4.0:

    • CSS cleanup / fixes. Rework CSS theme, and add a light variant.
    • Minor tweaks and bug fixes
  • v1.3.3:

    • Tweaked main page from "Connected to:" to "Using:"
    • Keep JS from processing if irc.php is not active.
    • CSS tweaks
  • v1.3.2:

    • Fix irc.php private message bug with array.
    • Fix irc.php saving logs in incorrect locations.
    • Add private message and mention notifications via JS Notification.
  • v1.3.1:

    • Moved "Clear IRC Logs" to logs page, needed to be done!
  • v1.3.0:

    • CSS changes / fixes + cleanup
    • Added server/port set ability on register + settings (Can toggle on or off in config.php as $allowMultiServer == "false")
    • More HTML fixes + cleanup
    • Bugfixes in IRC protocol parsing
    • Added user QUIT parsing to irc.php
    • Removed unneeded ping code from server.php from previous project.
    • Pushed cycle speed up in irc.php for more snappy responses
    • Removed client passed messages from idleirc log
    • Moved all client needed files to users/ directory for better file management
  • v1.2.3:

    • CSS fixes and updates
    • HTML format fixes within server.php and irc.php generation
    • Added /usermode & /mode
    • Fixed some PM issues with colons
    • Cleaned up the documentation since its comming to a more so "stable" form
  • v1.2.2:

    • CSS updates
    • Added IdleIRC footer
    • Navigation bar modifications
    • Added /channel & /focused
    • Other stuffs
  • v1.2.1:

    • Added htmlentities to incoming IRC messages
    • Fixed /list, allows no argument when focused
  • v1.2.0:

    • Added /help command for client usage
    • Added /nick, and /list commands
    • Added another session variable for nick name changes
    • Should be rather stable as it sits, need to clean up CSS a bit more
  • v1.1.0:

    • Added alias' for /focus (/query, /switch)
    • General cleanup.
  • v1.0.0:

    • Functioning web based front end with PHP based backend
    • irc.php performs as an IRC bouncer when web client disconnects
    • Controls to start / stop irc.php within web panel
    • server.php is used by the AJAX frontend to communicate with irc.php
    • Client supports: /join, /msg, and /me currently
    • Multi user support

Legal stuff

Licensed via GPLv3