From 19b875a5d34fc749483a3418c79bf6a5f0facd49 Mon Sep 17 00:00:00 2001 From: ydzhou Date: Wed, 8 Oct 2025 21:42:26 -0700 Subject: [PATCH] Update default torrent clients in the allowlist --- _db/dbstructure.sql | 19 +- .../seeders/AgentAllowedFamilyTableSeeder.php | 616 +++++------------- 2 files changed, 182 insertions(+), 453 deletions(-) diff --git a/_db/dbstructure.sql b/_db/dbstructure.sql index 2f65461c..169e6bb8 100644 --- a/_db/dbstructure.sql +++ b/_db/dbstructure.sql @@ -126,24 +126,7 @@ CREATE TABLE IF NOT EXISTS `agent_allowed_family` ( -- INSERT INTO `agent_allowed_family` (`id`, `family`, `start_name`, `peer_id_pattern`, `peer_id_match_num`, `peer_id_matchtype`, `peer_id_start`, `agent_pattern`, `agent_match_num`, `agent_matchtype`, `agent_start`, `exception`, `allowhttps`, `comment`, `hits`) VALUES -(1, 'Azureus 2.5.0.4', 'Azureus 2.5.0.4', '/^-AZ2504-/', 0, 'dec', '-AZ2504-', '/^Azureus 2.5.0.4/', 0, 'dec', 'Azureus 2.5.0.4', 'no', 'yes', '', 0), -(2, 'uTorrent 1.6.1', 'uTorrent 1.6.1', '/^-UT1610-/', 0, 'dec', '-UT1610-', '/^uTorrent\\/1610/', 0, 'dec', 'uTorrent/1610', 'no', 'no', '', 0), -(3, 'Bittorrent 6.x', 'Bittorrent 6.0.1', '/^M6-([0-9])-([0-9])--/', 2, 'dec', 'M6-0-1--', '/^BitTorrent\\/6([0-9])([0-9])([0-9])/', 3, 'dec', 'BitTorrent/6010', 'no', 'yes', '', 0), -(4, 'Deluge 0.x', 'Deluge 0.5.8.9', '/^-DE0([0-9])([0-9])([0-9])-/', 3, 'dec', '-DE0589-', '/^Deluge 0\\.([0-9])\\.([0-9])\\.([0-9])/', 3, 'dec', 'Deluge 0.5.8.9', 'no', 'yes', '', 0), -(5, 'Transmission1.x', 'Transmission 1.06 (build 5136)', '/^-TR1([0-9])([0-9])([0-9])-/', 3, 'dec', '-TR1060-', '/^Transmission\\/1\\.([0-9])([0-9])/', 3, 'dec', 'Transmission/1.06', 'no', 'yes', '', 0), -(6, 'RTorrent 0.x(with libtorrent 0.x)', 'rTorrent 0.8.0 (with libtorrent 0.12.0)', '/^-lt([0-9A-E])([0-9A-E])([0-9A-E])([0-9A-E])-/', 4, 'hex', '-lt0C00-', '/^rtorrent\\/0\\.([0-9])\\.([0-9])\\/0\\.([1-9][0-9]*)\\.(0|[1-9][0-9]*)/', 4, 'dec', 'rtorrent/0.8.0/0.12.0', 'no', 'no', '', 3), -(7, 'Rufus 0.x', 'Rufus 0.6.9', '', 0, 'dec', '', '/^Rufus\\/0\\.([0-9])\\.([0-9])/', 2, 'dec', 'Rufus/0.6.9', 'no', 'no', '', 0), -(8, 'Azureus 3.x', 'Azureus 3.0.5.0', '/^-AZ3([0-9])([0-9])([0-9])-/', 3, 'dec', '-AZ3050-', '/^Azureus 3\\.([0-9])\\.([0-9])\\.([0-9])/', 3, 'dec', 'Azureus 3.0.5.0', 'no', 'yes', '', 0), -(9, 'uTorrent 1.7.x', 'uTorrent 1.7.5', '/^-UT17([0-9])([0-9])-/', 2, 'dec', '-UT1750-', '/^uTorrent\\/17([0-9])([0-9])/', 2, 'dec', 'uTorrent/1750', 'no', 'yes', '', 0), -(10, 'BitRocket 0.x', 'BitRocket 0.3.3(32)', '/^-BR0([0-9])([1-9][0-9]*)-/', 2, 'dec', '-BR0332-', '/^BitRocket\\/0\\.([0-9])\\.([0-9])\\(([1-9][0-9]*)\\) libtorrent\\/0\\.([1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)/', 6, 'dec', 'BitRocket/0.3.3(32) libtorrent/0.13.0.0', 'no', 'yes', '', 0), -(11, 'MLDonkey 2.9.x', 'MLDonkey 2.9.2', '/^-ML2\\.9\\.([0-9])-/', 1, 'dec', '-ML2.9.2-', '/^MLDonkey\\/2\\.9\\.([0-9])/', 1, 'dec', 'MLDonkey/2.9.2', 'no', 'yes', '', 0), -(12, 'uTorrent 1.8.x', 'uTorrent 1.8.0', '/^-UT18([0-9])([0-9])-/', 2, 'dec', '-UT1800-', '/^uTorrent\\/18([0-9])([0-9])/', 2, 'dec', 'uTorrent/1800', 'no', 'yes', '', 0), -(13, 'Azureus 4.x', 'Vuze 4.0.0.2', '/^-AZ4([0-9])([0-9])([0-9])-/', 3, 'dec', '-AZ4002-', '/^Azureus 4\\.([0-9])\\.([0-9])\\.([0-9])/', 3, 'dec', 'Azureus 4.0.0.2', 'no', 'yes', '', 0), -(14, 'SymTorrent', '', '', 0, 'dec', '', '/^SymTorrent/', 0, 'dec', 'SymTorrent', 'no', 'no', '', 0), -(15, 'Deluge 1.x', 'Deluge 1.1.6', '/^-DE1([0-9])([0-9])([0-9])-/', 3, 'dec', '-DE1160-', '/^Deluge 1\\.([0-9])\\.([0-9])/', 2, 'dec', 'Deluge 1.1.6', 'no', 'yes', '', 0), -(16, 'uTorrent 1.8xB', 'uTorrent 1.80 Beta (build 9137)', '/^-UT18([0-9])B-/', 1, 'dec', '-UT180B-', '/^uTorrent\\/18([0-9])B\\(([1-9][0-9]*)\\)/', 2, 'dec', 'uTorrent/180B(9137)', 'no', 'yes', '', 0), -(17, 'uTorrent 2.x.x', 'uTorrent 2.0(build 17624)', '/^-UT2([0-9])([0-9])([0-9])-/', 3, 'dec', '-UT2000-', '/^uTorrent\\/2([0-9])([0-9])([0-9])/', 3, 'dec', 'uTorrent/2000', 'no', 'yes', '', 0); - +(1, 'uTorrent 2.x.x', 'uTorrent 2.0(build 17624)', '/^-UT2([0-9])([0-9])([0-9])-/', 3, 'dec', '-UT2000-', '/^uTorrent\\/2([0-9])([0-9])([0-9])/', 3, 'dec', 'uTorrent/2000', 'no', 'yes', '', 0); -- -------------------------------------------------------- -- diff --git a/database/seeders/AgentAllowedFamilyTableSeeder.php b/database/seeders/AgentAllowedFamilyTableSeeder.php index 90ac4b31..b9897a43 100644 --- a/database/seeders/AgentAllowedFamilyTableSeeder.php +++ b/database/seeders/AgentAllowedFamilyTableSeeder.php @@ -14,356 +14,49 @@ class AgentAllowedFamilyTableSeeder extends Seeder */ public function run() { - \DB::table('agent_allowed_family')->delete(); - + \DB::table('agent_allowed_family')->insert(array ( - 0 => + 0 => array ( 'id' => 1, - 'family' => 'Azureus 2.5.0.4', - 'start_name' => 'Azureus 2.5.0.4', - 'peer_id_pattern' => '/^-AZ2504-/', - 'peer_id_match_num' => 0, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-AZ2504-', - 'agent_pattern' => '/^Azureus 2.5.0.4/', - 'agent_match_num' => 0, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Azureus 2.5.0.4', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, + 'family' => 'uTorrent 2.x.x', + 'start_name' => 'uTorrent 2.0(build 17624)', + 'peer_id_pattern' => '/^-UT2([0-9])([0-9])([0-9])-/', + 'peer_id_match_num' => 3, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-UT2000-', + 'agent_pattern' => '/^uTorrent\\/2([0-9])([0-9])([0-9])/', + 'agent_match_num' => 3, + 'agent_matchtype' => 'dec', + 'agent_start' => 'uTorrent/2000', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => '', + 'hits' => 0, ), - 1 => + 1 => array ( 'id' => 2, - 'family' => 'uTorrent 1.6.1', - 'start_name' => 'uTorrent 1.6.1', - 'peer_id_pattern' => '/^-UT1610-/', - 'peer_id_match_num' => 0, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-UT1610-', - 'agent_pattern' => '/^uTorrent\\/1610/', - 'agent_match_num' => 0, - 'agent_matchtype' => 'dec', - 'agent_start' => 'uTorrent/1610', - 'exception' => 'no', - 'allowhttps' => 'no', - 'comment' => '', - 'hits' => 0, - ), - 2 => - array ( - 'id' => 3, - 'family' => 'Bittorrent 6.x', - 'start_name' => 'Bittorrent 6.0.1', - 'peer_id_pattern' => '/^M6-([0-9])-([0-9])--/', - 'peer_id_match_num' => 2, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => 'M6-0-1--', - 'agent_pattern' => '/^BitTorrent\\/6([0-9])([0-9])([0-9])/', - 'agent_match_num' => 3, - 'agent_matchtype' => 'dec', - 'agent_start' => 'BitTorrent/6010', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 3 => - array ( - 'id' => 4, - 'family' => 'Deluge 0.x', - 'start_name' => 'Deluge 0.5.8.9', - 'peer_id_pattern' => '/^-DE0([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-DE0589-', - 'agent_pattern' => '/^Deluge 0\\.([0-9])\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 3, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Deluge 0.5.8.9', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 4 => - array ( - 'id' => 5, - 'family' => 'Transmission1.x', - 'start_name' => 'Transmission 1.06 (build 5136)', - 'peer_id_pattern' => '/^-TR1([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-TR1060-', - 'agent_pattern' => '/^Transmission\\/1\\.([0-9])([0-9])/', - 'agent_match_num' => 3, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Transmission/1.06', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 5 => - array ( - 'id' => 6, - 'family' => 'RTorrent 0.x(with libtorrent 0.x)', - 'start_name' => 'rTorrent 0.8.0 (with libtorrent 0.12.0)', - 'peer_id_pattern' => '/^-lt([0-9A-E])([0-9A-E])([0-9A-E])([0-9A-E])-/', - 'peer_id_match_num' => 4, - 'peer_id_matchtype' => 'hex', - 'peer_id_start' => '-lt0C00-', - 'agent_pattern' => '/^rtorrent\\/0\\.([0-9])\\.([0-9])\\/0\\.([1-9][0-9]*)\\.(0|[1-9][0-9]*)/', - 'agent_match_num' => 4, - 'agent_matchtype' => 'dec', - 'agent_start' => 'rtorrent/0.8.0/0.12.0', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 6 => - array ( - 'id' => 7, - 'family' => 'Rufus 0.x', - 'start_name' => 'Rufus 0.6.9', - 'peer_id_pattern' => '', - 'peer_id_match_num' => 0, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '', - 'agent_pattern' => '/^Rufus\\/0\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Rufus/0.6.9', - 'exception' => 'no', - 'allowhttps' => 'no', - 'comment' => '', - 'hits' => 0, - ), - 7 => - array ( - 'id' => 8, - 'family' => 'Azureus 3.x', - 'start_name' => 'Azureus 3.0.5.0', - 'peer_id_pattern' => '/^-AZ3([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-AZ3050-', - 'agent_pattern' => '/^Azureus 3\\.([0-9])\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 3, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Azureus 3.0.5.0', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 8 => - array ( - 'id' => 9, - 'family' => 'uTorrent 1.7.x', - 'start_name' => 'uTorrent 1.7.5', - 'peer_id_pattern' => '/^-UT17([0-9])([0-9])-/', - 'peer_id_match_num' => 2, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-UT1750-', - 'agent_pattern' => '/^uTorrent\\/17([0-9])([0-9])/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'uTorrent/1750', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 9 => - array ( - 'id' => 10, - 'family' => 'BitRocket 0.x', - 'start_name' => 'BitRocket 0.3.3(32)', - 'peer_id_pattern' => '/^-BR0([0-9])([1-9][0-9]*)-/', - 'peer_id_match_num' => 2, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-BR0332-', - 'agent_pattern' => '/^BitRocket\\/0\\.([0-9])\\.([0-9])\\(([1-9][0-9]*)\\) libtorrent\\/0\\.([1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)/', - 'agent_match_num' => 6, - 'agent_matchtype' => 'dec', - 'agent_start' => 'BitRocket/0.3.3(32) libtorrent/0.13.0.0', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 10 => - array ( - 'id' => 11, - 'family' => 'MLDonkey 2.9.x', - 'start_name' => 'MLDonkey 2.9.2', - 'peer_id_pattern' => '/^-ML2\\.9\\.([0-9])-/', - 'peer_id_match_num' => 1, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-ML2.9.2-', - 'agent_pattern' => '/^MLDonkey\\/2\\.9\\.([0-9])/', - 'agent_match_num' => 1, - 'agent_matchtype' => 'dec', - 'agent_start' => 'MLDonkey/2.9.2', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 11 => - array ( - 'id' => 12, - 'family' => 'uTorrent 1.8.x', - 'start_name' => 'uTorrent 1.8.0', - 'peer_id_pattern' => '/^-UT18([0-9])([0-9])-/', - 'peer_id_match_num' => 2, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-UT1800-', - 'agent_pattern' => '/^uTorrent\\/18([0-9])([0-9])/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'uTorrent/1800', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 12 => - array ( - 'id' => 13, - 'family' => 'Azureus 4.x', - 'start_name' => 'Vuze 4.0.0.2', - 'peer_id_pattern' => '/^-AZ4([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-AZ4002-', - 'agent_pattern' => '/^Azureus 4\\.([0-9])\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 3, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Azureus 4.0.0.2', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 13 => - array ( - 'id' => 14, - 'family' => 'SymTorrent', - 'start_name' => '', - 'peer_id_pattern' => '', - 'peer_id_match_num' => 0, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '', - 'agent_pattern' => '/^SymTorrent/', - 'agent_match_num' => 0, - 'agent_matchtype' => 'dec', - 'agent_start' => 'SymTorrent', - 'exception' => 'no', - 'allowhttps' => 'no', - 'comment' => '', - 'hits' => 0, - ), - 14 => - array ( - 'id' => 15, - 'family' => 'Deluge 1.x', - 'start_name' => 'Deluge 1.1.6', - 'peer_id_pattern' => '/^-DE1([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-DE1160-', - 'agent_pattern' => '/^Deluge 1\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Deluge 1.1.6', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 15 => - array ( - 'id' => 16, - 'family' => 'uTorrent 1.8xB', - 'start_name' => 'uTorrent 1.80 Beta (build 9137)', - 'peer_id_pattern' => '/^-UT18([0-9])B-/', - 'peer_id_match_num' => 1, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-UT180B-', - 'agent_pattern' => '/^uTorrent\\/18([0-9])B\\(([1-9][0-9]*)\\)/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'uTorrent/180B(9137)', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 16 => - array ( - 'id' => 17, - 'family' => 'uTorrent 2.x.x', - 'start_name' => 'uTorrent 2.0(build 17624)', - 'peer_id_pattern' => '/^-UT2([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-UT2000-', - 'agent_pattern' => '/^uTorrent\\/2([0-9])([0-9])([0-9])/', - 'agent_match_num' => 3, - 'agent_matchtype' => 'dec', - 'agent_start' => 'uTorrent/2000', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 17 => - array ( - 'id' => 18, - 'family' => 'Transmission2.x', - 'start_name' => 'Transmission 2.0', - 'peer_id_pattern' => '/^-TR2([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-TR2000-', - 'agent_pattern' => '/^Transmission\\/2\\.([0-9])([0-9])/', - 'agent_match_num' => 3, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Transmission/2.00', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 1, - ), - 18 => - array ( - 'id' => 19, 'family' => 'uTorrent 3.x', 'start_name' => 'uTorrent/3000', - 'peer_id_pattern' => '/^-UT3([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-UT3000-', - 'agent_pattern' => '/^uTorrent\\/3([0-9])([0-9])([0-9])/', - 'agent_match_num' => 3, - 'agent_matchtype' => 'dec', - 'agent_start' => 'uTorrent/3000', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, + 'peer_id_pattern' => '/^-UT3([0-9])([0-9])([0-9])-/', + 'peer_id_match_num' => 3, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-UT3000-', + 'agent_pattern' => '/^uTorrent\\/3([0-9])([0-9])([0-9])/', + 'agent_match_num' => 3, + 'agent_matchtype' => 'dec', + 'agent_start' => 'uTorrent/3000', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => '', + 'hits' => 0, ), - 19 => + 2 => array ( - 'id' => 20, + 'id' => 3, 'family' => 'uTorrent 3.x', 'start_name' => 'uTorrent', 'peer_id_pattern' => '', @@ -379,116 +72,169 @@ class AgentAllowedFamilyTableSeeder extends Seeder 'comment' => '', 'hits' => 6, ), - 20 => + 3 => array ( - 'id' => 21, - 'family' => 'Transmission3.x', - 'start_name' => 'Transmission 3.0', - 'peer_id_pattern' => '/^-TR3([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-TR3000-', - 'agent_pattern' => '/^Transmission\\/3\\.([0-9])([0-9])/', - 'agent_match_num' => 3, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Transmission/3.00', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, + 'id' => 4, + 'family' => 'BiglyBT 3.x', + 'start_name' => 'BiglyBT 3.0.0.0', + 'peer_id_pattern' => '/^-BI3([0-9])([0-9])([0-9])-/', + 'peer_id_match_num' => 3, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-BI3000-', + 'agent_pattern' => '/^BiglyBT\\ /3\\.([0-9])\\.([0-9])\\.([0-9])/', + 'agent_match_num' => 3, + 'agent_matchtype' => 'dec', + 'agent_start' => 'BiglyBT/3.0.0.0', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => NULL, + 'hits' => 0, ), - 21 => + 4 => array ( - 'id' => 22, - 'family' => 'Deluge 2.x', - 'start_name' => 'Deluge 2.0.0', - 'peer_id_pattern' => '/^-DE2([0-9])([0-9])/', - 'peer_id_match_num' => 2, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-DE200', - 'agent_pattern' => '/^Deluge\\/2\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Deluge/2.0.0', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, - ), - 22 => - array ( - 'id' => 23, - 'family' => 'qBittorrent 4.x', - 'start_name' => 'qBittorrent 4.0.0', - 'peer_id_pattern' => '/^-qB4([0-9])([0-9])/', - 'peer_id_match_num' => 2, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-qB400', - 'agent_pattern' => '/^qBittorrent\\/4\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'qBittorrent/4.0.0', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 3, - ), - 23 => - array ( - 'id' => 24, + 'id' => 5, 'family' => 'Deluge 1.x', 'start_name' => 'Deluge 1.0.0', - 'peer_id_pattern' => '/^-DE1([0-9])/', - 'peer_id_match_num' => 1, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-DE10', - 'agent_pattern' => '/^Deluge 1\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Deluge 1.0.0', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => '', - 'hits' => 0, + 'peer_id_pattern' => '/^-DE1([0-9])/', + 'peer_id_match_num' => 1, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-DE10', + 'agent_pattern' => '/^Deluge 1\\.([0-9])\\.([0-9])/', + 'agent_match_num' => 2, + 'agent_matchtype' => 'dec', + 'agent_start' => 'Deluge 1.0.0', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => '', + 'hits' => 0, ), - 24 => + 5 => array ( - 'id' => 25, + 'id' => 6, + 'family' => 'Deluge 2.x', + 'start_name' => 'Deluge 2.0.0', + 'peer_id_pattern' => '/^-DE2([0-9])([0-9])/', + 'peer_id_match_num' => 2, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-DE200', + 'agent_pattern' => '/^Deluge\\/2\\.([0-9])\\.([0-9])/', + 'agent_match_num' => 2, + 'agent_matchtype' => 'dec', + 'agent_start' => 'Deluge/2.0.0', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => '', + 'hits' => 0, + ), + 6 => + array ( + 'id' => 7, + 'family' => 'RTorrent 0.x(with libtorrent 0.x)', + 'start_name' => 'rTorrent 0.8.0 (with libtorrent 0.12.0)', + 'peer_id_pattern' => '/^-lt([0-9A-Z])([0-9A-Z])([0-9A-Z])([0-9A-Z])-/', + 'peer_id_match_num' => 4, + 'peer_id_matchtype' => 'hex', + 'peer_id_start' => '-lt0C00-', + 'agent_pattern' => '/^rtorrent\\/0\\.([0-9]{1,2})\\.([0-9])\\/0\\.([1-9][0-9]*)\\.(0|[1-9][0-9]*)/', + 'agent_match_num' => 4, + 'agent_matchtype' => 'dec', + 'agent_start' => 'rtorrent/0.8.0/0.12.0', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => '', + 'hits' => 0, + ), + 7 => + array ( + 'id' => 8, + 'family' => 'Transmission2.x', + 'start_name' => 'Transmission 2.0', + 'peer_id_pattern' => '/^-TR2([0-9])([0-9])([0-9])-/', + 'peer_id_match_num' => 3, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-TR2000-', + 'agent_pattern' => '/^Transmission\\/2\\.([0-9])([0-9])/', + 'agent_match_num' => 3, + 'agent_matchtype' => 'dec', + 'agent_start' => 'Transmission/2.00', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => '', + 'hits' => 1, + ), + 8 => + array ( + 'id' => 9, + 'family' => 'Transmission3.x', + 'start_name' => 'Transmission 3.0', + 'peer_id_pattern' => '/^-TR3([0-9])([0-9])([0-9])-/', + 'peer_id_match_num' => 3, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-TR3000-', + 'agent_pattern' => '/^Transmission\\/3\\.([0-9])([0-9])/', + 'agent_match_num' => 3, + 'agent_matchtype' => 'dec', + 'agent_start' => 'Transmission/3.00', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => '', + 'hits' => 0, + ), + 9 => + array ( + 'id' => 10, 'family' => 'Transmission4.x', 'start_name' => 'Transmission 4.0.0', - 'peer_id_pattern' => '/^-TR4([0-9])([0-9])([0-9])-/', - 'peer_id_match_num' => 3, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-TR4000-', - 'agent_pattern' => '/^Transmission\\/4\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'Transmission/4.0.0', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => NULL, - 'hits' => 0, + 'peer_id_pattern' => '/^-TR4([0-9])([0-9])([0-9])-/', + 'peer_id_match_num' => 3, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-TR4000-', + 'agent_pattern' => '/^Transmission\\/4\\.([0-9])\\.([0-9])/', + 'agent_match_num' => 2, + 'agent_matchtype' => 'dec', + 'agent_start' => 'Transmission/4.0.0', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => NULL, + 'hits' => 0, ), - 25 => + 10 => array ( - 'id' => 26, + 'id' => 11, + 'family' => 'qBittorrent 4.x', + 'start_name' => 'qBittorrent 4.0.0', + 'peer_id_pattern' => '/^-qB4([0-9])([0-9])/', + 'peer_id_match_num' => 2, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-qB400', + 'agent_pattern' => '/^qBittorrent\\/4\\.([0-9])\\.([0-9])/', + 'agent_match_num' => 2, + 'agent_matchtype' => 'dec', + 'agent_start' => 'qBittorrent/4.0.0', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => '', + 'hits' => 3, + ), + 11 => + array ( + 'id' => 12, 'family' => 'qBittorrent 5.x', 'start_name' => 'qBittorrent 5.0.0', - 'peer_id_pattern' => '/^-qB5([0-9])([0-9])/', - 'peer_id_match_num' => 2, - 'peer_id_matchtype' => 'dec', - 'peer_id_start' => '-qB500', - 'agent_pattern' => '/^qBittorrent\\/5\\.([0-9])\\.([0-9])/', - 'agent_match_num' => 2, - 'agent_matchtype' => 'dec', - 'agent_start' => 'qBittorrent/5.0.0', - 'exception' => 'no', - 'allowhttps' => 'yes', - 'comment' => NULL, - 'hits' => 0, + 'peer_id_pattern' => '/^-qB5([0-9])([0-9])/', + 'peer_id_match_num' => 2, + 'peer_id_matchtype' => 'dec', + 'peer_id_start' => '-qB500', + 'agent_pattern' => '/^qBittorrent\\/5\\.([0-9])\\.([0-9])/', + 'agent_match_num' => 2, + 'agent_matchtype' => 'dec', + 'agent_start' => 'qBittorrent/5.0.0', + 'exception' => 'no', + 'allowhttps' => 'yes', + 'comment' => NULL, + 'hits' => 0, ), )); - - + } -} \ No newline at end of file +}