Jump to content

ISP blocking application/x-bittorrent and no incoming con.s


someusername

Recommended Posts

Hello,

Having some trouble with a couple of things.

I can not start torrents in a predictable way: for those torrents that I get started during peak traffic it works acceptable but slow. Then the ISP doesn't/can't keep up with checking 100% of all incoming packets' mime types but only a fraction of them. This means that if I request it many times one may work.

1) The ISP is blocking the mime type for bit torrent. This is the problem if I try to download a .torrent file over http in general. Also it shows up as an alert in uTorrent if the program tries to dl it: "connection was reset".

A fix that works: Creating an encrypted SOCKS proxy connection using Putty to a computer with another ISP (or a VPN connection) so that all traffic goes through that connection. The problem is that I don't have another computer running at another physical location that I have that much control over.

Another idea: Proxy only the downloading of the torrent file through a program which can alter the mime-type of the downloaded content, or by downloading it by proxy from a web service/app which I can host at my hosting provider.

Yet Another idea: since the problem with downloading stems from that the ISP checks every package for its mime type, maybe I could launch 100 threads -- each of which request the torrent. Then proxy utorrent through the program and let the program return whichever thread was successful.

Maybe header-encryption for utorrent would help here? Can the mime-type be spoofed? Any other ideas?

2) I get no incoming connections from torrents that have been started.

Circumstances: Clicking the yellow triangle gives the three-step window. (1) Speed checking; no problem with that. (2) Check port forwarding. This test fails even though the port forwarding works the way it's supposed. The page I come to doesn't give me any information about what it does when it "tests" so I can't really isolate the problem. (3) Enable encryption. That's enabled already.

Possible fix: I guess incoming connections can be done without the tracker, but I tried adding multiple trackers for the same torrent, which didn't work much better. There's still this orange warning triangle in the program.

About the rest:

In the router the port is forwarded to my computer and UPnP works according to the little nifty program that's somewhere on the net that checks off 8 different points to make sure UPnP works. The router (DIR-615) supports NAT. MS Firewall does disrupt some stuff even if utorrent.exe is let through but it works if I turn it off. Encryption is turned on; if I turn it off nothing works at all and I can't download anything even if I get through the mimetype scanning.

Please throw any possibilities and possible answers at me, or any source code I could try out...! :)

Btw: I don't need to hear that I should switch ISP. I can't.

Updated: Since eating and getting a normal blood glucose level I realized the post wasn't very legible.

Link to comment
Share on other sites

If you cannot download torrents it sounds like your respite would be to try out 1.8's ability for magnet: support.

That's given if I haven't missed any of your post.

Your only current options are to encrypt traffic and disallow legacy connections (Ctrl-P -> BitTorrent) in 1.7. 1.8 also includes methods around traffic shaping but if it's simply the load your ISP can't handle perhaps you can help them out by limiting your per torrent and global peers to something reasonable like 20 per torrent and 100 global?

Link to comment
Share on other sites

Hohoho and thx so far,

Where can I download 1.8.0? That sounds like one type of solution... What are these then? Registering the magnet: "protocol" on links?

I'm already encrypting and disallowing legacy connections.

The ISP has no trouble with the load what so ever. What I said was: "Then the ISP doesn't/can't keep up with checking 100% of all incoming packets' mime types but only a fraction of them." which means that the fraction of the packages that gets through, goes into the torrent list in the torrent program, but the rest fail because the µTorrent application tries to download the .torrent file as far as I understand.

Link to comment
Share on other sites

Sorry about that, 1.8 can be found in the announcements forum. :)

As far as magnet links... you can currently see them on mininova for example. Since 1.8 is beta I'm guessing not everyone knows it has implemented magnet: support HOWEVER it is only applicable to 1.8 peers. Therefore if the swarm is small it is unlikely you were able to connect to anyone with this feature :(

For the torrent sites you download torrents from, is there an "alternate download"? I know demonoid offered .txt downloads to bypass the x-bittorrent block it noticed some peers were having.

Ahh, my mistake. Sorry about that :) I don't know if specifically is a good idea to swamp the webserver hosting the torrents to bypass your ISPs dislike of them :/

If downloading through the web-browser doesn't work then yeah it would make sense for uT's Ctrl-U add to not work as well. Have you tried this through an RSS feed?

Link to comment
Share on other sites

Hi!

No problem! My message was indeed of some length and I have a habit of compressing important details into specific words...

- magnet -- that's a shame. I don't think the swarm is that small, but still, if only µTorrent 1.8b have support for them I figure it's not that widely spread support.

- alternate download -- demoniod is down it seems and I don't know any other place with alternative downloads.

- web server: no of course not hosting the torrents... but changing mime from there. I'll program a little something ... brb.

- rss feed? What do you mean? Could you explain further please?

Link to comment
Share on other sites

You can always try 1.8 on specific torrents as long as you follow http://utorrent.com/faq.php#Where_are_the_settings_and_.torrent_files_stored.3F by making uTorrent self-contained. Just download 1.8 somewhere separate or make a folder "1.8" stick utorrent-1.8-alpha-8912.upx.exe in there and make a new blank file called settings.dat

I mentioned demonoid because next to each torrent download it offered "txt download". No I don't know of any sites either with that alternate download.

I'm not sure how uT's RSS differs from the raw "pull URL from XX" which is what Ctrl-U does. That's why I suggested it because maybe the RSS downloader may not hit that block :/ You can access RSS from Ctrl-R :D

Link to comment
Share on other sites

This code solves my problems with getting the torrents:

get.aspx.cs

using System;
using System.IO;
using System.Net;
using System.Web;
using System.Web.UI;

public partial class _Default : Page
{
private WebRequest _Request;
private readonly int _DefaultTimeout = 30 * 1000; // 30 sec

protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.ContentType = "text/html";

string url = Request.QueryString["url"];

if (!string.IsNullOrEmpty(url))
AddOnPreRenderCompleteAsync(
new BeginEventHandler(StartRequest),
new EndEventHandler(EndRequest),
url
);
else
Response.Write("No url set.");
}

private IAsyncResult StartRequest(object sender, EventArgs e, AsyncCallback cb, object extraData)
{
_Request = WebRequest.Create((string)extraData);

return _Request.BeginGetResponse(cb, extraData);
}

private void EndRequest(IAsyncResult ar)
{
using (WebResponse response = _Request.EndGetResponse(ar))
{
byte[] fully = ReadFully(response.GetResponseStream());
Response.OutputStream.Write(fully, 0, fully.Length);
}
}

/// <summary>
/// Reads data from a stream until the end is reached. The
/// data is returned as a byte array. An IOException is
/// thrown if any of the underlying IO calls fail.
/// </summary>
/// <param name="stream">The stream to read data from</param>
public static byte[] ReadFully(Stream stream)
{
byte[] buffer = new byte[32768];
using (MemoryStream ms = new MemoryStream())
{
while (true)
{
int read = stream.Read(buffer, 0, buffer.Length);
if (read <= 0)
return ms.ToArray();
ms.Write(buffer, 0, read);
}
}
}
}

Fresh out of my head... :P

And put this in get.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="get.aspx.cs" Async="true" Inherits="_Default" %>

I just put it in on my web server :P.

Language: C# 2.0 in ASP.Net.

For more information about asynchronous web pages:

1. http://msdn.microsoft.com/msdnmag/issues/03/06/Threading/

2. http://msdn2.microsoft.com/en-us/magazine/cc163725.aspx

Get the torrent by:

1. Upload the two files .aspx and .aspx.cs onto your web server

2. Press CTRL+U in µTorrent, paste: "http://yourdomain.com/get.aspx?url=http://mytorrentplace.com/torrents/lalla.torrent" into the form field. It starts the download.

Now, onto the problem of no incoming connections! Can somebody help me here? Actually, the speed is excellent anyways, so I may not need help but it would be nice to make those pesky little icons green! :P

Link to comment
Share on other sites

That is some nifty .net code. :D Glad you solved your primary problem.

Onto the connections troubleshooting then. Some more information would be useful finding out the topology of your LAN... is it ISP -> modem -> router -> computers? If you have both a modem and a router what kind of make/model are they? Are they listed @ http://www.portforward.com/english/routers/port_forwarding/routerindex.htm ?

Edit: Wouldn't your stream fail on a torrent > 32KiB? Or did I misread that code.

Link to comment
Share on other sites

Hiya,

Idea:

Why not integrate something similar into µTorrent as what I just did? Put a checkbox under the form field in the dialog and a label for it: "If connection fails, get as text/html (does a connection to utorrent.com)" so that not everyone has to write this code...? It would be a very nice feature!

Code:

1. The buffer variable is just a buffer. The memory stream is where the content is saved, but 32 KiB is read per iteration.

Connections:

2. It's actually ISP-LAN -> router -> computer... But the port is correctly forwarded, I know that, because I have other ports forwarded as well and I can receive calls at local rates from my origin country over VOIP, and host a web server just to take a few examples... I didn't like that the ISP programs prodded my computer all the time, so I bought a router to put in between :P.

Edit: make of router in my first post.

Link to comment
Share on other sites

Indeed ;) Nevermind about the buffer then heh. The developers as I understand it try to keep uT as uncluttered as possible. All features integrated would be beneficial and useful to all users. Also given the relative ease for which you could code a work-around, it now provides a user-contributed resource on the forum to handle this problem in the event a concerned user searches the forum for the problem and is happy to see another user already made a work-around for it :D

Yeah http://www.portforward.com/english/routers/port_forwarding/Dlink/DIR-615/Utorrent.htm lists the settings which should work for you. Is it possible you're being redirected through transparent proxies for torrent connections, or for HTTP but not torrent connections? I would make sure your external IP is reporting the same for all three of http://www.canyouseeme.org and http://www.utorrent.com/testport.php?port=YOURPORTNUMBER and https://www.grc.com/x/portprobe=YOURPORTNUMBER to test open ports. As long as the router is forwarding the correct PORT to TCP (peers) and UDP (LPD DHT and multicast) there shouldn't be a problem. Have you verified you don't see the incoming connection icon on http://www.slackware.com/torrents/ ?

Link to comment
Share on other sites

Hi, I tested all 3 and the first one says isp not blocking port, second says no open port and 3rd says port 0. but when i test the port on utorrent it says its open. Im all confused

Sry for posting here, I wasnt sure about mulitple post on same topic.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...