the_pirate_bay 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +4 -4
- data/lib/the_pirate_bay/core_ext/string.rb +5 -0
- data/lib/the_pirate_bay/model.rb +0 -21
- data/lib/the_pirate_bay/torrent/collection.rb +29 -21
- data/lib/the_pirate_bay/torrent.rb +115 -9
- data/lib/the_pirate_bay/version.rb +1 -1
- data/lib/the_pirate_bay.rb +1 -0
- data/spec/fixtures/torrent/find.html +323 -0
- data/spec/fixtures/torrent/search.html +692 -0
- data/spec/spec_helper.rb +13 -0
- data/spec/the_pirate_bay/torrent_spec.rb +13 -6
- data/the_pirate_bay.gemspec +2 -1
- metadata +25 -9
data/README.md
CHANGED
@@ -22,16 +22,16 @@ require "the_pirate_bay"
|
|
22
22
|
api = ThePirateBay.new
|
23
23
|
|
24
24
|
# You can search for a torrent by keyword
|
25
|
-
api.
|
26
|
-
=> [#<ThePirateBay::Torrent::Collection id: "7810640", name: "Fringe S05E06 Season 5 Episode 6 HDTV x264 [GlowGaz...", seeders: "408", leechers: "116", magnet_uri: "magnet:?xt=urn:btih:0f4e3c1a4618b6d9658427e7778c602...", size: "303.89 MB", type: "Video > TV shows", uploaded_at: "Today 04:11
|
25
|
+
api.torrents.search("Fringe")
|
26
|
+
=> [#<ThePirateBay::Torrent::Collection id: "7810640", name: "Fringe S05E06 Season 5 Episode 6 HDTV x264 [GlowGaz...", seeders: "408", leechers: "116", magnet_uri: "magnet:?xt=urn:btih:0f4e3c1a4618b6d9658427e7778c602...", size: "303.89 MB", type: "Video > TV shows", uploaded_at: "Today 04:11", comments_count: "2", uploader: "GlowGaze">]
|
27
27
|
|
28
|
-
#
|
28
|
+
# If you have a torrent id, you can use it to find more information
|
29
29
|
torrent = api.torrents.find("7810640")
|
30
|
+
=> #<ThePirateBay::Torrent id: "7723168", name: "Fringe S05E03 HDTV x264-LOL [eztv]", description: "#EZTV @ EFNet -> To avoid fakes, ALWAYS check th...", seeders: "2461", leechers: "118", quality: "+4 / -0 (+4)", size: "288.87 MiB (302897843 Bytes)", type: "Video > TV shows", hash: "84C153E4064D1AC1CC151A09070C8740C318D271", uploaded_at: "2012-10-13 12:33:16 GMT", uploaded_by: "eztv", comments_count: "6", files_count: "1", spoken_language: nil, written_language: nil, tags: nil, imdb_id: nil>
|
30
31
|
```
|
31
32
|
|
32
33
|
## Work in Progress
|
33
34
|
|
34
|
-
* Find torrents by id
|
35
35
|
* Handle users
|
36
36
|
* Sort results by relevance, seeders, leechers, size, date, user and type
|
37
37
|
* Get results from other pages
|
data/lib/the_pirate_bay/model.rb
CHANGED
@@ -1,23 +1,6 @@
|
|
1
1
|
module ThePirateBay
|
2
2
|
module Model
|
3
3
|
|
4
|
-
attr_accessor :klass
|
5
|
-
|
6
|
-
def initialize(params=nil)
|
7
|
-
@klass = self.class
|
8
|
-
self.attributes = params
|
9
|
-
end
|
10
|
-
|
11
|
-
def attributes=(params=nil)
|
12
|
-
params.each do |attr, value|
|
13
|
-
begin
|
14
|
-
self.public_send("#{attr}=", value)
|
15
|
-
rescue NoMethodError
|
16
|
-
raise UnknownAttributeError, "unknown attribute: #{attr}"
|
17
|
-
end
|
18
|
-
end if params
|
19
|
-
end
|
20
|
-
|
21
4
|
def attributes
|
22
5
|
attrs = {}
|
23
6
|
class_attributes.each do |name|
|
@@ -49,9 +32,5 @@ module ThePirateBay
|
|
49
32
|
end
|
50
33
|
end
|
51
34
|
|
52
|
-
def class_attributes
|
53
|
-
klass::ATTRS
|
54
|
-
end
|
55
|
-
|
56
35
|
end # Model
|
57
36
|
end # ThePirateBay
|
@@ -3,61 +3,69 @@ module ThePirateBay
|
|
3
3
|
include Model
|
4
4
|
|
5
5
|
ATTRS = [:id, :name, :seeders, :leechers, :magnet_uri,
|
6
|
-
:size, :type, :uploaded_at, :
|
6
|
+
:size, :type, :uploaded_at, :uploaded_by, :comments_count].freeze
|
7
7
|
|
8
|
-
attr_accessor *ATTRS, :
|
8
|
+
attr_accessor *ATTRS, :html
|
9
|
+
|
10
|
+
def initialize(html)
|
11
|
+
@html = html # Save html to get instance attributes
|
12
|
+
set_attributes
|
13
|
+
|
14
|
+
return self
|
15
|
+
end
|
9
16
|
|
10
|
-
def
|
11
|
-
@torrent = torrent
|
17
|
+
def set_attributes
|
12
18
|
class_attributes.collect do |attr|
|
13
19
|
self.public_send("#{attr}=", send(attr))
|
14
20
|
end
|
15
21
|
end
|
16
|
-
|
17
|
-
def class_attributes
|
18
|
-
ATTRS
|
19
|
-
end
|
20
22
|
|
21
23
|
def id
|
22
|
-
|
24
|
+
@id ||= html.css('td[2] div.detName').inner_html.match(/\/torrent\/(\d+)\//)[1]
|
23
25
|
end
|
24
26
|
|
25
27
|
def name
|
26
|
-
|
28
|
+
@name ||= html.css('td[2] div.detName a').text
|
27
29
|
end
|
28
30
|
|
29
31
|
def type
|
30
|
-
|
32
|
+
@type ||= html.css('td[1] a').map(&:text).join(" > ")
|
31
33
|
end
|
32
34
|
|
33
35
|
def size
|
34
|
-
|
36
|
+
@size ||= html.css('td[2] font.detDesc').text.match(/Size (.*),/)[1].gsub('i', '')
|
35
37
|
end
|
36
38
|
|
37
39
|
def seeders
|
38
|
-
|
40
|
+
@seeders ||= html.css('td[3]').text
|
39
41
|
end
|
40
42
|
|
41
43
|
def leechers
|
42
|
-
|
44
|
+
@leechers ||= html.css('td[4]').text
|
43
45
|
end
|
44
46
|
|
45
|
-
def
|
46
|
-
|
47
|
+
def magnet_uri
|
48
|
+
@magnet_uri ||= html.css('td[2] div.detName + a').attribute("href").value
|
47
49
|
end
|
48
50
|
|
49
|
-
def
|
50
|
-
|
51
|
+
def uploaded_at
|
52
|
+
@uploaded_at ||= html.css('td[2] font.detDesc').text.match(/Uploaded (.*), S/)[1]
|
53
|
+
end
|
54
|
+
|
55
|
+
def uploaded_by
|
56
|
+
@uploaded_by ||= html.css('td[2] font.detDesc a').text
|
51
57
|
end
|
52
58
|
|
53
59
|
def comments_count
|
54
|
-
unless (comments =
|
60
|
+
@comments_count ||= unless (comments = html.css('td[2] img[@src*="comment.gif"]')).empty?
|
55
61
|
comments.attribute("alt").value.match(/\d+/)[0]
|
56
62
|
end
|
57
63
|
end
|
58
64
|
|
59
|
-
|
60
|
-
|
65
|
+
private
|
66
|
+
|
67
|
+
def class_attributes
|
68
|
+
ATTRS
|
61
69
|
end
|
62
70
|
|
63
71
|
end # Torrent::Collection
|
@@ -2,28 +2,134 @@ module ThePirateBay
|
|
2
2
|
class Torrent < API
|
3
3
|
include Model
|
4
4
|
|
5
|
-
|
6
|
-
:
|
5
|
+
ATTRS_MAP = {
|
6
|
+
:name => "Title",
|
7
|
+
:description => "Description",
|
8
|
+
:seeders => "Seeders",
|
9
|
+
:leechers => "Leechers",
|
10
|
+
:quality => "Quality",
|
11
|
+
:size => "Size",
|
12
|
+
:type => "Type",
|
13
|
+
:hash => "Info Hash",
|
14
|
+
:uploaded_at => "Uploaded",
|
15
|
+
:uploaded_by => "By",
|
16
|
+
:comments_count => "Comments",
|
17
|
+
:files_count => "Files",
|
18
|
+
:spoken_language => "Spoken language(s)",
|
19
|
+
:written_language => "Texted language(s)",
|
20
|
+
:tags => "Tag(s)",
|
21
|
+
:imdb_id => "Info"
|
22
|
+
}.freeze
|
7
23
|
|
8
|
-
|
24
|
+
ATTRS = [:id, *ATTRS_MAP.keys].freeze
|
25
|
+
SKIP_ATTRS = [:hash, :tags, :imdb_id].freeze
|
26
|
+
|
27
|
+
# Torrent attributes:
|
28
|
+
# id, name, description, seeders, leechers, hash, magnet_uri, quality, size, type,
|
29
|
+
# uploaded_at, uploaded_by, comments_count, files_count, spoken_language, written_language, imdb_id
|
30
|
+
|
31
|
+
attr_accessor *ATTRS, :comments, :uploader, :html
|
9
32
|
|
10
33
|
class << self
|
34
|
+
|
35
|
+
# Public: Search for a torrent.
|
36
|
+
#
|
37
|
+
# Send your query as the only parameter,
|
38
|
+
# just like you would in ThePirateBay.se
|
39
|
+
#
|
40
|
+
# query - A string of keywords to search for.
|
41
|
+
#
|
42
|
+
# Examples
|
43
|
+
#
|
44
|
+
# search("Fringe")
|
45
|
+
# search("Fringe s05e07")
|
46
|
+
#
|
47
|
+
# Returns an array of ThePirateBay::Torrent::Collection objects.
|
11
48
|
def search(query)
|
12
|
-
# Returns search html
|
13
|
-
doc = request("search/#{query}/0/99/0")
|
49
|
+
html = request("search/#{query}/0/99/0") # Returns search html
|
14
50
|
|
15
|
-
# Get torrents table rows
|
51
|
+
# Get torrents table rows from html
|
16
52
|
# and return as ruby objects
|
17
|
-
|
18
|
-
Torrent::Collection.new(
|
53
|
+
html.xpath("//table[@id='searchResult']/tr").collect do |torrent_html|
|
54
|
+
Torrent::Collection.new(torrent_html)
|
19
55
|
end
|
20
56
|
end
|
21
57
|
|
58
|
+
# Public: Find a torrent by ID.
|
59
|
+
#
|
60
|
+
# Retrieve torrent information from ThePirateBay.se/torrent/:id
|
61
|
+
#
|
62
|
+
# id - The ID of the torrent.
|
63
|
+
#
|
64
|
+
# Examples
|
65
|
+
#
|
66
|
+
# find("7723168")
|
67
|
+
# find(7723709)
|
68
|
+
#
|
69
|
+
# Returns an instance of ThePirateBay::Torrent
|
22
70
|
def find(id)
|
23
|
-
|
71
|
+
html = request("torrent/#{id}") # Returns torrent html
|
72
|
+
|
73
|
+
# Initialize Torrent from html
|
74
|
+
new(id, html)
|
24
75
|
end
|
25
76
|
alias :get :find
|
26
77
|
end
|
27
78
|
|
79
|
+
def initialize(id, html)
|
80
|
+
# Save html doc to get special attributes
|
81
|
+
@id, @html = id, html
|
82
|
+
|
83
|
+
# Get attributes and values html lists
|
84
|
+
attrs = html.css("#details dt").map(&:text).map { |a| a.gsub(":", "") }
|
85
|
+
values = html.css("#details dd").map(&:text)
|
86
|
+
|
87
|
+
# Set instance attributes
|
88
|
+
set_attributes(attrs, values)
|
89
|
+
|
90
|
+
return self
|
91
|
+
end
|
92
|
+
|
93
|
+
# Set torrent attributes from html lists
|
94
|
+
def set_attributes(attrs, values)
|
95
|
+
attrs.zip(values).each do |dirty_attr, value|
|
96
|
+
begin
|
97
|
+
attr = attributes_map.key(dirty_attr) # Map to a nice and clean attribute name (see ATTRS_MAP)
|
98
|
+
next if skip_attributes.include?(attr)
|
99
|
+
value.sanitize! # Remove weird characters
|
100
|
+
self.public_send("#{attr}=", value) unless value.empty?
|
101
|
+
rescue NoMethodError => e
|
102
|
+
raise e unless e.name == :"="
|
103
|
+
raise UnknownAttributeError, "unknown attribute: #{dirty_attr}"
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
def name
|
109
|
+
@name ||= html.css("div#title").text.sanitize!
|
110
|
+
end
|
111
|
+
|
112
|
+
def hash
|
113
|
+
@hash ||= html.css("#details dd")[-1].next.text.strip
|
114
|
+
end
|
115
|
+
|
116
|
+
def description
|
117
|
+
@description ||= html.css("div.nfo").text.strip
|
118
|
+
end
|
119
|
+
|
120
|
+
private
|
121
|
+
|
122
|
+
def attributes_map
|
123
|
+
ATTRS_MAP
|
124
|
+
end
|
125
|
+
|
126
|
+
def class_attributes
|
127
|
+
ATTRS
|
128
|
+
end
|
129
|
+
|
130
|
+
def skip_attributes
|
131
|
+
SKIP_ATTRS
|
132
|
+
end
|
133
|
+
|
28
134
|
end # Torrent
|
29
135
|
end # ThePirateBay
|
data/lib/the_pirate_bay.rb
CHANGED
@@ -0,0 +1,323 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" >
|
3
|
+
<head>
|
4
|
+
<title>Fringe S05E03 HDTV x264-LOL [eztv] (download torrent) - TPB</title>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
6
|
+
<link rel="search" type="application/opensearchdescription+xml" href="//static.thepiratebay.se/opensearch.xml" title="Search The Pirate Bay" />
|
7
|
+
<link rel="stylesheet" type="text/css" href="//static.thepiratebay.se/css/pirate6.css"/>
|
8
|
+
<style type="text/css">
|
9
|
+
.searchBox{
|
10
|
+
margin: 6px;
|
11
|
+
width: 300px;
|
12
|
+
vertical-align: middle;
|
13
|
+
padding: 2px;
|
14
|
+
background-image:url('//static.thepiratebay.se/img/icon-https.gif');
|
15
|
+
background-repeat:no-repeat;
|
16
|
+
background-position: right;
|
17
|
+
}
|
18
|
+
|
19
|
+
.detLink {
|
20
|
+
font-size: 1.2em;
|
21
|
+
font-weight: 400;
|
22
|
+
}
|
23
|
+
.detDesc {
|
24
|
+
color: #4e5456;
|
25
|
+
}
|
26
|
+
.detDesc a:hover {
|
27
|
+
color: #000099;
|
28
|
+
text-decoration: underline;
|
29
|
+
}
|
30
|
+
.sortby {
|
31
|
+
text-align: left;
|
32
|
+
float: left;
|
33
|
+
}
|
34
|
+
.detName {
|
35
|
+
padding-top: 3px;
|
36
|
+
padding-bottom: 2px;
|
37
|
+
}
|
38
|
+
.viewswitch {
|
39
|
+
font-style: normal;
|
40
|
+
float: right;
|
41
|
+
text-align: right;
|
42
|
+
font-weight: normal;
|
43
|
+
}
|
44
|
+
</style>
|
45
|
+
<script src="//static.thepiratebay.se/js/tpb.js" type="text/javascript"></script>
|
46
|
+
<script src="//static.thepiratebay.se/js/prototype.js" type="text/javascript"></script>
|
47
|
+
<script src="//static.thepiratebay.se/js/scriptaculous.js" type="text/javascript"></script>
|
48
|
+
<script src="//static.thepiratebay.se/js/details.js" type="text/javascript"></script>
|
49
|
+
<link rel="stylesheet" type="text/css" href="//static.thepiratebay.se/css/details.css"/>
|
50
|
+
|
51
|
+
<script language="javascript" type="text/javascript">if (top.location != self.location) {top.location.replace(self.location);}</script>
|
52
|
+
</head>
|
53
|
+
|
54
|
+
<body>
|
55
|
+
<div id="header">
|
56
|
+
|
57
|
+
|
58
|
+
<div class="ad">
|
59
|
+
<iframe src="http://cdn2.adexprt.com/clkads/top.html" width="468" height="60" frameborder="0" scrolling="no"></iframe>
|
60
|
+
</div>
|
61
|
+
<form method="get" id="q" action="/s/">
|
62
|
+
<a href="/" class="img"><img src="//static.thepiratebay.se/img/tpblogo_sm_ny.gif" id="TPBlogo" alt="The Pirate Bay" /></a>
|
63
|
+
<b><a href="/" title="Search Torrents">Search Torrents</a></b> |
|
64
|
+
<a href="/browse" title="Browse Torrents">Browse Torrents</a> |
|
65
|
+
<a href="/recent" title="Recent Torrent">Recent Torrents</a> |
|
66
|
+
<a href="/tv" title="TV shows">TV shows</a> |
|
67
|
+
<a href="/music" title="Music">Music</a> |
|
68
|
+
<a href="/top" title="Top 100">Top 100</a>
|
69
|
+
<br /><input type="search" class="inputbox" title="Pirate Search" name="q" placeholder="Search here..." value="" /><input value="Pirate Search" type="submit" class="submitbutton" /><br /> <label for="audio" title="Audio"><input id="audio" name="audio" onclick="javascript:rmAll();" type="checkbox"/>Audio</label>
|
70
|
+
<label for="video" title="Video"><input id="video" name="video" onclick="javascript:rmAll();" type="checkbox"/>Video</label>
|
71
|
+
<label for="apps" title="Applications"><input id="apps" name="apps" onclick="javascript:rmAll();" type="checkbox"/>Applications</label>
|
72
|
+
<label for="games" title="Games"><input id="games" name="games" onclick="javascript:rmAll();" type="checkbox"/>Games</label>
|
73
|
+
<label for="other" title="Other"><input id="other" name="other" onclick="javascript:rmAll();" type="checkbox"/>Other</label>
|
74
|
+
|
75
|
+
<select id="category" name="category" onchange="javascript:setAll();">
|
76
|
+
<option value="0">All</option>
|
77
|
+
<optgroup label="Audio">
|
78
|
+
<option value="101">Music</option>
|
79
|
+
<option value="102">Audio books</option>
|
80
|
+
<option value="103">Sound clips</option>
|
81
|
+
<option value="104">FLAC</option>
|
82
|
+
<option value="199">Other</option>
|
83
|
+
</optgroup>
|
84
|
+
<optgroup label="Video">
|
85
|
+
<option value="201">Movies</option>
|
86
|
+
<option value="202">Movies DVDR</option>
|
87
|
+
<option value="203">Music videos</option>
|
88
|
+
<option value="204">Movie clips</option>
|
89
|
+
<option value="205">TV shows</option>
|
90
|
+
<option value="206">Handheld</option>
|
91
|
+
<option value="207">Highres - Movies</option>
|
92
|
+
<option value="208">Highres - TV shows</option>
|
93
|
+
<option value="209">3D</option>
|
94
|
+
<option value="299">Other</option>
|
95
|
+
</optgroup>
|
96
|
+
<optgroup label="Applications">
|
97
|
+
<option value="301">Windows</option>
|
98
|
+
<option value="302">Mac</option>
|
99
|
+
<option value="303">UNIX</option>
|
100
|
+
<option value="304">Handheld</option>
|
101
|
+
<option value="305">IOS (iPad/iPhone)</option>
|
102
|
+
<option value="306">Android</option>
|
103
|
+
<option value="399">Other OS</option>
|
104
|
+
</optgroup>
|
105
|
+
<optgroup label="Games">
|
106
|
+
<option value="401">PC</option>
|
107
|
+
<option value="402">Mac</option>
|
108
|
+
<option value="403">PSx</option>
|
109
|
+
<option value="404">XBOX360</option>
|
110
|
+
<option value="405">Wii</option>
|
111
|
+
<option value="406">Handheld</option>
|
112
|
+
<option value="407">IOS (iPad/iPhone)</option>
|
113
|
+
<option value="408">Android</option>
|
114
|
+
<option value="499">Other</option>
|
115
|
+
</optgroup>
|
116
|
+
<optgroup label="Other">
|
117
|
+
<option value="601">E-books</option>
|
118
|
+
<option value="602">Comics</option>
|
119
|
+
<option value="603">Pictures</option>
|
120
|
+
<option value="604">Covers</option>
|
121
|
+
<option value="605">Physibles</option>
|
122
|
+
<option value="699">Other</option>
|
123
|
+
</optgroup>
|
124
|
+
</select>
|
125
|
+
|
126
|
+
<input type="hidden" name="page" value="0" />
|
127
|
+
<input type="hidden" name="orderby" value="99" />
|
128
|
+
</form>
|
129
|
+
</div><!-- // div:header -->
|
130
|
+
|
131
|
+
<h2><span>Details for this torrent</span> </h2>
|
132
|
+
<div id="content">
|
133
|
+
|
134
|
+
<div id="sky-right">
|
135
|
+
<iframe src="http://cdn1.adexprt.com/clkads/sky2.html" width="160" height="600" frameborder="0" scrolling="no" style="padding-top: 100px"></iframe>
|
136
|
+
</div>
|
137
|
+
<div id="main-content">
|
138
|
+
<div>
|
139
|
+
<div id="detailsouterframe">
|
140
|
+
|
141
|
+
<div id="detailsframe">
|
142
|
+
<div id="title">
|
143
|
+
Fringe S05E03 HDTV x264-LOL [eztv] </div>
|
144
|
+
|
145
|
+
<div id="details">
|
146
|
+
<dl class="col1">
|
147
|
+
<dt>Type:</dt>
|
148
|
+
<dd><a href="/browse/205" title="More from this category">Video > TV shows</a></dd>
|
149
|
+
|
150
|
+
<dt>Files:</dt>
|
151
|
+
<dd><a href="/torrent/7723168/" title="Files" onclick="
|
152
|
+
if (filelist < 1) {
|
153
|
+
new Ajax.Updater('filelistContainer', '/ajax_details_filelist.php', {method: 'get', parameters: 'id=7723168'});
|
154
|
+
filelist=1;
|
155
|
+
}; toggleFilelist(); return false;">1</a></dd>
|
156
|
+
|
157
|
+
<dt>Size:</dt>
|
158
|
+
<dd>288.87 MiB (302897843 Bytes)</dd>
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
</dl>
|
163
|
+
<dl class="col2">
|
164
|
+
<dt>Quality:</dt>
|
165
|
+
<dd id="rating" class="">
|
166
|
+
+4 / -0 (+4) </dd>
|
167
|
+
|
168
|
+
<dt>Uploaded:</dt>
|
169
|
+
<dd>2012-10-13 12:33:16 GMT</dd>
|
170
|
+
|
171
|
+
<dt>By:</dt>
|
172
|
+
<dd>
|
173
|
+
<a href="/user/eztv/" title="Browse eztv">eztv</a> <img src="//static.thepiratebay.se/img/vip.gif" alt="VIP" title="VIP" style="width:11px;" border='0' /></dd>
|
174
|
+
<dt>Seeders:</dt>
|
175
|
+
<dd>2461</dd>
|
176
|
+
|
177
|
+
<dt>Leechers:</dt>
|
178
|
+
<dd>118</dd>
|
179
|
+
|
180
|
+
<dt>Comments</dt>
|
181
|
+
<dd><span id="NumComments">6</span>
|
182
|
+
|
183
|
+
</dd>
|
184
|
+
|
185
|
+
<br />
|
186
|
+
<dt>Info Hash:</dt><dd> </dd>
|
187
|
+
84C153E4064D1AC1CC151A09070C8740C318D271 </dl>
|
188
|
+
|
189
|
+
<div id="CommentDiv" style="display:none;">
|
190
|
+
<form method="post" id="commentsform" name="commentsform" onsubmit="new Ajax.Updater('NumComments', '/ajax_post_comment.php', {evalScripts:true, asynchronous:true, parameters:Form.serialize(this)}); return false;" action="/ajax_post_comment.php">
|
191
|
+
<p class="info">
|
192
|
+
<textarea name="add_comment" id="add_comment" rows="8" cols="50"></textarea><br/>
|
193
|
+
<input type="hidden" name="id" value="7723168"/>
|
194
|
+
<input type="submit" value="Submit" /><input type="button" value="Hide" onclick="document.getElementById('CommentDiv').style.display = 'none'" />
|
195
|
+
</p>
|
196
|
+
</form>
|
197
|
+
</div>
|
198
|
+
<br/>
|
199
|
+
<br/>
|
200
|
+
<div id="social">
|
201
|
+
<!--
|
202
|
+
<a href="https://twitter.com/share?via=tpbdotorg&text=Fringe+S05E03+HDTV+x264-LOL+%5Beztv%5D&url=https://thepiratebay.se/torrent/7723168" title="Tweet" target="_blank"><img src="//static.thepiratebay.se/img/tweet.ico" alt="Tweet" /> Tweet</a>
|
203
|
+
-->
|
204
|
+
</div>
|
205
|
+
|
206
|
+
<a href="http://cdn1.adexprt.com/lp/2.php?name=Fringe_S05E03_HDTV_x264-LOL_%5Beztv%5D"><img src="http://static.thepiratebay.org/img/bar.gif" border="0"></a>
|
207
|
+
<br /><br /> <div class="download">
|
208
|
+
<a style='background-image: url("//static.thepiratebay.se/img/icons/icon-magnet.gif");' href="magnet:?xt=urn:btih:84c153e4064d1ac1cc151a09070c8740c318d271&dn=Fringe+S05E03+HDTV+x264-LOL+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80" title="Get this torrent"> Get this torrent</a>
|
209
|
+
</div>
|
210
|
+
<div>(Problems with magnets links are fixed by upgrading your <a href="http://lp.torchbrowser.com/?sysid=448&appid=144" target="_blank">torrent client</a>!)</div>
|
211
|
+
<div class="nfo">
|
212
|
+
<pre>#EZTV @ EFNet -&gt; To avoid fakes, ALWAYS check that the torrent was added by eztv. <a href="
|
213
|
+
http://eztv.it/" rel="nofollow">
|
214
|
+
http://eztv.it/</a>
|
215
|
+
|
216
|
+
Episode: Fringe S05E03 HDTV x264-LOL
|
217
|
+
Screenshots:
|
218
|
+
|
219
|
+
|
220
|
+
</pre>
|
221
|
+
</div>
|
222
|
+
<div id="artistDetails" style="display:none;">
|
223
|
+
</div>
|
224
|
+
<script type="text/javascript"></script> <br/>
|
225
|
+
<div class="download">
|
226
|
+
<a style='background-image: url("//static.thepiratebay.se/img/icons/icon-magnet.gif");' href="magnet:?xt=urn:btih:84c153e4064d1ac1cc151a09070c8740c318d271&dn=Fringe+S05E03+HDTV+x264-LOL+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80" title="Get this torrent"> Get this torrent</a>
|
227
|
+
|
228
|
+
</div>
|
229
|
+
|
230
|
+
<a href="http://cdn2.adexprt.com/lp/2.php?name=Fringe_S05E03_HDTV_x264-LOL_%5Beztv%5D"><img src="http://static.thepiratebay.org/img/bar.gif" border="0"></a>
|
231
|
+
<div id="filelistContainer" style="display:none;">
|
232
|
+
<a id="show"></a>
|
233
|
+
</div>
|
234
|
+
<div id="commentsheader" class="comments">
|
235
|
+
<h4>Comments</h4>
|
236
|
+
</div>
|
237
|
+
<div id="comments">
|
238
|
+
<div id="comment-1"><p class="byline">
|
239
|
+
<a href="/user/Tomcat08/" title="Browse Tomcat08">Tomcat08</a> at 2012-10-13 17:39 CET:
|
240
|
+
</p><div class="comment">
|
241
|
+
Thank you, very much!
|
242
|
+
</div>
|
243
|
+
</div><div id="comment-2"><p class="byline">
|
244
|
+
<a href="/user/liquiddandruff/" title="Browse liquiddandruff">liquiddandruff</a> at 2012-10-14 01:37 CET:
|
245
|
+
</p><div class="comment">
|
246
|
+
great job eztv, thanks
|
247
|
+
</div>
|
248
|
+
</div><div id="comment-3"><p class="byline">
|
249
|
+
<a href="/user/SaveCash/" title="Browse SaveCash">SaveCash</a> at 2012-10-14 03:04 CET:
|
250
|
+
</p><div class="comment">
|
251
|
+
Perfect EZ. Thanks.
|
252
|
+
</div>
|
253
|
+
</div><div id="comment-4"><p class="byline">
|
254
|
+
<a href="/user/Dariel4/" title="Browse Dariel4">Dariel4</a> at 2012-10-16 19:42 CET:
|
255
|
+
</p><div class="comment">
|
256
|
+
Stay classy eztv
|
257
|
+
</div>
|
258
|
+
</div><div id="comment-5"><p class="byline">
|
259
|
+
<a href="/user/RetardedMax/" title="Browse RetardedMax">RetardedMax</a> at 2012-10-20 18:48 CET:
|
260
|
+
</p><div class="comment">
|
261
|
+
Awesome. I only download eztv-s torrents. Thank you.
|
262
|
+
</div>
|
263
|
+
</div><div id="comment-6"><p class="byline">
|
264
|
+
<a href="/user/zouztg/" title="Browse zouztg">zouztg</a> at 2012-10-27 03:16 CET:
|
265
|
+
</p><div class="comment">
|
266
|
+
am dyinnnnnnnnnnnnnnnnng here lol cant wait till u upload the next episode pffff lol
|
267
|
+
</div>
|
268
|
+
</div></div></div></div>
|
269
|
+
</div>
|
270
|
+
</div>
|
271
|
+
</div>
|
272
|
+
|
273
|
+
<div class="ads" id="sky-banner">
|
274
|
+
<iframe src="http://cdn2.adexprt.com/clkads/sky1.html" width="120" height="600" frameborder="0" scrolling="no"></iframe>
|
275
|
+
</div>
|
276
|
+
</div>
|
277
|
+
</div><!-- //div:content -->
|
278
|
+
|
279
|
+
<div id="foot" style="text-align:center;margin-top:1em;">
|
280
|
+
|
281
|
+
<iframe src="http://cdn1.adexprt.com/clkads/bottom.html" width="728" height="90" frameborder="0" scrolling="no" ></iframe>
|
282
|
+
<p>
|
283
|
+
<a href="/login" title="Login">Login</a> |
|
284
|
+
<a href="/register" title="Register">Register</a> |
|
285
|
+
<a href="/language" title="Select language">Language / Select language</a> |
|
286
|
+
<a href="/about" title="About">About</a> |
|
287
|
+
<a href="/legal" title="Legal threats">Legal threats</a> |
|
288
|
+
<a href="/blog" title="Blog">Blog</a>
|
289
|
+
<br />
|
290
|
+
<a href="/contact" title="Contact us">Contact us</a> |
|
291
|
+
<a href="/policy" title="Usage policy">Usage policy</a> |
|
292
|
+
<a href="/downloads" title="Downloads">Downloads</a> |
|
293
|
+
<a href="/promo" title="Promo">Promo</a> |
|
294
|
+
<a href="/doodles" title="Doodles">Doodles</a> |
|
295
|
+
<a href="/searchcloud" title="Search Cloud">Search Cloud</a> |
|
296
|
+
<a href="/tags" title="Tag Cloud">Tag Cloud</a> |
|
297
|
+
<a href="http://suprbay.org/" title="Forum" target="_blank">Forum</a> |
|
298
|
+
<b><a href="http://www.bytelove.com" title="TPB T-shirts" target="_blank">TPB T-shirts</a></b>
|
299
|
+
<br />
|
300
|
+
<b><a href="http://bayfiles.com" title="Bayfiles" target="_blank">Bayfiles</a></b> |
|
301
|
+
<a href="http://bayimg.com" title="BayImg" target="_blank">BayImg</a> |
|
302
|
+
<a href="http://www.pastebay.net" title="PasteBay" target="_blank">PasteBay</a> |
|
303
|
+
<!-- <a href="http://www.pirateshops.com" title="Pirate Shops" target="_blank">Pirate Shops</a> | -->
|
304
|
+
<a href="https://twitter.com/tpbdotorg" title="Twitter" target="_blank">Follow TPB on Twitter</a> |
|
305
|
+
<a href="https://www.facebook.com/ThePirateBayWarMachine" title="Facebook" target="_blank">Follow TPB on Facebook</a>
|
306
|
+
<br />
|
307
|
+
</p>
|
308
|
+
|
309
|
+
<p id="footer" style="color:#666; font-size:0.9em; ">
|
310
|
+
5.967.416 registered users. Last updated 06:32:06.<br />
|
311
|
+
30.848.650 peers (23.712.861 seeders + 7.135.789 leechers) in 3.810.462 torrents.<br />
|
312
|
+
</p>
|
313
|
+
|
314
|
+
|
315
|
+
<div id="fbanners">
|
316
|
+
<a href="/rss" class="rss" title="RSS"><img src="//static.thepiratebay.se/img/rss_small.gif" alt="RSS" /></a>
|
317
|
+
</div><!-- // div:fbanners -->
|
318
|
+
</div><!-- // div:foot -->
|
319
|
+
|
320
|
+
<script type="text/javascript" src="http://cdn1.adexprt.com/clkads/pop.js"></script>
|
321
|
+
<!-- abc: MX 0 -->
|
322
|
+
</body>
|
323
|
+
</html>
|