5 ms·
How to run a DOS-based web server
- sebazzz 3y agoThat's nice but you can't run the Web server in the background can you? So you need to terminate it to edit index.htm?
- shrubble 3y agoCould you use DesQView or similar to multi-task it?
- pan69 3y agoThat's what I did back in the day, FrontDoor + RemoteAccess under DesQView.
- deleted 3y ago[deleted]
- enormousness 3y agoThey use a VM so I assume you'd simply edit offline then redeploy the machine.
- slim 3y agoyou would need to make it a TSR
- bluedino 3y agoMicrosoft Windows will let you multitask DOS applications
- maximinus_thrax 3y agoWith no intention of one-upping the original post, people who find this enjoyable may also check out https://secretgeek.net/dod_intro https://secretgeek.net/dod_intro
- thecodedmessage 3y agoThis can’t be actual DOS, can it? It’s running Windows batch files or something?
- rep_lodsb 3y agoYes, and a lot of the functionality it uses isn't available in real DOS. It's a bit like in the UNIX world the difference between bash and sh, perhaps more so.
- LeonB 3y agoIn my defence, Ruby on Rails contains no actual rubies or any actual rails.
- maximinus_thrax 3y agoHey, I've been following your blog since forever. So happy to see you reply here.
- maximinus_thrax 3y ago> This can’t be actual DOS, can it? Not with that attitude it can't.
- LeonB 3y agoEach time DoD pops up, someone questions the authenticity of the `dos` label — and I remain unsure of the correct response. I think for now I’ll say — If you believe a more authentic DoD can be created, I agree and I’ll be its first fan. I’m at the point where I think — if it’s worth being pointed out then it’s worth implementing. Bring it!!
- thecodedmessage 3y agoI am literally asking whether this can run on DOS. It’s become clear that it can’t, and words mean things. Given the article is about running web servers literally on DOS, I think we can safely say it’s been brought. Modern Windows command line is not DOS.
- nirui 3y agoIt's cool and all, but does FreeDOS support something similar to Data Execution Prevention? I know MS-DOS probably don't have it, and searching "'FreeDOS' 'Data Execution Prevention'" on DuckDuckGo yielded no result.
- hulitu 3y agoMaybe not. COM files were, more or less, data.
- chungy 3y agoYou're not going to do this for security. It's purely for fun :)
- rep_lodsb 3y agoSerious answer to silly question: DOS applications have full control over the hardware, so it's entirely up to them. In real / V86 mode, there is no distinction between code and data pages, however you can have separate segments for code, data and stack. There are separate CPU instructions for "near" and "far" jump/call/return, and if all code fits into a single 64K segment ("small model"), there would be no need to ever have the "far" version of these instructions in your code. So if for example a return address or function pointer were overwritten, there would still be no way for an attacker to execute data, since it is in a different segment and all control transfer would be limited to the current code segment. A lot of the more modern software included in FreeDOS is compiled with GCC and uses a flat 32-bit address space, so it doesn't have that protection. Most of it is command line utilities ported from UNIX-like systems, with even the most trivial of them being more than 100K in file size - IMO this goes very much against the "spirit" of DOS! It should be possible to modify the compiler and runtime library to use separate segments for code and data. Since there is no size limit in 32-bit mode, there would be no need for far pointers, just two separate address spaces. Of course the UNIX and RISC zealots don't like this because it isn't portable to every other CPU, as if that matters somehow. Enabling page-based DEP would also be theoretically possible, but require even more effort, I think. And for what purpose?
- nirui 3y ago
- tetrisgm 3y agoWhat happens if you DOS a DOS server?
- redder23 3y agoI fail to see the point.
- m00x 3y agoFun experimentation
- KRAKRISMOTT 3y agoBetter sandbox the webserver in WebAssembly
- rollcat 3y agoI thought at first it's gonna be redbean (https://redbean.dev https://redbean.dev), but turns out Cosmo/APE (despite the .com file extension) "only" supports x86-64/Windows. I like the idea of using the attached screen to scroll logs / show stats. My next server build has a 9" touchscreen on the front panel, and I'm looking for ideas on what (&how) to show there.
- dang 3y ago(sort of) related ongoing thread: DOS on Dope: The last MVC web framework you'll ever need (2010) - https://news.ycombinator.com/item?id=38706483 https://news.ycombinator.com/item?id=38706483 - Dec 2023 (18 comments)
- k8svet 3y agoSo, someone needs to integrate this with https://github.com/MatthewCroughan/NixThePlanet https://github.com/MatthewCroughan/NixThePlanet, of course. ("Run macOS, Windows and more via a single Nix command, or simple nixosModules", aka, declarative DOS VM images)
- 1970-01-01 3y agoGopher support?
- mbbrutman 3y agoCute article, but I'm not quite sure how you missed the mTCP HTTPServ program ...