downhash use dot instead of solid line

This commit is contained in:
xiaomlove
2024-12-24 01:10:48 +08:00
parent 2ca703c8df
commit d8ce2bd638
8 changed files with 15 additions and 12 deletions
+3 -3
View File
@@ -101,9 +101,9 @@ class Test extends Command
*/ */
public function handle() public function handle()
{ {
$torrent = Torrent::query()->find(12, ['info_hash']); $str = "1.abc.de";
$infoHash = $torrent->info_hash; $res = explode(".", $str, 2);
dd($infoHash === rawurldecode("%15%24%f3%e6%91e%f6%fbT%be%3f%b8%f3%f7_%f5%f6%aa%3fv")); dd($res);
} }
} }
@@ -56,6 +56,7 @@ class HitAndRunResource extends Resource
Tables\Columns\TextColumn::make('seedTimeRequired')->label(__('label.seed_time_required')), Tables\Columns\TextColumn::make('seedTimeRequired')->label(__('label.seed_time_required')),
Tables\Columns\TextColumn::make('inspectTimeLeft')->label(__('label.inspect_time_left')), Tables\Columns\TextColumn::make('inspectTimeLeft')->label(__('label.inspect_time_left')),
Tables\Columns\TextColumn::make('statusText')->label(__('label.status')), Tables\Columns\TextColumn::make('statusText')->label(__('label.status')),
Tables\Columns\TextColumn::make('created_at')->label(__('label.created_at')),
]) ])
->defaultSort('id', 'desc') ->defaultSort('id', 'desc')
->filters([ ->filters([
+5 -3
View File
@@ -132,10 +132,10 @@ class TorrentRepository extends BaseRepository
return $result; return $result;
} }
private function getDownloadUrl($id, array|User $user): string public function getDownloadUrl($id, array|User $user): string
{ {
return sprintf( return sprintf(
'%s/download.php?downhash=%s|%s', '%s/download.php?downhash=%s.%s',
getSchemeAndHttpHost(), is_array($user) ? $user['id'] : $user->id, $this->encryptDownHash($id, $user) getSchemeAndHttpHost(), is_array($user) ? $user['id'] : $user->id, $this->encryptDownHash($id, $user)
); );
} }
@@ -365,6 +365,7 @@ class TorrentRepository extends BaseRepository
private function getEncryptDownHashKey($user) private function getEncryptDownHashKey($user)
{ {
$passkey = "";
if ($user instanceof User && $user->passkey) { if ($user instanceof User && $user->passkey) {
$passkey = $user->passkey; $passkey = $user->passkey;
} elseif (is_array($user) && !empty($user['passkey'])) { } elseif (is_array($user) && !empty($user['passkey'])) {
@@ -372,7 +373,8 @@ class TorrentRepository extends BaseRepository
} elseif (is_scalar($user)) { } elseif (is_scalar($user)) {
$user = User::query()->findOrFail(intval($user), ['id', 'passkey']); $user = User::query()->findOrFail(intval($user), ['id', 'passkey']);
$passkey = $user->passkey; $passkey = $user->passkey;
} else { }
if (empty($passkey)) {
throw new \InvalidArgumentException("Invalid user: " . json_encode($user)); throw new \InvalidArgumentException("Invalid user: " . json_encode($user));
} }
//down hash is relative to user passkey //down hash is relative to user passkey
+1 -1
View File
@@ -247,7 +247,7 @@ JS;
} }
// ------------- end claim block ------------------// // ------------- end claim block ------------------//
tr($lang_details['torrent_dl_url'],sprintf('<a title="%s" href="%s/download.php?downhash=%s|%s">%s</a>',$lang_details['torrent_dl_url_notice'], getSchemeAndHttpHost(), $CURUSER['id'], $torrentRep->encryptDownHash($row['id'], $CURUSER), $lang_details['torrent_dl_url_text']),1); tr($lang_details['torrent_dl_url'],sprintf('<a title="%s" href="%s">%s</a>',$lang_details['torrent_dl_url_notice'], $torrentRep->getDownloadUrl($id, $CURUSER), $lang_details['torrent_dl_url_text']),1);
// ---------------- start subtitle block -------------------// // ---------------- start subtitle block -------------------//
$subTorrentIdArr = [$row['id']]; $subTorrentIdArr = [$row['id']];
+1 -1
View File
@@ -9,7 +9,7 @@ function denyDownload()
} }
$torrentRep = new \App\Repositories\TorrentRepository(); $torrentRep = new \App\Repositories\TorrentRepository();
if (!empty($_REQUEST['downhash'])) { if (!empty($_REQUEST['downhash'])) {
$params = explode('|', $_REQUEST['downhash']); $params = explode('.', $_REQUEST['downhash'], 2);
if (empty($params[0]) || empty($params[1])) { if (empty($params[0]) || empty($params[1])) {
die("invalid downhash, format error"); die("invalid downhash, format error");
} }
+2 -2
View File
@@ -281,7 +281,7 @@ switch ($type)
// $res = sql_query("SELECT torrent,added,snatched.uploaded,snatched.downloaded,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers FROM peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='yes' ORDER BY torrents.id DESC") or sqlerr(); // $res = sql_query("SELECT torrent,added,snatched.uploaded,snatched.downloaded,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers FROM peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='yes' ORDER BY torrents.id DESC") or sqlerr();
$fields = "torrent,added,snatched.uploaded,snatched.downloaded,snatched.seedtime,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers,snatched.userid, categories.mode as search_box_id, peers.peer_id, peers.agent, peers.port, peers.ipv4, peers.ipv6"; $fields = "torrent,added,snatched.uploaded,snatched.downloaded,snatched.seedtime,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers,snatched.userid, categories.mode as search_box_id, peers.peer_id, peers.agent, peers.port, peers.ipv4, peers.ipv6";
$tableWhere = "peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='yes'"; $tableWhere = "peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='yes'";
$order = "torrents.id DESC"; $order = "peers.id DESC";
break; break;
} }
@@ -291,7 +291,7 @@ switch ($type)
// $res = sql_query("SELECT torrent,snatched.uploaded,snatched.downloaded,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers, torrents.added FROM peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='no' ORDER BY torrents.id DESC") or sqlerr(); // $res = sql_query("SELECT torrent,snatched.uploaded,snatched.downloaded,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers, torrents.added FROM peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='no' ORDER BY torrents.id DESC") or sqlerr();
$fields = "torrent,snatched.uploaded,snatched.downloaded,snatched.seedtime,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers, torrents.added,snatched.userid, categories.mode as search_box_id, peers.peer_id, peers.agent, peers.port, peers.ipv4, peers.ipv6"; $fields = "torrent,snatched.uploaded,snatched.downloaded,snatched.seedtime,torrents.name as torrentname, torrents.small_descr, torrents.sp_state, torrents.banned, torrents.approval_status, categories.name as catname,size,torrents.hr,image,category,seeders,leechers, torrents.added,snatched.userid, categories.mode as search_box_id, peers.peer_id, peers.agent, peers.port, peers.ipv4, peers.ipv6";
$tableWhere = "peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='no'"; $tableWhere = "peers LEFT JOIN torrents ON peers.torrent = torrents.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN snatched ON torrents.id = snatched.torrentid WHERE peers.userid=$id AND snatched.userid = $id AND peers.seeder='no'";
$order = "torrents.id DESC"; $order = "peers.id DESC";
break; break;
} }
+1 -1
View File
@@ -514,7 +514,7 @@ $body_arr[$langfolder_array[$i]] = <<<EOD
$description $description
------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------
{$lang_takeupload_target[$langfolder_array[$i]]['mail_torrent']}<b><a href="javascript:void(null)" onclick="window.open('http://$BASEURL/details.php?id=$id&hit=1')">{$lang_takeupload_target[$langfolder_array[$i]]['mail_here']}</a></b><br /> {$lang_takeupload_target[$langfolder_array[$i]]['mail_torrent']}<b><a href="javascript:void(null)" onclick="window.open('$baseUrl/details.php?id=$id&hit=1')">{$lang_takeupload_target[$langfolder_array[$i]]['mail_here']}</a></b><br />
$baseUrl/details.php?id=$id&hit=1 $baseUrl/details.php?id=$id&hit=1
------{$lang_takeupload_target[$langfolder_array[$i]]['mail_yours']} ------{$lang_takeupload_target[$langfolder_array[$i]]['mail_yours']}
+1 -1
View File
@@ -240,7 +240,7 @@ foreach ($list as $row)
} }
$itemurl = $url."/details.php?id=".$row['id']; $itemurl = $url."/details.php?id=".$row['id'];
if ($dllink) if ($dllink)
$itemdlurl = $url."/download.php?id=".$row['id']."&amp;downhash=" . rawurlencode( $user['id'] . '|'. $torrentRep->encryptDownHash($row['id'], $user)); $itemdlurl = $torrentRep->getDownloadUrl($row['id'], $user);
else $itemdlurl = $url."/download.php?id=".$row['id']; else $itemdlurl = $url."/download.php?id=".$row['id'];
if (!empty($_GET['icat'])) $title .= "[".$row['category_name']."]"; if (!empty($_GET['icat'])) $title .= "[".$row['category_name']."]";
$title .= $row['name']; $title .= $row['name'];