only this section has been (sporadically) mirrored. all links will take you to david.weekly.org

<david.weekly.org> February 10 2001
code How To Access Napster When It's Blocked
 
  <d.w.o>
  about
  books
  code
  codecs
  mp3 book
  news
  poems
  projects
  updates
  writings
  video
  get my updates



page source

If you were blocked from using Napster because of the Metallica or Dr. Dre lawsuits find out how to get your access back.

updated 22nov00
rewritten 23oct00
If you have been blocked from using Napster by your ISP or your school, there are a number of ways to get back to sharing files again. However, there are a number of reasons why you might want not want to do this. Napster (and other such file-sharing applications) consume an enormous amount of bandwidth. By using such filesharing programs you may be preventing other students or users from doing important work on the network. Most networks that permit Napster traffic find that it consumes the majority of their traffic. By getting back onto a high-bandwidth sharing network after it's been banned, you're going to piss off your network administrators. It will be difficult to prevent it from being evident that you are using large amounts of bandwidth, regardless of your technique. And if you get caught, you could get in big trouble.

That said, the fastest way to get back online is to use Napigator if you're on a Windows box and Macigator if you're on a Mac. These will bypass the need to connect to the Napster meta-server (server.napster.com) and will allow you to connect to Napster servers not owned and operated by Napster, Inc. (Such servers are almost all running the excellent OpenNap open source server software.) This should get most people back in a hurry. (Thanks to Chris Lane for the Macigator info.)

You can also simply use another program to share files, like Scour Exchange or Gnutella. (Although Gnutella is not recommended if you're on a modem/dialup line!) I've devised another way to do it below that is pretty technically involved. You need to be a Linux administrator (or have a friend who is!) and has a box that is sitting on a high-speed network connection whose Napster access is not blocked. That is to say, if your Napster access is blocked, using a proxy on the same network isn't going to help you! The proxy just routes traffic on your behalf - if you can't get through on your network, it won't be able to either. So if you are such a tech buff and have such a box, the rest of this document is for you. The proxy should not sit on a dialup connection.



Okay, enough with the pleasantries. We're going to be setting up a SOCKS5 proxy specially configured to pass through Napster packets. The below technique has worked for a couple hundred people, but I haven't corresponded with folks much lately to see how things are getting on; consequently, I don't know how effective or ineffective the below configuration is with the existing version of Napster and the current state of the Napster network.

I only cover directions for configuring a Unix SOCKS proxy, but here's a list of SOCKS5 servers for Windows:

Please tell me what your experience has been with any of these or if I have left out any.

Here is a SOCKS server for the Mac.

How to Set Up A SOCKS Proxy With Unix

These instructions are for someone who wants to set up their Linux / Unix box as a proxy for friends at another institution who are blocked from using Napster:
  • obtain the software
    If you're running RedHat Linux, you can just go and download the SOCKS5 server RPM from RedHat. In the directory you've saved it in, type rpm -i socks5-1.0r11-1.i386.rpm and your proxy will be installed.

    If you're not running RedHat, you'll have to compile the source yourself, which really isn't too bad. You can get the source from NEC's Socks page. Once you've downloaded it, type ./configure --with-threads then make and then when that's done, log in as root and type make install. Congratulations! You've installed the proxy server!

  • configure the server
    Open up your favorite editor on /etc/socks5.conf (which is probably non-existant at this point). Paste in the following:
    auth - - u
    permit - u,c,p - 64.124.41.16 - 8875
    permit - u,c,p - 64.124.41.17 - 8875
    permit - u,c,p - 64.124.41.19 - 8875
    permit - u,c,p - 64.124.41.* - 7777
    permit - u,c,p - 64.124.41.* - 8888
    permit - - - - - 6699
    
    This configuration will allow connections to the Napster metaserver and to each of the known Napster servers (courtesy Markus) as well as allowing direct connections to another Napster client on port 6699.

  • run the server
    Now that you've got the server installed and configured SOCKS5, you need to start it up. Pick a random number between 1000 and 9000. That will be your port number. From now on when I type 1234, stick in this number, whatever you've chosen it to be.

    Now to see if all this works...

    To start your server in debug mode, type socks5 -s -d -b 1234. This will start the socks server on whatever port you've chosen. You'll see a lot of text start scrolling up the screen. Try starting up Napster on another computer and type in your server's IP address and port number as the proxy. If you can connect to the Napster network, and you see a bunch of messages scrolling on your server when you do things with Napster, then you're ready to roll.

    Type killall socks5 to stop the server. (Careful! don't do this on Solaris as it will kill all active processes! Just pickout the PIDs to kill and kill them. [thanks to Alex Tasker]) Try starting the server with socks5 -d -s -t -b 1234 , this should start the server on the given port in "threaded" mode. Your system or version of SOCKS5 may not support this. If it doesn't, the first message you should see should say Warning: Attempt to run server in threaded mode when threads were not a compile time option.

    If you did see this message, kill the server again with killall socks5 and start it with socks5 -p -b 1234 ; this will start socks5 as a preforking server, similar to what Apache does. The command returns immediately (you'll be back in your shell), but it will have started the server. Errors will go to your system error log, usually in /var/log/messages.

    If you did not see this error message, then your server is threaded! Hooray! It will run very efficiently. Kill the old server with killall socks5 and start the server for real with socks5 -t -b 1234 - your server should be up and running now! Error messages will go to your system error log.

  • tell your friends!
    Now you can tell your friends at campuses that are blocked. Tell them your IP address and port number and they'll be sure to thank you! If they do start using your machine in earnest, you might want to limit the number of people that you tell about your proxy. One option to restrict the number of people who use your proxy is to shut out unauthorized users. Let's say you wanted to let your friends at University FOO, which uses the 171.23. class B subnet, access the Napster network. You'd replace all of the second dashes (after u,c,p) with 171.23. (except for the very last line, the one with the string of dashes) -- anyone not coming from that subnet would be denied access to your proxy.

  • tell me
    If you have set up such a server and wou