Announcement

Collapse
No announcement yet.

Router7: A Home Internet Router Platform Written Entirely In Golang

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Author here

    Originally posted by starshipeleven View Post
    Router7 is an appliance that uses Go to provide DHCP and DNS service, some API to configure the firewall of Linux kernel and whatnot. There is no real way to expand it with modules or packages or containers or whatever, you can't run additional services as there is no process management of any kind, it's just a single application that is running on boot, as said in the parent project, Gokrazy https://github.com/gokrazy/gokrazy

    It has more in common with an embedded device firmware or with a docker container than with a full OS. That's what I was pointing out.
    You’re mostly correct, but I would like to clarify two minor technical inaccuracies:

    1. gokrazy uses multiple processes for isolation, and so does router7. E.g., the dhcp client and the DNS forwarder are two separate processes.

    2. You can easily add additional Go packages to your router7 image, so it is extensible in the sense that you can run your own dyndns-updater, or whichever other processes you need. You are correct in that the existing processes don’t support much customization or any sort of plug-in architecture, though.

    Let me know if anyone has any other questions!

    Comment


    • #12
      starshipeleven

      That's not quite correct. There are multiple applications. The main reason you cannot run non-Go applications is that the system lacks a C compiler and most script language interpreters.

      Comment


      • #13
        Originally posted by unixfan2001 View Post
        starshipeleven

        That's not quite correct. There are multiple applications. The main reason you cannot run non-Go applications is that the system lacks a C compiler and most script language interpreters.
        Ah crap, you are right. It's a so light OS I missed the init program (process management and such) https://github.com/gokrazy/gokrazy/b...ter/gokrazy.go

        So it's a true OS, even if quite simple and light.

        Comment


        • #14
          The "roll your own router" movement on that original code from the WRT-54 is starting to run out of gas.

          It's been going a long time since those birds at Sveasoft forced Linksys hand on open source. (2004?)

          While OpenWRT and dd-WRT took it a long way and created that database, which made it get really far.

          So someone going out and creating new open source options is a good thing, regardless if its on Golang or Rust.

          Comment


          • #15
            Originally posted by msotirov View Post
            Hm, do I understand this correctly - he developed an entirely new router software stack just because his previous router's DHCP setup was slightly incompatible with his service provider's requirements?
            The beauty of open source :-) Scope creep is encouraged. If this weren't common, we wouldn't have Linux :-)

            Comment


            • #16
              I always leave my WiFi open for my neighbors to use. I am pushing for a completely free WiFi neighborhood. Oh, and it is a lot of fun to plug the router into a hub; and a laptop on the other port. The things I see using the packet sniffer are quite interesting sometimes.

              Comment


              • #17
                Originally posted by starshipeleven View Post
                Ah crap, you are right. It's a so light OS I missed the init program (process management and such) https://github.com/gokrazy/gokrazy/b...ter/gokrazy.go

                So it's a true OS, even if quite simple and light.
                Yep. It's Go/Linux, basically

                Comment

                Working...
                X