Torrent Field
| Project: | BitTorrent |
| Version: | 6.x-9.x-dev |
| Component: | Code |
| Category: | task |
| Priority: | normal |
| Assigned: | overall |
| Status: | closed |
(sorry for my english)
I've implement ability to upload torrents as a CCK field. TorrentField module depends on FileField and CCK.
It's not fully tested now. But works. View integration not implemented now.
This module is replacement for "bt_torrent". "bt_torrent" must be not installed.
Needed manuall changes (some of them may be optional...):
For install "bt_tracker" module you need to modify "bt_tracker.info" by commenting (or delete) next line: "dependencies[] = bt_torrent" and optionally (or not optionally) insert this: "dependencies[] = torrentfield".
Change "bt_torrents_files" table "nid" primary key to index (manually). (imho it's needed not only in my module, but also in "bt_torrent").
"nid" field in "bt_torrents" and "bt_torrents_files" tables actually contain "fid" (File Id ("files" table)) values now.
In future I'll suppose to rename this field to "fid".
I'll post updates here...
| Attachment | Size |
|---|---|
| torrentfield.zip | 19.68 KB |

#1
Awesome feature! I will run through the code tonight and take a look at it. In the future instead of submitting a zip, submit a patch instead. For more information please see http://drupal.org/patch.
#2
Ok. It is a whole module in the zip and I suppose this would be a better way to submit it independently of existend code. Next time I will submit a patch.
I will sumbit better version of module soon (without useless stuff).
#3
You can add complete modules with a patch :). See the adding / deleting files portion at http://drupal.org/patch/create
#4
new submodule ("torrentfield") (with some new changes) as a patch
#5
You do not need to zip the .patch file, just upload it here....
#6
I'm a co-maintainer of BitTorrent.
A new official version of the module.
== Code (without DB struct change) ==
[POSTPONED]multi announce support ( like at http://thepiratebay.org/ ), i.e. "bt_override_announce_url" may contain array of tiers of announce urls
[POSTPONED]"min interval" option - "bt_announce_min_interval"
[DONE]Bug: Ability to override/append our announce url using "announce-list"
[DONE]Fature: Patch (override with our announce url) torrent-file at the moment of its download (but not at moment of its upload)
[DONE]Bug: when a new tracker added to active torrent in the client (uTorrent 1.8.2). Client doesn't send 'started' event...
[DONE]Bug: announce.php - Check if there are two peers (distinct IP) downloading with the same passkey: "SELECT DISTINCT COUNT(btau.ip) FROM ..." -> "SELECT COUNT(DISTINCT btau.ip) FROM ..."
[DONE]Bug: announce.php - Check if there are two peers (distinct IP) downloading with the same passkey: do not set passkey status (bt_message exits from script) - swap "db_query(...);" and "bt_message(..., BITTORRENT_MESSAGE_ERROR);"
[DONE]Bug: announce.php - Check if there are two peers (distinct IP) downloading with the same passkey: to many bugs - rewritten
[DONE]Bug: unknown user_load() in announce.php ( see http://drupal.org/node/413464 )
[DONE]Port: Validation of uploading torrent-file ( see "bt_torrent_widget_upload_validators" )
== database structure changes ==
[REJECTED]store "peer_id" and "info_hash" values as is, i.e. do not use bin2hex(), if it's possible
[POSTPONED]set "bt_tracker_active_users.ip" type to "varchar(32)" // store as byte-string in hex format ("FFFFFFFF"), not "XXX.XXX.XXX.XXX" // + IPV6 Support
[NEED_INFO]define "primary key" for "bt_tracker_active_users" [peer_id, peer_key, info_hash]
[NEED_INFO]remove field "announce_url" from "bt_torrents"
[NEED_INFO]add index "unique key" for "bt_torrents" ["info_hash"]
[DONE]set "bt_tracker_users.passkey" type to "char(40)"
[DONE]set "bt_torrents.info_hash", "bt_tracker_active_users.info_hash" type to "char(40)" (from "varchar(255)")
[DONE]set "bt_tracker_active_users.peer_id" type to "char(40)"
[DONE]set "bt_tracker_active_users.peer_key" type to "varchar(255)"
[DONE]rename "bt_tracker_active_users" to "bt_tracker_connections"
[DONE]add field "upload_speed" and "download_speed" to "bt_tracker_active_users"
[DONE]add field "total_size" to "bt_torrents" //TODO: maybe remove it in future...
[DONE]add field "last_seed" to "bt_torrents"
[DONE]rename field "nid" to "fid" in "bt_torrents" (actually not simple renamed in case of updating from previous version)
[DONE]rename field "nid" to "fid" in "bt_torrents_files" (actually not simple renamed in case of updating from previous version)
[DONE]add index "unique key" for "bt_tracker_users" [passkey]
[DONE]delete index "primary key" for "bt_torrents_files" [nid]
[DONE]add index "index" ("fid_index") in "bt_torrents_files" [fid]
== interface ==
[Torrent]
[DONE] File List [path, filename, size]
[DONE] Seeding last time
#7
I'm confused here.
Is there a working or configurable bittorrent module yet?
I can't for the life of me figure out how to get this thing displaying a list of available torrents, or statistics on those torrents, yet all kinds of progress is obviously being made.
Did I miss something???
Help!!!
#8
(sorry for my english)
Yes. There is a working & configurable bittorrent module.
But work is still in progress.
A list of available torrents - for the last module version - it is just a list of existent content nodes which have a Torren field attached.
You can add Torrent field to any content type.
Statistics on torrents is not displayed yet on Torrent field. (But you can try to display it by View...)
For more info see README.txt
#9
Is this changes already committed in CVS?
I`m talk about this post: http://drupal.org/node/441488#comment-1590822
#10
Yes. This changes are commited to HEAD now.
#11
great "overall"
thx for your post ,
finally , i could use this "bittorrent" module to track a public *.torrent file and download file normally . Although i still don't know why the "drupal.org/project/bittorrent" could not work as it mention.
however, when i set the "Tracker Scope" to "private" in page "admin/bt/tracker" , this module fail me again ,
could you be so kind to tell me how to configure to make the private mode work?
by the way , i have to use view to look for a user's passkey , is there something wrong?
#12
#13
subscribe
#14
Try to use this one.
#15
New version (from 2009 may 27)
#16
hi "overall"
your new update bittorrent.zip seems to have some bugs.
i test this new attachment with a new installation of drupal with modules "cck, views, filefield , admin_menu , panel" only
i made a torrent file with bittorrent6.1.2 ,
with the same configuration of the previous "bittorrent.zip" you uploaded on "#6", using "public scrope"
after i uploaded the torrent file , error shows up:
user warning: Column count doesn't match value count at row 1 query: INSERT INTO bt_torrents(fid, info_hash, announce_url, total_size) VALUES (1, '7c5cc1a26004fc7d0ee5f66321c68481d1cdc708', 'a:1:{i:0;s:43:\"http://blog.bojistudio.org/bt2/announce.php\";}', '31432112', 0) in C:\root\bt2\sites\all\modules\bittorrent\bt_torrent\bt_torrent_file.inc on line 41.
and i wait 30 minutes , but the connection could not build , which i means that file could not be downloaded .
then i try "bittorrent.zip" you uploaded on "#6" again , it don't have the bug above.
i want to see if someone meet the same error as i meet , and i will try the module again
#17
I see the error.
I'll fix it now.
#18
Fixed:
#19
I have to notice that there are some hook_update_N() and you have to start "update.php" if you updating from prev version. Also do not forget backup your DB before any updates.
#20
"#18 bittorrent.zip"
hello "overall" , this time i set "Tracker Scope"=="public" , then everything goes fine and even better than "#6 bittorrent.zip" ,
the connection between the server and a few download machines builded in a second while the "#6 bittorrent.zip" would have to wait for at least several minutes ,
i don't know if it is something connection but i design to reported here.
anyway , i think bittorrent module work very good while "Tracker Scope"=="public".
however
while "Tracker Scope"=="private".
i could not get a passkey. so , of course , the module crash in "private" motion again.
"#6 bittorrent.zip" , i could general or get the passkey using "views module:::Tracker Users--passkey".
but using the same method , i couldn't get the passkey using "#18 bittorrent.zip"
by the way , is it an ugly idea to force the user to get his or her passkey accessing views modules , why not just make the passkey as a tag in user profile page?
and this time , no error messages showed up.
my envirument is windows 2003 R2 + apache2.2.11+php5.26+mysql5.077 +drupal6.12
#21
What do you mean by saying "crash"? Does it not work or what?
At my installation I can get a passkey by a view: "admin/build/views/add" -> "Tracker Users" -> "Fields (+)" -> "BitTorrent - Tracker Users: Passkey".
Try to describe your problem more precisely.
You say like "make the passkey as a tag in user profile" is much more simplier than "get his or her passkey accessing views". I think that it is not.
If you have a solution, please provide it here.
Ability to show passkey to users on his profile is on plan.
#22
overall :"At my installation I can get a passkey by a view: "admin/build/views/add" -> "Tracker Users" -> "Fields (+)" -> "BitTorrent - Tracker Users: Passkey"."
byt in my installation with "#18 bittorren.zip" , i could not get a passkey by a view as yours
but with the same way with "#6 bittorren.zip" installed , i could !
may be there is something wrong with my installation , i will try "#18 bittorren.zip" again with a fully new drupal the day after tomorrow and reply here .
#23
overall:
follow your instruction metioned in "#21"
At my installation I can't get a passkey by a view: "admin/build/views/add" -> "Tracker Users" -> "Fields (+)" -> "BitTorrent - Tracker Users: Passkey".
Try to describe your problem more precisely.
i can't get a passkey using "#18 bittorrent" by views
my views query is :
SELECT bt_tracker_users.uid AS uid,bt_tracker_users.passkey AS bt_tracker_users_passkey
FROM bt_tracker_users bt_tracker_users
but the result is empty.
so i check phpmyadmin for table bt_tracker_user , which i found is empty.
but by using ""#6 bittorren.zip" , bt_tracker_user table do have some values inside.
when using ""#18 bittorrent" , i just set the default "public" to "private" mode and change nothing , am i missing something need to config?
new installation with drupal6.12+CCK+views+admin_menu+bittorrent
by the way : while "public" mode, ratio setting seems not to work , and should set 20 or 20% , but both of them not working , and making file could not be download
and while i access "http://blog.bojistudio.org/bt3/announce.php" , it return following error:
Fatal error: Call to undefined function bt_error() in C:\root\bt3\sites\all\modules\bittorrent\includes\announce_core.php on line 65#24
New version is coming soon, with some new features, so I can't fix this issues for your current version. Actually I can, but it simplier to correct this on your local computer.
Sorry, I forgot to rename "bt_error" function calls in "announce_core.php". You have just to rename "bt_error_message" to "bt_error" in "bt_common.inc", just find and replace it. It will fix "bt_error" issue.
"Ratio" currently is not supported for not private mode. It's issue and it will be fixed.
About empty "bt_tracker_user" table, I'll test it and answer you later.
#25
Also I have found an error in "bt_error_message" function itself.
replace
<?php$respone = array(array('failure reason' => $msg));
?>
<?php$respone = array('failure reason' => $msg);
?>
#26
Also replace "download torrents" with "download torrent" in "announce_core.php".
#27
haojiang:
To solve empty "bt_tracker_user" table problem please provide following info:
- when you download a torrent-file, is it downloaded sucessfully?
- is passkey exists in announce URL of downloaded torrent-file?
#28
Also you have to set "download torrent" permission on admin/user/permissions for roles which must can download torrent-files and operate with tracker.
#29
yes
of course no , because i must use at least one passkey to make my private .bittorrent before upload to drupal , if the bt_tracker_user is empty , how could i even get one sigle passkey?
yes , i double check it .
i am very happy that there will be a new version , hope that private mode will function normally then
#30
Is your own announce URL ("http://blog.bojistudio.org/bt3/announce.php") in downloaded torrent-file exists (without passkey attached to it)?
I don't understand. How you trying to use passkey? You should not manually retrive passkeys and attach them to announce URLs. This is done automatically at the moment of torrent-file download.
Also I should say that record (with new generated passkey) (if it not exists) added to "bt_tracker_users" table at the moment of torrent-file download.
#31
oh , thx a greal deal , overall
i used to think that when i create a private *.torrent file , i should fill in the announce url with syntext like "http://blog.bojistudio.org/bt3/announce.php?passkey=XXXaaa333" and then check private mode.
this broken idea was from one of the issues of project/bittorrent , and it is same with a BT site which i used to goto , so i thought it should just be so.
but i still tested "http://blog.bojistudio.org/bt3/announce.php" too when creating private *.torrent file, it failed while the time that i was still testing "#6 bittorrent".
cut it short , i really want a double confirm from you :
do i create a private *.torrent with just a clean url "http://blog.bojistudio.org/bt3/announce.php", which is the same one with the public mode?
at the same time , i am testing again , thx again
#32
Yes.
But you have to set "Override Announce URL" option (at admin/bt/torrent) to "Override" or "Append" (depending of what you need) and "New Announce URL" to "http://blog.bojistudio.org/bt3/announce.php".
#33
test again and again , still fail.
i try "Override" or "Append" both , and created a new drupal again,
my bittorrent-download-agent show the following information:
[DHT]:not allow[Local peer discovery]:not allowed
[peer exchange]:not allowed
tracker :http://blog.bojistudio.org/bt3/announce.php :"tracker send out invalid(null) data" , "no seed , no user "
and the mysql table "bt_tracker_users" is still empty.
it makes no sense , as you know that when i tested "#6 bittorrent.zip" again today , the mysql table "bt_tracker_users" of "#6 bittorrent.zip" is not empty.
#34
test again and again , still fail.
i try "Override" or "Append" both , and created a new drupal again,
my bittorrent-download-agent show the following information:
[DHT]:not allow[Local peer discovery]:not allowed
[peer exchange]:not allowed
tracker :http://blog.bojistudio.org/bt3/announce.php :"tracker send out invalid(null) data" , "no seed , no user "
and the mysql table "bt_tracker_users" is still empty.
it makes no sense , as you know that when i tested "#6 bittorrent.zip" again today , the mysql table "bt_tracker_users" of "#6 bittorrent.zip" is not empty.
#35
Module version from #18 with changes from #24, #25, #26
Drupal 6.10 (New clear installation)
Installed modules: BitTorrent, BT Tracker, Content, Content Copy, FileField, Number, Option Widgets, Text, DHTML Menu, Views, Views UI
[ admin/bt/torrent ]
Override Announce URL: Override
New Announce URL: (appropriate value) (ex: "http://bittorrent-test/announce.php")
[ admin/bt/tracker ]
Tracker Scope: Private
Content type:
<?php$content[type] = array (
'name' => 'Torrent',
'type' => 'torrent',
'description' => '',
'title_label' => 'Title',
'body_label' => 'Body',
'min_word_count' => '0',
'help' => '',
'node_options' =>
array (
'status' => true,
'promote' => true,
'sticky' => false,
'revision' => false,
),
'old_type' => 'torrent',
'orig_type' => '',
'module' => 'node',
'custom' => '1',
'modified' => '1',
'locked' => '0',
'comment' => '2',
'comment_default_mode' => '4',
'comment_default_order' => '1',
'comment_default_per_page' => '50',
'comment_controls' => '3',
'comment_anonymous' => 0,
'comment_subject_field' => '1',
'comment_preview' => '1',
'comment_form_location' => '0',
);
$content[fields] = array (
0 =>
array (
'label' => 'Torrent File',
'field_name' => 'field_torrent_file',
'type' => 'filefield',
'widget_type' => 'torrentfield_widget',
'change' => 'Change basic information',
'weight' => '1',
'file_extensions' => 'torrent',
'file_path' => '',
'max_filesize_per_file' => '',
'max_filesize_per_node' => '',
'description' => '',
'default_value' =>
array (
0 =>
array (
'fid' => 0,
'list' => false,
'data' =>
array (
),
'filepath' => '',
'filename' => '',
'filemime' => '',
'filesize' => 0,
'upload' => '',
'upload_btn' => 'Upload',
),
),
'default_value_php' => '',
'default_value_widget' => NULL,
'required' => 0,
'multiple' => '0',
'list_default' => '1',
'force_list_default' => '0',
'show_description' => '1',
'op' => 'Save field settings',
'module' => 'filefield',
'widget_module' => 'bt_torrent',
'columns' =>
array (
'fid' =>
array (
'type' => 'int',
'not null' => false,
),
'list' =>
array (
'type' => 'int',
'size' => 'tiny',
'not null' => false,
),
'data' =>
array (
'type' => 'text',
'serialize' => true,
),
),
'display_settings' =>
array (
'weight' => '1',
'parent' => '',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'torrent_content',
'exclude' => 0,
),
'full' =>
array (
'format' => 'torrent_content',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
);
$content[extra] = array (
'title' => '-5',
'body_field' => '0',
'menu' => '-2',
);
?>
[ node/add/torrent ]
Title: Torrent 1
Body: Torrent 1 description
Description: Torrent 1 File description
New Upload: (select torrent-file without our announce URL inside it (attached to this post))
[Upload], [Save]
"bt_tracker_users" is currently empty.
click to "Download the Torrent" link.
"bt_tracker_users" has one row: 1 cefb6d56ce800c84b7eaf4cc176f91546b1744b9 0 0 1
Downloaded torrent-file succesfully begun to uploading in BitTorrent client (uTorrent 1.8.2).
[ admin/user/user/create ]
Created an user.
[ admin/user/permissions ]
Gave to "authenticated user" "download torrent" permission.
Open other browser. (admin in Opera, second user in FireFox)
Below are actions for the other browser.
Login with new account.
[ node/1 ]
click to "Download the Torrent" link.
"bt_tracker_users" has two rows:
1 cefb6d56ce800c84b7eaf4cc176f91546b1744b9 0 0 1
3 cea4964dface1a86ea6373e57ba2f126fc74c428 0 0 1
Downloaded torrent-file succesfully opened with BitTorrent client and then client say that torrent-file with same info_hash already exists and ask to add trackers (announce URLs) from opened torrent-file. I agreed.
So finally I have one torrent-file with 3 announce URLs:
1 - http://trax.samaralan.ru/announce.php - doesn't work and it's OK.
2 - http://bittorrent-test/announce.php?passkey=cefb6d56ce800c84b7eaf4cc176f...
3 - http://bittorrent-test/announce.php?passkey=cea4964dface1a86ea6373e57ba2...
2 and 3 both works fine.
"bt_tracker_connections":
3 2d5554313832302d7a38d0d980a49166b0c1c409 4242374330434135 127.0.0.1 26573 8f67db6d47b74322e3e3f160b04b2d7ecd020720 0 0 0 0 0 1244662165
"bt_torrents_files":
1 29973 Nikolaidis.jpg
"bt_torrents":
1 8f67db6d47b74322e3e3f160b04b2d7ecd020720 a:1:{i:0;s:37:"http://trax.samaralan.ru/announce.php";} 29973 2 0 0 0 1244662165
So for me everything works fine.
Try this step by step and write a result here...
#36
i will test it this saturday, thx for your patient
#37
i forgot to metion , this module always have a tinny problem.
look at the picture in the attachment , please.
i mentioned it at another issue as a bug while this module is still at alpha stage, but seems the new beta version is still with this problem.
by the way , project/panels will have this problem if i set "my.ini"--mysql
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"but , i could fixed it with the following change in my.ini
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"once i though it was the same problem with project/panels, but now seems not.
and one of the maintainer of "project/bittorrent" said that he may comment out a name of a function somewhere.
#38
table "bt_tracker_users" finally have the same result as yours
but with "Override Announce URL: Override" , i don't think there is a "http://blog.bojistudio.org/bt4/announce.php", so , my Bittorrent client have only two announce URLs:
1 - http://blog.bojistudio.org/bt4/announce.php?passkey=3933d3c7b45c46e71bab...
2 - http://blog.bojistudio.org/bt4/announce.php?passkey=3fbd6b67f799f82fe636...
as i wanted to have a same test result as yours, i added an announce URL "http://blog.bojistudio.org/bt4/announce.php" manually , so finally my Bittorrent client have three announce URLs
1 - http://blog.bojistudio.org/bt4/announce.php
2 - http://blog.bojistudio.org/bt4/announce.php?passkey=3933d3c7b45c46e71bab...
3 - http://blog.bojistudio.org/bt4/announce.php?passkey=3fbd6b67f799f82fe636...
but still , i could not successfully download a file , please look at the attachment
#39
"Empty module name" problem.
This problem fixed in the new release (which currently is not posted yet, but is coming soon).
Actually this is bt_upload module, which is not ported to D6. It was named with empty name and empty description to "mark" it as not usable.
So, I gave it a proper name and it will be displayed as not supporting D6.
#40
Currently primary problem: Tracker is working but you can not to download a file.
Do you have any seeds from which you can download a file?
The users which have this file ("...Dark.Knight.2008.jpg") and seeding it (aka seeders) must already exists.
And you will download this file from them (in case if they are exists).
Secondary problems:
DHT, LPD, PE - is not allowed because you have set "private" option for your bittorrent-file.
I don't understand how you could obtain such results...
Do you add http://blog.bojistudio.org/bt4/announce.php?passkey=3933d3c7b45c46e71bab... and http://blog.bojistudio.org/bt4/announce.php?passkey=3fbd6b67f799f82fe636... manually to torrent-file when you make it with your client?
Passkey - is a password of a user which have downloaded a torrent-file, so bittorrent-file can not contain more than one announce URL with passkey for the same tracker, by design....
#41
finally done , but please be patient to read the following stuff:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
i did exactly what you said on #35 .
after upload a *.torrent file , i used user "admin" to login and downloaded that *.torrent on another machine, so , while this moment , only one tracker exist: http://blog.bojistudio.org/bt4/announce.php?passkey=3fbd6b67f799f82fe636...
then , i logout "admin" and login with another user "test" , and downloaded that *.torrent on the same machine , so my bittorrent client ask me to add tracker , i agreed and then i have two tracker:http://blog.bojistudio.org/bt4/announce.php?passkey=3933d3c7b45c46e71bab... and http://blog.bojistudio.org/bt4/announce.php?passkey=3fbd6b67f799f82fe636...
actually , i did just add http://blog.bojistudio.org/bt4/announce.php manually , because i saw yours on #35 , i just wanted them to appear exactly as yours.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
please see the attachment 1, it show how i make a *.torrent file
then i upload this *.torrent to drupal and wait for a minutes , then attachment 2 shows up on machine which i made this *.torrent . and you could see there is no seeds , it makes no sense! because this is actually the first seed.
i don't think Tracker is working by making *.torrent using just "http://blog.bojistudio.org/bt4/announce.php " as announce.php.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
i just add an announce url "http://blog.bojistudio.org/bt4/announce.php?passkey=3fbd6b67f799f82fe636f492eae6babed3f37b32" to the *.torrent i made.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
summary , using private mode , one should
1.create a *.torrent file using announce url in pattern like "http://blog.bojistudio.org/bt4/announce.php?passkey=3fbd6b67f799f82fe636f492eae6babed3f37b32"
2.you get passkey using views
3.the bittorrent module code should make a little change as what overall said in #24-26.
finally , i upload my bittorrent.rar here
thx , overall , the module seems just work all right with content type torrent , i will do some deeplp test and feed back to you
#42
come accross another problem
using the same method , i created another test using annouce url "http://blog.bojistudio.org/bt4/announce.php?passkey=3fbd6b67f799f82fe636f492eae6babed3f37b32"
but while download , it said that "passkey is already in use by another peer....." , but my first success test file is still downloading with this passkey.
what's the problem ?
i check "build/views" to see the passkey of this user , passkey is not the one i am using !!!
confusing , what's passkey stands for?
#43
by the way , is this module support IPV6 ,
in China , education net now require most school must support IPV6
#44
Sorry, it's my fault. You are completly right about "more than one announce URL with passkey for the same tracker". I just forgot that I mentioned in my step-by-step instructions.
So, becase module automatically set announce URLs in torrent file, you can following next instructions:
0. Apply changes mentioned in #24-26 to the module (or user RAR from #41).
1. Create a *.torrent file using announce url like "http://blog.bojistudio.org/bt4/announce.php" (without "passkey") and do not set "Start seeding" option.
2. Open just created (or edited) node and download just uploaded torrent-file (because it will downloaded not exactly same which it was uploaded, but with proper announce URLs, now with "passkey").
"passkey is already in use by another peer..." problem.
Each passkey should be used on only one computer (IP) and from only one BitTorrent client. So if tracker get (at moment of announcing) that the same passkey is used on several different computers (IP) or with several different "peer_key"s (several different clients) for security reasons (for case of passkey steal) tracker stop announcing and show this error.
May be there is a bug, but may be not. Please check that each passkey used only on one computer and on only one BitTorrent client. If it is, I'll try to find the bug.
"IPV6 support"
Currently is not supported, but is on todo list.
#45
thx overall
is it possible to show/generay the passkey or better the announce Url in drupal before a user create a *.torrent ? what's the difference between the passkey of the announce Url and the passkey of show by the views?
i could not wait for the IPV6 support , tell me what could i do to help with this function, i would like to help thought not really good at php.
and i will test the rest steps tomorrow.
#46
Yes. It's possible, but not currently implemented because AFAIK there is no need in this functionality, because passkey of the user is only used by BitTorrent client, when this user downloading a release, in order to download a release by BitTorrent client, user must first download a torrent-file, and at the moment of torrent-file download passkey is generated. So everything is OK.
They are same.
I have free time now, so I can try to implement IPv6 support, so I would like to ask you to help with testing when I'll done it.
Will you can help with testing IPv6 support?
#47
my pressure
#48
I don't understand... Can you or not?
#49
i mean yes
#50
Okey.
#51
New version available!
[BitTorrent Profile (bt_profile)]
Add BitTorrent specific extra fields to Content Profile nodes
User's now seeding torrent list (loaded by AHAH)
User's now leeching torrent list (loaded by AHAH)
Passkey (only for owner or admin)
Use views to display user torrents lists (Own torrents, Seeding torrents, Leeching torrents)
Allow admin to select views to use to display torrents lists
Allow admin to select "Content profile node type name" to embed extra BitTorrent specific fields
Define styles for torrents lists
Use images instead of textual titles for torrents lists
Draw icons to use for torrents lists
Define default views to use for torrents lists (Seeding torrents, Leeching torrents)
Also contain many other features, improvements and bug fixes for existing modules.
P.S. currently doesn't support IPv6. It's in progress.
#52
overall, is there anything keeping you from committing your changes to cvs as you go instead of this issue?
#53
Good suggestion...
#54
Because of my poor english, I don't fully understand your question... Reformulate it please.
I commit my changes to CVS and to this issue also.
#55
Ok I see the commits but there are no development snapshots....maybe is what he means.
#56
New version (support IPv6 (need some testing...)).
Do not forget to use http://drupal.org/files/issues/views_php_extension.zip
Do not forget to run update.php before use. (Also prevent announces from clients during update to this version).
P.S.
2 mitchell:
http://drupal.org/node/467820#comment-1685330
#57
Where do you put the files in views_php_extension.zip?
#58
views_php_extension is ordinary module, so put it into you modules folder.
#59
Thank-you, fantastic work!
#60
gumdrop, thanks )
#61
oh no , i just found out that apache did not support ipv6 in windows envirument unless i compile it myself, and i don't know how to compile this complex software.
seems that i have to install windows 2008+IIS7+Aplication-request-routing+php+mysql to do this test
may be i will be forced to use linux later if this doesn't work
#62
luckly,i found out a apache2.2.11 version which support IPV6 in windows
links here , if anybody need to test in windows: http://www.apachelounge.com/viewtopic.php?p=13398
this apache-ipv6 problem suffer me a few days , and just fixed tonight
so , i'll test ipv6-release tomorrow , thx your working ,overall
#63
haojiang, thanks for the link
New version:
- Show the current user IP on profile page (only for owner of the profile). IP taken from $_SERVER['REMOTE_ADDR'].
#64
overall :
"#56 bittorrent.zip " doesn't work even in public mode , so i didn't do a further test on private mode and IPV6
here is the test detail:
1.new installation as i previous did (actually , i copy the whole site source of #41 drupal ,which i had already successfully tested in private mode, and then delete "setting.php" and reinstall a totally new site for test )
2.add a cck_field field call "test" to "story type" , and make a *.torrent and upload
3.using "public mode" :: tracker::"http://blog.bojistudio.org/bt5/announce.php"
4.error show in my bittorrent client : tracker sending invalid data
firstly i guess maybe i have to copy "#35 content type", so do the above test again:
but after upload a *.bittorrent , node page show up error:
user warning: Unknown column 'btc.fid' in 'where clause' query: SELECT btc.uid, btc.peer_id, btc.bytes_uploaded, btc.bytes_downloaded, btc.bytes_left, btc.upload_speed, btc.download_speed, u.name FROM bt_tracker_connections btc LEFT JOIN users u ON (btc.uid = u.uid) WHERE btc.fid = 4 in C:\root\bt5\sites\all\modules\bittorrent\bt_torrent\bt_torrent.module on line 565.
and my bittorrent client show the same "tracker sending invalid data".
and then i test "#41 bittorrent" website again for contrast , of course "#41 bittorrent" goes all right ,
see the attachment for detail please
#65
by the way , should the new version use the patch you metioned in "#24-26"?
i remember that before using "#24-26" , the previous version show the same error in private mode though not in public mode.
#66
This is my error, I forgot to change this field in schema definition.
These patches already applied to new version.
I'll fix this error now and will post a fixed version soon.
#67
Fixed version.
#68
Futher official updates will be posted as releases on main project page.
If you will find a bug, please create separate issue.
#69
tracker working but no seed
http://drupal.org/node/501944
#70
Automatically closed -- issue fixed for 2 weeks with no activity.