the_pirate_bay 0.0.3 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|