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.

Top comments mentioning products on r/darknetplan:

u/ttk2 · 31 pointsr/darknetplan

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.

u/tacticaltaco · 5 pointsr/darknetplan

Here are a few shitload of links/info:

  • RB411. It's basically a small router with one ethernet (PoE capable) and a MiniPCI slot. I've bought these on eBay for $20. Brand new they're around $40.

  • CAOTS. A waterproof case for the RB411 (and many other boards). If you're doing stuff indoors there are cheaper metal cases (~$20 eBay) available. It comes with a waterproof ethernet jack and plugs for the holes. You will have to find your own antenna connectors (usually MMCX to N).

    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.

  • Ubiquiti XR9. It's a 900MHz MiniPCI card. They are basically a 2.4GHz 802.11G chipset with a transverter and some filtering so they run at 900MHz. I've had alright luck with these. I've bought them used on eBay for pretty damn cheap (~$45/card?). These are pretty popular with WISPs so availability should be good.

  • Xagyl XC900M. Another 900MHz MiniPCI card. The Xagyl brand isn't as popular as Ubiquiti but their product is superior. I don't have any of these cards but I do have the slightly older FLR9G30 and I think it works better than the XR9 cards. I think the XR9 will work with the FLR9G30.

  • Xagyl XC420M. If you're a ham these should be of interest. They work in the 70cm band in the ATV part of the band. Legality is questionable because of symbol rates but these are the best cards I've played with. I've done a 1.2 mile mediocre-line-of-sight with omni antennas (with one being in a window behind a mesh screen) with these before. Only downer is they were ~$180/card.

    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).

  • MFJ 1908-HD. It's a big telescoping fiberglass mast. I got mind from R&L since it was cheap and I could pick it up at their store (didn't have to pay for freight shipping). I use one of these for messing around. Toss a radio and an antenna on there and see how far you get. If you have a second story house I'd slap stuff up on the roof. Otherwise find a tall tree. Altitude (and LOS) with radio links is a deal breaker.

    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.
u/alreadyburnt · 5 pointsr/darknetplan

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.

u/[deleted] · 18 pointsr/darknetplan

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]

u/dicarlobrotha2 · 2 pointsr/darknetplan

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:

  • Pico-ITX Mainboard + RAM + Power Adapter: $307 info

  • 40GB SSD for OS: $109 info

  • 1.5TB HDD for Files/etc...: $110 info

  • High Gain Wi-Fi Antenna: $66 info

  • Hardigg-Storm Case: $39 info

    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.
u/itsnotlupus · 1 pointr/darknetplan

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.

u/DevilsWeed · 3 pointsr/darknetplan

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?

u/Dmelvin · 2 pointsr/darknetplan

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.

u/rmg22893 · 6 pointsr/darknetplan

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.

u/gh5046 · 1 pointr/darknetplan

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.

u/glennerooo · 1 pointr/darknetplan

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.

u/PSkeptic · 1 pointr/darknetplan

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.