From 2bd2f4f71ae41490704cdfd4a55a1dc14be7bb5d Mon Sep 17 00:00:00 2001 From: HDVinnie Date: Sat, 22 Aug 2020 15:48:57 -0400 Subject: [PATCH] update: announce controller - This stops announce from sending peers to the users client that are from the same user. - This does not stop a user from manually adding their other peer to the client to seed to themselves. --- app/Http/Controllers/AnnounceController.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/AnnounceController.php b/app/Http/Controllers/AnnounceController.php index b09993980..614e7e820 100644 --- a/app/Http/Controllers/AnnounceController.php +++ b/app/Http/Controllers/AnnounceController.php @@ -106,7 +106,7 @@ class AnnounceController extends Controller /** * Generate A Response For The Torrent Clent. */ - $rep_dict = $this->generateSuccessAnnounceResponse($queries, $torrent); + $rep_dict = $this->generateSuccessAnnounceResponse($queries, $torrent, $user); } catch (TrackerException $exception) { $rep_dict = $this->generateFailedAnnounceResponse($exception); } finally { @@ -414,10 +414,11 @@ class AnnounceController extends Controller /** * @param $queries * @param $torrent + * @param $user * * @return array */ - private function generateSuccessAnnounceResponse($queries, $torrent) + private function generateSuccessAnnounceResponse($queries, $torrent, $user) { // Build Response For Bittorrent Client $rep_dict = [ @@ -435,7 +436,7 @@ class AnnounceController extends Controller $limit = (int) ($queries['numwant'] <= 50 ? $queries['numwant'] : 50); // Get Torrents Peers - $peers = Peer::where('torrent_id', '=', $torrent->id)->take($limit)->get()->toArray(); + $peers = Peer::where('torrent_id', '=', $torrent->id)->where('user_id', '!=', $user->id)->take($limit)->get()->toArray(); $rep_dict['peers'] = $this->givePeers($peers, $queries['compact'], $queries['no_peer_id'], FILTER_FLAG_IPV4); $rep_dict['peers6'] = $this->givePeers($peers, $queries['compact'], $queries['no_peer_id'], FILTER_FLAG_IPV6);