Thread
Web server for Macintosh 512K
I was able to get my Macintosh 512K web server running and on the internet for current RetroChallenge. It is running System 2.0/Finder 1.1g with 64K ROMs. Here is a link to my web page with a link to the server.:
http://apple-crapple.blogspot.com/2015/01/mac-512k-on-internet.html
It is still running the default lwIP web page.
I am pretty close to getting it to run in 128K, but it is still a little too big. It runs easily in a virtual 256K Mac.
Let me know how well, or if, it works.
http://apple-crapple.blogspot.com/2015/01/mac-512k-on-internet.html
It is still running the default lwIP web page.
I am pretty close to getting it to run in 128K, but it is still a little too big. It runs easily in a virtual 256K Mac.
Let me know how well, or if, it works.
What a great achievement. I'm really flabbergasted!
I'm working now for 25 years with old Mac's and never have seen something like this before!
A web server on a 512K! This is what I see in the header:
Status: HTTP/1.0 200 OK
Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
Content-type: text/html
I have tried myself to achieve something with a web server. My best effort was a rebuild of the Pascal code for TCTExample to a kind of web server:
https://68kmla.org/forums/index.php?/topic/21029-help-with-tcpexample-in-pascal/
But on a 512K.... GREAT! It means you get TCP/IP running on one of the smallest equiped Mac's. I'm looking forward to your effort on a 128K.
Could you share a disk image if possible? I would really love to try it!
I will read you blog about this all!
An other question. You talk about emulated 512K. What do you use for that? Basilisk II?
I'm working now for 25 years with old Mac's and never have seen something like this before!
A web server on a 512K! This is what I see in the header:
Status: HTTP/1.0 200 OK
Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
Content-type: text/html
I have tried myself to achieve something with a web server. My best effort was a rebuild of the Pascal code for TCTExample to a kind of web server:
https://68kmla.org/forums/index.php?/topic/21029-help-with-tcpexample-in-pascal/
But on a 512K.... GREAT! It means you get TCP/IP running on one of the smallest equiped Mac's. I'm looking forward to your effort on a 128K.
Could you share a disk image if possible? I would really love to try it!
I will read you blog about this all!
An other question. You talk about emulated 512K. What do you use for that? Basilisk II?
I am planning on getting a distribution ready this weekend. The server is currently running on a REAL original Macintosh0, upgraded to 512K RAM. I have been doing some testing on Mini vMac with some modifications I adapted to support the mac serial ports (see my web site). I have been using that to test it on a virtual128K (which doesn't work yet) and a virtual (and nonexistant) 256K Mac (which does appear to work).
I will try to get a whole image together with the modified Mini vMac and a 400K disk with the program on it.
I will try to get a whole image together with the modified Mini vMac and a 400K disk with the program on it.
Great! I'm really looking forward to test it. On my Linux box I have a null modem cable to a 512K Mac and I once did a SLIP connection on that. See:
http://macintosh.vanegten.com/?p=193
Never tried a PPP, but I guess that will be the trick to get to the 512K. I will read your web site how you setup the PPP connection in the first place.
http://macintosh.vanegten.com/?p=193
Never tried a PPP, but I guess that will be the trick to get to the 512K. I will read your web site how you setup the PPP connection in the first place.
I have the book PISM - Providing Internet Services on Macintosh (circa 1999), and I used run web service on classic Macs, and other services (Email, FTP, Gopher, Unix-like Talk Chat/IRC, and so on) for the community center computer room I a running then. Much of the software can run on a Mac 512K on System 6.04, though they could use a lower system but I never tried it on a lower system. Years later I also had the book Running MacHTTPD - which was a tiny version public domain version of Webstar 4.0. Throw in a few plug-ins, and it was "Kick Ass" on what one can do with an old Mac!
If it counts, I still run Webstar 5.0 on my old Duo 210 for experiments and cgi coding practice. It's been running that since 2002, and MacHTTPD since the late 1990s.
If it counts, I still run Webstar 5.0 on my old Duo 210 for experiments and cgi coding practice. It's been running that since 2002, and MacHTTPD since the late 1990s.
That depends. I need to re-research what I have. There was a TCP stack for System 6 that as not MacTCP, using AppleTalk 2.0. AppleTalk 1.0 would not work with it as I remember, because the buffer sizes were too small and its bandwidth too slow.
I still have much of my original software and the two books.
I still have much of my original software and the two books.
I got El Whip working on my 512K. Runs fine!
Read all about it at:
http://macintosh.vanegten.com/?p=440
Read all about it at:
http://macintosh.vanegten.com/?p=440
OK! Put my 512K on the Internet now. You can see it on:
http://512k.macip.net
Had to do some ugly way with netcat to get it pass all of my routers.... but it works!
(only no image because it has a relative URL in it.... but that's a minor detail.)
The page is grabbed live from the Mac 512K... Will try to keep him online next 24 hours....
http://512k.macip.net
Had to do some ugly way with netcat to get it pass all of my routers.... but it works!
(only no image because it has a relative URL in it.... but that's a minor detail.)
The page is grabbed live from the Mac 512K... Will try to keep him online next 24 hours....
I was able to get a web server running on a Mini vMac virtual Macintosh 128K...
Virtual Macintosh 128K 404 Error server!
Virtual Macintosh 128K 404 Error server!
And now with external HTML files!
http://apple-crapple.blogspot.com/2015/02/elwhip-006-download-available.html
http://apple-crapple.blogspot.com/2015/02/elwhip-006-download-available.html
No problem! It got it!
I tested it on my 512K Mac. My 128K has no screen anymore...totaly BLACK
But your programs works!!!!
https://www.youtube.com/watch?v=0L-Iv2lZ9pk
I tested it on my 512K Mac. My 128K has no screen anymore...totaly BLACK
But your programs works!!!!
https://www.youtube.com/watch?v=0L-Iv2lZ9pk
Today I tested on a real 128K board......
It is working FINE!!!!
See it in action:
https://www.youtube.com/watch?v=PUpaHMYE3io
It is working FINE!!!!
See it in action:
https://www.youtube.com/watch?v=PUpaHMYE3io
Another test on a Macintosh 128K. Now with a rock bottom System 1.0 and Finder 1.0. Works!!
One strange thing.....
It comes up with a 404 ...not with the index.html as you should expect.
What could be the explanation?
See for yourself:
http://youtu.be/Wu2uu8qvQ1M
One strange thing.....
It comes up with a 404 ...not with the index.html as you should expect.
What could be the explanation?
See for yourself:
http://youtu.be/Wu2uu8qvQ1M
I connected my 128K to the Internet. You can see ElWhip up and running at this address:
http://128k.macip.net/
If you have seen the page...honk!
Works in a "normal" browser....not in lynx. Probably something with the port forwarding.
Please don't hammer it.......
Will be up today.
http://128k.macip.net/
If you have seen the page...honk!
Works in a "normal" browser....not in lynx. Probably something with the port forwarding.
Please don't hammer it.......
Will be up today.
Nice Job! This has been a 2 month project of mine, so it is really great to see it up and running on a real Mac 128K.
FYI: Safari is stalling about 3/4 way through that page and keeping the connection open. If I use TELNET, it looks correct, except I do not see the HTTP header (which may be the problem with Safari).
You should consider putting a fan on it it you are running it full time, like a Kensington System Saver or a Fanny Mac.
FYI: Safari is stalling about 3/4 way through that page and keeping the connection open. If I use TELNET, it looks correct, except I do not see the HTTP header (which may be the problem with Safari).
You should consider putting a fan on it it you are running it full time, like a Kensington System Saver or a Fanny Mac.
I will close down the 128K web server. My 128K is having trouble to start. Sometimes the screen stays black. A slap helps.....
I did some soldering this afternoon. It is more stable now but, I had to boot more then ones, so it is not over. I'm afraid I have to do this soldering over and the very carefully..... So I'm giving it some rest for now.
I have a log on the port forwarding and can see that my web server is visited 160 times. But...half of the visits are mine...
It was a nice project and hope to see more of these TCP/IP Mac stuff. It is really my peace of cake!
I did some soldering this afternoon. It is more stable now but, I had to boot more then ones, so it is not over. I'm afraid I have to do this soldering over and the very carefully..... So I'm giving it some rest for now.
I have a log on the port forwarding and can see that my web server is visited 160 times. But...half of the visits are mine...
It was a nice project and hope to see more of these TCP/IP Mac stuff. It is really my peace of cake!
I shifted a bunch more PPP code into a segment that I can unload. I will see if I can fit dynamic headers in. This will make serving images easier. I also have an idea for fixing the crash on quit on 128k. Any other requests?
I may have enough memory to fit a small web browser.
I may have enough memory to fit a small web browser.
I have a wish list.....
- Make it possible to do a HEAD request, so you can check if a file is there
- Name and version of the server in this HEAD request.
- Some kind of server status; amount of requests, uptime,etc
- Make some interaction with the OS possible, like time and date showing, file listing, etc
- A big one....Make it possible to upload files.....
- Make it possible to do a HEAD request, so you can check if a file is there
- Name and version of the server in this HEAD request.
- Some kind of server status; amount of requests, uptime,etc
- Make some interaction with the OS possible, like time and date showing, file listing, etc
- A big one....Make it possible to upload files.....
OK, I added some features including HEAD requests.
http://apple-crapple.blogspot.com/2015/02/elwhip-007-with-new-features.html
A server status window is probably next, but it may take a while...
http://apple-crapple.blogspot.com/2015/02/elwhip-007-with-new-features.html
A server status window is probably next, but it may take a while...
Version 0.7 really works beautiful!
I now get correct headers and can read a head request!
I put it on the Internet and tested
http://128k.macip.net/
GET / HTTP/1.1
Host: 128k.macip.net
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cache-Control: max-age=0
HTTP/1.0 200 OK
Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
Content-Type: text/html
Can't get it going on minivmac with serial support....
Don't know how to get the pppd started well on my virtual Debian....
I now get correct headers and can read a head request!
I put it on the Internet and tested
http://128k.macip.net/
GET / HTTP/1.1
Host: 128k.macip.net
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cache-Control: max-age=0
HTTP/1.0 200 OK
Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
Content-Type: text/html
Can't get it going on minivmac with serial support....
Don't know how to get the pppd started well on my virtual Debian....
minivmac should start pppd if your ttyprog.sh is configured correctly. do you get any errors in syslog?
also, I noticed that I am not seeing all of the html.:
This is made possible by the lightweight TCP/IP stack
<a href="htt[Connection closed by foreign host.]
Does the file really stop there or is the server stopping early?
also, I noticed that I am not seeing all of the html.:
This is made possible by the lightweight TCP/IP stack
<a href="htt[Connection closed by foreign host.]
Does the file really stop there or is the server stopping early?
I found a bug that can cause an incomplete file read on certain size files, which was causing your index.html to not load correctly.
I updated the download :
http://apple-crapple.blogspot.com/p/blog-page_19.html
I updated the download :
http://apple-crapple.blogspot.com/p/blog-page_19.html
YES!!!!!!!!!! 07.1 does the trick! Now the whole page loads.
Thanks for the update.
Server is live at:
http://128k.macip.net/
I will PM you about my ppp setup for minivmac. It is driving me mad..... I'm debugging now and it seems that the pppd is restarting over and over... Als when I just ask which tty I'm on( remove the pppd part and just run command tty ) it loops between /dev/pts/2 and /dev/pts/4. Now way of binding it to just one pts....
Maybe I ca start pppd with one ling command?
Like:
pppd /dev/pts/2 9600 etc etc
I asked the maker of this minivmac version, but he just uses slirp and don't know what to do.... OK I come back on this by PM.
Thanks for the update.
Server is live at:
http://128k.macip.net/
I will PM you about my ppp setup for minivmac. It is driving me mad..... I'm debugging now and it seems that the pppd is restarting over and over... Als when I just ask which tty I'm on( remove the pppd part and just run command tty ) it loops between /dev/pts/2 and /dev/pts/4. Now way of binding it to just one pts....
Maybe I ca start pppd with one ling command?
Like:
pppd /dev/pts/2 9600 etc etc
I asked the maker of this minivmac version, but he just uses slirp and don't know what to do.... OK I come back on this by PM.
I'm testing new possibilities with El Whip now. Connected the 512K Mac with LocalTalk and mounted a share.
I'm running it from a mounted drive on my MacIPgw virtual machine. This has Netatalk on board. The .html files are on this share so there is endless space and... the possibility of using scripting. As an example I generate a simple page every minute which gives the current date and time. Just to understand the idea.
The server is still running on the 512K Macintosh
Have a look at:
http://128k.macip.net/date.html
This is the simple script, date.sh:
echo "<html>" > "/AppleShare/ElWhip 0.071/date.html"
echo "<body>" >> "/AppleShare/ElWhip 0.071/date.html"
echo "`date`">> "/AppleShare/ElWhip 0.071/date.html"
echo "</body>" >> "/AppleShare/ElWhip 0.071/date.html"
echo "</html>" >> "/AppleShare/ElWhip 0.071/date.html"
Run it in crontab
* * * * * /bin/sh "/AppleShare/ElWhip 0.071/date.sh"
I'm running it from a mounted drive on my MacIPgw virtual machine. This has Netatalk on board. The .html files are on this share so there is endless space and... the possibility of using scripting. As an example I generate a simple page every minute which gives the current date and time. Just to understand the idea.
The server is still running on the 512K Macintosh
Have a look at:
http://128k.macip.net/date.html
This is the simple script, date.sh:
echo "<html>" > "/AppleShare/ElWhip 0.071/date.html"
echo "<body>" >> "/AppleShare/ElWhip 0.071/date.html"
echo "`date`">> "/AppleShare/ElWhip 0.071/date.html"
echo "</body>" >> "/AppleShare/ElWhip 0.071/date.html"
echo "</html>" >> "/AppleShare/ElWhip 0.071/date.html"
Run it in crontab
* * * * * /bin/sh "/AppleShare/ElWhip 0.071/date.sh"
wow, sorry, I meant WOW!!
Well done, that is an awesome achievement. I havent been around here for a while so have only just learnt of your awesomeness today. I was truly blown away. I'm pretty sure that in past discussion about being able to do something like this on a 128k Mac using Mac OS, the idea was dumped in the "impossible" basket.
Excellent work. I look forward to taking some time to read through your blog (not that I'll be able to understand all the technical bits!).
Cheers,
Well done, that is an awesome achievement. I havent been around here for a while so have only just learnt of your awesomeness today. I was truly blown away. I'm pretty sure that in past discussion about being able to do something like this on a 128k Mac using Mac OS, the idea was dumped in the "impossible" basket.
Excellent work. I look forward to taking some time to read through your blog (not that I'll be able to understand all the technical bits!).
Cheers,
This is very impressive! Best I have ever done was running Eudora on a workgroup server 60 in the late 90's to provide email for almost 1,000 users. I massaged that machine to run it flawlessly until I just couldn't expand the ram to keep up with the traffic - much less have enough storage or disk speed. I wound up converting that machine into a web server with web star and used it for that purpose into the early 2000's - without any trouble. Never occurred to me to try it on a machine still old. I do know of a company with over 150 workstations that still uses a IIci as a DNS and print server.
