Group: LibrePlanet Italia/miniguida-freenode.en

From LibrePlanet
Jump to: navigation, search
(More DRAFT changes...)
(More DRAFT edinting...)
Line 108: Line 108:
 
Warning - This Python script seems to work fine, and is released under the GNU GPL license. The Perl script available from <nowiki>http://freenode.net/sasl/</nowiki> seems not work well with <tt>XChat</tt>.
 
Warning - This Python script seems to work fine, and is released under the GNU GPL license. The Perl script available from <nowiki>http://freenode.net/sasl/</nowiki> seems not work well with <tt>XChat</tt>.
  
At this point, we can finally set <tt>XChat</tt>. Unlike previous cases, having to use <tt>tor</tt> now the client have to be configured to use the proxy server.
+
At this point, we can finally set <tt>XChat</tt>. Having to use <tt>tor</tt> unlike previous cases, now the client must be configured to use the proxy server.
  
''''' HERE '''''
+
# From the <em>Settings -> Preferences</em> menu, go to the <em>Network</em> category and open <em>Network setup</em>
 
+
to configure it as follows:
# From the menu <em>Settings -> Preferences</em> <tt>XChat</tt>, in the category <em>Network</em> select the subcategory <em>Network Setup</em> to configure it as follows:
+
#*in the <em>Proxy server</em> section set:
# * In <em>Proxy Server</em> set:
+
#*: - <em>Hostname</em>: <tt>localhost</tt>
# *: - <em>Hostname</em>: <tt>localhost</tt>
+
#*: - <em>Port</em>: <tt>9050</tt>
# *: - <em>Port</em>: <tt>9050</tt>
+
#*: - <em>Type</em>: <tt>Sock5</tt>
# *: - <em>Type</em>: <tt>Sock5</tt>
+
#*: - <em>Use proxy for</em>: <tt>All connections</tt>
# *: - Use proxy for <em></em>: All connections <tt></tt>
+
# From the <em>XChat</em> menu, open the <em>Networks list</em> (Ctrl + S)
# From the menu <em>XChat</em> <tt>XChat</tt>, open the list <em>Networks</em> (Ctrl + S)
+
# Click the <em>Add</em> button in order to create a new network and call it (with no spaces): <tt>FreeNode-TorSASL</tt>
# Click on the Add button <em></em> in order to create a new network (network) that give the name (no spaces): FreeNode <tt>-TorSASL</tt>
+
# Select the <tt>FreeNode-TorSASL</tt> network you just created and click on the <em>Edit</em> button to configure it as follows:
# Select the network-TorSASL <tt>FreeNode</tt> you just created and click on the Edit button <em></em> to configure it as follows:
+
#*in <em>Servers for &hellip;</em>, click on <em>Add</em> and set as server:
# * In <em>Server ...</em> click on Add <em></em> and change the server:
+
#*:<code>p4fsi4ockecnea7l.onion</code>
# *: <code>P4fsi4ockecnea7l.onion</code>
+
#*in the same section, set:
# * In the same section, set:
+
#*: - <em>Connect to selected server only</em>: do NOT check
# *: - <em>Only connect to the selected server</em>: Do NOT tick
+
#*in the <em>Your Details</em> section, enter the values for <em>Nick name</em>, <em>User name</em> and <em>Real name</em> <br />Warning - You must use a registered and verified <tt>NickServ</tt> account on <tt>freenode</tt> (for the registration procedure, see: http://freenode.net/faq.shtml#userregistration)
# * In <em>Your Details</em> enter the values for <em>Nick name</em>, <em>User Name</em> and <em>Real name</em> <br /> Warning - You must use an account <tt>NickServ</tt> <tt>freenode</tt> registered and verified (see: # http://freenode.net/faq.shtml userregistration for its registration process ).
+
#*in the <em>Connecting</em> section set:
# * In <em>Connection</em> set:
+
#*: - <em>Auto connect &hellip;</em>: set as desired
# *: - Connect automatically <em>...</em>: set as desired
+
#*: - <em>Use a proxy server</em>: CHECK
# *: - <em>Use a proxy server</em>: Check
+
#*: - <em>Use SSL for all the servers on this network</em>: do NOT check
# *: - <em>Use SSL for all servers on my network</em>: Do NOT tick
+
#*: - <em>Accept invalid SSL certificate</em>: do NOT check
# *: - <em>Accept invalid SSL certificate</em>: Do NOT tick
+
#*: - <em>Channels to join</em>: <tt>#libreplanet</tt>, <tt>#lp-it</tt>, <tt>#gnewsense</tt>, &hellip; other channels as you like, separated by commas, no spaces&hellip;
# *: - <em>Channel in which to enter</em>: <tt>LibrePlanet #, # lp-com</tt> ... other channels as you like, separated by commas, no spaces ...
+
#*: - <em>Connect command</em>: leave blank
# *: - <em>After connection</em>: leave blank
+
#*: - <em>Nickserv password</em>: leave blank
# *: - <em>Password of nickserv</em>: leave blank
+
#*: - <em>Server password</em>: set the password corresponding to the registered and verified <tt>NickServ</tt> account on <tt>freenode</tt> that you are using (see above)
# *: - <em>Password Server</em>: Set the password for NickServ <tt></tt> <tt>freenode</tt> corresponding to the nickname registered and verified that you are using (see above)
+
#*: - <em>Character set</em>: <tt>UTF-8</tt>
# *: - Set font <em></em>: <tt>UTF-8</tt>
+
# To ensure that the <tt>SASL</tt> framework is used by the <tt>FreeNode-TorSASL</tt> network, type in the command area of <tt>XChat</tt> the command:
# To ensure that the framework <tt>SASL</tt> is used with the network-TorSASL <tt>FreeNode</tt> type, area command <tt>XChat</tt>, the command :
+
#:<code>/SASL -set FreeNode-TorSASL mynickname mypassword</code>
#: <code>/ SASL-Sep-TorSASL FreeNode mynickname mypassword</code>
+
#: where:
#: Where:
+
#: - <code>FreeNode-TorSASL</code> is the name of the network for which <tt>SASL</tt> have to be used (Warning - Since it is case-sensitive, it must match *exactly* the name assigned to the network for which <tt>SASL</tt> have to be used)
#: - <code>-TorSASL FreeNode</code> is the name of the network for which you want to use SASL <tt></tt> (Note - Since case-sensitive, must match * exactly * the name assigned to the network for which you want to use SASL <tt></tt>)
+
#: - <code>mynickname</code> is the nickname of the registered and verified <tt>NickServ</tt> account on <tt>freenode</tt> that you are using (see above)
#: - <code>Mynickname</code>: <tt>NickServ is the nickname of the account</tt> <tt>freenode</tt> registered and verified that you are using (see above)
+
#: - <code>mypassword</code>: is the password of the registered and verified <tt>NickServ</tt> account on <tt>freenode</tt> that you are using (see above)  
#: - <code>Mypassword</code>: is the password for NickServ <tt></tt> <tt>freenode</tt> registered and verified that you are using (see above)
+
# Note: The help for <tt>SASL</tt> in <tt>XChat</tt> is obtained using the command <code>/HELP SASL</code>
# Note: To view the help on the command type SASL, in command of <tt>XChat</tt>: <code>/ HELP SASL</code>
 
 
# Close and reopen <tt>XChat</tt>
 
# Close and reopen <tt>XChat</tt>
  
The configuration of new network-TorSASL <tt>FreeNode</tt> will appear in the file ~ <code>/ .xchat2/servlist_.conf</code> and will be:
+
The configuration of this new <tt>FreeNode-TorSASL</tt> network will appear in the <code>/~.xchat2/servlist_.conf</code> file. It will be something as:
 
<code>
 
<code>
         N = FreeNode-TorSASL
+
         N=FreeNode-TorSASL
         I = mynickname
+
         I=mynickname
         U = mynickname
+
         U=mynickname
         R = mynickname
+
         R=mynickname
         P = mypassword
+
         P=mypassword
         LibrePlanet J = #, # lp-en
+
         J=#libreplanet,#lp-it,#gnewsense
         E = UTF-8 (Unicode)
+
         E=UTF-8 (Unicode)
         F = 17
+
         F=17
         D = 0
+
         D=0
         S = p4fsi4ockecnea7l.onion
+
         S=p4fsi4ockecnea7l.onion
</ Code>
+
</code>
  
The network ASSICA <tt>-TorSASL FreeNode</tt> to the framework <tt>SASL</tt> (obtained by the <code>/ SASL</code>) will appear in a special section within <code>file ~ / .xchat2/sasl.conf</code> and will be:
+
The correspondence between the <tt>FreeNode-TorSASL</tt> network and the <tt>SASL</tt> framework (shown by the command <code>/SASL</code>) will result in a special section within the <code>~/.xchat2/sasl.conf</code> file. It will be something as:
 
<code>
 
<code>
         [FreeNode-TorSASL]
+
         [FreeNode-TorSASL]  
         nick = mynickname
+
         nick = mynickname  
 
         password = mypassword
 
         password = mypassword
 
         mechanism = PLAIN
 
         mechanism = PLAIN
</ Code>
+
</code>
In this file, for security is strongly recommended * * replace the line:
+
To increase security, it is *strongly recommended* to replace in this file the line:
 
<code>
 
<code>
 
         mechanism = PLAIN
 
         mechanism = PLAIN
</ Code>
+
</code>
with the line:
+
with:
 
<code>
 
<code>
 
         mechanism = DH-BLOWFISH
 
         mechanism = DH-BLOWFISH
</ Code>
+
</code>
  
You can now connect via Tor <tt></tt> + <tt>SASL</tt> to the network-TorSASL <tt>FreeNode</tt> you just created.
+
You can now connect by <tt>Tor+SASL</tt> to the <tt>FreeNode-TorSASL</tt> network you just created.
  
In some cases, probably because of network latency <tt>tor</tt>, the connection may be slow or difficult.
+
Note: In some circumstances, probably because of the latency of the <tt>tor</tt> network, the connection might be slow or difficult.

Revision as of 14:33, 17 November 2010

The information in this mini-guide is current as of: 14/03/2010.

Introduction

The freenode network hosts a lot of IRC channels dedicated to free software: #gnu, #fsf, #libreplanet, #lp-it, #gnewsense and many others.

From January 30, 2010 freenode has migrated their servers from from ircd to ircd-seven. This led to several changes, including the possibility of connection in a safe and anonymous way by SSL or by Tor+SASL. These two methods (alternatives to one another) offer much more privacy and security in communication and authentication than the usual connection "clear" mode.

Here below is a brief description about how to configure XChat (one of the best and most used IRC clients) to connect to freenode in different ways as possible (clear, SSL and Tor+SASL).

Prerequisites

  • A 100% free GNU/Linux distribution, as is gNewSense :-)
  • The XChat (> = 2.8.4) package, properly installed
    Note: In the GNU/Linux distributions which use .deb packages (as gNewSense), XChat could be installed with the command:
    $ sudo apt-get install xchat

XChat: clear connection to freenode

  1. From the XChat menu, open the Networks list (Ctrl + S)
  2. Click the Add button in order to create a new network and call it (with no spaces): FreeNode
  3. Select the FreeNode network you just created and click on the Edit button to configure it as follows:
    • in Servers for …, click on Add and set as server:
      irc.freenode.net/8001
    • in the same section, set:
      - Connect to selected server only: do NOT check
    • in the Your Details section, enter the values for Nick name, User name and Real name
    • in the Connecting section set:
      - Auto connect …: set as desired
      - Use a proxy server: do NOT check
      - Use SSL for all the servers on this network: do NOT check
      - Accept invalid SSL certificate: do NOT check
      - Channels to join: #libreplanet, #lp-it, #gnewsense, … other channels as you like, separated by commas, no spaces…
      - Connect command: leave blank
      - Nickserv password: leave blank
      - Server password: to be set only if you are using a nickname registered and verified on freenode
      - Character set: UTF-8

The configuration of this new FreeNode network will appear in the /~.xchat2/servlist_.conf file. It will be something as:

       N=FreeNode
       I=mynickname
       U=mynickname
       R=mynickname
       P=mypassword
       J=#libreplanet,#lp-it,#gnewsense
       E=UTF-8 (Unicode)
       F=1
       D=0
       S=irc.freenode.net/8001

After closing the setup windows, you can connect in clear to the FreeNode network you just created.

XChat: SSL connection to freenode

  1. From the XChat menu, open the Networks list (Ctrl + S)
  2. Click the Add button in order to create a new network and call it (with no spaces): FreeNode-SSL
  3. Select the FreeNode-SSL network you just created and click on the Edit button to configure it as follows:
    • in Servers for …, click on Add and set as server:
      irc.freenode.net/7070
    • in the same section, set:
      - Connect to selected server only: do NOT check
    • in the Your Details section, enter the values for Nick name, User name and Real name
    • in the Connecting section set:
      - Auto connect …: set as desired
      - Use a proxy server: do NOT check
      - Use SSL for all the servers on this network: CHECK
      - Accept invalid SSL certificate: CHECK
      - Channels to join: #libreplanet, #lp-it, #gnewsense, … other channels as you like, separated by commas, no spaces…
      - Connect command: leave blank
      - Nickserv password: leave blank
      - Server password: to be set only if you are using a nickname registered and verified on freenode
      - Character set: UTF-8

The configuration of this new FreeNode-SSL network will appear in the /~.xchat2/servlist_.conf file. It will be something as:

       N=FreeNode-SSL
       I=mynickname
       U=mynickname
       R=mynickname
       P=mypassword
       J=#libreplanet,#lp-it,#gnewsense
       E=UTF-8 (Unicode)
       F=37
       D=0
       S=irc.freenode.net/7070

After closing the setup windows, you can connect by SSL to the FreeNode-SSL network you just created.

XChat: Tor+SASL connection to freenode

Connecting to freenode by Tor+SASL requires the use of the new dedicated tor hidden service p4fsi4ockecnea7l.onion (for details see: http://blog.freenode.net/2010/01/connecting-to-freenode-using-tor-sasl/ and http://freenode.net/irc_servers.shtml#tor) and also the use of SASL authentication mechanism that could be handled by XChat.

Consequently, this method of connection is more complex and articulated than the previous, as it requires the satisfaction of certain additional requirements:

  • Tor must be properly installed and its service must be running (it is *strongly* recommended that you install the latest version of the available packages in the official repositories of the tor project, at: http://www.torproject.org/docs/debian.html).
    Togheter with tor, is also recommended the installation of the latest version of the polipo and geoipdb-tor packages.
    For installation and configuration of tor see the official guide.
  • The system must have installed the support for SSL (install the openssl package) and also some libraries for encryption (libcrypt-openssl-bignum-perl, libcrypt-dh-perl, libcrypt-blowfish-perl).
    Note - The required packages may differ depending on the system in use.
  • A registered and verified NickServ account on freenode is needed (for the registration procedure, see: http://freenode.net/faq.shtml#userregistration).

A specific script is used to make the authentication and security SASL framework available to XChat. This script should be placed in the ~/.xchat2 directory, in order to be loaded when XChat is opened.

The support for SASL in XChat is obtained using the following commands:

       $ cd ~/.xchat2
       $ wget http://adipose.attenuate.org/~stephen/ircd-seven/sasl/cap_sasl.py

Warning - This Python script seems to work fine, and is released under the GNU GPL license. The Perl script available from http://freenode.net/sasl/ seems not work well with XChat.

At this point, we can finally set XChat. Having to use tor unlike previous cases, now the client must be configured to use the proxy server.

  1. From the Settings -> Preferences menu, go to the Network category and open Network setup

to configure it as follows:

    • in the Proxy server section set:
      - Hostname: localhost
      - Port: 9050
      - Type: Sock5
      - Use proxy for: All connections
  1. From the XChat menu, open the Networks list (Ctrl + S)
  2. Click the Add button in order to create a new network and call it (with no spaces): FreeNode-TorSASL
  3. Select the FreeNode-TorSASL network you just created and click on the Edit button to configure it as follows:
    • in Servers for …, click on Add and set as server:
      p4fsi4ockecnea7l.onion
    • in the same section, set:
      - Connect to selected server only: do NOT check
    • in the Your Details section, enter the values for Nick name, User name and Real name
      Warning - You must use a registered and verified NickServ account on freenode (for the registration procedure, see: http://freenode.net/faq.shtml#userregistration)
    • in the Connecting section set:
      - Auto connect …: set as desired
      - Use a proxy server: CHECK
      - Use SSL for all the servers on this network: do NOT check
      - Accept invalid SSL certificate: do NOT check
      - Channels to join: #libreplanet, #lp-it, #gnewsense, … other channels as you like, separated by commas, no spaces…
      - Connect command: leave blank
      - Nickserv password: leave blank
      - Server password: set the password corresponding to the registered and verified NickServ account on freenode that you are using (see above)
      - Character set: UTF-8
  4. To ensure that the SASL framework is used by the FreeNode-TorSASL network, type in the command area of XChat the command:
    /SASL -set FreeNode-TorSASL mynickname mypassword
    where:
    - FreeNode-TorSASL is the name of the network for which SASL have to be used (Warning - Since it is case-sensitive, it must match *exactly* the name assigned to the network for which SASL have to be used)
    - mynickname is the nickname of the registered and verified NickServ account on freenode that you are using (see above)
    - mypassword: is the password of the registered and verified NickServ account on freenode that you are using (see above)
  5. Note: The help for SASL in XChat is obtained using the command /HELP SASL
  6. Close and reopen XChat

The configuration of this new FreeNode-TorSASL network will appear in the /~.xchat2/servlist_.conf file. It will be something as:

       N=FreeNode-TorSASL
       I=mynickname
       U=mynickname
       R=mynickname
       P=mypassword
       J=#libreplanet,#lp-it,#gnewsense
       E=UTF-8 (Unicode)
       F=17
       D=0
       S=p4fsi4ockecnea7l.onion

The correspondence between the FreeNode-TorSASL network and the SASL framework (shown by the command /SASL) will result in a special section within the ~/.xchat2/sasl.conf file. It will be something as:

       [FreeNode-TorSASL] 
       nick = mynickname 
       password = mypassword
       mechanism = PLAIN

To increase security, it is *strongly recommended* to replace in this file the line:

       mechanism = PLAIN

with:

       mechanism = DH-BLOWFISH

You can now connect by Tor+SASL to the FreeNode-TorSASL network you just created.

Note: In some circumstances, probably because of the latency of the tor network, the connection might be slow or difficult.