Comments (22)
Solved
from unit3d-community-edition.
With the fix, If you pause and/or unpause the torrent you get the error: unexpected end of file in bencoded string
in the torrent client.
No errors in the laravel log.
from unit3d-community-edition.
With the fix, If you pause and/or unpause the torrent you get the error:
unexpected end of file in bencoded string
in the torrent client.No errors in the laravel log.
Seems unrelated, also very vague. It basically means that the tracker response wasn't bencoded or the bencode it returned wasn't valid. What response are you getting via curl?
from unit3d-community-edition.
Not quite sure how to use curl, but i removed all the bin2hex and hex2bin's from:
UNIT3D-Community-Edition/app/Http/Controllers/AnnounceController.php
Lines 384 to 406 in 9c64053
and
UNIT3D-Community-Edition/app/Http/Controllers/AnnounceController.php
Lines 293 to 294 in 9c64053
And the error goes away.
edit: aah i see, now it wont see you as seeding.
from unit3d-community-edition.
The info_hash query parameter is a 20-byte binary string that we originally stored as a 40-character string encoded as hex using ascii. For the announce queue to work, it converts $queries
to json to add it to the redis queue, and it will error if the 20-byte string includes characters invalid in json (only very few info hashes cause this), so that has to be either hex encoded or base64 encoded. In all other cases however, we keep it in the 20-byte format, as searching the torrents table by info_hash was using 50% of all of our database execution time, and that dropped down to 11% (if I remember correctly) once we reduced the size of the column in half. #2713 is valid, but I don't believe what you're currently experiencing is related to bin2hex/hex2bin.
from unit3d-community-edition.
Regarding curl, something like this should work:
curl "http://domain.tld/announce/[insert passkey here]?info_hash=z%8B%83%9Fx%C3%1D%E7%14%FF%F4%B2%40%27V%BB%05%A6~%0F&peer_id=01234567890123456789&port=1&uploaded=0&downloaded=0&left=0&event=started&numwant=50&compact=1"
with the info_hash containing the 20-byte percent encoded info_hash. It should return the bencoded string. You can edit the parameters to what you used before to cause the invalid bencoded error.
from unit3d-community-edition.
Should that be hex2bin? Since its returning the id? with hex2bin it returns nothing and without it returns the id.
from unit3d-community-edition.
It just has to be identical to the line 20 lines below it. One sets it, one gets it.
from unit3d-community-edition.
https://redis.io/commands/hset/
https://redis.io/commands/hget/
from unit3d-community-edition.
i see,
Here is the result from curl d8:completei1e10:incompletei0e8:intervali3640e12:min intervali3600e5:peers0:6:peers60:e
edit: But if i try to run it again, it returns nothing
Tried running it on 6.5.0 and it returns the same looking line. And when i try to run it again it returns with the announce cooldown message.
from unit3d-community-edition.
That first result is expected. You should always receive a response however, and that could be the result of that bencode error message. However, I'm unable to reproduce when repeating an announce a second time.
from unit3d-community-edition.
You were not able to reproduce?
very strange.
I also tried reinstalling and using a fresh db instead of a dump to see if that was the issue. but still have the same issue.
from unit3d-community-edition.
Hmm, strange. I was using a fresh db too. I'll have to give it another go in a little bit.
from unit3d-community-edition.
Think we managed to narrow it down to a rogue config setting. Can you give this a try: 45dbf08
from unit3d-community-edition.
I was already running predis. So this fix did not solve the issue, sadly.
I believe the issue is that the server is not sending more announce messages after the first one. When the announce runs out and you reannounce then you get an answer, but if you reannounce or stop/start again it's not sending anything.
from unit3d-community-edition.
Im not sure that's right as it is indeed encoded
UNIT3D-Community-Edition/app/Http/Controllers/AnnounceController.php
Lines 296 to 297 in 45dbf08
Im also not able to replicate this issue locally or on a prod site running 7.x.x
from unit3d-community-edition.
Im not sure that's right as it is indeed encoded
UNIT3D-Community-Edition/app/Http/Controllers/AnnounceController.php
Lines 296 to 297 in 45dbf08
Yes, i noticed i got a response now, just not the right one.
from unit3d-community-edition.
Its super wierd how it cant be replicated...
I've think ive gotten too the cause tho. Its not getting past the min lock check
from unit3d-community-edition.
// Lock Min Announce Interval.
/*if (config('announce.min_interval.enabled')) {
$this->checkMinInterval($torrent, $queries, $user);
}*/
If you comment it out does announce work for you?
from unit3d-community-edition.
// Lock Min Announce Interval. /*if (config('announce.min_interval.enabled')) { $this->checkMinInterval($torrent, $queries, $user); }*/
If you comment it out does announce work for you?
yes
from unit3d-community-edition.
Interesting. I think I have faced this before myself. Mind opening a new issue regarding checkMinInterval
?
from unit3d-community-edition.
from unit3d-community-edition.
Related Issues (20)
- [Request] Rate limit IP's at the login page HOT 1
- [Bug] Auto Uploading - Irc-bot.php Announce Problems when fast upload. HOT 2
- [Bug] Strips releasenames of . . . . and adds spaces HOT 3
- [Request] Mass email HOT 1
- [Bug] Livewire Bug on view:list on Torrent Search HOT 1
- [Bug] TMDB Background Poster breaking theme. HOT 2
- [Bug] Error 404 when no similiar torrents found HOT 1
- [Bug]Game Meta HOT 1
- [Request] buff missing from top torrents.... and a possible fix? HOT 3
- [Request] Allow Staff Notes on Reports
- [Bug] Advanced torrent search boxes are finiky.
- [Request] Set activation mail off on open signup HOT 1
- [Request] User Class Categories HOT 3
- Bookmarked HOT 6
- [Bug] - Migration error - stdClass::delete undefined
- Questions on Configuration HOT 1
- [Bug] Illegal port 1 - SOCKS5 Proxy HOT 7
- [Bug] Serialization of 'Closure' is not allowed HOT 9
- [Bug] Chat Refresh HOT 1
- [Request] Playlist Improvements
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unit3d-community-edition.