installing_irc_at_home
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
installing_irc_at_home [2020/07/02 17:04] – [Pidgin for GUI clients] waxphilosophic | installing_irc_at_home [2020/07/11 16:59] – waxphilosophic | ||
---|---|---|---|
Line 7: | Line 7: | ||
This how-to covers installing and IRC server and clients for a typical home LAN. The hardware and OS used is a Raspberry Pi 2 with FreeBSD 12.1, but any system with a recent BSD variant should work with little need or no modification. | This how-to covers installing and IRC server and clients for a typical home LAN. The hardware and OS used is a Raspberry Pi 2 with FreeBSD 12.1, but any system with a recent BSD variant should work with little need or no modification. | ||
- | At the time of writing, the SDF servers run InspIRCd for the server side and ircII for the default client. The same software is used in this document. In addition, this how-to covers Pidgin, a Windows/Mac GUI client that can be used for IRC as well as other instant messaging protocols. | + | At the time of writing, the SDF servers run InspIRCd for the server side and ircII for the default client. The same software is used in this document. In addition, this how-to covers Pidgin, a Windows/Mac GUI client that can be used for IRC as well as other instant messaging protocols. Mozilla Thunderbird has IRC capabilities and is covered as well. |
===== Installing Server-Side Software ===== | ===== Installing Server-Side Software ===== | ||
Line 57: | Line 57: | ||
Again, this is all just a made-up tribute to the FreeBSD mascot. You can enter whatever you like for your set-up. | Again, this is all just a made-up tribute to the FreeBSD mascot. You can enter whatever you like for your set-up. | ||
+ | === PORT CONFIGURATION === | ||
+ | |||
+ | Most of the PORT CONFIGURATION section can be left as it is. However, the last two lines are used to open ports allowing other IRC servers to connect to ours. In a home LAN environment, | ||
+ | |||
+ | So, find these lines: | ||
+ | |||
+ | < | ||
+ | <bind address="" | ||
+ | <bind address=" | ||
+ | </ | ||
+ | |||
+ | Comment them by adding a hash as the first character so they look like this: | ||
+ | |||
+ | < | ||
+ | #<bind address="" | ||
+ | #<bind address=" | ||
+ | </ | ||
+ | |||
=== CONNECTIONS CONFIGURATION === | === CONNECTIONS CONFIGURATION === | ||
- | No changes are needed for the PORT CONFIGURATION, | + | After commenting out the last two lines of PORT CONFIGURATION, |
The reason for this is entirely because of DNS. Unless you are running a robust DNS infrastructure on your LAN, chances are good that your ISP's router (the typical home LAN DNS server) will not do reverse look-ups. Setting resolvehostnames=" | The reason for this is entirely because of DNS. Unless you are running a robust DNS infrastructure on your LAN, chances are good that your ISP's router (the typical home LAN DNS server) will not do reverse look-ups. Setting resolvehostnames=" | ||
Line 72: | Line 90: | ||
Do not give into the temptation to comment the lines out. This is not the same as setting it to no. | Do not give into the temptation to comment the lines out. This is not the same as setting it to no. | ||
+ | |||
+ | === Enabling Server Operators === | ||
+ | |||
+ | Slipped in between the headings of CIDR CONFIGURATION and MISCELLANEOUS CONFIGURATION is a little, unassuming line that looks like this: | ||
+ | |||
+ | < | ||
+ | #< | ||
+ | </ | ||
+ | |||
+ | It needs to be uncommented if you want to enable users to gain administrative privileges. If you don't remove the leading hash, any attempt to use the /OPER command will result in the message " | ||
+ | |||
+ | It should look like this when you're done: | ||
+ | |||
+ | < | ||
+ | <include file=" | ||
+ | </ | ||
=== Sections left as default === | === Sections left as default === | ||
These are the sections that do not need changes and can be skipped over: | These are the sections that do not need changes and can be skipped over: | ||
- | * CIDR CONFIGURATION | ||
* MISCELLANEOUS CONFIGURATION | * MISCELLANEOUS CONFIGURATION | ||
* DNS SERVER | * DNS SERVER | ||
Line 108: | Line 141: | ||
==== modules.conf ==== | ==== modules.conf ==== | ||
- | After including modules.conf inside of inspircd.conf, | + | After including modules.conf inside of inspircd.conf, |
- | Open modules.conf and search for: #<module name="permchannels">. Uncomment the line by removing the leading hash (#). | + | But, while we're editing, there are two more handy modules |
- | It should look like this: | + | * <module name=" |
+ | * <module name=" | ||
+ | * <module name=" | ||
+ | * < | ||
+ | Open modules.conf and search for them one at a time. Remove the hash symbol at the start to uncomment the module. | ||
+ | |||
+ | What started as this: | ||
< | < | ||
- | <module name="permchannels"> | + | #<module name="sha256"> |
</ | </ | ||
- | A little less than 20 lines later, you will see: #< | + | Should look like this: |
+ | < | ||
+ | <module name=" | ||
+ | </ | ||
+ | |||
+ | Make sure to uncomment all three modules. | ||
+ | |||
+ | A little less than 20 lines after uncommenting the permchannels module, you will see a permanent channel definition that's commented out. It looks like this: #< | ||
- | This is an example line showing how to configure a permanent channel. On the line after that, you can add your own. Mine looks like this: | + | It's just an example line showing how to configure a permanent channel. On the line after that, you can add your own to set up your permanent channel. Mine looks like this: |
< | < | ||
Line 129: | Line 175: | ||
There is no more configuration needed for the modules.conf file. | There is no more configuration needed for the modules.conf file. | ||
+ | |||
+ | ==== opers.conf ==== | ||
+ | |||
+ | Opers, or server operators, are the administrators of the IRC server and can invoke special privileges using the /OPER command. You might be able to run IRC on a home LAN and never need any of the administrative privileges, so if you wish to skip this file, you can. It's simply included for the sake of being complete. | ||
+ | |||
+ | For InspIRCd, the opers.conf is where everything concerning this special ability is configured. | ||
+ | |||
+ | Open up opers.conf in a text editor. | ||
+ | |||
+ | What you see under the headings of CLASS CONFIGURATION and OPERATOR COMPOSITION can be left as default. It's the OPERATOR CONFIGURATION section we're interested in. | ||
+ | |||
+ | There are a couple examples given using the names Attila and Brain. Look them over to read the comments and then delete them. Yes, delete. Delete everything after the section heading. | ||
+ | |||
+ | When you're done, the opers.conf file should end here: | ||
+ | |||
+ | < | ||
+ | # | ||
+ | # # | ||
+ | # Opers are defined here. This is a very important section. | ||
+ | # | ||
+ | # # | ||
+ | </ | ||
+ | |||
+ | We'll insert our operator after this. In keeping with the rest of the how-to, the operator will be named " | ||
+ | |||
+ | Here's what it will look like: | ||
+ | |||
+ | < | ||
+ | # | ||
+ | # # | ||
+ | # Opers are defined here. This is a very important section. | ||
+ | # | ||
+ | # # | ||
+ | <oper | ||
+ | name=" | ||
+ | hash=" | ||
+ | password=" | ||
+ | host=" | ||
+ | type=" | ||
+ | </ | ||
+ | |||
+ | The above should be pretty self-explanatory based on the key=value pairs you see. The two things that require a little clarification are probably password and host. Specifically, | ||
+ | |||
+ | The value for the password is a sha256 hash of the word s3cret. You may remember that was the plain-text password used for Attila in the opers.conf example that we deleted. You can create a new password hash using the sha256 command-line utility included with FreeBSD. | ||
+ | |||
+ | Here's the command to encode the s3cret password and the resulting hash. | ||
+ | |||
+ | < | ||
+ | # sha256 -s s3cret | ||
+ | SHA256 (" | ||
+ | </ | ||
+ | |||
+ | The answer to the question of host=" | ||
+ | |||
+ | It would also be difficult to enforce in an environment were there are no reverse DNS lookups and IPs are handed out from a DHCP server. In other words, neither user@hostname nor user@192.168.x.x would work reliably. " | ||
+ | |||
+ | Other than changing the lame password, there' | ||
+ | |||
+ | Right around line 75 of opers.conf, you'll see: | ||
+ | |||
+ | < | ||
+ | vhost=" | ||
+ | </ | ||
+ | |||
+ | Following the naming used in the example, change this to: | ||
+ | |||
+ | < | ||
+ | vhost=" | ||
+ | </ | ||
+ | |||
+ | If you have customized the domain names to something else, by all means use that. | ||
==== motd.txt ==== | ==== motd.txt ==== | ||
Line 263: | Line 380: | ||
--- | --- | ||
> email=" | > email=" | ||
+ | 225, | ||
+ | < <bind address="" | ||
+ | < <bind address=" | ||
+ | --- | ||
+ | > #<bind address="" | ||
+ | > #<bind address=" | ||
313c313 | 313c313 | ||
< resolvehostnames=" | < resolvehostnames=" | ||
Line 271: | Line 394: | ||
--- | --- | ||
> resolvehostnames=" | > resolvehostnames=" | ||
+ | 497c497 | ||
+ | < #< | ||
+ | --- | ||
+ | > <include file=" | ||
1044c1044 | 1044c1044 | ||
< #< | < #< | ||
Line 280: | Line 407: | ||
< | < | ||
+ | 49c49 | ||
+ | < #<module name=" | ||
+ | --- | ||
+ | > <module name=" | ||
+ | 1640c1640 | ||
+ | < #<module name=" | ||
+ | --- | ||
+ | > <module name=" | ||
1683c1683 | 1683c1683 | ||
< #<module name=" | < #<module name=" | ||
Line 286: | Line 421: | ||
1700a1701 | 1700a1701 | ||
> < | > < | ||
+ | </ | ||
+ | |||
+ | ==== opers.conf ==== | ||
+ | |||
+ | This is an abreviated diff of opers.conf since most of the changes involved deleting the bottom third of the file. | ||
+ | |||
+ | < | ||
+ | 75c75 | ||
+ | < | ||
+ | --- | ||
+ | > | ||
+ | 94,95d93 | ||
+ | < | ||
+ | < # Operator account with a plaintext password. | ||
+ | 97,99c95,99 | ||
+ | < # name: Oper login that is used to oper up (/OPER < | ||
+ | < # Remember: This is case sensitive. | ||
+ | < | ||
+ | --- | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | 101,181d100 | ||
+ | [Not shown for brevity.] | ||
</ | </ | ||
Line 301: | Line 462: | ||
* Choose a protocol of IRC. | * Choose a protocol of IRC. | ||
- | * Fill in the login, server, and password with the information | + | * Fill in the login and server |
- | * Check the remember password if you like, but be aware that it is saved in clear text in the %APPDATA% directory. | + | * Password is not required for IRC, and be aware that it is saved in clear text in the %APPDATA% directory |
* The remaining tabs may be left with default settings. | * The remaining tabs may be left with default settings. | ||
Line 310: | Line 471: | ||
* Choose the Buddies menu item and select Add Chat from the drop-down. | * Choose the Buddies menu item and select Add Chat from the drop-down. | ||
* Make sure your IRC Account is shown at the top. | * Make sure your IRC Account is shown at the top. | ||
- | * Fill in the channel name. | + | * Fill in the channel name. (In the example, the permanent channel name was #home) |
* Check the box for Automatically join... | * Check the box for Automatically join... | ||
+ | |||
+ | Finally, give the new connection a test and see if you end up in the #home channel on your local server. | ||
See this WikiHow article for a guided step-by-step with pictures: [[ https:// | See this WikiHow article for a guided step-by-step with pictures: [[ https:// | ||
+ | |||
+ | ===== Thunderbird for GUI clients ===== | ||
+ | |||
+ | In addition to email, Thunderbird also has IRC capabilities. To access, find Chat on the toolbar. It's after Get Messages and Write. Click Chat. | ||
+ | |||
+ | Unless you've set up Thunderbird as a chat client previously, you'll be looking at a message that say you haven' | ||
+ | |||
+ | Follow the set-up wizard. | ||
+ | |||
+ | * Select IRC as the network. | ||
+ | * Enter your nickname and IRC server hostname (beastie.home.lan if you're following the example.) | ||
+ | * You can leave the password blank. | ||
+ | * Change the port to 6667 in the Advanced Options. | ||
+ | * Remove the check for Use SSL in the Advanced Options. | ||
+ | |||
+ | Leave the box checked for connect Connect to This Account Now to test. | ||
====== Go Forth and Conquer ====== | ====== Go Forth and Conquer ====== |
installing_irc_at_home.txt · Last modified: 2024/09/05 00:05 by hc9