CINXE.COM

Setting up ssh reverse tunnels with reversi

<!DOCTYPE html> <html lang="en-GB" class="no-js"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://comm-tech.org/ssh-reverse-tunnels/","20210509044501","https://web.archive.org/","web","/_static/", "1620535501"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <link rel="profile" href="http://gmpg.org/xfn/11"> <title>Setting up ssh reverse tunnels with reversi</title> <meta name="robots" content="max-image-preview:large"/> <link rel="dns-prefetch" href="//web.archive.org/web/20210509044501/https://fonts.googleapis.com/"/> <link rel="dns-prefetch" href="//web.archive.org/web/20210509044501/https://s.w.org/"/> <link rel="alternate" type="application/rss+xml" title=" » Feed" href="https://web.archive.org/web/20210509044501/https://comm-tech.org/feed/"/> <link rel="alternate" type="application/rss+xml" title=" » Comments Feed" href="https://web.archive.org/web/20210509044501/https://comm-tech.org/comments/feed/"/> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/web.archive.org\/web\/20210509044501\/https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/","ext":".png","svgUrl":"https:\/\/web.archive.org\/web\/20210509044501\/https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/web.archive.org\/web\/20210509044501\/https:\/\/comm-tech.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.7.1"}}; !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode;p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(!p||!p.fillText)return!1;switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([55357,56424,8205,55356,57212],[55357,56424,8203,55356,57212])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(n=t.source||{}).concatemoji?c(n.concatemoji):n.wpemoji&&n.twemoji&&(c(n.twemoji),c(n.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel="stylesheet" id="wp-block-library-css" href="https://web.archive.org/web/20210509044501cs_/https://comm-tech.org/wp-includes/css/dist/block-library/style.min.css?ver=5.7.1" type="text/css" media="all"/> <link rel="stylesheet" id="wp-block-library-theme-css" href="https://web.archive.org/web/20210509044501cs_/https://comm-tech.org/wp-includes/css/dist/block-library/theme.min.css?ver=5.7.1" type="text/css" media="all"/> <link rel="stylesheet" id="maisha-fonts-css" href="//web.archive.org/web/20210509044501cs_/https://fonts.googleapis.com/css?family=Raleway%3A400italic%2C100italic%2C200italic%2C300italic%2C500italic%2C600italic%2C700italic%2C800italic%2C900italic%2C400%2C100%2C200%2C300%2C500%2C600%2C700%2C800%2C900&amp;subset=latin%2Clatin-ext" type="text/css" media="all"/> <link rel="stylesheet" id="genericons-css" href="https://web.archive.org/web/20210509044501cs_/https://comm-tech.org/wp-content/themes/maisha-lite/genericons/genericons.css?ver=3.2" type="text/css" media="all"/> <link rel="stylesheet" id="maisha-style-css" href="https://web.archive.org/web/20210509044501cs_/https://comm-tech.org/wp-content/themes/maisha-lite/style.css?ver=5.7.1" type="text/css" media="all"/> <link rel="https://api.w.org/" href="https://comm-tech.org/wp-json/"/><link rel="alternate" type="application/json" href="https://web.archive.org/web/20210509044501/https://comm-tech.org/wp-json/wp/v2/posts/654"/><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://comm-tech.org/xmlrpc.php?rsd"/> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://comm-tech.org/wp-includes/wlwmanifest.xml"/> <meta name="generator" content="WordPress 5.7.1"/> <link rel="canonical" href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ssh-reverse-tunnels/"/> <link rel="shortlink" href="https://web.archive.org/web/20210509044501/https://comm-tech.org/?p=654"/> <link rel="alternate" type="application/json+oembed" href="https://web.archive.org/web/20210509044501/https://comm-tech.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fcomm-tech.org%2Fssh-reverse-tunnels%2F"/> <link rel="alternate" type="text/xml+oembed" href="https://web.archive.org/web/20210509044501/https://comm-tech.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fcomm-tech.org%2Fssh-reverse-tunnels%2F&amp;format=xml"/> <style type="text/css"> .site-title, .site-description { color: #143142; } </style> <style type="text/css" id="wp-custom-css"> /* You can add your own CSS here. crumb { font-weight: bold; font-size: 1.8rem; line-height: 1; margin-top: 1em; margin-bottom: 1.8em; color: #134408; } Click the help icon above to learn more. */ #content {background: #fff} </style> </head> <body class="post-template-default single single-post postid-654 single-format-standard wp-custom-logo"> <div class="headerblock standard"> <div class="content site-content"> <a class="skip-link screen-reader-text" href="#content">Skip to content</a> <header id="masthead" class="site-header" role="banner"> <div class="header-inner"> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/" class="custom-logo-link" rel="home"><img width="330" height="104" src="https://web.archive.org/web/20210509044501im_/https://comm-tech.org/wp-content/uploads/2018/02/Comm-Tech_Final_TransparetBG_logo.png" class="custom-logo" alt="Comm-Tech" srcset="https://web.archive.org/web/20210509044501im_/https://comm-tech.org/wp-content/uploads/2018/02/Comm-Tech_Final_TransparetBG_logo.png 330w, https://web.archive.org/web/20210509044501im_/https://comm-tech.org/wp-content/uploads/2018/02/Comm-Tech_Final_TransparetBG_logo-300x95.png 300w" sizes="(max-width: 330px) 100vw, 330px"/></a> <p class="site-title"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/" rel="home"></a></p> <p class="site-description">Empowering people through technology</p> <div id="secondary"> <nav id="site-navigation" class="navigation-main" role="navigation"> <button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><span>Primary Menu</span></button> <div class="menu-site-navigation-container"><ul id="primary-menu" class="nav-menu"><li id="menu-item-777" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-777"><a>ABOUT US</a> <ul class="sub-menu"> <li id="menu-item-75" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-75"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/about-us/">About Us</a></li> <li id="menu-item-76" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-76"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/about-us/history/">History</a></li> <li id="menu-item-78" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-78"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/about-us/meet-the-team/">Meet the team</a></li> <li id="menu-item-81" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-81"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/about-us/testimonials/">Testimonials</a></li> <li id="menu-item-833" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-833"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/about-us/privacy-policies/">Privacy &#038; information security</a></li> </ul> </li> <li id="menu-item-80" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-80"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/about-us/rates/">Rates and charges</a></li> <li id="menu-item-838" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-838"><a>OUR SERVICES</a> <ul class="sub-menu"> <li id="menu-item-96" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-96"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/our-services/it-support/">Charity IT support</a></li> <li id="menu-item-101" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-101"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/our-services/it-consultancy/">Technology consultancy</a></li> <li id="menu-item-99" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-99"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/our-services/it-health-checks/">System health checks</a></li> <li id="menu-item-97" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/our-services/sharepointoffice-365-google-apps-migrations/">Migrations and relocations</a></li> <li id="menu-item-98" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-98"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/our-services/cloud-server-hosting-services/">Hosting services</a></li> <li id="menu-item-816" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-816"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/our-services/portable-device-encryption/">Portable device encryption</a></li> <li id="menu-item-465" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-465"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/our-services/computer-recycling/">Computer recycling, data destruction</a></li> </ul> </li> <li id="menu-item-1119" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1119"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/about-us/vacancies/">Vacancies</a> <ul class="sub-menu"> <li id="menu-item-825" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-825"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/about-us/vacancies/we-are-hiring/">We are hiring!</a></li> </ul> </li> <li id="menu-item-87" class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-87"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/help/">HELP!</a></li> <li id="menu-item-83" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-83"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/contact-us/">Contact us</a></li> </ul></div> </nav><!-- #site-navigation --> </div> </div> </header><!-- .site-header --> </div><!-- .site-content --> </div><!-- .headerblock --> <div id="content" class="hfeed site"> <div class="content site-content news"> <main class="main site-main" role="main"> <div class="single-themes-page clear"> <div class="two_third"> <div id="primary" class="content-area"> <article id="post-654" class="post-654 post type-post status-publish format-standard hentry category-uncategorized tag-how-to tag-linux tag-reversi tag-ssh tag-tech-advice"> <header class="entry-header"> <h1 class="entry-title">Setting up ssh reverse tunnels with reversi</h1> </header><!-- .entry-header --> <footer class="entry-footer"> <span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ssh-reverse-tunnels/" rel="bookmark"><time class="entry-date published" datetime="2017-12-22T00:41:25+00:00">December 22, 2017</time><time class="updated" datetime="2020-05-17T14:16:33+00:00">May 17, 2020</time></a></span><span class="byline"><span class="author vcard"><span class="screen-reader-text">Author </span><a class="url fn n" href="https://web.archive.org/web/20210509044501/https://comm-tech.org/author/alan/">Alan B.</a></span></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/how-to/" rel="tag">how-to</a>, <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/linux/" rel="tag">linux</a>, <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/reversi/" rel="tag">reversi</a>, <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/ssh/" rel="tag">ssh</a>, <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/tech-advice/" rel="tag">tech advice</a></span> </footer><!-- .entry-footer --> <div class="entry-content"> <p># reversi-server and reversiclient<br/> # Author: kazimof at zzero dot org</p> <p># This program is free software: you can redistribute it and/or modify<br/> # it under the terms of the GNU General Public License as published by<br/> # the Free Software Foundation, either version 3 of the License, or<br/> # (at your option) any later version.<br/> #<br/> # This program is distributed in the hope that it will be useful,<br/> # but WITHOUT ANY WARRANTY; without even the implied warranty of<br/> # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br/> # GNU General Public License for more details.<br/> #<br/> # http://www.gnu.org/licenses/.</p> <p>repo now moved to git.<br/> https://github.com/kazimof/reversi/</p> <p>WHAT DOES REVERSI DO?<br/> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br/> Uses reverse ssh tunnels to expose device ports on a reversi-client&#8217;s network to a reversi-server anywhere on the internet.</p> <p>A reverse ssh tunnel (ssh -R) can be established quite easily, the problem comes with connection stability, where the ssh connection can and does hang from either the server or client end. Reversi tests the validity of the connection from the client every X seconds and re-establishes it if the connection is not fit for purpose.</p> <p>EXAMPLE USE 1:<br/> &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br/> You need to manage a LAN but you have no access to their office broadband router to configure port forwarding.</p> <p>EXAMPLE USE 2:<br/> &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br/> You have OpenWRT devices installed within a public mesh network and you need to be able to manage them.</p> <p>EXAMPLE USE 3:<br/> &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br/> A company router has died or their broadband has been cut or they have moved premises, so they are on a temporary 3/4G connection waiting for a new broadband router with a static IP. Obviously the server not getting mail since port 25 is no longer forwarded by router, and webmail is unavailable to user for the same reason. Using an openwrt inside the network I forward ports 25 and 443 of the mail server to internet allowing the company mail server to receive mail and service web mail requests.</p> <p>HOW DOES IT WORK?<br/> &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br/> reversi-clients are equipped with a password-free ssh key to a user on the reversi-server. Using this key the reversi-client is allowed to do 2 things:<br/> 1) run a script that forwards any local port on it&#8217;s network the reversi-server<br/> 2) run a script on the reversi-server passing arguements that inform the reversi-server about which node they are, which port it is using and what kind of response to expect from that port</p> <p>On the client side the scripts are both run in gnu-screen, one does the reverse connection and the other acts as a connections monitor, killing and re-establishing the reverse tunnel according to the server response from the script referenced in 2) above.</p> <p>On the server side the script referenced in 2) above tests to see whether the port is responding with the expected response, if not it assumes the connection has hung, identifies the appropriate PID and kills it. Script then returns a number specifying a time which the client monitor script should wait before retyring the connection.</p> <p>DESIGN PARAMETERS<br/> &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br/> Needs to run on a variety of client OS, I am managing a mix of hundreds of openwrt devices, linux servers and OSX installs, I needed this solution for them all and I am too lazy to maintain multiple forks.<br/> The 2 programs available to all platforms are:</p> <p>screen<br/> ssh</p> <p>DESIGN<br/> &#8212;&#8212;<br/> Reversi commprises of 2 components to be installed on the reversi server.</p> <p>SERVER: hosts a script that clients are authorised to invoke to monitor and manage their reverse tunnel<br/> RECOMMENDED INSTALL FOLDER: /home/reversi/reversi<br/> CLIENT BUILDER: builds the scripts to be run on the client device<br/> RECOMMENDED INSTALL FOLDER: /root/reversi/client-builder</p> <p>See INSTRUCTIONS.TXT for installation info.</p> </div><!-- .entry-content --> </article><!-- #post-## --> <nav class="navigation post-navigation" role="navigation" aria-label="Posts"> <h2 class="screen-reader-text">Post navigation</h2> <div class="nav-links"><div class="nav-previous"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/is-cloud-hosting-for-me-2/" rel="prev"><span class="meta-nav" aria-hidden="true">Previous</span> <span class="screen-reader-text">Previous post:</span> <span class="post-title">Under the hood of Microsoft Office365</span></a></div><div class="nav-next"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/gdpr-handbook/" rel="next"><span class="meta-nav" aria-hidden="true">Next</span> <span class="screen-reader-text">Next post:</span> <span class="post-title">GDPR Handbook &#8211; A guide to compliance for non-profits</span></a></div></div> </nav> </div> </div> <div class="one_third lastcolumn"> <div id="sidebar" class="sidebar"> <div class="widget-area" role="complementary"> <aside id="search-2" class="widget widget_search clear"><h2 class="widget-title">Search</h2><form role="search" method="get" class="search-form" action="https://web.archive.org/web/20210509044501/https://comm-tech.org/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s"/> </label> <input type="submit" class="search-submit screen-reader-text" value="Search"/> </form></aside> <aside id="recent-posts-2" class="widget widget_recent_entries clear"> <h2 class="widget-title">HOW-TOs and guides</h2> <ul> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/accessing-our-remote-support/">Accessing our remote support</a> </li> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/setting-up-iscsi-with-tgtadm-server-and-using-open-iscsi-client/">Setting up iSCSI with tgtadm (server) and using open-iscsi (client)</a> </li> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/set-up-openwrt-as-routed-wifi-client/">Set up OpenWRT as routed wifi client</a> </li> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/laptop-and-portable-device-encryption-guide-gdpr/">Laptop and portable device encryption guide (GDPR)</a> </li> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/gdpr-handbook/">GDPR Handbook &#8211; A guide to compliance for non-profits</a> </li> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ssh-reverse-tunnels/" aria-current="page">Setting up ssh reverse tunnels with reversi</a> </li> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/is-cloud-hosting-for-me-2/">Under the hood of Microsoft Office365</a> </li> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/is-cloud-hosting-for-me/">The pros and cons of cloud hosting</a> </li> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/monitoring-your-linux-servers/">Scripts for monitoring Linux servers</a> </li> <li> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/secure-passwords/">How to choose secure passwords</a> </li> </ul> </aside><aside id="custom_html-2" class="widget_text widget widget_custom_html clear"><div class="textwidget custom-html-widget"><p> &nbsp; &nbsp; &nbsp; &nbsp; </p></div></aside> </div><!-- .widget-area --> </div><!-- .sidebar --> </div> </div> </main><!-- .site-main --> </div><!-- .content-area --> </div><!-- .site-content --> <footer id="colophon" class="site-footer" role="contentinfo"> <div class="footer"> <div class="site-info"> <div class="hfeed site"> <div class="content site-content"> <div class="clear widget-area optional-widget-area footer-widget-area" role="complementary"> <div class="more-than-three-widgets"> <aside id="media_image-3" class="widget widget_media_image"><img width="300" height="95" src="https://web.archive.org/web/20210509044501im_/https://comm-tech.org/wp-content/uploads/2018/03/Comm-Tech_Final_BlueBG-300x95.png" class="image wp-image-761 attachment-medium size-medium" alt="Comm-Tech logo" loading="lazy" style="max-width: 100%; height: auto;" srcset="https://web.archive.org/web/20210509044501im_/https://comm-tech.org/wp-content/uploads/2018/03/Comm-Tech_Final_BlueBG-300x95.png 300w, https://web.archive.org/web/20210509044501im_/https://comm-tech.org/wp-content/uploads/2018/03/Comm-Tech_Final_BlueBG-768x244.png 768w, https://web.archive.org/web/20210509044501im_/https://comm-tech.org/wp-content/uploads/2018/03/Comm-Tech_Final_BlueBG.png 842w" sizes="(max-width: 300px) 100vw, 300px"/></aside><aside id="text-3" class="widget widget_text"><h3 class="widget-title">Company details</h3> <div class="textwidget"><p>Registered UK charity 1096954<br/> UK company number 4419371</p> </div> </aside><aside id="text-4" class="widget widget_text"><h3 class="widget-title">Contact</h3> <div class="textwidget"><p>Click to call:<br/> <a href="https://web.archive.org/web/20210509044501/tel:+442086715555">020 8671 5555</a><br/> Click to email:<br/> <a href="https://web.archive.org/web/20210509044501/mailto:info@comm-tech.org">hello@comm-tech.org</a></p> </div> </aside><aside id="text-5" class="widget widget_text"><h3 class="widget-title">Address</h3> <div class="textwidget"><p>205 Amesbury Avenue<br/> LONDON<br/> SW2 3BJ</p> </div> </aside><aside id="tag_cloud-2" class="widget widget_tag_cloud"><h3 class="widget-title">Tags</h3><div class="tagcloud"><a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/assistive-technology/" class="tag-cloud-link tag-link-18 tag-link-position-1" style="font-size: 8pt;" aria-label="assistive technology (1 item)">assistive technology</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/backup/" class="tag-cloud-link tag-link-17 tag-link-position-2" style="font-size: 8pt;" aria-label="backup (1 item)">backup</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/cloud-hosted/" class="tag-cloud-link tag-link-9 tag-link-position-3" style="font-size: 11.230769230769pt;" aria-label="cloud hosted (2 items)">cloud hosted</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/comm-tech/" class="tag-cloud-link tag-link-21 tag-link-position-4" style="font-size: 8pt;" aria-label="comm-tech (1 item)">comm-tech</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/how-to/" class="tag-cloud-link tag-link-15 tag-link-position-5" style="font-size: 18.769230769231pt;" aria-label="how-to (7 items)">how-to</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/linux/" class="tag-cloud-link tag-link-12 tag-link-position-6" style="font-size: 16.615384615385pt;" aria-label="linux (5 items)">linux</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/mac-os/" class="tag-cloud-link tag-link-20 tag-link-position-7" style="font-size: 8pt;" aria-label="Mac OS (1 item)">Mac OS</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/microsoft/" class="tag-cloud-link tag-link-8 tag-link-position-8" style="font-size: 8pt;" aria-label="Microsoft (1 item)">Microsoft</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/office-programs/" class="tag-cloud-link tag-link-10 tag-link-position-9" style="font-size: 11.230769230769pt;" aria-label="office programs (2 items)">office programs</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/reversi/" class="tag-cloud-link tag-link-14 tag-link-position-10" style="font-size: 8pt;" aria-label="reversi (1 item)">reversi</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/security/" class="tag-cloud-link tag-link-16 tag-link-position-11" style="font-size: 13.384615384615pt;" aria-label="security (3 items)">security</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/ssh/" class="tag-cloud-link tag-link-13 tag-link-position-12" style="font-size: 8pt;" aria-label="ssh (1 item)">ssh</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/tech-advice/" class="tag-cloud-link tag-link-11 tag-link-position-13" style="font-size: 22pt;" aria-label="tech advice (11 items)">tech advice</a> <a href="https://web.archive.org/web/20210509044501/https://comm-tech.org/ABOUT/windows/" class="tag-cloud-link tag-link-19 tag-link-position-14" style="font-size: 13.384615384615pt;" aria-label="windows (3 items)">windows</a></div> </aside> </div> </div> <div class="copyright"> <a href="https://web.archive.org/web/20210509044501/https://www.anarieldesign.com/free-charity-wordpress-theme/">Theme: Maisha Lite</a> </div> </div><!-- .footerwidgets --> </div><!-- .site-info --> </div><!-- .page --> </div><!-- .footer --> </footer><!-- .site-footer --> <script type="text/javascript" src="https://web.archive.org/web/20210509044501js_/https://comm-tech.org/wp-content/themes/maisha-lite/js/skip-link-focus-fix.js?ver=20141010" id="maisha-skip-link-focus-fix-js"></script> <script type="text/javascript" src="https://web.archive.org/web/20210509044501js_/https://comm-tech.org/wp-content/themes/maisha-lite/js/navigation.js?ver=20120206" id="maisha-navigation-js"></script> <script type="text/javascript" src="https://web.archive.org/web/20210509044501js_/https://comm-tech.org/wp-includes/js/wp-embed.min.js?ver=5.7.1" id="wp-embed-js"></script> </body> </html><!-- FILE ARCHIVED ON 04:45:01 May 09, 2021 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 06:58:38 Nov 28, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 3.421 exclusion.robots: 0.042 exclusion.robots.policy: 0.028 esindex: 0.012 cdx.remote: 8.554 LoadShardBlock: 269.969 (3) PetaboxLoader3.resolve: 3355.639 (4) PetaboxLoader3.datanode: 100.166 (4) load_resource: 3218.119 -->

Pages: 1 2 3 4 5 6 7 8 9 10