Jump to content

Photo

Stuart's TI-99/4A - Internet Web Browser

TI-99/4A SOFTWARE INTERNET

469 replies to this topic

#401 Schmitzi OFFLINE  

Schmitzi

    River Patroller

  • 4,525 posts
  • ToXiC
  • Location:Germany

Posted Fri Oct 28, 2016 6:18 PM

You can't, even if you run a local DNS server. The issue is that if you're dealing with an IP address, DNS wouldn't be queried so you can't redirect it. 

 

So maybe just "invent" an (internally) DNS-Name for your needed local APP-server´s IP-address, used by your new TI-APP ?

 

And then, what I meant was - on your firewall - just redirect Stuart´s DNS-Server-IP to your local "PHP-scripting"-DNS-server

(with that custom A-Record). Your firewall must be able to let you do that.

Then you can query your own (PHP)-DNS-server, and set an A-Record (local IP) for your locally needed APP-server there.

(Or just hexedit the browser, to point to your local (PHP)-DNS-Server, of course)  :)

 

But of course, best practice would be to enable the browser to accept pure IPs, too.

 

--

 

An entry for a 2nd DNS-Server would be fine, maybe editable ?

But normally, referring to DNS´ RFCs, the 2nd DNS-Server is ONLY queried if the first one is NOT present (does not respond).

(If the first DNS-server cannot resolve to an IP, NO 2nd server is asked)

But maybe this behave can be handled/overwritten by Stuart´s browser, against the RFCs, as this is a client-thing only.

Maybe a user-"switchable/choosable" 2nd DNS-Server, and/or the function to ask a 2nd DNS-Server if the 1st cannot/does not resolve to any IP.



#402 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Fri Oct 28, 2016 7:52 PM

Since Slinkeey is working on some things too, maybe he can chime in on what he's getting for a page size.

 

Thanks,

Corey.

 

< 1000 bytes 

 

If I made it look fancy, it would go up.. Right now it is small.  I am doing a proof of concept before I even think of making it look professional.



#403 Stuart OFFLINE  

Stuart

    Dragonstomper

  • 868 posts
  • Location:Southampton, UK

Posted Sun Oct 30, 2016 5:54 PM

ElectricLab, on 28 Oct 2016 - 8:33 PM, said:

 

That brings up a question I had - does the browser just discard whitespace/newlines when it's parsing the page such that it doesn't actually affect memory utilization if we get sloppy? I figured it best to reduce the traffic to a minimum to make data transfer faster and the fastest web browsing possible.

 

 

No, the page is stored in the download buffer exactly as received, so no sloppiness! At 38,400 Baud and with no handshaking, there's not really enough time to do any processing of the page data as it is downloaded.



#404 InsaneMultitasker OFFLINE  

InsaneMultitasker

    River Patroller

  • 2,438 posts

Posted Sun Oct 30, 2016 6:57 PM

At 38,400 Baud and with no handshaking, there's not really enough time to do any processing of the page data as it is downloaded.

 

The modified interrupt RS232 capture routine I posted (not too long ago) might be helpful in this regard.   In TIMXT, the interrupt routine adds bytes to a circular buffer while the processing routine interprets and displays the data in between interrupts.  It too is operating at 38.4K with no handshaking.  



#405 Stuart OFFLINE  

Stuart

    Dragonstomper

  • 868 posts
  • Location:Southampton, UK

Posted Thu Nov 3, 2016 12:58 PM

I've updated the web browser so it now supports URLs specified by IP address rather than host name. Version 9.2 available on my web site: http://www.stuartcon...net_web_browser.

 

===============================

*Version 9.2 changes:
*-- Added support for a URL in the form of a numberic IP address, in addition to a textual host name. So the
*   following example web page URL formats are now supported:
*   -- www.stuartconner.me.uk/tibrowser/z.htm
*   -- myti99.com/
*   -- 198.136.54.70/~stuartc2/z.htm
*   The URL in a hyperlink on a page can specify either a host name or an IP address.



#406 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Fri Nov 4, 2016 7:47 AM

Thanks. I'll check it out. :)

#407 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Fri Nov 4, 2016 11:46 PM

Okay.... I need to figure out a few things from my side.  I can pull the page up in Chrome, but from the TI.

 

<99ml>TEST</99ml>

 

I can pull this up, from the ti, if I put it on my apache server.

 

The TI just doesn't want to pull it from the embedded device.. Gotta see what's going on.

 

It's port 80...  The tiny embedded webserver but be missing something that this browser possibly needs..


Edited by slinkeey, Fri Nov 4, 2016 11:47 PM.


#408 ElectricLab OFFLINE  

ElectricLab

    Moonsweeper

  • 260 posts
  • Location:Hillsboro, Oregon

Posted Sat Nov 5, 2016 12:00 AM

I wonder if your embedded webserver is sending something different to the browser in terms of CONTENT-TYPE or other subtlety that Stuart's browser isn't liking, maybe even as simple as a newline character or something. I'm assuming that you can pull of the page on a modern browser served up by the embedded server OK?  You could go at this a couple of different ways. You could sniff the traffic of both a successful and non-successful session and compare them. I don't know what the OS/capabilities of your embedded environment are, but if it's Linux, you could easily capture the traffic right on the device with tcpflow.

 

I'd also check the results of both the Apache server and the embedded webserver with a simple telnet check. 

 

For example I just did this on my MacBook:

 

telnet 192.168.0.99 80  <enter>

GET /                             <enter>

<99ml>

<cdef:85:00000000647F7F3F>

<cdef:86:0000000098F8F8F0>

<cdef:89:000000040C1C3C7C>

<cdef:8A:0060E0F0F878F8F8>

 

<p>black on blue example:</p>

<br>

<p><clr:15><chr:85></clr><clr:15><chr:86></clr></p>

<p><clr:15><chr:87></clr><clr:15><chr:88></clr></p>

<br><br>

<p>black on blue followed by black on white:</p>

<br>

<p><clr:15><chr:85></clr><clr:15><chr:86></clr><clr:1F><chr:89></clr><clr:1F><chr:8A></clr></p>

<p><clr:15><chr:87></clr><clr:15><chr:88></clr><clr:1F><chr:8B></clr><clr:1F><chr:8C></clr></p>

</99ml>

 
 
Also - text should be in <p> tags to be reliably visible in Stuart's browser.


#409 ElectricLab OFFLINE  

ElectricLab

    Moonsweeper

  • 260 posts
  • Location:Hillsboro, Oregon

Posted Sat Nov 5, 2016 12:01 AM

I should add that I'm running Apache on the server at 192.168.0.99 in my above post.



#410 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Sat Nov 5, 2016 12:28 AM

Yep, it pulls up in a modern browser just fine.

 

Content Type "text/html"  I'll play with it more later...


Edited by slinkeey, Sat Nov 5, 2016 12:29 AM.


#411 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Sat Nov 5, 2016 12:43 AM

The web server is actually not even getting far enough to serve..  I also have it outputting to the serial console for testing.  I'll get it....  Just need to know what is wrong with how I am handling the request..



#412 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Sun Nov 6, 2016 10:23 PM

Ok...  Figured it out.. the UDS-10 is not able to see any of the machine's on wireless...  My other wired machines plugged into the same switch can see them.  I need to figure out what I have wrong in my network.

 

I duplicated this by putting my Apache server on wireless,  Every machine of mine, except the TI (UDS-10) could access it. 



#413 ElectricLab OFFLINE  

ElectricLab

    Moonsweeper

  • 260 posts
  • Location:Hillsboro, Oregon

Posted Sun Nov 6, 2016 10:43 PM

I'd suggest double checking the netmask on the UDS-10's TCP/IP configuration to make sure it's not inadvertently been set to mask out your subnet. 

 

Can you access the UDS-10 going the other way - from a machine on wireless to the UDS-10 via telnet? If you weren't aware, they run a telnetd server on port 9999.

I do all my UDS configuration via telnet since the Java Crapplet gives me a lot of grief.



#414 Schmitzi OFFLINE  

Schmitzi

    River Patroller

  • 4,525 posts
  • ToXiC
  • Location:Germany

Posted Mon Nov 7, 2016 1:54 AM

Yes, you need an older version of Java to get it running. But don´t ask which version :)

-

For Slinkeey: is the WLAN a different (sub-)network or in a VLAN ?

So that the UDS maybe misses the route ?



#415 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Wed Nov 16, 2016 9:05 PM

All of my machines are in the 192.168.1.xxx range, with a mask of 255.255.255.0 (24)

 

I had it all wrong..  The browser (or UDS-10) does not seem to like simple webservers... I emulated one using netcat.

 

I did some further expiriments.

 

I ran this on my notebook. I also did the same test with my desktop, with the same results..

sudo netcat -l 80 < test.htm

 

Point Chrome at this machine via IP adress and it pulls down test.html.

Point TI-99 at this machine and netcat sees that something hit it, but doesn't serve the file.

 

It's pretty neat because netcat returns some text when you hit it with a browser.

GET / HTTP/1.1
Host: 192.168.1.119
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.89 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
 
I should probably start a different thread for this goofing around, hey?

Edited by slinkeey, Wed Nov 16, 2016 9:19 PM.


#416 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Wed Nov 16, 2016 9:32 PM

...
For example I just did this on my MacBook:
 
telnet 192.168.0.99 80  <enter>
GET /                             <enter>


So I telnet to my little embedded webserver. It doesn't wait for me to do a [GET /] it just closes the connection before I can do a get, when using telnet.  Works in a modern browser though.  I think this is my problem.  
By any chance does the TI browser rely on the UDS-10 telnetting to port 80, and then Stuarts browser just parses the text?
 
jefferoonie@jefferoonie-Aspire-V5-473P:~$ telnet 192.168.1.102 80
Trying 192.168.1.102..
Connected to 192.168.1.102.
Escape character is '^]'.
Connection closed by foreign host.
jefferoonie@jefferoonie-Aspire-V5-473P:~$

Edited by slinkeey, Wed Nov 16, 2016 10:13 PM.


#417 Schmitzi OFFLINE  

Schmitzi

    River Patroller

  • 4,525 posts
  • ToXiC
  • Location:Germany

Posted Wed Nov 16, 2016 9:42 PM

IIRC telnet to the UDS-10 goes via port 9999



#418 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Wed Nov 16, 2016 9:48 PM

I know that...  I have no problem telnetting to the UDS-10

 

I was telnetting to my webserver to see what kind of traffic I get.

 

I think this is my problem.. My webserver is not friendly. It slams the door when telnetting to port 80.  It behaves for a moodern browser...  I think that is a great clue..


Edited by slinkeey, Wed Nov 16, 2016 9:49 PM.


#419 ElectricLab OFFLINE  

ElectricLab

    Moonsweeper

  • 260 posts
  • Location:Hillsboro, Oregon

Posted Wed Nov 16, 2016 11:55 PM

It's very interesting if you can view your webserver with a modern browser and then on that same machine, try to telnet to port 80 on the same webserver and have the connection immediately close. I wonder if your terminal or shell is sending any extra characters that the webserver doesn't like. If you sniff the traffic you could find out. You could try using netcat to also fetch a page, or better yet use wget or curl. Those should be indistinguishable from a modern browser as far as the webserver is concerned, as should telnetting to port 80 in a terminal.



#420 ElectricLab OFFLINE  

ElectricLab

    Moonsweeper

  • 260 posts
  • Location:Hillsboro, Oregon

Posted Thu Nov 17, 2016 12:00 AM

 

All of my machines are in the 192.168.1.xxx range, with a mask of 255.255.255.0 (24)

 

I had it all wrong..  The browser (or UDS-10) does not seem to like simple webservers... I emulated one using netcat.

 

I did some further expiriments.

 

I ran this on my notebook. I also did the same test with my desktop, with the same results..

sudo netcat -l 80 < test.htm

 

Point Chrome at this machine via IP adress and it pulls down test.html.

Point TI-99 at this machine and netcat sees that something hit it, but doesn't serve the file.

 

It's pretty neat because netcat returns some text when you hit it with a browser.

GET / HTTP/1.1
Host: 192.168.1.119
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.89 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
 
I should probably start a different thread for this goofing around, hey?

 

 

What you're seeing in the terminal that's running netcat is all the data that the browser sends to the server. This is how webservers discern OS, screen resolution, cookies, capabilities, etc from people browsing a site. 

 

What does the netcat terminal show when you try to access it via telnetting to port 80 and also with the TI browser?

 

When I get a chance I can try to see what's going on with the TI browser not liking the output of netcat vs apache - I've only experimented with the latter.



#421 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,641 posts
  • HarmlessLion
  • Location:BUR

Posted Thu Nov 17, 2016 2:32 PM

It's very interesting if you can view your webserver with a modern browser and then on that same machine, try to telnet to port 80 on the same webserver and have the connection immediately close. I wonder if your terminal or shell is sending any extra characters that the webserver doesn't like. If you sniff the traffic you could find out. You could try using netcat to also fetch a page, or better yet use wget or curl. Those should be indistinguishable from a modern browser as far as the webserver is concerned, as should telnetting to port 80 in a terminal.


One possibility is short timeouts, I've seen some webservers set up that way, so that a manually typed query times out before you send it.

#422 slinkeey OFFLINE  

slinkeey

    Dragonstomper

  • 504 posts
  • Not a Gamer
  • Location:Racine, WI

Posted Thu Nov 17, 2016 6:34 PM

Embedded Webserver

jefferoonie@jefferoonie-Aspire-V5-473P:~/test$ telnet 192.168.1.102 80

Trying 192.168.1.102...
Connected to 192.168.1.102.
Escape character is '^]'.
Connection closed by foreign host.
 
jefferoonie@jefferoonie-Aspire-V5-473P:~/test$ wget 192.168.1.102
--2016-11-17 18:23:18--  http://192.168.1.102/
Connecting to 192.168.1.102:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25 [text/html]
Saving to: ‘index.html’
 
index.html          100%[===================>]      25  --.-KB/s    in 0.003s  
 
2016-11-17 18:23:18 (9.16 KB/s) - ‘index.html’ saved [25/25]
 
jefferoonie@jefferoonie-Aspire-V5-473P:~/test$ cat index.html
<99ml><p><TEST</p></99ml>
 
Server made with netcat
jefferoonie@jefferoonie-Aspire-V5-473P:~$ telnet 192.168.1.149 80
Trying 192.168.1.149...
Connected to 192.168.1.149.
Escape character is '^]'.
<99ml><p><TEST</p></99ml>Connection closed by foreign host.
 
jefferoonie@jefferoonie-Aspire-V5-473P:~/test$ wget 192.168.1.149
--2016-11-17 18:32:30--  http://192.168.1.149/
Connecting to 192.168.1.149:80... connected.
HTTP request sent, awaiting response... 200 No headers, assuming HTTP/0.9
Length: unspecified
Saving to: ‘index.html.1’
 
index.html.1            [ <=>                ]      25  --.-KB/s    in 0s      
 
2016-11-17 18:32:30 (1.64 MB/s) - ‘index.html.1’ saved [25]
 
jefferoonie@jefferoonie-Aspire-V5-473P:~/test$ cat index.html.1
<99ml><p><TEST</p></99ml>
 
 

Edited by slinkeey, Thu Nov 17, 2016 6:45 PM.


#423 Vorticon OFFLINE  

Vorticon

    River Patroller

  • 3,750 posts
  • Location:Eagan, MN, USA

Posted Mon Nov 21, 2016 6:39 AM

So I'm having an issue with versions 9.1 and 9.2 of the browser. I am able to connect just fine with 9.0, but not with the newer versions using the exact same set up. Were there any new config changes required of the UDS-10 for the newer versions?



#424 Stuart OFFLINE  

Stuart

    Dragonstomper

  • 868 posts
  • Location:Southampton, UK

Posted Mon Nov 21, 2016 8:02 AM

Vorticon, on 21 Nov 2016 - 12:39 PM, said:

So I'm having an issue with versions 9.1 and 9.2 of the browser. I am able to connect just fine with 9.0, but not with the newer versions using the exact same set up. Were there any new config changes required of the UDS-10 for the newer versions?

 

Yes, the Baud rate, parity and stop bit were changed (for compatibility with the settings used for TIXMT (if I remember correctly).

 

From my web page http://www.stuartcon...net_web_browser:

 

The Lantronix UDS-10 will need this configuration for Channel 1:

 

NOTE: The configuration has been changed from that used for browser v9 and earlier. Note the different Baudrate and I/F Mode settings.

  • Baudrate: 38400
  • I/F Mode: 4C (8 bit, no parity, 1 stop bit)


#425 Shift838 OFFLINE  

Shift838

    River Patroller

  • 2,569 posts
  • SHIFT838
  • Location:Deer Park, Texas

Posted Mon Nov 21, 2016 10:07 AM

 

 

Yes, the Baud rate, parity and stop bit were changed (for compatibility with the settings used for TIXMT (if I remember correctly).

 

From my web page http://www.stuartcon...net_web_browser:

 

The Lantronix UDS-10 will need this configuration for Channel 1:

 

NOTE: The configuration has been changed from that used for browser v9 and earlier. Note the different Baudrate and I/F Mode settings.

  • Baudrate: 38400
  • I/F Mode: 4C (8 bit, no parity, 1 stop bit)

 

 

Also some of us have found that we must set the Increment Port on the UDS to Yes to get it to work with the Browser.  I believe this is for only certain UDS devices that have a different firmware.  I had to do mine that way.  A few of us had quite a time because all else worked but the browser.  I don't recall who figured that piece out but it helped quite a few of us.


Edited by Shift838, Mon Nov 21, 2016 10:08 AM.






Also tagged with one or more of these keywords: TI-99/4A, SOFTWARE, INTERNET

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users