It’s easy to set up the squid proxy cache as an anonymous proxy. Whenever you surf through the proxy, it will drop the HTTP headers that identify you, so the only thing that shows up at the HTTP server you’re browsing to is the IP of the machine where squid resides. Just check out /etc/squid/squid.conf, it describes which lines to add in order to remove all the header information.

Being more anonymous is great, but it’s not really much use to me, for two reasons: the proxy IP *is* my IP, so I haven’t hidden that; and if you browse anonymously, forget about all the advantages of being identified – i.e., using cookies. You simply won’t be able to browse any site that requires cookies. Cest la vie.

One apache installation can easily host multiple domains using a couple different VirtualHost directives. Basically, a standard HTTP request includes the requested domain name, and Apache uses that to determine which pages to serve up.

From what I understand, SSL-encrypted sites are a wee bit trickier, because HTTPS requests are encrypted and the requested domain name isn’t available. So all you have to go by is the IP address…. and the port. So that’s the trick – you have to use a different port for each SSL-encrypted domain name you want to support.

Steps to make Apache listen for SSL requests for different domains on 443 and 8080:

  • Add “Listen 443” and “Listen 8080” directives at the top of your apache configuration.
  • Add a “VirtualHost myfirstsite.com:443” block for the first site, and a “VirtualHost mysecondsite.com:8080” for the second.
  • Make sure your firewall allows incoming traffic on both ports.

    See? Easy. :> And since your website will typically redirect traffic to SSL pages (as opposed to expecting users to type them in), hopefully using a non-default port won’t be a problem.

  • To get from Fedora Core 2 to Fedora Core 3, I basically followed these instructions to set up yum for an upgrade. Somehow, though, “yum upgrade” always returned “No Packages marked for Update/Obsoletion”. I ended up sticking with FC3 yum and “yum install …”‘ed my ass off. Also had to CPAN my butt off as well, for perl 5.8.5, and recompile apache. The only real trouble I had was something stomping on /etc/hosts and removing the entry for localhost – it was not fun figuring that out.

    As a result of the upgrade, I’ve got an updated one-step apache 1.3.33 compile script to post.

    Upwards and onwards!

    Every C++ developer should check out boost… following the boost jam build instructions that come with the source is fairly straight-forward…

    Using Visual C++ 6 SP6:

    …failed updating 24 targets…
    …skipped 48 targets…
    …updated 1052 targets…

    Using gcc 3.4.2:

    …updated 1041 targets…

    So gcc 3.4.2 had no problems, while VC++ 6 had some… unfortunately they were in the serialize classes, which were what I was after to use in code shared across platforms… time to switch up to VC .net 2003 or VC 2005… to be continued…

    Setting up secure access to a cvs repository from Windows works great using these two awesome tools:

  • Putty
  • TortoiseCVS

    The docs explain things pretty well. The only part that can snag is getting them working together through a proxy, which required replacement of Tortoise CVS’s no-terminal ssh connection utility (tortoiseplink.exe) with Putty’s version (plink.exe). Here are the steps:

  • Install putty and tortoise cvs
  • Set up your ssh keys, and configure pageant to serve up your private key, according to the docs (unless you’re willing to enter your linux user password a LOT)
  • Set up a putty session for plink as follows:
  • Connection: add your user to Auto-login username
  • Connection:Proxy set up your proxy
  • Connection:SSH check “don’t allocate a terminal” and “don’t run a command”
  • Name and save the session [e.g. yourplinksession]
  • Set up a plink.bat batch file: [plink.exe -load yourplinksession %1 %2 %3 %4]
  • Tortoise CVS preferences:Tools:SSH application set to plink.bat
  • Tortoise CVS preferences:Tools:SSH parameters set to [-l “%u” ]

    Fire it up!