Linux boxes via SSH: suspended when disconected

(shellbox.dev)

74 points | by messh 3 hours ago

12 comments

  • Egor3f 2 hours ago
    $36/mo for 2/4/50 VPS without public IP... Ok, I get the idea that the service is for non-regular use, but I think even $0.005 per hour ($3.6/mo) of suspended state is too expensive. The same config in Hetzner is just $4.09/mo for 24/7 working VPS with public IPv4 address
    • messh 2 hours ago
      Hi, That is a good point actually. The suspended price has to be significantly lower than the alternative. I'll revise it.

      Still, there is the advantage of simplicity not having to deal with the web console etc. Some people may enjoy this

      • eptcyka 1 hour ago
        Have fun racing to the bottom. If I can get an unsuspended VM at 5$ a month, the suspendable one has to be significantly faster or significantly cheaper. Then again, take my gnawing with a boulder of salt for I will not be a customer. I have my own server that is running 24/7 already.
      • einsteinx2 1 hour ago
        Yeah this is a cool idea but the pricing is way too high. For anything I would use this for I could just set up any VPS from any provider for cheaper and it’s stateful in the sense that it’s my own VPS and my files/applications/tmux sessions/whatever will be there the next time I SSH in.

        The UX here seems really nice, but after spending a couple minutes setting up the VPS, I essentially get the same UX (aka just ssh in and so stuff).

        I’d potentially be willing to pay some premium over a standard VPS, but certainly not a 10x premium…honestly probably not even 2x.

      • nine_k 2 hours ago
        The interesting part here is that the box is stateful, unlike a Lambda. You return literally to the point where you left off.
    • TurdF3rguson 1 hour ago
      I think the comparison has to be with EC2 spot right? It feels like EC2 is the better deal, but maybe more of a pain to deal with their UI.
      • kelnos 40 minutes ago
        Sort of, but maybe not quite? When you spin up an EC2 spot instance, it's a fresh instance with whatever AMI you load into it, and it's a fresh boot at that time. (You can save persistent data to an EBS volume that you create once up front and then attach to each new instance, of course.)

        With this service, it seems like the VM underpinning your session is suspended (like as if you were to suspend-to-RAM or hibernate your laptop), and then resumed the next time you sign in, so not only is the filesystem in the same state as it was during your last session, but any background processes that have spun up since then are resumed as well, and are still running.

    • nine_k 2 hours ago
      Interesting to compare with Fly's sprites: https://sprites.dev/#billing
      • messh 2 hours ago
        One difference other than price is that sprites doesn't seem to use ssh
        • blackqueeriroh 1 hour ago
          You can use ssh with a sprite.
        • nine_k 2 hours ago
          Also, they cost less than a shellbox when unused (idle), and more when used.
  • gildenFish 2 minutes ago
    Looks cool. You probably need a fyi or faq indicating that how the account system works.
  • zinodaur 40 minutes ago
    Love this idea! Started building a version of it a while ago, but gave up because my resume time was too slow

    My job has their own DCs, but inexplicably hosts devboxes in EC2 - an autosuspend feature for cost savings sounds awesome.

    Feature request: let me give you a Dropbox folder to persist/load my suspended vms from/to, that way i dont get charged for storage when not using it, and i can walk away whenever i want

  • Imustaskforhelp 2 hours ago
    This is fascinating idea. I created an idea like this on top of firecracker and custom golang ssh client to build something like this for my own personal use case (the abstraction part of pricing and how to connect it seemed the more difficult part for me atleast)

    What stack does this use underneath?

    Good luck with launch, this idea is similar to railway in terms of pricing model. I discussed about it a few comments back and I think its an interesting idea and we are seeing alternatives within such pricing model

    Also are you using some cloud provider itself or building it yourself, I'd be interested in so many details to discover

    Have a nice day and looking forward to ya response! Good luck with your project!

    • messh 2 hours ago
      Hi thanks for the interest!

      This is all written in python and the AsyncSSH package. Firecracker for VMs with memory mapped files for ram. Paddle for billing. Caddy as a reverse proxy for certificates.

      It works on top of very large bare metal instances.

      I'm thinking maybe open sourcing but it will take some more work on the code to make it publishable w/o embarrassing myself :)

      • Imustaskforhelp 1 hour ago
        THanks for your response! as well

        I am interested in which bare metal instances from which provider are you using if I may ask since I had a similar idea (as mentioned before) and I wanted to deploy it on hetzner but I was always worried that hetzner's policy might be too harsh for it even though they are one of the cheapest options out there

        Which server provider did you end up using?

        Thanks once again for your in depth response, these are the things I come to hackernews for! cheers and looking to ya response

        • messh 1 hour ago
          Hetzner auction servers, not cloud
          • Imustaskforhelp 50 minutes ago
            Hm I had thought the same! Interesting thanks for responding once again but what are your thoughts on the fact that someone can abuse the situation and your account might get banned and hetzner has a pretty strict policy in that

            When I wished to create something as such, this was the most major thing I was worried about. I am curious what your thoughts are on it and how are you managing it (the fact that anyone might abuse in your service which could then impact you and hetzner relations and they might block/restrict you)

            I have heard that hetzner requires you to respond in hours or similar. Like I am interested, did you talk to hetzner people (they are usually very kind and I love that about them) or not, because I remember asking some question to that in similar vein but I had gotten the answer that I am still responsible for what happens downstreams and that worried me

      • chwzr 1 hour ago
        Do you do something similar to the modifications codesandbox has done to firecracker, regarding mmap ram? (They have multiple blogposts about it on their blog)

        Would love to chat about details there

        • messh 1 hour ago
          I have read about it, but currently using vanilla Firecracker w/o any memory optimizations. It is as simple as it gets for now
  • WhyNotHugo 37 minutes ago
    Cool idea, but where's the "sign up" button?

    Trying to use any of the commands in the home page, I just see "hugo@shellbox.dev: Permission denied (publickey).". Clearly I have to register first, but there's no clue as to how.

    • messh 33 minutes ago
      You are missing an ssh key. Run this first:

      ssh-keygen -t ed25519

  • Liftyee 3 hours ago
    This looks quite similar to exe.dev which was on here a while ago - anyone know how it compares?
    • messh 2 hours ago
      I think exe.dev is subscription. In Shellbox.dev you have funds and pay very little when not connected
    • indigodaddy 2 hours ago
      Pretty sure shellbox.dev has been around for at least 2-3 years though - EDIT nm they have a show HN from two days ago. I must be thinking of a similarly named/sounding service
      • messh 2 hours ago
        Maybe you mean keypub.sh? That is another project of mine with similar graphic design.
  • littlecranky67 1 hour ago
    Not sure about the security sandbox, but given that paddle.com (your payment provider) takes 5% cut you could consider accepting lightning (bitcoin layer2) payments. QR code generation for lightning invoice is instantaneous just as payment, and will cost less than 0.1% fee (payer pays fee anyway). But the security sandbox should be solid, else it will be used for illegal stuff.
    • znpy 44 minutes ago
      > you could consider accepting lightning (bitcoin layer2) payments.

      uh? i lost interest in bitcoin a few years ago, did bitcoin get actually usable for payments ?

      • kelnos 37 minutes ago
        Not really. I mean, I guess the lightning stuff makes it settle/confirm faster than doing an on-chain transaction, but bitcoin as a store of value is still essentially gambling. So you'd want to immediately sell it and convert it to USD (or a stable coin, I guess), and presumably you're incurring fees at whatever exchange you're using.

        5% for paddle does sound like it kinda sucks, but I feel like any lower fee you'd end up paying with bitcoin would get eaten up by complexity, annoyance, and currency conversion risk.

        • littlecranky67 26 minutes ago
          lightning also works for USDT, if you prefer that.
  • gigatexal 11 minutes ago
    ALS no mention of GB’s of bandwidth provided.
  • gvldev 1 hour ago
    I've been trying to come up with a hypothetical use case for this. I can't use this as a server without keeping an active session right? I wonder if you could get around this by sshing into itself from inside the primary session. Is that an edge case you've considered?
    • kelnos 35 minutes ago
      For this use case, why wouldn't you just instead run a VPS on AWS or some cheaper platform?
    • messh 1 hour ago
      This is a feature I want to implement: an option to keep boxes running while disconnected. Maybe with something like

      ssh shellbox.dev keepalive box1

      • gvldev 1 hour ago
        Maybe this and other future extended features could be configured via some host-accessible mounted conf.d? Otherwise if I forget to use that command on every login, I might just forget, logout, and go on thinking my server is still running.
  • yjftsjthsd-h 2 hours ago
    > Note: The -O flag is required for OpenSSH 9.0+ to use legacy SCP protocol.

    Why isn't SFTP supported?

    • messh 2 hours ago
      WIP, this is still in MVP phase...
  • mnsc 2 hours ago
    Is it non-American all the way down?
    • messh 2 hours ago
      I was born in Argentina, so technically American, yes ;)
      • WhyNotHugo 28 minutes ago
        Weird fun fact (as an Argentinian who went to school in England for a few years): in English-speaking countries, America is not a continent in the same way as in Spanish. In English they have two continents: South America and North America.

        So the word "American" in English does not mean the same as "Americano" in Spanish.

        There's really no natural word in English to refer to someone from "El continente Americano", because no such continent exists in English. That's why they use the word "American" to refer to someone from USA exclusively.

      • messh 1 hour ago
        If it is successful then the next region would be in the US
  • solumunus 1 hour ago
    But why? Genuinely want to know what one might use this for. I can imagine it would be cool for a remote dev environment but the selling point would have to be that it’s far cheaper than the alternative.
    • messh 1 hour ago
      Simpler, easy to use, more enjoyable and fun are also valid reasons
      • Kwpolska 1 hour ago
        What’s difficult to use in Hetzner or DigitalOcean?