What is Small Screen Proxy
Small Screen Proxy (ssproxy) is a HTTP proxy server, which provide reformatted
web page for small screen devices, e.g. handheld computer, PDA and mobile
phone. I supposes that users watch Internet news sites using ssproxy. Almost
all news sites have top page menu and directory menu placed on left side
usually. They become pages difficult to see on small screen.
In addition many wireless Internet connection service fee depend on connection
time or communicated data bytes, and they are often slow such as 32kbps.
So ssproxy can reduce connection time and fee too.
I provide a evaluation server. Please read
this page when you want to access my server.
Small Screen Proxy has these features.
- Outline view
- Small Screen Proxy analyzes HTML structures, then generates hierarchical outline. The outline has some links to partial views. This is a sample of the outline view, which is converted from http://sourceforge.net/.
The values of each lines indicate number of characters in hierarchy. It
estimates length of contents.
- Partial view
- Small Screen Proxy generates some partial HTMLs from a original HTML. The user can select one of partial view from a link in outline. This is a sample of the partial view, which is also converted from http://sourceforge.net/.
- Selection history of partial view
- Small Screen Proxy stores user selection history of partial view from outline. When user visits same web page, the same partial view is provided.
- The gzip encoding
- Small Screen Proxy can response HTTP compressed by gzip.
- Authorization
- Small Screen Proxy supports authorization by user name and password.
Requirement for Small Screen Proxy
You need a server computer with global IP address and Java run time environment.
You can execute ssproxy on the localhost for test of course. But using
localhost make no sense because ssproxy is for small screen devices without
JRE.
You don't need fixed IP address. Many dynamic DNS service are provided.
Some of them are free. You can know many providers when you search "Dynamic
DNS".
How to execute on server
You should install and execute the following for executing Small Screen
Proxy on server.
- Install Java runtime environment. I am using JRE version 1.4.2_03 for test.
- Download Small Screen Proxy runtime and unzip it.
- Modify ssproxy.properties if necessary.
- Modify or delete password file. You can edit user ID and password. They
should be separated by ':'. If you don't need authorization, you should
delete the password file.
- Execute "java -jar ssproxy.jar" or "java -jar ssproxy.jar
-v". The "-v" option means verbose mode, which shows headers
of all HTTP request and response.
NOTE: Small Screen Proxy runtime package contains htmlparser. The htmlparser is a product of HTML parser project hosted by SourceForge.net. You can get full distribution from the HTML
parser project summery page.
ssproxy.properties syntax and semantics
The ssproxy.properties syntax is same with general java properties files,
which can be parsed by java.util.Properties. It is simple set of key and
value separated by "=". The "#" character means comment.
The keys of ssproxy.properties mean the following.
- mode
- The possible value is "http" or "proxy". You can select
HTTP server mode or proxy server mode. In HTTP server mode, you have to
enter special URLs in you browser such as "http://localhost:8080/?u=http://sourceforge.net/".
In proxy server mode, you have to configure proxy server setting on your
web browser.
- host
- A host name where ssproxy is running on. It is not important. It is used
as "Via" header in HTTP request for avoiding HTTP request loop.
It is no problem to remain "localhost" in many case.
- port
- The TCP port number for ssproxy. Generally HTTP server uses 80 and proxy
server uses 8080. But any port number can be used.
- threads
- The number of thread in ssproxy. Maybe default value(5) is enough if you
use your server alone.
- encoding
- The "gzip" means enabling gzip encoding in HTTP response. ssproxy
recognizes "Accept-Encoding" on HTTP header. So it is no problem
to use always "gzip".
- allowport
- The allowed TCP port(s) for origin server. ssproxy can limit port(s) in
order to refuse accidental security hole. You can select more than two
ports separated by '.'.
Future plan
- The selection history log. ssproxy should store history as a file, and
read it when ssproxy start next time.
- The conversion images to links to avoid downloading images. When you 'click' links, ssproxy download images.
Report and comment
Please send bug report, support request and other comment to the project summary page in SourceForge.
Author
Small Screen Proxy is written by tadashi-k@users.sourceforge.net.
This project is hosted by