Top
Best
New

Posted by achairapart 1 day ago

Exe.dev(exe.dev)
https://blog.exe.dev/meet-exe.dev

https://exe.dev/docs/how-exedev-works

https://exe.dev/docs/pricing

414 points | 268 commentspage 8
kosolam 20 hours ago|
Err it doesn’t work on mobile
crawshaw 20 hours ago|
[exe.dev co-founder] Hi! There is a mobile site. It is not super visible right now but you can use it to create VMs (and even build something on them with our agent if you like). If you ran into a particular bug I would love to get it in the issue tracker so we can fix it.
jdndbene 21 hours ago||
ssh exe.dev gives me login required. What am I doing wrong?
orangea 1 day ago||
See also, for comparison: https://www.val.town/
vogtb 8 hours ago|
Val.town seems to be serverless, where as this is explicitly a server. One is really a subset of the other though, so I suppose if you're deploying ts functions to a service/server, and your execution costs match up with the tiers here, exe.dev could be cheaper.
Imustaskforhelp 17 hours ago||
Awesome project which I first thought might have something to do with microsft .exe format but not that big of a deal and I find this project really cool and I had thought about similar project like these so kudos that you built something like this!

I mean it and I wish the best of luck for the project

That being said, I tried to look at it for asap golang project deployments and I am the creator of https://spocklet-pomodo.hf.space/ a single main.go + single dep multiplayer pomodoro (please note that it was one shotted out of curiosity and also frustration as https://cuckoo.team would sometimes glitch for me)

That being said, I face the issue where I can't have a go.mod or run go mod tidy because I face this error

exedev@crimson-cobra:~$ go mod tidy go: finding module for package github.com/gorilla/websocket go: pomodo imports

github.com/gorilla/websocket: module github.com/gorilla/websocket: Get "https://proxy.golang.org/github.com/gorilla/websocket/@v/lis...": dial tcp: lookup proxy.golang.org on 1.1.1.1:53: read udp 10.42.0.45:33739->1.1.1.1:53: i/o timeout

Hope that the project fixes this and wishing best of luck to the project. I am a little busy right now with studies but your idea truly inspired me and perhaps I want to create a similar thing or collaborate on it with you too so I will join discord hopefully sooner than later.

I am looking further into it and seeing if I can fix that error as I would love to host some exe.dev's services and wishing the best of luck for the project and hope that it becomes sustainable enough.

Out of curiosity, if I may ask, what is the tech stack behind this which generates the vm's. Is it libvirt or firecracker perhaps?

For my own use cases, I recently rediscovered incus and even ran it on cachyos on my desktop to try it out and there were some hiccups partially because I was running it on non standard debian/ubuntu but I am overall very pleasant with incus but still, I am interested in what tech stack you used so please discuss!!

Also what cloud provider are you using. Pro tip but if you are looking for something cheap, either go with ovh or upcloud.

I really really love hetzner a lot too. (Hey hetzner_OL if you are reading this, love hetzner, have a nice day and hope your christmas was good:)

But still hetzner is a little admittedly more strict than ovh but maybe hetzner can respond to it as I know that their policy can ban accounts if someone abuses and considering that you provide compute (to even free) chances of abuse can rise but overall hetzner's the cheapest so I hope hetzner team might make an special exception/response to your post/my comment.

I am imagining a github private action which ssh's into this and then updates and runs a simple shell script which can be a reinstall state every time someone updates something in git to get git-ops style workflow. If someone implements it for exe.dev, just credit me :) (if you so wish) ` An amazing product overall. 7/10 due to that one hiccup which saddened me a bit (but which I have faith can be fixed) but its a 9-10/10 potential and that means a lot and a 7/10 at launch is pretty good

Please just tell me every decision/question I had in depth since I love details about projects like these ^^

Another minor suggestion I can have is having asciinema gif too to showcase what it does for some people. To me I only understood to run the command ssh exe.dev which then helped me learn but the only way I understood what exe.dev does beforehand was reading the comments on HN

An asciinema can go a long way in this journey, perhaps, let me know your thoughts.

And have a nice day! One thing I am wondering tho is if you are gonna open source the project, one project which feels similar to your project which is open source is this https://github.com/ekzhang/ssh-hypervisor that runs on top of firecracker

crawshaw 17 hours ago|
[exe.dev co-founder here] As of the past few minutes, some of our VMs are having intermittent network access issues. Working on it now.

UPDATE: this is fixed now.

Invictus0 9 hours ago||
talk about a shitty website
montroser 1 day ago||
Some actual details here:

https://exe.dev/docs/how-exedev-works

https://exe.dev/docs/pricing

dang 22 hours ago||
Thanks! We've added those links to the top text above.
ruined 1 day ago||
this post is downvoted, but these links are the meat everyone is complaining about missing
dang 22 hours ago||
Please don't comment about downvotes. This is in the site guidelines: https://news.ycombinator.com/newsguidelines.html.

If the downvotes were inappropriate, other users will usually correct them. In this case the comment ended up being heavily upvoted.

Unfortunately, complaints like the one you added don't get garbage-collected when that happens, so they linger on, adding noise to the thread.

minimal_action 16 hours ago||
I built a similar infrastructure, a bit more human friendly, for spinning up AI agents' sessions for scientific work rather than web dev. Also with Share link for the sessions. (https://ai-archive.io)
tonetheman 13 hours ago||
[dead]
dizzled 12 hours ago|
[dead]
dizzled 11 hours ago||
Also curious about Shelley, their LLM agent. Turns out it makes requests to a proxy for https://fireworks.ai APIs via http://169.254.169.254/gateway/llm, such as:

    POST /gateway/llm/_/gateway/fireworks/inference/v1/chat/completions HTTP/1.1
    Host: 169.254.169.254
    User-Agent: Go-http-client/1.1
    Content-Length: 491 
    Accept: application/json
    Authorization: Bearer implicit
    Content-Type: application/json
    Accept-Encoding: gzip

    {"model":"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct","messages":[{"role":"user","content":"Generate a short, descriptive slug (2-6 words, lowercase, hyphen-separated) for a conversation that starts with this user message:\n\nhello\n\nThe slug should:\n- Be concise and descriptive\n- Use only lowercase letters, numbers, and hyphens\n- Capture the main topic or intent\n- Be suitable as a filename or URL path\n\nRespond with only the slug, nothing else."}],"max_tokens":8192}
And, perhaps of more interest, actual conversations which start with the system prompt:

    POST /gateway/llm/_/gateway/fireworks/inference/v1/chat/completions HTTP/1.1
    Host: 169.254.169.254
    User-Agent: Go-http-client/1.1
    Content-Length: 10513
    Accept: application/json
    Authorization: Bearer implicit
    Content-Type: application/json
    Accept-Encoding: gzip
    
    {"model":"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct","messages":[{"role":"system","content":"You are Shelley, a coding agent and assistant. You are an experienced software engineer and architect. You communicate with brevity.\n\nYou have access to a variety of tools to get your job done. Be persistent and creative.\n\n
    ...
Truncated as it's huge, but here's a copy of the request data: https://victory-george.exe.xyz. Interesting to see the range of tools offered by the agent.
dizzled 8 hours ago||
Turns out the request is coming from localhost because it's being forwarded over SSH. Their HTTP proxy causes a new SSH connection to be made to the VM:

    Connection from 10.42.0.1 port 37456 on 10.42.1.75 port 22 rdomain ""              
    debug1: Local version string SSH-2.0-OpenSSH_9.9                                   
    debug1: Remote protocol version 2.0, remote software version Go                    
    debug1: compat_banner: no match: Go
Which then requests a local TCP connection, in this case to port 8000:

    debug1: Entering interactive session for SSH2.                                    
    debug1: server_init_dispatch                                                       
    debug3: receive packet: type 90                                                    
    debug1: server_input_channel_open: ctype direct-tcpip rchan 0 win 2097152 max 32768
    debug1: server_request_direct_tcpip: originator 0.0.0.0 port 0, target 127.0.0.1 port 8000
    debug1: connect_next: start for host 127.0.0.1 ([127.0.0.1]:8000)                  
    debug2: fd 7 setting O_NONBLOCK                                                    
    debug2: fd 7 setting TCP_NODELAY                                                   
    debug1: connect_next: connect host 127.0.0.1 ([127.0.0.1]:8000) in progress, fd=7
    debug3: fd 7 is O_NONBLOCK                                                           
    debug3: fd 7 is O_NONBLOCK                                                          
    debug1: channel 0: new direct-tcpip [direct-tcpip] (inactive timeout: 0)           
    debug1: server_input_channel_open: confirm direct-tcpip                         
    debug3: channel 0: waiting for connection
This is in contrast to a normal SSH shell session:

    debug1: Entering interactive session for SSH2.                                     
    debug1: server_init_dispatch                                                       
    debug3: receive packet: type 90                                                     
    debug1: server_input_channel_open: ctype session rchan 0 win 2097152 max 32768
    debug1: input_session_request                                                      
    debug1: channel 0: new session [server-session] (inactive timeout: 0)
    debug2: session_new: allocate (allocated 0 max 10)                                 
    debug3: session_unused: session id 0 unused                                          
    debug1: session_new: session 0                                                      
    debug1: session_open: channel 0                                                    
    debug1: session_open: session 0: link with channel 0                               
    debug1: server_input_channel_open: confirm session                                 
    debug3: send packet: type 91                                                        
    debug3: receive packet: type 98                                                    
    debug1: server_input_channel_req: channel 0 request pty-req reply 1
    debug1: session_by_channel: session 0 channel 0                                    
    debug1: session_input_channel_req: session 0 req pty-req                           
    debug1: Allocating pty.
dizzled 3 hours ago||
Also there's a funny little Easter egg within the SSH connection to exe.dev, if you look closely. I don't want to spoil it for anyone, but it was nice to see.
More comments...