For a learning experience (I'm learning java at uni and we have a squid proxy at work) I am creating a external acl in java for squid. It will check to see if a user has a list of websites that they are allowed to access that other users are not. For example a manager may want to be able to access websites that are usually blocked. I have everything in place accept for actually capturing the information that squid sends to the program. which is the username and the domain they are trying to access.
I haven't worked with squid, but I think it's pretty unlikely that you would get its data by reading System.in, which is generally used for capturing what a user types at a keyboard. Now if squid is producing its output to standard out ... it would normally show up as text in a console window ... then you could pipe that output into your Java program, and then it would be available from System.in. I just have my doubts that's how squid works. It's more likely that you connect to it via a network socket or something like that. Maybe there's even a Java API. You should check the squid user manual and see if it accepts client requests.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com