Mascarar ip no java - como fazer?

Ae,

Esou fazendo um programa que faz download de alguns arquivos. O problema é que o site as vezes bloqueia o meu ip por muitos downloads, teria como mascarar meu ip a cada conexao ?

valeu

Existe um software feito em java que faz downloads de arquivos de vários sites como megaupload, rapidshare e outros mais e gerencia a troca de ip da máquina também. Ele é o melhor software de downloads que já vi porque vc coloca os links e ele gerencia para vc tudo e ainda troca o ip quando é necessário.
Acho que deve ajudar, de uma olhada, ele é open source:

http://jdownloader.org/

Ae thiagow1,

eu ja tinha ouvido falar do jdowloader, baixei o .jar dele mas eu so muito burro e nem o codigo fonte consegui ver. Alguem sabe como ele faz para mascarar o ip ?

Fiz duas threads e cada uma se conecta ao mesmo site para baixar o arquivo, cada uma delas faz o url.openConnection() com um proxy diferente, mas nao deu certo.

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("201.48.212.166", 8080));
URL url = new URL("http://www.site.com/arquivo.rar");
URLConnection uc = url.openConnection(proxy);
BufferedInputStream is = new BufferedInputStream(uc.getInputStream());

a outra thread faz isso com outro proxy.

Resulta na seguinte excecao:

java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.http.HttpClient.privilegedOpenServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at downloadThread.sobe4Shared(downloadThread.java:35)
at downloadThread.run(downloadThread.java:22)

Como posso resolver ?