From 64f79bc573443e0fcceb05d2ec7f5396b8be1bfa Mon Sep 17 00:00:00 2001 From: xiaomlove Date: Mon, 30 May 2022 00:44:55 +0800 Subject: [PATCH] fix getConnectable ipv6 --- app/Repositories/TrackerRepository.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/Repositories/TrackerRepository.php b/app/Repositories/TrackerRepository.php index f83eadac..3b2ae95f 100644 --- a/app/Repositories/TrackerRepository.php +++ b/app/Repositories/TrackerRepository.php @@ -879,9 +879,13 @@ class TrackerRepository extends BaseRepository { $cacheKey = 'peers:connectable:'.$ip.'-'.$port.'-'.$agent; $log = "cacheKey: $cacheKey"; + $hostname = $ip; + if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) { + $hostname = '['.$ip.']'; + } $connectable = Cache::get($cacheKey); if ($connectable === null) { - $con = @fsockopen($ip, $port, $error_code, $error_message, 1); + $con = @fsockopen($hostname, $port, $error_code, $error_message, 1); if (is_resource($con)) { $connectable = Peer::CONNECTABLE_YES; fclose($con);