Official support channel is #lightirc at irc.lightirc.com

What are the features of lightIRC?


lightIRC supports channels, queries, a lot of IRC commands, some CTCP commands and is much customizable through StyleSheets. It has multi language support (currently English, Spanish, German, Turkish, Hungarian, Dutch, Swedish, Finnish, Serbian, Estonian, Romanian) and a nice GUI to set kicks, bans and channel modes.
The client uses a socket to connect directly to the IRC server (no XMLSocket, no gateway).

Can I remove the copyright from the client? What about commercial use?


You can embed lightIRC for free in your non-commercial websites or projects. In that case a copyright hint to lightIRC will be shown inside the chatrooms.
A donation (you decide about which amount is appropriate!) is required to remove the copyright notice or to get the permission for using lightIRC in your commercial project. Feel free to ask if you need more customization or features.

Can you do some changes to lightIRC for me?


Yes, I can. Please contact me and we will figure something out.

I am getting a Security Error when trying to connect. How to solve this?


When you can't connect to a server and the client shows a security sandbox violation message, the server the IRCd is running on does not allow connecting from a Flash client.
Due to the socket security policy Adobe introduced with Flash Player 9,0,124 you are forced to have a daemon that delivers a crossdomain.xml to allow establishing a connection.
It is not a restriction by lightIRC, but one of Adobe Flash!
Please read this if you want further information.

The best way to solve this:
• Download flashpolicyd to your server (there are other daemons around, but this is the best!)
• Untar the package and edit flashpolicy.xml (What should my flashpolicy.xml look like?)
• Make sure you have Ruby installed and you are logged in as root. (Why must the policy daemon run as root?)
• Run ./flashpolicyd.rb --xml /etc/flashpolicy.xml --logfile /var/log/flashpolicyd (change paths if necessary)

Why must the policy daemon run as root?


The IANA (Internet Assigned Numbers Authority) has reserved port 843 for delivering of policy files.
On Linux only root can bind applications on ports below 1024.

If you are not root you can adjust the daemon to bind on a port over 1024 and set the parameter policyPort for lightIRC to that number.

What should my flashpolicy.xml look like?


This is a good choice if your IRCd is running on port 6667:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
   <site-control permitted-cross-domain-policies="master-only"/>
   <allow-access-from domain="*" to-ports="6667" />
</cross-domain-policy>

I cannot setup a policy daemon. No alternative?


Well, there is an alternative, but I would not recommend that for production environments.
If you want to connect to an IRC network you don't run by yourself the server admin must setup a crossdomain.xml for you. As in most cases those guys won't do that for a single person, here comes another solution.
On lightirc.com runs a socket proxy that acts as a centerpiece between the lightIRC client and the IRC server. As only the socket connections established from Adobe Flash Player are restricted, a connection from the lightIRC server to every IRCd is possible.
Add the parameters proxyHost ("lightirc.com") and proxyPort ("16667") to check it out.
Please note that some networks allow only a few connections from the same IP. The IRCd will only know the IP of lightirc.com, so many simultaneous connections are maybe not possible. On the other hand you as a user will chat encapsulated and more or less anonymously (like if using a bouncer).

Customization parameters


You must pass at least one parameter to the SWF (host/server), the others are optional.
Those parameters can either be stored in the index.html of the downloadable package or put into the URL to lightIRC.swf; e.g.: www.lightirc.com/start/lightIRC.swf?host=lightirc.com&nickselect=yes&nickServAuth=yes

Parameter Default Description Introduction
Connection
host Server IP/hostname
port 6667 Server port
policyPort 843 Defines the port where Flash Player should look for crossdomain.xml 0.9.7
Client settings
nick lightIRC_% The username to connect with
nickselect no "yes" or "no". Indicates whether a popup to enter a nickname should be shown before connecting.
nickselectSuggestion no A prefilled value for the nickselect box. Add "%" ("%25" urlencoded) and lightIRC adds a random number to prevent doubles (e.g.: "nick%" -> nick123")
pass Password (only needed on some servers)
serverPassword no "yes" or "no". Indicates whether a window to enter a server password should be shown. 0.9.3
nickServAuth no "yes" or "no". Show password box when nickselect = "yes". Registers user to NickServ then.
nickServPass "yes" or "no". Identifies the user to NickServ with the given password 0.9.7
language en en, de, fr, es, tr, hu, nl, se, fi, ee, ro, sr_cyr, sr_lat, al
autojoin Comma-seperated list of channels to join after a connection is established.
E.g.: #lightIRC,#help
perform Comma-seperated list of commands to be executed after connecting.
E.g.: /mode $me +x
0.9.6
soundAlerts yes "yes" or "no". Indicates whether a sounds are on (e.g. on hilight or new private message). 0.9.7
autoReconnect yes "yes" or "no". Reconnect if the connection to the server gets interrupted. 0.9.3
webcam no "yes" or "no". Enables webcam feature using a Red5 backend. Only available when using lightirc.com as IRC server. More information 0.9.6
Customization / Appearance
styleURL Add the location of a Flex StyleSheet compiled as SWF to customize the lightIRC client. More information.
URLTextColor #0000FF Text color for links (URLs and channel links inside the chat) as this is not handled by StyleSheets.
buttonTextColor #333333 Buttons to navigate between channels/queries: Default color
buttonNewMessageTextColor #890000 Color if new message was received
buttonNewInfoTextColor #6e4646 Color if a new information message was received (part, quit, ...)
infoLineColor #fc7f00 Color code for information messages. 0.9.6
fontSize 12 How large should fonts in text input and chat area be displayed? 0.9.6
userListWidth 160 Any value >= 130 or 0 (disables the user list completely). 0.9.6
doubleClickForQuery no "yes" or "no". Open query when doubleclicking a nick from the user list or show user central when clicking a nick. 0.9.6
showJoinPartMessages yes "yes" or "no". Show join, part and quit messages. 0.9.7
showTimestamps yes "yes" or "no". Show timestamps in front of all received messages and commands. 0.9.7
chatAreaClickOnUser select Defines the event that should happen when you click on a nickname in front of a message in the chat area.
"select": selects the nickname in the user list
"central": shows up the user central
"query": opens a query with that user
0.9.7
Buttons
showServerWindowButton yes "yes" or "no"
nickCentral no "yes" or "no". Shows a button to register a nickname to NickServ. 0.9.5
showNavigationBar yes "yes" or "no". Shows the navigation bar on the top (introduced in lightIRC 0.9.6) 0.9.6
showActionsButton no "yes" or "no". Shows the action combobox in channels to select different features. Will be removed in the next versions! 0.9.6
showButtonBar yes "yes" or "no". Show server, channel and query buttons to navigate between different windows. 0.9.7
showNickChangeButton yes "yes" or "no". Show button to change the nickname. 0.9.7
showOptionsButton yes "yes" or "no". Shows the options button to adjust different settings. 0.9.7
showListButton yes "yes" or "no". Show button to list all channels. 0.9.7
showRichTextControls yes "yes" or "no". Show buttons for text formatting (bold, underline, color) 0.9.7

What about skins?


lightIRC supports StyleSheets.
Play around with some styles that work with lightIRC: Brownie, Aeon, Yahoo, BlueTan, Moxy. Take one of those URLs and pass it to the lightIRC SWF through the parameter "styleURL". You can get a preview of them here.
If you don't do so, lightIRC uses the default Adobe Flex style.
Please copy the styles to your server if you want to use them in a production environment.

All those styles are from ScaleNine. They are the property of their creators.

Can I create an own style for lightIRC?


Yes, you can.
To introduce the mechanism lightIRC uses for skins:
You can link different styles to lightIRC using the styleURL parameter.
That URL must refer to a SWF stylesheet. This file includes CSS declarations as well as images. This makes you able to change everything with only one URL.

Creating own styles:
• Download and unzip the Adobe Flex SDK
• Open the Flex Style Explorer
• Change everything you want using the Style Explorer. lightIRC makes use of the components called Button, TextArea, TextInput, List, Panel, VScrollBar, CheckBox, ComboBox, ColorPicker and DataGrid.
• Click "Export All CSS" (bottom left corner) in Style Explorer when you're done.
• Paste the stylesheet data from your clipboard to a new file called style.css
• Open a console window (on Windows: Start - Run - "cmd"), go to your Adobe Flex SDK folder inside the subdirectory bin. Type mxmlc.exe style.css (or wherever your style.css is located)
• A new file called style.swf will be created. You can upload this file to your webspace and link it to lightIRC.

It would be great if you could drop me a mail with your own style so that I can publish it here :-) Thank you.

Can't you add emoticons/smileys to lightIRC?


This question comes up very often and unfortunately there is no good solution to realize this in Flash.
Even if I think emoticons and IRC do not fit together, the main reason is that image rendering between text blocks does not work well in Adobes TextArea component.
There are some workarounds for this and one of those is made by myself, but using it in big applications on verbose channels would cause serious problems.
If some time passes by, maybe there will be a stable implementation for lightIRC somewhen.

Can I get the sourcecode of lightIRC?


No. lightIRC is freeware, that means free for use. The sourcecode is not open.