Squiggle Lan Messenger Squiggle is a free open
- Slides: 10
Squiggle Lan Messenger
Squiggle is a free, open source, LAN Messenger that supports: 1. Server-less peer to peer LAN chat 2. No Installation required, just download, unzip and run 3. Groupchat, Broadcast chat and Private chat 4. Bridge for connecting two LANs across subnets or WAN (MESH nodes) 5. Fast (multiple) file transfer 6. Spell Check, Buzz, Emoticons, Audio Alerts and Tray Popups 7. Contact Groups, Display Message, Display Pic, Chat Commands 8. Chat History, Status History 9. Contact Status (on-line, off-line, away…etc. ) 10. Voice Chat
Software required: Squiggle Client Squiggle Bridge (optional) This software may be downloaded from the Squiggle home page: https: //squiggle. codeplex. com (in the “DOWNLOADS” section) You will also need to have installed: . NET Framework 4. 0 http: //www. microsoft. com/en-us/download/details. aspx? id=17851 Visual C++ 2010 Redistributable http: //www. microsoft. com/en-us/download/details. aspx? id=5555 This information is also available by clicking on the “System Requirements” link on the Squiggle home page.
There are two pieces to Squiggle: 1. Squiggle Client – this is the “application” that you run that provides the chat interface, there is no setup required, all settings should be automatically found and entered when the program is launched. 2. Squiggle Bridge – this is the “bridge” software required to connect to multiple subnets “MESH Nodes” and MUST be run on one computer attached tor each node. It can either be launched like an application (good for troubleshooting) or setup as a Windows service. Listens for any Squiggle Client traffic and routes it to other nodes that are also running a bridge. This does require some manual configuration, I will get into that in the next slide. The current “Stable” version is 3. 3 and will be used in the demo
Squiggle Bridge To connect to multiple MESH nodes it is necessary to run Squiggle Bridge on one computer attached to each node. Additional computers attached to the same node only need to be running the Squiggle Client application. In order to allow Squiggle Bridge to “see” the other nodes in the group some configuration is required. Here is an example of the default config file:
<? xml version="1. 0"? > <configuration> <config. Sections> <section name="Bridge. Configuration" type="Squiggle. Bridge. Configuration, Squiggle. Bridge, Version=1. 0. 0. 0, Culture=neutral, Public. Key. Token=null"/> </config. Sections> <Bridge. Configuration> <Internal. Service. Binding IP="10. 58. 241. 212" Port="1235"/> <External. Service. Binding IP="10. 58. 241. 212" Port="1236"/> <Presence. Binding Multicast. IP="226. 10. 11. 12" Multicast. Port="9998" Service. Port="9997" Callback. Port="9996" /> <Targets> <add IP="10. 115. 218. 213" Port="1236"/> </Targets> </Bridge. Configuration> <system. diagnostics> <!-<trace autoflush="true" > <listeners> <add name="File. Listener" type="System. Diagnostics. Text. Writer. Trace. Listener" initialize. Data="Squiggle. Bridge. log" /> </listeners> </trace> //--> </system. diagnostics> <startup> <supported. Runtime version="v 4. 0" sku=". NETFramework, Version=v 4. 0"/> </startup> </configuration>
To modify the Squiggle. Bridge. exe. config file you will need to do the following: 1. Get the IP Address of each computer in the network that is running the bridge on that node. For this demonstration let us assume we have three nodes and the IP addresses for the computer running the Squiggle Bridge are: (NODE #1) - 10. 58. 241. 212 (NODE #2) - 10. 115. 218. 213 (NODE #3) - 10. 117. 54. 182 2. On the “local” computer running the bridge for that node find the “<Bridge Configuration>” section and change the default IP address in the lines that have “Internal. Service. Binding” and “External. Service. Binding” to the IP address of that computer 3. Then in the “<Targets>” section add a new IP line for the additional computers running Squiggle Bridge on the other nodes and add each IP address to a line. So the files should look like this:
(NODE #1) - 10. 58. 241. 212 (NODE #2) - 10. 115. 218. 213 (NODE #3) - 10. 117. 54. 182 <? xml version="1. 0"? > <configuration> <config. Sections> <section name="Bridge. Configuration" type="Squiggle. Bridge. Configuration, Squiggle. Bridge, Version=1. 0. 0. 0, Culture=neutral, Public. Key. Token=null"/> </config. Sections> <Bridge. Configuration> <Internal. Service. Binding IP="10. 58. 241. 212" Port="1235"/> <External. Service. Binding IP="10. 58. 241. 212" Port="1236"/> <Presence. Binding Multicast. IP="226. 10. 11. 12" Multicast. Port="9998" Service. Port="9997" Callback. Port="9996" /> <Targets> <add IP="10. 115. 218. 213" Port="1236"/> <add IP="10. 117. 54. 182" Port="1236"/> </Targets> </Bridge. Configuration> <system. diagnostics> <!-<trace autoflush="true" > <listeners> <add name="File. Listener" type="System. Diagnostics. Text. Writer. Trace. Listener" initialize. Data="Squiggle. Bridge. log" /> </listeners> </trace> //--> </system. diagnostics> <startup> <supported. Runtime version="v 4. 0" sku=". NETFramework, Version=v 4. 0"/> </startup> </configuration>
(NODE #1) - 10. 58. 241. 212 (NODE #2) - 10. 115. 218. 213 (NODE #3) - 10. 117. 54. 182 <? xml version="1. 0"? > <configuration> <config. Sections> <section name="Bridge. Configuration" type="Squiggle. Bridge. Configuration, Squiggle. Bridge, Version=1. 0. 0. 0, Culture=neutral, Public. Key. Token=null"/> </config. Sections> <Bridge. Configuration> <Internal. Service. Binding IP="10. 115. 218. 213" Port="1235"/> <External. Service. Binding IP="10. 115. 218. 213" Port="1236"/> <Presence. Binding Multicast. IP="226. 10. 11. 12" Multicast. Port="9998" Service. Port="9997" Callback. Port="9996" /> <Targets> <add IP="10. 58. 241. 212" Port="1236"/> <add IP="10. 117. 54. 182" Port="1236"/> </Targets> </Bridge. Configuration> <system. diagnostics> <!-<trace autoflush="true" > <listeners> <add name="File. Listener" type="System. Diagnostics. Text. Writer. Trace. Listener" initialize. Data="Squiggle. Bridge. log" /> </listeners> </trace> //--> </system. diagnostics> <startup> <supported. Runtime version="v 4. 0" sku=". NETFramework, Version=v 4. 0"/> </startup> </configuration>
(NODE #1) - 10. 58. 241. 212 (NODE #2) - 10. 115. 218. 213 (NODE #3) - 10. 117. 54. 182 <? xml version="1. 0"? > <configuration> <config. Sections> <section name="Bridge. Configuration" type="Squiggle. Bridge. Configuration, Squiggle. Bridge, Version=1. 0. 0. 0, Culture=neutral, Public. Key. Token=null"/> </config. Sections> <Bridge. Configuration> <Internal. Service. Binding IP="10. 117. 54. 182" Port="1235"/> <External. Service. Binding IP="10. 117. 54. 182" Port="1236"/> <Presence. Binding Multicast. IP="226. 10. 11. 12" Multicast. Port="9998" Service. Port="9997" Callback. Port="9996" /> <Targets> <add IP="10. 58. 241. 212" Port="1236"/> <add IP="10. 115. 218. 213" Port="1236"/> </Targets> </Bridge. Configuration> <system. diagnostics> <!-<trace autoflush="true" > <listeners> <add name="File. Listener" type="System. Diagnostics. Text. Writer. Trace. Listener" initialize. Data="Squiggle. Bridge. log" /> </listeners> </trace> //--> </system. diagnostics> <startup> <supported. Runtime version="v 4. 0" sku=". NETFramework, Version=v 4. 0"/> </startup> </configuration>