Sunday, December 10, 2006


The information presented here is for knowledge purposes ONLY. The use of the following information and its outcomes is sole responsibility of the reader.

For the impatient:
1) or Enter the URL you want to browse and be prepared for a slower browsing experience.

2) This one's better according to me... (but would take around 10 full minutes for reading the help and doing the configuration)
a) Download Java Anonymizing Proxy (JAP) from here JAP.jar.
b) Open command prompt as Start > Run > Type java -jar \path\to\jap\file and hit enter.

Example: If you have downloaded the file to C:\downloads, then the command you would have to enter at 'run' would be
java -jar C:\downloads\JAP.jar

Once opened, Hit the 'Assistant' button to guide you thru the configuration process. Lot of help is available on hittng the '?' button.

java virtual machine (JVM) or java runtime environment 1.3 or later must be installed. You can safely ask your admin to install it if it isn't.

a) open DOS prompt as Start > Run > Type command and hit enter.
b) type java and hit enter. If the following line DOES NOT appear, then you are on!!
"'java' is not recognized as an internal or external command, operable program or batch file."

Basics at Wikipedia: Proxy Server, CGI, SSL, Ports, Gateway, https.
1) These are CGI proxies. The complete page (that you had requested) is scanned and the links on that page are replaced by those generated by the site, that is, the way the page exists on the real server is replicated on the proxy site's server albeit with names generated using random numbers/alphas. Also, these sites use SSL. This implies that whatever you send to the site is encrypted as it passes the gateway and is decrypted at the destination site. The same process is used by banking sites to secure the transactions against eavsdropping.

2) This one's a better method... 'Why?' you may ask.

a) The above sites can be blocked the way the sites you want to access have been blocked!!
b) This requires no admin rights. Only Java Virtual Machine is required, which you can easily ask your admin to install.
c) The same file can be run using the same command on Linux/Windows.
d) If the admin sniffs it, working around would require only a few more clicks.

Now that the advantages have been laid out... here are the gory details.

When you start JAP, it starts a proxy server on your machine. Now you point your browser to send its request to this proxy server (JAP, running by default on port number 4001) and not directly to the gateway you had defined. Alternatively, if you were already using a proxy over the network, then you can configure JAP to access internet via that proxy. [At this point you may want to hit the 'Assistant' button if you haven't done so already.] That is...

YOU--->Browser (firefox/Internet Explorer)--->JAP--->proxy (if configured)--->Gateway--->Internet

When you start JAP, it asks for a public key from the server. The request that it receives from the browser is first encyrpted using this key. Now JAP sends
this encrypted information to the anonymity server that you have chosen. there the request is decrypted and its response gathered (remember that your request
to your gateway had been encrypted at your machine). Now this response is again encrypted using the other key in the pair and then sent to the JAP proxy server on your machine. JAP decrypts this response and then sends to your browser for you to see. Complicated??? Hence the complete request-response diagram would be as follows:
YOU--->Browser--->JAP (reuest encrypted here)--->proxy (if configured)--->Gateway (at office)--->(Internet entered)--->Anonomyzing server (request decrypted here)--->Internet accessed again to gather response--->back to anonomyzing server, request encrypted--->JAP server at your machine--->response decrypted--->Browser--->YOU

Wondering where's the justification to "If the admin sniffs it, working around would require only a few more clicks."?? Well JAP communicates by default via port 4001. Each service, be it yahoo messenger, ftp, http etc has a port assigned to it on your machine. Some of the popular ports are listed here. Network admin can block ports. For reference he may see a list of popular ports and leave them while blocking the rest of the ports. Now if he does so and blocks some ports leaving a list of popular ports open, you may stop the corresponding service and start this server on that port.
Besides that, he can also block the IP of the site from where you are using this anonomyzing service. This is actually the part coz of which I like it. There exists a service called Forwarding (have you noticed the Forward checkbox in JAP's interace?). JAP users can make their PC act as a server for other PC to use this anonomyzing service! Now you can either collaborate among your friends, dedicate a machine (probably a machine a your home) for jap only and do away with all this jazz of installing and then configuring again and again. Just go to the browser from where you wish to access the site from, configure it to access this jap service at home by giving ur home comp's IP and the port at which the forwarding service has been enabled. Once you are done, restore back to original settings... :) Uber cool, huh?? No need to install anything; configure, browse, reconfigure and leave the terminal alone!! This method can actually be used using any proxy server. JAP is an illustration. You can setup a Apache server at your home for the same purpose. Configuring JAP is just more convinient.

If this information has charmed you, the following will also be interesting.
Tor: Wikipedia, Official Site
Firefox: Why switch to Firefox

Monday, November 20, 2006

Kubuntu 6.06.1 and Java Studio Creator

I played around with the 64 bit edition too much and had to reload moi linux box. Now I have loaded the i386 or 32 bit edition and must say, its sound is better ( though the version change should not have any implications...), gives lesser errors and is a bit faster. The last difference maybe due to the fact that I downloaded nearly a GB of packages and installed them on amd64 version, just to explore the world of linux. And this hasn't happened in the new... where I've installed only the packages that I require...

To Install JSC Update 1, download libstdc++2.10.glibc2.2 before beginning the installation. If you dont, the Creator would install, but the Application Server and Bundled Database wont be installed. Hit back if u have more queries...

Monday, October 09, 2006

Java Studio Creator 2 UPDATE 1 works on Kubuntu amd64

Hmmm... dunno exactly what changes I had made to make that thing work (server, IDE, and default DB - Derby)... First I had changed to runlevel 5 during startup (please refer older post), then I remember creating libglib shortcuts to libstdc++5. Yes I had made some shortcuts by hand, but I dont exactly know which ones. I installed 2-3 times after making those changes, even then it didnt install successfully... However once I removed JSC 2.0 and its user directory ($home/.Creator), evrything worked fine.

Windows XP

Folder Options in Windows Explorer's Tools menu disappears.

Shortcut to access Folder Options: Start > Run > Type control folders and hit enter.

Cause: Most probably a virus if you have not played with privileges...



a) Start > Run > Type gpedit.msc and hit enter.

b) Navigate as follows: User Configuration > Administrative Templates > Windows Components > Windows Explorer

c) The third option in the pane on right must be "Removes the Folder Options menu item from the Tools menu". Double click it.

d) A dialog box will appear. Select the third radio button to disable it [YES DISABLE IT].

e) Hit OK

f) Check out if the Tools menu in Explorer is reflecting the desired change.

g) Leave a comment if it does not and also the error messages that are displayed while denying the change.

Monday, September 25, 2006

Java Studio Creator on dyne:bolic (Intel EM64T processor)

Dyne:bolic is a Linux based completely free OS that has been optimzed for media editing and production. As media editing is one of my hobbies, I chanced upon it (I guess thru Stumble) and now its the third OS on my comp. Guess this should suffice for an introduction...

Coming to the point, I read on its site that a toned down version of GUI environment (was pretty amazed at first, considering it was meant for producing graphics!) was provided so that the application can get a huge chunk of processor instead of the normal GUI environment hogging the processor and RAM. Considering this architecture, isn't it the best thing to run various development environments?? I ran Java Studio Creator on it and had an excellent experience. It was notably faster than my previous experiences (ubuntu i586 comes second, kubuntu amd64, WinXP, all on 512 MB DDR2 RAM, Intel 630 3.00 Ghz, Intel 915GEV motherboard). I could not test it fully coz installing modules (what packages are refered to in it dyne:bolic) is not a child's play. Sun JSC installed but quit once the installation of server commenced, coz some libs were missing... So I tested whatever I had on my hands - i.e. SJSC update 1 with a very light load (a prj with just 3 pages), without any DB support or a server running...

The good part about this combo is- if u've already installed it on some other OS (Linux) on your machine, u dont need to install it for dyne. Just run the creator script in <SJSC's installation directory>/bin and it would run for u. Haven't gone any further in this direction coz I have already tried quite a lot of of combos and need to get back to my project...

This was in response to some posts on Sun's forum which said SJSC ran best on Ubuntu. Yeah its good on it, but its better on dyne:bolic. (testing on the two was done on same load/project)

- Dev | September 25, 2006

Sunday, September 17, 2006

Client Side Encryption

My project deals with managing information of my college, so i do feel the need the of sending the data from client side in encrypted form. I had a small discussion on this topic here.

Now I am thinking of making up a small server that encrypts all the data it has to send to my server while it sends rest of the data as it is to its default destination. Guess it can be implemeted in Java, but I am devoid of any programming experience in that language.

Hows the idea? any comments??

BTW I am a student and dont have finances to go in for a SSL certificate, thats why all these efforts to come up with a new idea.

Thursday, September 14, 2006

Kubuntu - KDE - Unable to log in and work around

While playing around with my Kubuntu installation, I stopped some services thinking that will make my system's startup faster... but what happened was - the boot process completed successfully and showed me GUI login screen. When I entered the username and password, the screen went blank for a few seconds and then the login screen appeared again.

Just to see what was going on, I shifted to console based login. Upon entering the username and password there, the screen was flooded with the following message
-bash: /dev/null - Permission denied

A simple
sudo chmod a+rw /dev/null
and then
started everything normally.

Upon restarting the system, the same problem reappeared indicating that the permissions had been reset.

chmod a+rw /dev/null was added to /etc/rc.local before
exit 0 (which was already written in the file)

I called one of my friends, a Red Hat certified professional. He explained me all the fundas of runlevels and how things are done in Red Hat. As a part of diagnosis, we shifted to runlevel 5 (current workaround i am using) and everything was working fine. A comparison of services didnt yield much as we found out that udev and MAKEDEV were present in both the levels, which according to us were responsible for dealing with permissions/creation of /etc/null.


Shifting to runlevel 5 by editing /etc/inittab -

Original /etc/inittab (first 4 lines only)

# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

# The default runlevel.

Modified /etc/inittab

# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

# The default runlevel.

This workaround didnt require editing rc.local.


Wednesday, September 06, 2006

Sun Java Studio Creator on Kubuntu amd64

On my dist (Kubuntu (debian based linux) 6.06 LTS x86_64), JSC quit installation process saying i didnt have compat-libstdc++ and compat-libstdc++-devel rpms installed... It then only installed JSC and reached the end of the installation process. But then, just for the heck of it, I downloaded Sun Java App Server PE 8 update 2. Amazingly, it installed without posing any difficulties!! I was unable to resolve the error (no rpms) coz i have a debian based dist and was unable to find out what libstdc++ it was compiled against, or what exactly is the function of compat-libstdc++ besides providing the compatibility, or how can it be simulated.

I have ubuntu x86 (32 bit edition) installed in my college's lab and there everything worked as a breeze i.e. the compelete JSC alongwith the server was installed without any issues at all...
So what i thought was: I change my installtion's (amd64) config files to match those of x86 installation. Unfotunately, I was unable to locate which config file can make the difference. If any one has any ideas, then **please** share them. Until then, I am deploying the war archive again and again for testing.

BTW I was unable to install Oracle 9ir2 on amd64/x86, so i have switched to latest MySQL with their latest (5.0.3) connectorJ drivers. They work on x86/amd64 installation.