Best products from r/darknetplan
We found 21 comments on r/darknetplan discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 44 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
3. Ubiquiti NanoBridge M5 22dbi 5GHz MIMO Bridging Solution with airMAX TDMA Protocol and InnerFeed Antenna Technology (NB-5G22-US)
- NB-5G22 (International Version) for Export Only!
Features:
4. GL.iNet GL-AR150 (White) Mini VPN Travel Router, Wi-Fi Converter, OpenWrt Pre-Installed, Repeater Bridge,Mobile Hotspot in Pocket,150Mbps Wireless High Performance, OpenVPN, WireGuard
- 【WIRELESS MOBILE MINI TRAVEL ROUTER】 Convert a public network (wired/wireless) to a private Wi-Fi for secure surfing. Create a secure Wi-Fi hotspot quickly. Tethering, 3G/4G USB Modem Compatible. Powered by any laptop USB, power banks or 5V DC adapters (sold separately). 39g (1.41 Oz) only, portable and pocket-sized.
- 【OPEN SOURCE & PROGRAMMABLE】 OpenWrt/LEDE pre-installed, backed by software repository. DDWrt supported. USB disk extendable.
- 【VPN CLIENT & SERVER】 OpenVPN and WireGuard pre-installed, compatible with 30+ VPN service providers.
- 【LARGER STORAGE & EXTENSIBILITY】 64MB RAM, 16MB Flash ROM, dual Ethernet ports, UART and 2.54mm standard GPIOs available for hardware DIY.
- 【PACKAGE CONTENTS】 GL-AR150 (White) mini router (1-year Warranty), USB cable, Ethernet cable, User Manual.
Features:
5. The Linux Programming Interface: A Linux and UNIX System Programming Handbook
- No Starch Press
Features:
6. Absolute Beginner's Guide to C (2nd Edition)
- Used Book in Good Condition
Features:
7. Discrete Mathematics with Applications
- an elementary college textbook for students of math, engineering and the sciences in general
Features:
10. Pelican Storm iM2050 Case With Foam
- 9.5" x 7.5" x 4.25" Interior Dimensions
- Press and Pull Latches
- Meets Airline Carry-on regulations
- Molded-In Lockable Hasps
Features:
11. NETGEAR WNR3500L N300 Open-Source Gigabit WiFi Router (WNR3500Lv2), 128MB NAND and 128MB RAM, 480 MHz MIPS 74K Processor
- Popular Linux Firmware DDWRT,Open WRT and Tomato available Open source community website
- Live Parental Controls—Keep your Internet experience safe—block inappropriate Web sites
- 480 MHz powerful MIPS 74K processor. Number of Ethernet Ports: Five (5) 10/100/1000 (1 WAN and 4 LAN) Gigabit Ethernet ports with auto-sensing technology
- 128 MB NAND flash and 128 MB RAM. WiFi Range: Small to medium homes
- WiFi Band : 2.4 GHz. Microsoft Internet Explorer 6.0, Firefox 2.0 or Safari 1.4 or higher. WiFi Performance:N300 (300 Mbps)
Features:
13. Write Great Code: Volume 1: Understanding the Machine
- Used Book in Good Condition
Features:
14. Ubiquiti NanoStation loco M5
- 150+ Mbps real outdoor throughput
- 15km+ range
- Intelligent POE
- 13 dBi Antenna
- Compact
- Cost effective
Features:
15. Ubiquiti PowerBridge M5 Carrier Class 5GHz MIMO Bridging Solution
Adjustable RF Output Power, Integrated 25dBi MIMO Bridging DeviceDual Polarization, Dish Size: 17.5 x 16.5 x 1.5 inches (445 x 416 x 34mm)High Power Output for Long Range Radio Link, PoE Built-in for Single Cable InstallationConfigurable Multi-Mode AP, Access Point (AP), Mesh networking Client, PtMP...
16. Ubiquiti EdgeMax EdgeRouter Lite ERLite-3 512MB Memory 3 Ethernet Ports Router
- (3) Gigabit routing ports
- Compact, durable metal casing
- 1 million packets per second for 64-byte packets
- Silent, fanless operation
Features:
17. Duracell Instant USB Charger/Includes Universal Cable with USB & mini USB, 1 Count
- Fits any mini USB powered device. Also works with Apple & micro USB device cords with USB tip.
- Up to 3 hours of back-up cell phone power. Up to 50 hours of music playback.
- On/Off switch which efficiently conserves power.
- Can be recharged 100's of times.
- Fits any mini USB powered device. Also works with Apple & micro USB device cords with USB tip.
Features:
18. TP-Link N150 Wireless 3G/4G Portable Router with Access Point/WISP/Router Modes (TL-MR3020)
Interface: 1 10/100Mbps WAN/LAN Port, USB 2.0 Port for 3G modem, a mini USB Port for power supplyButton: Quick Setup Security Button, Reset Button, Mode SwitchExternal Power Supply: 5VDC/1.0AWireless Standards: IEEE 802.11n, IEEE 802.11g, IEEE 802.11bShips in Certified Frustration Free PackagingComp...
20. TP-Link N600 Wireless Wi-Fi Dual Band Router (TL-WDR3600)
Simultaneous 2.4GHz 300Mbps and 5GHz 300Mbps connections for 600Mbps of total available bandwidth2*USB Ports : Easily share printers, files or media with your friends or family locally or over the internetFull gigabit ports ensure ultimate transfer speeds, IPv6 ReadyAchieves blazing WAN to LAN thro...
So there's a lot of ground to cover here.
There is no single 'meshnet' protocol. There are many different attempts often with widely different properties and goals.
So any answer I can give to these questions will come with caveats and references to specific implementations.
> Will this completely eliminate the need for ISP's?
I'm going to break this question down into several inherent problems and go over how different systems try to address those problems.
Replace the existing internet? With what?
CJDNS and Yggdrasil are the two biggest 'meshnet' projects, they focus on replacing the prefix based routing of the existing internet with a more open system. Lets explore why.
What is prefix based routing? You can think of it like addresses.
172.125.0.0/16 is a prefix, specifically the first 16 bits of an ipv4 address, sort of like how a City contains many thousands of homes this prefix contains 2^16 or 65536 addresses.
A bigger prefix might be 172.0.0.0/8 which contains 2^24 or 16777216 addresses.
A smaller prefix might be 172.168.1.1/24 which contains 2^8 or 256 addresses
You can think of bigger prefixes like cities or nations and smaller prefixes like towns, streets, and eventually houses.
Much like real addresses you don't get to chose your ip address, not even as an ISP. They are assigned by ARIN which is the organization responsible for assigning ips in North America. They are a subset of ICANN who handles global assignments.
The definition of an ISP on the existing internet is literally 'someone who has a autonomous system number assigned by ICANN or one of it's subsidiary organizations'
Despite this to say ICANN 'controls the internet' is disingenuous
If ICANN revokes an assignment nothing really happens, but various ISP's who trust ICANN will eventually change their machines to match what ICANN says. It's as much a political process as a technical one.
What I want to highlight here is that the internet as it currently works is operated by people, routes are hand configured, connections are hand made. While technically anyone can become an ISP it's expensive, complicated, and easy for a human in the process to censor. Connections are made behind closed doors and in private meetings, it's an 'open' network in a very limited sense.
Real technical limitations created this system, for all it's flaws prefix based routing is incredibly simple and efficient.
With this background you can understand why what CJDNS and Yggdrasil want to do is important. They are trying develop new routing systems that are as efficient as prefix based routing without the need for ICANN or any technical knowledge to supervise the creation of new routes. This is a lot of what people imagine 'mesh' as a plug and play system that just works.
Physics, the elephant in the room
Ok so CJDNS and Yggdrasil actually succeed at what they are trying to do, we have another problem.
The internet is a low latency network! To allow for voice and video chat as well as gaming we need to move messages incredibly quickly around the world.
The physics of low latency communication make it impossible to create a decentralized network at a large scale that still maintains low latency.
If I talk to my friend in San Fransisco from my home in Florida we can look at the path this message takes over the internet.
traceroute to exit.altheamesh.com (64.71.176.93), 30 hops max, 60 byte packets
1 _gateway (192.168.0.1) 2.324 ms 2.245 ms 2.566 ms
2 96.120.37.77 (96.120.37.77) 13.755 ms 13.687 ms 14.638 ms
3 xe-1-0-3-sur02.tequesta.fl.pompano.comcast.net (162.151.114.237) 13.405 ms 14.376 ms 18.940 ms
4 ae-17-ar02.stuart.fl.pompano.comcast.net (162.151.2.161) 20.093 ms 23.090 ms 23.125 ms
5 be-40-ar01.northdade.fl.pompano.comcast.net (68.86.165.161) 32.971 ms * 33.713 ms
6 be-20214-cr02.miami.fl.ibone.comcast.net (68.86.90.205) 25.363 ms 34.216 ms 32.835 ms
7 be-12297-pe03.nota.fl.ibone.comcast.net (68.86.82.70) 43.925 ms 50.557 ms 50.370 ms
8 10ge9-1.core1.mia1.he.net (216.66.64.149) 49.413 ms 50.135 ms 50.551 ms
9 100ge2-1.core1.hou1.he.net (184.105.222.110) 85.309 ms 84.359 ms 85.452 ms
10 100ge11-2.core1.dal1.he.net (184.105.213.53) 86.127 ms 86.365 ms 52.366 ms
11 100ge2-2.core4.fmt2.he.net (184.105.64.221) 93.098 ms 92.087 ms 92.853 ms
12 100ge4-1.core3.fmt2.he.net (184.105.80.182) 93.105 ms 86.406 ms 101.115 ms
My message goes south hitting bigger and bigger nodes until it reaches Miami, where it leaves Comcast's network to be handed off to Hurricane Electric. It then goes from Miami, to Houston, to Dallas, and finally to Fremont.
Notice my message goes to progressively larger exchange centers for 7 hops, traveling only a few hundred miles south. Then it exchanges onto the backbone between hops 7 and 8 (both of which are in the same building) before traversing the entire rest of the continent to California in only 3 hops.
This is the power of what's commonly known as 'seven degrees of separation' and formally known as small world networks.
The same way popular people make social networks have fewer degrees of separation than you would expect large internet exchange centres with ultra-long distance fiber lines make low latency internet possible.
Even using this enormously costly and centralized system my signal makes it to Fremont and back in 100ms, about the minimum amount of time a person takes to notice lag.
If you don't allow for these very very large, centralized nodes with multi-billion dollar infrastructure you have to increase the number of hops, which quickly blows latency out of the water.
This ties into questions 2-5
You can't decentralize networks without giving up the current low latency model of the internet (traversing coast to coast across the US device to device would take upwards of a minute in the ideal case).
So long as networks need big monolithic nodes to maintain low latency a central entity can install monitors on those large nodes and use them to deanonymize anything you want to do.
Take TOR for example, the US has the soft power and resources to monitor all major internet nodes in most countries, therefore they can find just about any TOR user just by looking at the timing on the packets for long enough.
This isn't trivial, probably costs a lot of money, takes a lot of time, and isn't 100% successful, but it's naive to assume it's not at least being attempted. Tor still provides significant protection.
Now remember privacy and anonymity are different things! Centralized infrastructure + low latency precludes anonymity, it is always possible to determine who is communicating with who. But it is not possible to determine what they are talking about.
CJDNS and Yggdrasil do solve a real problems, they provide privacy even in the face of centrally owned infrastructure and could make participating in the internet much easier, more open, and harder to censor.
But since they rely on existing infrastructure to deliver low latency packets like all modern applications expect they are subject to existing ISPs who are unlikely to adopt these systems.
So what's next?
At this point I hope I've given a good summary of the real practical challenges and limitations to these sorts of systems. I didn't get to go into radio design which I touch on here.
But the question is what can we do to productively help achieve the goal of a meshnet?
There are, in my opinion two major routes.
1) Delay tolerant networking
Design programs and systems that can deal with shepherding data across a continent over the course of minutes hours or days. As described in WalkAway (which has excellent mesh networking content, go check it out at your library).
There's a reason CJDNS and Yggdrasil are not already doing this, everything you know, every program, is designed for low latency networks. It's monumental to suggest changing that. Also people like their voice chat, video chat, and gaming. But if we really want the option to Walk Away (see what he did there?) from centrally controlled infrastructure it's a challenge that must be undertaken.
Projects to make a 'decentralized reddit' or 'decentralized twitter' are generally piecemeal versions of this. Which doesn't make them bad, but the lack of coordination and shared grand vision shows.
2) Community ownership of infrastructure
This is what mesh networks like NYCmesh and Guifi. This doesn't solve the issues with the existing internet so much as bring regular people to the negotiating table.
If #1 is plan Walkaway this is plan stick around. It's about improving the internet as it is by taking control of enough infrastructure to make a difference. With incremental improvements in privacy and openness.
If you want CJDNS and Yggdrasil someday replacing prefix based routing, this would be the way to go about it.
I work on Althea which is a project that has set out to build community owned, decentralized infrastructure.
---
I hope this was helpful, let me know if anything is confusing.
Here are a
fewshitload of links/info:I've bought some of those things new before from Streakwave since they have a warehouse in my city and I can get stuff same-day if I pick it up.
I've got a handful of routerboards, cases and cards (but not enough antennas). I've not spent much time actually trying to mesh them (802.11s? adhoc with batman/OLSR?). I need to make more friends in my city to try and setup a mesh. Cincinnati is too damn hilly.
I've used a bunch of antennas for 900MHz. Big grid antennas, little magnetic omnis, panel antennas with varying amounts of success. The grids are hard to aim, the other stuff doesn't always have enough gain. Sometimes the noise in the 900MHz band is just too much.
In the 70cm band I've mostly used a big pair of Diamond antennas that kick ass. I've been meaning to pick up their 900MHz equivalent (Diamond antennas rock my socks).
Another area I've been meaning to explore is 5.8GHz equipment, in particular the NanoBridge M5. If you have absolutely perfect LOS (can see your target, no obstructions) these things should kick ass (from what I've read). I just haven't had the time or a place with good LOS to play with these so I haven't bought/tried any yet.
If you end up picking up any gear and need help feel free to pm me. Also I'd recommend getting at least your Tech level Amateur Radio License (or your country's equivalent). It's not needed (except for that 70cm stuff) but you'll learn a lot in the hobby.
Hmm. Robotics you say? And not a fan of the FCC right now? Maybe given that experience you should get more involved in hardware. I can think of a few things that you might want to look at for inspiration besides learning GNU/Linux(Ubuntu will be a great place to get started, it takes care of most of the post-install idiosyncracies for you, which makes it a nice environment to learn on) and computer hardware.
Depending on where you go with hardware, you might also want to look into OpenWRT. It's especially worth mentioning because the financial barriers to entry for OpenWRT hacking are really, really, really low right now. You can get a platform to start working with for between 20 and 35 dollars, that's cheaper than a Raspberry Pi.
Big one I think hasn't been mentioned here yet, building antennae. There are many ways to make antennae that can boost your wireless network range in a particular direction without violating the FCC's rules or causing likely interference with other people's electronics. By doing this, you can establish point-to-point links with other, local people interested in establishing a network and build a network which doesn't necessarily need to depend on the internet. In certain configurations, this is also known as a Wireless Mesh Network and it's pretty cool. There are antenna recipes and howtos all over the internet, but Instructables might be a good place to start.
Another neat hardware project is the RONJA optical point-to-point link system. While it might be harder to get going on building your RONJA, it's an interesting perspective on wireless communication and how it can be done, and what the tradeoffs are for different approaches.
Also, for the purposes of follow up questions, can I assume from your stated age that you are in a classroom environment for some number of hours of the day, and would you mind mentioning a little bit more about how you got into robotics? The reason I ask is because much of the in-practice stuff eventually depends on developing relationships with people in your community to encourage greater involvement. It's kind of intuitive, networks are more useful if there are people to send messages to. If there's a robotics club, or a science/engineering olympiad, or even an especially passionate quiz-team, getting them in on your hypothetical project could be really beneficial.
What OS? Linux, of course. When TPB order everything locked down, you don't want to be caught using a Microsoft OS. -- What distribution? The easy path is Ubuntu, with the Cinnamon UI, or LinuxMint 13, when issued (May 2012).
What IDE? There's lots to choose from. My favorite is "geany".
https://en.wikipedia.org/wiki/Geany
For TCP/IP protocol tutorial. Recently updated by Wright:
Stevens, "TCP/IP Illustrated", 3-volume set.
http://www.amazon.com/TCP-IP-Illustrated-Volume-Set/dp/0201776316
On human interface guidelines relevant to programming:
https://en.wikipedia.org/wiki/Human_interface_guidelines
For GNOME 2, see:
http://library.gnome.org/devel/hig-book/stable/
To develop Linux applications:
You are right. You MUST know how to program in C. When others tell you that object oriented programming is the thing, know that you can do object oriented programming in C. Avoid interpreted languages (Python, Java, and others) as a first programming language. Interpreted languages teach bad habits and hid too much of what's going on from you such that debugging becomes difficult to impossible.
However, if all you intend is "casual programming", the Python will do, if you must. It's just not the best choice first a first language if your intent is to become a "professional programmer". I use Python myself; It works for what I need to do quick and dirty.
Definitive, but for experienced programmers:
http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/0131103628/ref=sr_1_1?s=books&ie=UTF8&qid=1335197606&sr=1-1
As a tutorial for someone learning a first programming language and how to program from zero:
Perry, "Absolute Beginner's Guide to C", 2ed.
-- I have not read the book, but the ToC looks reasonable for a beginner.
http://www.amazon.com/Absolute-Beginners-Guide-2nd-Edition/dp/0672305100/ref=sr_1_6?s=books&ie=UTF8&qid=1335197606&sr=1-6
OK, you don't want a full CS curriculum, but some topics in discrete mathematics are mandatory. ... Ack! Having looked over the offerings at Amazon, I believe that Epp, "Discrete Mathematics with Applications" may be the best of the lot, but at $187, it is hard to recommend without knowing your intent and interest. The reason I suggest this title is that it looks focused on application to computer science topics. It covers a number of topics that are NOT covered in many of the other titles, enough so that should you use other texts you will have spent more than the $187 that this title includes. JMHO.
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_1_1?s=books&ie=UTF8&qid=1335199316&sr=1-1
See also: Sedgwick, "Algorithms" -- You'll probably need it sooner than later.
http://www.amazon.com/Algorithms-4th-Edition-Robert-Sedgewick/dp/032157351X/ref=sr_1_1?s=books&ie=UTF8&qid=1335200153&sr=1-1
Remember that Linux OS? You are going to need some programming tools, right? If you intend to write GUI applications based on the GTK+ toolkit, then install the package "glade" or "glade-gtk". Installing a glade package will suck in over 100 other packages essential to building a GTK based GUI application. Specifying glade to the package manager is just easier that finding and installing all the other necessary parts by hand.
If you are going to do command line based UI programs, then package "build-essentials" should be adequate.
There are some other things to read:
On how to organize, grow and maintain a Linux software development project: Fogel, "Producing Open Source Software"
http://producingoss.com/
You can read it online here, but buy the book too to help support Fogel. He's gotta eat too.
On the culture of writing Open Source Software:
Raymond, "The Cathedral and the Bazaar"
http://www.catb.org/~esr/writings/cathedral-bazaar/
Linux programming is not like Windows programming.
Read and study ESR's TAOP.
Raymond, "The Art of Unix Programming"
http://www.catb.org/~esr/writings/taoup/html/
You can read it online, free. However, buy a hardcopy too. Raymond has to eat too.
Now to get really technical. What interface do you write to?
Kerrick, "The Linux Programming Interface: A Linux and UNIX System Programming Handbook"
http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200/ref=sr_1_1?s=books&ie=UTF8&qid=1335201257&sr=1-1#reader_1593272200
Beginning to focus on GNU style programming:
GNU Coding Standards
https://www.gnu.org/prep/standards/
GNU Coding Standards is more than how to and how much to indent a line or how to set braces. You will get into the topic of Make and Autotools. Make is a program to build complex softare and Autotools is about how to build a package for distribution, the package that any Unix flavor can use; it is not focused on any specific distribution. See also: "configure and make"
Enough! There's more, but I have too much time in this already for today.
[edit: typos]
Yep, a stock copy of windows and a $90 Buffalo Router. That's about it.
The point was to use off the shelf parts and software to make it deploy-able quickly. Once this thing gets going I'm going to work on getting a ready-to-install linux distro based off Ubuntu or something simple like that and build everything (like what you mentioned) into it.
Eventually this will be completely migrated into a Linux format and made available for anyone to rapidly deploy a system like this where they live.
The great thing about my plan for the final product is that only one master node needs to be deployed manually. Using a gPXE bootloader (That's where netboot.me comes in) it'll be easy to install the software right from another node and rapidly extend the network without the need for internet access to get the software.
I've got ideas on how micro-nodes would work into play without large boxes, I mean, this thing is about 18x14x8in closed.
Something along these lines may work:
Total: ~$635
If you think about it this is relatively inexpensive, compared to the original project, which was about ~$1200 in parts.
And if it's running Linux, it'll run considerably faster considering it's half as powerful. (2.2GHz>1GHz, 4GB>2GB)
Honestly something like this could be used as a master node if you replaced the Wi-Fi antenna with a router.
Nice. For $65, it seems like a pretty good value.
Do you know how much RAM you have on this thing? I see pages that claim 32MB, 64MB, 128MB, and sometimes several values at once.
As someone with zero programming experience, thank you for the reading list. I was just planning on trying to learn python but I don't know if that's the best language to start with. Would you recommend just reading those books and starting with C?
Also, since I have no experience a technical answer would probably go right over my head but could you briefly explain how someone would go about messing around with an OS? I've always wondered what people meant by this. I have Linux installed on a VM but I have no idea what I could do to start experimenting and learning about programming with it.
Edit: Are these the books you're talking about? Physical Computing, C programming, and Writing Great Code?
I'd get a pair of these if you're looking for a 100Mb/s connection.
Or a pair of These or these.
For each higher price point, you'll get more speed out of the link at that distance. The locos have the smallest antenna, however can link up at that distance without issue, at 4 miles, they may be capable of 100Mb/s throughput. Although I haven't tested them at this distance. According to Ubiquiti, they're good for links up to 15Km.
With the Nanostations, they have a bit stronger antenna, so they can go a bit further, or offer more throughput at the same distance. Physically, that's the only difference between the nano, and the loco... the antenna power, and the Nano's are a bit taller because of this. They both sport a 45 degree horizontal plane.
The powerbridge would be the mother of point to point links in this scenario. Not only the most powerful antenna of the trio, but also the most directional, meaning a connection that is less plagued with interference (if there is any), as well as a more focused shot.
Strictly a router? The Ubiquiti Edgerouter Lite 3-port is pretty fantastic. Have that along with a Netgear 5-port switch and a Ubiquiti wireless AP. Works great.
Still need more clarification.
Easy to move / portable? Yes. It's small.
Can it be used while it's being moved? Yes. You can use a USB battery back like this or this one.
Can it be used outdoors? Depends on the weather. You'll need a weatherproof case to use it in very humid areas and where it rains a lot.
I'm not trying to argue with you here, but just FYI the TL-MR3020 is OpenWRT compatible (DD-WRT was actually based on OpenWRT) and also PirateBox compatible - which is more or less what you've built here - a large solar-powered PirateBox. Also it's powered by mini-USB and is literally pocket-sized. And you can get one new for ~30 Euro..
I guess either choice would be a winner.
Get this instead of the alfa and you have the added bonus of ubiquiti airmax support:
http://www.amazon.com/Microcom-WIFISTATION-EXT-High-Power-Adapter/dp/B003ZUB4NO/ref=sr_1_1?s=electronics&ie=UTF8&qid=1322275737&sr=1-1
And mac/windows/linux driver support.
That's easy: http://www.amazon.com/TP-LINK-TL-WDR3600-Wireless-Gigabit-300Mbps/dp/B008RV51EE
And, FWIW, Commotion employs BATMAN-adv :) As well as OLSR, and Serval.