https://sudoroom.org/mediawiki/api.php?action=feedcontributions&user=Daniel&feedformat=atomSudo Room - User contributions [en]2024-03-28T12:21:11ZUser contributionsMediaWiki 1.37.2https://sudoroom.org/mediawiki/index.php?title=Port_Forwarding&diff=12218Port Forwarding2023-05-22T23:56:50Z<p>Daniel: This post shows how to do a port forwarding to an http web server, when having access to it via ssh.</p>
<hr />
<div>'''Port Forwarding'''<br />
<br />
Situation: There is a web server that only offers non-secure (HTTP) connection. And, you have SSH access to it. For this example the web server IP is 192.168.0.20, and port number is 10000.<br />
<br />
<br />
1. Open a Terminal and SSH to the server using this command format:<br />
ssh -L 8080:localhost:10000 username@server-ip<br />
<br />
2. Once the port forwarding connection described in step one is established, open your browser and connect to the web server: http://192.168.0.20:10000<br />
<br />
<br />
That's it.<br />
<br />
<br />
<br />
Tags: #ssh #portforwarding #port #webserver #http #localhost</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=SSH&diff=11752SSH2021-04-14T08:53:07Z<p>Daniel: </p>
<hr />
<div>'''SSH LOGIN WITH SSH CERTIFICATE'''<br />
<br />
'''On your computer:''' <br /><br />
Adding your email address to your public key is optional. It will help the server administrator (and Feds) to ID whose public key is it. If you don't want it there, don't type it.<br />
In the process of generating this SSH certificate/keys you will be prompted to set a passphrase. This passphrase will be required every time you want to connect to a server that has your public key. <br />
<br />
Log in with your computer account and at the command line run:<br /><br />
'''ssh-keygen -t rsa -b 4096 -C "youremail@example.com"'''<br />
<br />
This will create the ".ssh" folder, and inside that folder will generate two files, one is the private key "id_rsa", and the other the public key "id_rsa.pub". <br />
The public key is the one that you share. NEVER share the private key.<br />
<br />
'''On the target/server computer:'''<br />
# Log in with the account that was assigned to you <br />
# On terminal make sure you are at your account home directory: '''cd ~/'''<br />
# If the ".ssh" folder doesn't exist, create one: '''mkdir .ssh'''<br />
# Set the 700 permissions to .ssh: '''sudo chmod 700 .ssh'''<br />
# Now change directory: '''cd .ssh'''<br />
# If the "authorized_keys" file doesn't exist, create one: '''touch authorized_keys'''<br />
# Set the 644 permissions: '''sudo chmod 644 authorized_keys'''<br />
# And finally, copy and save your public key in this "authorized_keys" file: '''sudo nano authorized_keys'''<br />
<br />
'''From your computer:'''<br /><br />
Now, to connect to the server that has your public key, and assuming that the server is using port 22786 for SSH:<br /><br />
'''ssh -p 22786 user@host''' <br />
<br />
Thanks!</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=SSH&diff=11054SSH2018-02-24T23:23:13Z<p>Daniel: </p>
<hr />
<div>'''SSH LOGIN WITH SSH CERTIFICATE'''<br />
<br />
'''On your computer:''' <br /><br />
Adding your email address to your public key is optional. It will help the server administrator (and Feds) to ID whose public key is it. If you don't want it there, don't type it.<br />
In the process of generating this SSH certificate/keys you will be prompted to set a passphrase. This passphrase will be required every time you want to connect to a server that has your public key. <br />
<br />
Log in with your computer account and at the command line run:<br /><br />
'''ssh-keygen -t rsa -b 4096 -C "danarauz@gmail.com"'''<br />
<br />
This will create the ".ssh" folder, and inside that folder will generate two files, one is the private key "id_rsa", and the other the public key "id_rsa.pub". <br />
The public key is the one that you share. NEVER share the private key.<br />
<br />
'''On the target/server computer:'''<br />
# Log in with the account that was assigned to you <br />
# On terminal make sure you are at your account home directory: '''cd ~/'''<br />
# If the ".ssh" folder doesn't exist, create one: '''mkdir .ssh'''<br />
# Set the 700 permissions to .ssh: '''sudo chmod 700 .ssh'''<br />
# Now change directory: '''cd .ssh'''<br />
# If the "authorized_keys" file doesn't exist, create one: '''touch authorized_keys'''<br />
# Set the 644 permissions: '''sudo chmod 644 authorized_keys'''<br />
# And finally, copy and save your public key in this "authorized_keys" file: '''sudo nano authorized_keys'''<br />
<br />
'''From your computer:'''<br /><br />
Now, to connect to the server that has your public key, and assuming that the server is using port 22786 for SSH:<br /><br />
'''ssh -p 22786 user@host''' <br />
<br />
Thanks!</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=SSH&diff=11053SSH2018-02-24T23:22:45Z<p>Daniel: </p>
<hr />
<div>'''SSH LOGIN WITH SSH CERTIFICATE'''<br />
<br />
'''On your computer:''' <br /><br />
Adding your email address to your public key is optional. It will help the server administrator (and Feds) to ID whose public key is it. If you don't want it there, don't type it.<br />
In the process of generating this SSH certificate/keys you will be prompted to set a passphrase. This passphrase will be required every time you want to connect to a server that has your public key. <br />
<br />
Log in with your computer account and at the command line run:<br /><br />
ssh-keygen -t rsa -b 4096 -C "danarauz@gmail.com"<br />
<br />
This will create the ".ssh" folder, and inside that folder will generate two files, one is the private key "id_rsa", and the other the public key "id_rsa.pub". <br />
The public key is the one that you share. NEVER share the private key.<br />
<br />
'''On the target/server computer:'''<br />
# Log in with the account that was assigned to you <br />
# On terminal make sure you are at your account home directory: '''cd ~/'''<br />
# If the ".ssh" folder doesn't exist, create one: '''mkdir .ssh'''<br />
# Set the 700 permissions to .ssh: '''sudo chmod 700 .ssh'''<br />
# Now change directory: '''cd .ssh'''<br />
# If the "authorized_keys" file doesn't exist, create one: '''touch authorized_keys'''<br />
# Set the 644 permissions: '''sudo chmod 644 authorized_keys'''<br />
# And finally, copy and save your public key in this "authorized_keys" file: '''sudo nano authorized_keys'''<br />
<br />
'''From your computer:'''<br /><br />
Now, to connect to the server that has your public key, and assuming that the server is using port 22786 for SSH:<br /><br />
'''ssh -p 22786 user@host''' <br />
<br />
Thanks!</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=SSH&diff=11052SSH2018-02-24T23:21:45Z<p>Daniel: </p>
<hr />
<div>'''SSH LOGIN WITH SSH CERTIFICATE'''<br />
<br />
'''On your computer:''' <br /><br />
Adding your email address to your public key is optional. It will help the server administrator (and Feds) to ID whose public key is it. If you don't want it there, don't type it.<br />
In the process of generating this SSH certificate/keys you will be prompted to set a passphrase. This passphrase will be required every time you want to connect to a server that has your public key. <br />
<br />
Log in with your computer account and at the command line run:<br /><br />
ssh-keygen -t rsa -b 4096 -C "danarauz@gmail.com"<br />
<br />
This will create the ".ssh" folder, and inside that folder will generate two files, one is the private key "id_rsa", and the other the public key "id_rsa.pub". <br />
The public key is the one that you share. NEVER share the private key.<br />
<br />
'''On the target/server computer:'''<br />
# Log in with the account that was assigned to you <br />
# On terminal make sure you are at your account home directory: '''cd ~/'''<br />
# If the ".ssh" folder doesn't exist, create one: sudo mkdir .ssh<br />
# Set the 700 permissions to .ssh: '''sudo chmod 700 .ssh'''<br />
# Now change directory: '''cd .ssh'''<br />
# If the "authorized_keys" file doesn't exist, create one: '''touch authorized_keys'''<br />
# Set the 644 permissions: '''sudo chmod 644 authorized_keys'''<br />
# And finally, copy and save your public key in this "authorized_keys" file: '''sudo nano authorized_keys'''<br />
<br />
'''From your computer:'''<br /><br />
Now, to connect to the server that has your public key, and assuming that the server is using port 22786 for SSH:<br /><br />
ssh -p 22786 user@host <br />
<br />
Thanks!</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=SSH&diff=11051SSH2018-02-24T23:20:36Z<p>Daniel: </p>
<hr />
<div>'''SSH LOGIN WITH SSH CERTIFICATE'''<br />
<br />
'''On your computer:''' <br /><br />
Adding your email address to your public key is optional. It will help the server administrator (and Feds) to ID whose public key is it. If you don't want it there, don't type it.<br />
In the process of generating this SSH certificate/keys you will be prompted to set a passphrase. This passphrase will be required every time you want to connect to a server that has your public key. <br />
<br />
Log in with your computer account and at the command line run:<br /><br />
ssh-keygen -t rsa -b 4096 -C "danarauz@gmail.com"<br />
<br />
This will create the ".ssh" folder, and inside that folder will generate two files, one is the private key "id_rsa", and the other the public key "id_rsa.pub". <br />
The public key is the one that you share. NEVER share the private key.<br />
<br />
'''On the target/server computer:'''<br />
# Log in with the account that was assigned to you <br />
# On terminal make sure you are at your account home directory: cd ~/<br />
# If the ".ssh" folder doesn't exist, create one: sudo mkdir .ssh<br />
# Set the 700 permissions to .ssh: sudo chmod 700 .ssh<br />
# Now change directory: cd .ssh<br />
# If the "authorized_keys" file doesn't exist, create one: touch authorized_keys<br />
# Set the 644 permissions: sudo chmod 644 authorized_keys<br />
# And finally, copy and save your public key in this "authorized_keys" file: sudo nano authorized_keys<br />
<br />
'''From your computer:'''<br /><br />
Now, to connect to the server that has your public key, and assuming that the server is using port 22786 for SSH:<br /><br />
ssh -p 22786 user@host <br />
<br />
Thanks!</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=SSH&diff=11049SSH2018-02-24T09:12:42Z<p>Daniel: </p>
<hr />
<div>'''SSH LOGIN WITH SSH CERTIFICATE'''<br />
<br />
'''On your computer:''' <br /><br />
Adding your email address to your public key is optional. It will help the server administrator (and Feds) to ID whose public key is it. If you don't want it there, don't type it.<br />
In the process of generating this SSH certificate/keys you will be prompted to set a passphrase. This passphrase will be required every time you want to connect to a server that has your public key. <br />
<br />
Log in with your computer account and at the command line run:<br /><br />
ssh-keygen -t rsa -b 4096 -C "danarauz@gmail.com<br />
<br />
This will create the ".ssh" folder, and inside that folder will generate two files, one is the private key "id_rsa", and the other the public key "id_rsa.pub". <br />
The public key is the one that you share. NEVER share the private key.<br />
<br />
'''On the target/server computer:'''<br />
# Log in with the account that was assigned to you <br />
# On terminal make sure you are at your account home directory: cd ~/<br />
# If the ".ssh" folder doesn't exist, create one: sudo mkdir .ssh<br />
# Set the 700 permissions to .ssh: sudo chmod 700 .ssh<br />
# Now change directory: cd .ssh<br />
# If the "authorized_keys" file doesn't exist, create one: touch authorized_keys<br />
# Set the 644 permissions: sudo chmod 644 authorized_keys<br />
# And finally, copy and save your public key in this "authorized_keys" file: sudo nano authorized_keys<br />
<br />
'''From your computer:'''<br /><br />
Now, to connect to the server that has your public key, and assuming that the server is using port 22786 for SSH:<br /><br />
ssh -p 22786 user@host <br />
<br />
Thanks!</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=SSH&diff=11048SSH2018-02-24T09:11:58Z<p>Daniel: </p>
<hr />
<div>'''SSH LOGIN WITH SSH CERTIFICATE'''<br />
<br />
'''On your computer:''' <br /><br />
Adding your email address to your public key is optional. It will help the server administrator (and Feds) to ID whose public key is it. If you don't want it there, don't type it.<br />
In the process of generating this SSH certificate/keys you will be prompted to set a passphrase. This passphrase will be required every time you want to connect to a server that has your public key. <br />
<br />
Log in with your computer account and at the command line run:<br />
ssh-keygen -t rsa -b 4096 -C "danarauz@gmail.com<br />
<br />
This will create the ".ssh" folder, and inside that folder will generate two files, one is the private key "id_rsa", and the other the public key "id_rsa.pub". <br />
The public key is the one that you share. NEVER share the private key.<br />
<br />
'''On the target/server computer:'''<br />
# Log in with the account that was assigned to you <br />
# On terminal make sure you are at your account home directory: cd ~/<br />
# If the ".ssh" folder doesn't exist, create one: sudo mkdir .ssh<br />
# Set the 700 permissions to .ssh: sudo chmod 700 .ssh<br />
# Now change directory: cd .ssh<br />
# If the "authorized_keys" file doesn't exist, create one: touch authorized_keys<br />
# Set the 644 permissions: sudo chmod 644 authorized_keys<br />
# And finally, copy and save your public key in this "authorized_keys" file: sudo nano authorized_keys<br />
<br />
'''From your computer:'''<br /><br />
Now, to connect to the server that has your public key, and assuming that the server is using port 22786 for SSH:<br /><br />
ssh -p 22786 user@host <br />
<br />
Thanks!</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=SSH&diff=11047SSH2018-02-24T09:10:47Z<p>Daniel: Created page with "'''SSH LOGIN WITH SSH CERTIFICATE''' '''On your computer:''' <br /> Adding your email address to your public key is optional. It will help the server administrator (and Feds)..."</p>
<hr />
<div>'''SSH LOGIN WITH SSH CERTIFICATE'''<br />
<br />
'''On your computer:''' <br /><br />
Adding your email address to your public key is optional. It will help the server administrator (and Feds) to ID whose public key is it. If you don't want it there, don't type it.<br />
In the process of generating this SSH certificate/keys you will be prompted to set a passphrase. This passphrase will be required every time you want to connect to a server that has your public key. <br />
<br />
Log in with your computer account and at the command line run:<br />
ssh-keygen -t rsa -b 4096 -C "danarauz@gmail.com<br />
<br />
This will create the ".ssh" folder, and inside that folder will generate two files, one is the private key "id_rsa", and the other the public key "id_rsa.pub". <br />
The public key is the one that you share. NEVER share the private key.<br />
<br />
'''On the target/server computer:'''<br />
# Log in with the account that was assigned to you <br />
# On terminal make sure you are at your account home directory: cd ~/<br />
# If the ".ssh" folder doesn't exist, create one: sudo mkdir .ssh<br />
# Set the 700 permissions to .ssh: sudo chmod 700 .ssh<br />
# Now change directory: cd .ssh<br />
# If the "authorized_keys" file doesn't exist, create one: touch authorized_keys<br />
# Set the 644 permissions: sudo chmod 644 authorized_keys<br />
# And finally, copy and save your public key in this "authorized_keys" file: sudo nano authorized_keys<br />
<br />
'''From your computer:'''<br /><br />
Now, to connect to the server that has your public key, and assuming that the server is using port 22786 for SSH:<br />
ssh -p 22786 user@host <br />
<br />
Thanks!</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=User:Daniel&diff=11046User:Daniel2018-02-24T08:40:29Z<p>Daniel: ;)</p>
<hr />
<div></div>Danielhttps://sudoroom.org/mediawiki/index.php?title=Mesh/WalkThrough&diff=11045Mesh/WalkThrough2018-02-24T08:37:58Z<p>Daniel: /* Download/Build */</p>
<hr />
<div>Congratulations on choosing to become part of a People's Open Network! This is a walkthrough for flashing a node (a home router) with the SudoMesh's sudowrt-firmware (a custom build of OpenWRT) and then configuring it with makenode (a custom javascript tool developed by SudoMesh). At the end of the walkthrough, you'll be able to plug in your router and join the mesh. The walkthrough assumes you're using a linux-ish OS (mac OSX should work also) and that you have [https://help.ubuntu.com/community/UsingTheTerminal basic knowledge of the terminal]. The general idea of building your own mesh node consists of three steps, [[#Download/Build|downloading or compiling]] custom firmware, [[#Flash/Upload|flashing that firmware]] to the node (i.e. copying firmware to [https://en.wikipedia.org/wiki/Flash_memory flash memory]), and [[#makenode/Configure|configuring the node]] to function as part of a mesh (with a software tool such as makenode).<br />
<br />
Before you flash your router, it is recommended that you read the [[Home and extender nodes#Home_nodes|home node info]] to find out the router works as a mesh node.<br />
<br />
= Download/Build =<br />
<br />
Now that you have a node, you will probably want to learn how to flash it with the latest sudowrt-firmware. The first step is to download the firmware image file for your supported router. <br />
<br />
At the moment, we are supporting the following routers:<br />
<br />
{| class="wikitable"<br />
! Name !! OpenWRT Doc !! Firmware Image<br />
|-<br />
| TP-Link WDR3500 || [https://wiki.openwrt.org/toh/tp-link/tl-wdr3500 OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-factory.bin firmware image]<br />
|-<br />
| TP-Link WDR3600 || [https://wiki.openwrt.org/toh/tp-link/tl-wdr3600 OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin firmware image]<br />
|-<br />
| TP-Link WDR4300 || [https://wiki.openwrt.org/toh/tp-link/tl-wdr4300 OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin firmware image]<br />
|-<br />
| Western Digital MyNet N600 || [https://wiki.openwrt.org/toh/wd/n600 OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx/openwrt-ar71xx-generic-mynet-n600-squashfs-factory.bin firmware image]<br />
|-<br />
| Western Digital MyNet N750 || [https://wiki.openwrt.org/toh/wd/n750 OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx/openwrt-ar71xx-generic-mynet-n750-squashfs-factory.bin firmware image]<br />
|-<br />
|}<br />
<br />
Builds for other routers can be found on our [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx/ builds server], though there is no guarantee the firmware will work with any given router.<br />
<br />
Alternatively, you can build your own copy of the firmware images by following the guide in the [https://github.com/sudomesh/sudowrt-firmware sudowrt-firmware source].<br />
<br />
If you do not want to use a SudoMesh's OpenWRT image, you can also install [https://downloads.openwrt.org/ a standard OpenWRT] release and configure it from scratch.<br />
<br />
= Flash/Upload =<br />
<br />
Once you have a copy of the sudowrt-firmware intended for your router, you can proceed with flashing it to your router. There are different techniques for flashing each of the routers. Use the links above to the OpenWRT wiki and follow the instructions there to flash the router with the firmware you've downloaded.<br />
<br />
For convenience, if you have a Western Digital MyNet N600 or N750, follow these instructions:<br />
<br />
== Reset your new router ==<br />
* Plug one end of the Ethernet cable into your laptop.<br />
* Plug the other end of the Ethernet cable into one of the normal ports on the router (not the Internet/WAN port).<br />
* With the router plugged in and power turned off, push a pin into the reset hole and hold it.<br />
* With the pin held down, turn on the router power button.<br />
* Watch the front blue light - they will flash on and off a few times.<br />
* Once the front blue is flashing, you can let go of the pin.<br />
<br />
== Configure your computer's network settings ==<br />
On your laptop edit your network settings to reflect the following:<br />
<br />
* Network Manager Method: Manual<br />
* IP Address: 192.168.1.10 (some devices will only accept from this IP)<br />
* Subnet Mask: 255.255.255.0<br />
* Gateway: 0.0.0.0<br />
<br />
You can also use the commands:<br />
sudo ip link set eth0 down <br />
sudo ip addr add 192.168.1.10/24 dev eth0 <br />
sudo ip link set eth0 up<br />
<br />
where eth0 is the name of your ethernet interface found using ifconfig (other common interface names esp3s0...)<br />
<br />
See Network Configuration Guides: [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20Linux Linux] [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20MacOS%20X Mac]<br />
<br />
== Upload sudowrt-firmware ==<br />
In your web browser:<br />
<br />
* Go to [http://192.168.1.1 http://192.168.1.1], if the reset was successful, you should see the following page:<br />
[[File:Screenshot from 2017-04-04 18-27-09.png|thumb|center|upright=2]]<br />
* Click 'Browse' and select the firmware file you downloaded<br />
* Click Upload and you will be taken to an exciting countdown timer:<br />
[[File:Screenshot from 2017-04-02 17-20-51.png|thumb|center|upright=2]]<br />
<br />
Note: Sometimes the firmware upload will not complete. After you click on 'Upload' You should get a page with a countdown of 120+ seconds. If this does not occur, reboot the router with the pin reset button depressed (as noted above), and try again.<br />
<br />
<br />
= makenode/Configure =<br />
After flashing sudowrt-firmware to your router you will need to configure it work on a People's Open Network.<br />
<br />
== Reconfigure your computer's network settings ==<br />
A freshly flashed node automatically sets its IP address to 172.22.0.1. You will need to configure your laptop to use the following network settings to communicate with the node.<br />
<br />
* IP address: 172.22.0.10 <br />
* Subnet mask: 255.255.255.0<br />
* Gateway: 0.0.0.0<br />
<br />
Or use the commands<br />
sudo ip link set eth0 down <br />
sudo ip addr add 172.22.0.10/24 dev eth0 <br />
sudo ip link set eth0 up<br />
<br />
where eth0 is the name of your ethernet interface found using ifconfig (other common interface names esp3s0...)<br />
<br />
See Network Configuration Guides: [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20Linux Linux] [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20MacOS%20X Mac]<br />
<br />
To test that the flashing was successful, feel free to try connecting to your unconfigured router by opening a browser and navigating to https://172.22.0.1<br />
if the flash was successfull you should be brought to the following screen:<br />
<br />
[[File:Peoplesopen-dash.png|thumb|center|upright=2]]<br />
<br />
After you have successfully flashed your router with OpenWRT, you will need to use [https://github.com/sudomesh/makenode makenode] to complete the setup. makenode registers your node on the peoplesopen network, resulting in the assignment of a 64 IPv4 address subnet to your node, in addition to applying basic configuration.<br />
<br />
== Preparing your laptop for makenode ==<br />
<br />
You will need to install the dependencies for [https://github.com/sudomesh/makenode makenode].<br />
<br />
=== Linux ===<br />
<br />
If you are working with a fresh installation of one of the operating systems listed in the compatibility checklist, you will need to install a few pieces of software. <br />
To install them, open your terminal and enter the following commands.<br />
<br />
sudo apt update<br />
sudo apt install curl git dropbear<br />
curl -o- ht<span>tps://</span>raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash<br />
export NVM_DIR="$HOME/.nvm" # or you can close and reopen your terminal before using nvm<br />
nvm install 7.10<br />
<br />
==== OS Compatibility checklist ====<br />
<br />
{| class="wikitable"<br />
! OS !! Compatible !! Link to ISO !! Notes<br />
|-<br />
| Ubuntu 16.04 LTS || yes || http://releases.ubuntu.com/16.04/ ||<br />
|-<br />
| Ubuntu 14.04 LTS || please verify || http://releases.ubuntu.com/14.04/ ||<br />
|-<br />
| Debian 9.3 Stretch || yes || https://www.debian.org/distrib/ ||<br />
|-<br />
| Debian 8.1 Jessie || yes || https://www.debian.org/releases/jessie/debian-installer/ ||<br />
|-<br />
| Arch Linux || yes || https://www.archlinux.org/download/ || you may have to build dropbear from [https://github.com/mkj/dropbear source]<br />
|-<br />
|}<br />
<br />
=== Mac ===<br />
<br />
Install the [http://brew.sh/ Homebrew] package manager, then install the required binaries.<br />
<br />
brew install nodejs<br />
brew install git<br />
brew install npm<br />
brew install dropbear<br />
brew install gnu-tar<br />
brew install fakeroot<br />
<br />
'''Note: Windows is not currently supported, main problem is with Dropbear, which has no known ports for Windows.'''<br />
<br />
== Install and run makenode ==<br />
<br />
From your terminal, run the following:<br />
<br />
git clone https://github.com/sudomesh/makenode.git<br />
cd makenode<br />
npm install<br />
cp settings.js.example settings.js<br />
<br />
The default settings in <tt>settings.js</tt> should suffice in most cases, but if you need to make changes, do them in <tt>settings.js</tt>. <br />
<br />
Make sure the Ethernet cable is connected to the 4th port on the router.<br />
<br />
Once your network configuration is refreshed, use the following command to run the script and configure your node:<br />
<br />
./makenode.js<br />
<br />
Now the configuration wizard will ask you a number of questions:<br />
<br />
* "enter valid hostname" - this is the host name when you SSH into the node - For info on what constitutes a valid hostname, see: [http://stackoverflow.com/questions/3523028/valid-characters-of-a-hostname valid characters of a hostname]<br />
* "max share upstream bandwidth" - how much of your home network upstream bandwidth you wish to share with the mesh network, measured in kbps (kilobits per second). So if you'd like to share 10mbps (megabits per second) enter "10000" or if you want to share 256kbps (kilobits per second) enter "256". You may want to run a [http://www.dslreports.com/speedtest speed test] to find out how much bandwidth you have and determine how much you want to share.<br />
* "max share downstream bandwidth" - how much of your home network upstream bandwidth you wish to share with the mesh network - eg. "512" would share 512 kbps<br />
* "admin user password" - this is the password for for changing wifi settings on the node<br />
* "root user password" - this is the root password for the router - Make sure that your root password is strong! If you don't enter a root password, a strong one will be generated and will be logged to screen. It's generally preferable to not use the root password at all and instead add an ssh key to the device - see details below.<br />
* "wifi transmit power" - set this to 23 dBm (which is equivalent to 200 milliwatts)<br />
* "operator name" - this is the name that the network admins can associate with the node - so use a unique name like your first name or location name<br />
* "private wifi SSID" - this is the wireless SSID name for the private wireless network that will run on this router<br />
* "private wifi password" - this is the password for the private wireless network that will run on this router - it must be at least 8 characters long<br />
<br />
= Testing =<br />
<br />
After you're finished with the makenode configuration, your home node should be available for connections via your private WiFi SSID. Additionally the public SSID 'peoplesopen.net' will be available. <br />
<br />
A third interface named 'pplsopen.net-node2node' will be detectable as well. This is the interface used for the nodes to mesh with each other.<br />
<br />
At this point you're setup. For more information on using your node, such as accessing the web-based management interface, see [[Home and extender nodes#Home_nodes|Home node info]]<br />
<br />
For more technical details on the internals of the home node, see the [[Mesh/Technical_Overview]]<br />
<br />
For more in depth testing procedures, see our [https://github.com/sudomesh/sudowrt-firmware/blob/master/operator_manual.md mesh node operator's manual].<br />
<br />
= Troubleshooting =<br />
You may need to replace the `node-uuid` module with `uuid` for makenode to work, to fix this using the following commands:<br />
<br />
npm uninstall --save node-uuid<br />
npm install --save uuid<br />
<br />
If you get the error "no such file or directory", open a new terminal and run this command to ensure that <tt>node</tt> points to your NodeJS executable:<br />
<br />
sudo ln -s nodejs node<br />
<br />
In the new terminal, return to the 'makenode' source code directory and try again:<br />
<br />
npm install<br />
./makenode.js<br />
<br />
= Flashing Extender Nodes =<br />
<br />
If you would like to make long distance point-to-point connections between two or more home nodes, you'll want to setup an extender node (a roof mounted antenna).<br />
<br />
See [[Mesh/Flashing extender nodes]]</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=5MoF&diff=105075MoF2017-03-25T20:59:05Z<p>Daniel: /* Schedule */</p>
<hr />
<div><div style="margin:auto;text-align: center;border: 6px solid #00b;background-color:#fff;color:#000; margin:1em;"><br />
<big><big><big>[[5MoF 2017-04-05|Upcoming 5MoF: April 5th, 2017 7:00pm]]</big></big></big><br />
</div><br />
<br />
The sudo room five minutes of fame is a social event where a bunch of folks meet up and munch on snacks while some folks make short 5 minute presentations about projects they're working on or things they care about.<br />
<br />
This type of event is blatantly stolen^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^Hheavily inspired by the noisebridge 5MoF events.<br />
<br />
People are encouraged to bring snacks/food/drinks.<br />
<br />
= Schedule =<br />
<br />
These events happen every first Wednesday of the month at sudo room!<br />
<br />
Email info@sudoroom.org or [https://sudoroom.org/lists/listinfo/sudo-discuss the sudo room mailing list] to claim a slot for your project. All we need is the title of your presentation and a way to contact you.<br />
<br />
7 minutes are allocated to each 5MoF presentation which includes 5 minutes for the presentation, time for questions and time for the next person to get their computer hooked up.<br />
<br />
*7 pm: People shuffle in, snack on food and get settled<br />
*7:30 pm: 1st 5MoF presentation <br />
*7:37 pm: 2nd 5MoF presentation<br />
*7:44 pm: 3rd 5MoF presentation<br />
*7:51 pm: 4th 5MoF presentation<br />
*7:58 pm: 5th 5MoF presentation<br />
*8:05 pm: 10 minute break (announced as a 5 minute break so we actually stay on time)<br />
*8:15 pm: two-minute explanation of sudo room and the Omni. Donation hat passed around. New members encouraged to sign up right then and there. <br />
*8:18 pm: 6th 5MoF presentation - This is the remote presentation which gives time to set up the video conferencing during the break.<br />
*8:25 pm: 7th 5MoF presentation<br />
*8:32 pm: 8th 5MoF presentation<br />
*8:39 pm: 9th 5MoF presentation<br />
*8:46 pm: 10th 5MoF presentation<br />
*8:53 pm: Announce https://pad.riseup.net/p/sudoride for letting people ride-share back home.<br />
*8:54 pm: Social hangouts and tour of omni for new folk.<br />
*10:00 pm: Cleanup of food, chairs, etc. and moving folks to sudo room for continued hacking/socializing.<br />
<br />
= For speakers =<br />
<br />
We provide a stage with a small podium for a laptop, amplified microphone, spotlights and a projector. <br />
<br />
We provide a laptop running lubuntu (with firefox) which is already hooked up to the projector, internet and audio. It has LibreOffice and the Eye of Gnome image viewer. You can either make you presentation available on the internet or on a USB stick. As you are setting up to speak please tell a volunteer if you plan to use audio from the laptop.<br />
<br />
If you want to use your own laptop we provide the following connectors:<br />
<br />
* VGA and HDMI for projector hookup. If you need anything else then bring the appropriate adapter.<br />
* Ethernet for internet. Don't rely on wifi. If you don't have ethernet then bring the appropriate adapter. <br />
* Mini jack (3.5 mm TRRS) for audio output from your laptop.<br />
* Power<br />
<br />
If you want to remote in, please email info@sudoroom.org before the event. You will need to use a WebRTC-based (web-based) video chat client which works in firefox and does not require any plugins to be installed nor any signup. Right now we're recommending [https://talky.io/ takly] but we're open to suggestions.<br />
<br />
If you have any other needs, please contact info@sudoroom.org before the event.<br />
<br />
= Previous of 5MoFs =<br />
<br />
* [[5MoF 2017-03-01]]<br />
<br />
= Future of 5MoFs =<br />
<br />
* [[5MoF 2017-04-05]]<br />
* [[5MoF 2017-05-04]]</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=VGA_Video_Extender_over_Cat5/6&diff=10331VGA Video Extender over Cat5/62016-10-01T23:28:02Z<p>Daniel: /* Creating VGA Video Extender over Cat5/6 */</p>
<hr />
<div>== Creating VGA Video Extender over Cat5/6 ==<br />
<br />
Follow the directions on the diagram and make two adapters.<br />
One for each end of the long run CAT5/6 cable. <br />
<br />
'''Diagram:'''<br />
<gallery><br />
File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_-_BACK_VIEW_-_with_details-1024pxls.png| VGA to RJ45 Diagram<br />
</gallery><br />
<br><br />
'''Adapters:'''<br />
<gallery><br />
File:Vga-to-rj45-adapters.jpg| VGA-to-RJ45 Adapters<br />
</gallery><br />
<br><br />
<br><br />
<hr></div>Danielhttps://sudoroom.org/mediawiki/index.php?title=VGA_Video_Extender_over_Cat5/6&diff=10330VGA Video Extender over Cat5/62016-10-01T23:26:58Z<p>Daniel: /* Creating VGA Video Extender over Cat5/6 */</p>
<hr />
<div>== Creating VGA Video Extender over Cat5/6 ==<br />
<br />
Follow the directions on the diagram and make two adapters.<br />
One for each end of the long run CAT5/6 cable. <br />
<br />
'''Diagram:'''<br />
<gallery><br />
File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_-_BACK_VIEW_-_with_details-1024pxls.png| VGA to RJ45 Diagram<br />
</gallery><br />
<br><br />
'''Adapters:'''<br />
<gallery><br />
File:Vga-to-rj45-adapters.jpg| VGA-to-RJ45 Adapters<br />
</gallery><br />
<br />
Embedded<br />
<gallery><br />
[[File:Vga-to-rj45-adapters.jpg|thumbnail|VGA to RJ45 Adapters]]<br />
</gallery></div>Danielhttps://sudoroom.org/mediawiki/index.php?title=VGA_Video_Extender_over_Cat5/6&diff=10329VGA Video Extender over Cat5/62016-10-01T23:25:16Z<p>Daniel: /* Creating VGA Video Extender over Cat5/6 */</p>
<hr />
<div>== Creating VGA Video Extender over Cat5/6 ==<br />
<br />
Follow the directions on the diagram and make two adapters.<br />
One for each end of the long run CAT5/6 cable. <br />
<br />
'''Diagram:'''<br />
<gallery><br />
File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_-_BACK_VIEW_-_with_details-1024pxls.png| VGA to RJ45 Diagram<br />
</gallery><br />
<br><br />
'''Adapters:'''<br />
<gallery><br />
File:Vga-to-rj45-adapters.jpg| VGA-to-RJ45 Adapters<br />
</gallery></div>Danielhttps://sudoroom.org/mediawiki/index.php?title=VGA_Video_Extender_over_Cat5/6&diff=10328VGA Video Extender over Cat5/62016-10-01T23:23:46Z<p>Daniel: /* Creating VGA Video Extender over Cat5/6 */</p>
<hr />
<div>== Creating VGA Video Extender over Cat5/6 ==<br />
<br />
Follow the directions on the diagram and make two adapters.<br />
One for each end of the long run CAT5/6 cable. <br />
<br />
'''Diagram:'''<br />
<gallery><br />
File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_-_BACK_VIEW_-_with_details-1024pxls.png|<br />
</gallery><br />
<br><br />
'''Adapters:'''<br />
<gallery><br />
File:Vga-to-rj45-adapters.jpg| VGA-to-RJ45 Adapters<br />
</gallery></div>Danielhttps://sudoroom.org/mediawiki/index.php?title=VGA_Video_Extender_over_Cat5/6&diff=10327VGA Video Extender over Cat5/62016-10-01T23:06:13Z<p>Daniel: /* Creating VGA Video Extender over Cat5/6 */</p>
<hr />
<div>== Creating VGA Video Extender over Cat5/6 ==<br />
<br />
Follow the directions on the diagram and make two adapters.<br />
One for each end of the long run CAT5/6 cable. <br />
<br />
'''Diagram:'''<br />
<gallery><br />
File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_-_BACK_VIEW_-_with_details-1024pxls.png|<br />
</gallery><br />
<br><br />
'''Adapters:'''<br />
<gallery><br />
File:Vga-to-rj45-adapters.jpg| VGA-to-RJ45 Adapters<br />
</gallery><br />
<br />
'''Adapters in Use:'''</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=VGA_Video_Extender_over_Cat5/6&diff=10326VGA Video Extender over Cat5/62016-10-01T23:05:18Z<p>Daniel: /* Creating VGA Video Extender over Cat5/6 */</p>
<hr />
<div>== Creating VGA Video Extender over Cat5/6 ==<br />
<br />
Follow the directions on the diagram and make two adapters.<br />
One for each end of the long run CAT5/6 cable. <br />
<br />
'''Diagram:'''<br />
<gallery><br />
File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_-_BACK_VIEW_-_with_details-1024pxls.png|<br />
</gallery><br />
<br><br />
'''Adapters:'''<br />
<gallery><br />
File:Vga-to-rj45-adapters.jpg| VGA to RJ45 Connectors<br />
</gallery><br />
<br />
'''Adapters in Use:'''</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=VGA_Video_Extender_over_Cat5/6&diff=10325VGA Video Extender over Cat5/62016-10-01T23:04:58Z<p>Daniel: /* Creating VGA Video Extender over Cat5/6 */</p>
<hr />
<div>== Creating VGA Video Extender over Cat5/6 ==<br />
<br />
Follow the directions on the diagram and make two adapters.<br />
One for each end of the long run CAT5/6 cable. <br />
<br />
'''Diagram:'''<br />
<center><gallery><br />
File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_-_BACK_VIEW_-_with_details-1024pxls.png|<br />
</gallery></center><br />
<br><br />
'''Adapters:'''<br />
<gallery><br />
File:Vga-to-rj45-adapters.jpg| VGA to RJ45 Connectors<br />
</gallery><br />
<br />
'''Adapters in Use:'''</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=File:Vga-to-rj45-adapters.jpg&diff=10324File:Vga-to-rj45-adapters.jpg2016-10-01T22:57:58Z<p>Daniel: VGA to RJ45 adapters.</p>
<hr />
<div>VGA to RJ45 adapters.</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=VGA_Video_Extender_over_Cat5/6&diff=10323VGA Video Extender over Cat5/62016-10-01T22:51:32Z<p>Daniel: Created page with "== Creating VGA Video Extender over Cat5/6 == '''Tools:''' * * * * '''Materials:''' * * * * '''How:''' <center><gallery> File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_..."</p>
<hr />
<div>== Creating VGA Video Extender over Cat5/6 ==<br />
<br />
'''Tools:'''<br />
* <br />
*<br />
*<br />
*<br />
<br />
'''Materials:'''<br />
*<br />
*<br />
*<br />
*<br />
<br />
'''How:'''<br />
<center><gallery><br />
File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_-_BACK_VIEW_-_with_details-1024pxls.png|Caption1<br />
</gallery></center></div>Danielhttps://sudoroom.org/mediawiki/index.php?title=File:DB15_Pin_and_RJ45_Connectors_Wiring_Position_-_BACK_VIEW_-_with_details-1024pxls.png&diff=10322File:DB15 Pin and RJ45 Connectors Wiring Position - BACK VIEW - with details-1024pxls.png2016-10-01T22:43:57Z<p>Daniel: VGA (DB15) to RJ45 connector wiring position diagram. - Back view.</p>
<hr />
<div>VGA (DB15) to RJ45 connector wiring position diagram. - Back view.</div>Danielhttps://sudoroom.org/mediawiki/index.php?title=User:Daniel&diff=10321User:Daniel2016-10-01T21:50:54Z<p>Daniel: </p>
<hr />
<div>My biography has to be at least fifty words long. Why too long some may ask. I don't know. I just keep typing, so I eventually may hit the fifty mark or I even may go over. I don't want to check right now how many words I have typed, because I am making of this request a game. I game, because if I am having fun things seem more doable. :) Sorry, no happy faces. Wait a minute would a happy face be a counted as word for this website? I don't know. No se. Do you know? Okay time to check how many words I have type. Oh yes, before I count, if I am over fifty words I won't even come back to tell you that I did pass the quote. EOF. :)</div>Daniel