diff --git a/db/agents.json b/db/agents.json index 697fad4..0f64426 100644 --- a/db/agents.json +++ b/db/agents.json @@ -201,6 +201,18 @@ "https://www.audiobooks.com" ] }, + { + "regex": "^audiobookshelf", + "name": "audiobookshelf", + "type": "Mobile App", + "examples": [ + "audiobookshelf (+https://audiobookshelf.org)", + "audiobookshelf (+https://audiobookshelf.org; like iTMS" + ], + "notes": [ + "https://www.audiobooks.com" + ] + }, { "regex": "^BashPodder", "name": "BashPodder", @@ -277,14 +289,15 @@ ] }, { - "regex": "^Cast[Bb]ox.+Android", + "regex": "^(Cast[Bb]ox|fm.castbox).+Android", "name": "CastBox", "type": "Mobile App", "os": "Android", "examples": [ "CastBox/7.54.2-190220138 (Linux;Android 8.0.0) ExoPlayerLib/2.8.3/7.54.2-190220138 (Linux;Android 8.0.0) ExoPlayerLib/2.8.3", "CastBox/7.54.2-190220138 (Linux;Android 9) ExoPlayerLib/2.8.3", - "CastBox/5.7.3-190226042.rd00e051 (Linux;Android 9)" + "CastBox/5.7.3-190226042.rd00e051 (Linux;Android 9)", + "fm.castbox.audiobook.radio.podcast/240828120 (Linux; U; Android 14; en_US; Pixel 7; Build/AP2A.240905.003; Cronet/129.0.6614.4)" ] }, { @@ -459,13 +472,23 @@ ] }, { - "regex": "^English.+Radio.+IELTS.+TOEFL.+CFNetwork", + "regex": "^English.*Radio.+CFNetwork", "name": "English Radio IELTS TOEFL", "type": "Mobile App", "os": "iOS", "examples": [ "English%20Radio%20-%20IELTS%20TOEFL%20TOEIC%20Listening%20and%20Speaking/1 CFNetwork/976 Darwin/18.2.0", - "English Radio - IELTS TOEFL TOEIC Listening and Speaking/1 CFNetwork/976 Darwin/18.2.0" + "English Radio - IELTS TOEFL TOEIC Listening and Speaking/1 CFNetwork/976 Darwin/18.2.0", + "EnglishRadio/1 CFNetwork/1498.700.2 Darwin/23.6.0" + ] + }, + { + "regex": "^ESP32 HTTP Client", + "name": null, + "type": "Smart Home", + "os": null, + "examples": [ + "ESP32 HTTP Client/1.0" ] }, { @@ -480,12 +503,13 @@ ] }, { - "regex": "^FileDownloader\\/", + "regex": "^FileDownloader", "name": null, "type": "Mobile App", "os": "Android", "examples": [ - "FileDownloader/1.7.7" + "FileDownloader/1.7.7", + "FileDownloader" ], "notes": [ "https://github.com/lingochamp/FileDownloader" @@ -1364,6 +1388,24 @@ "play.prx.org" ] }, + { + "regex": "^Radio thmanyah.+Android", + "name": "Radio thmanyah", + "type": "Mobile App", + "os": "Android", + "examples": [ + "Radio thmanyah (Android 14;23106RN0DA)" + ] + }, + { + "regex": "^Radio thmanyah.+iOS", + "name": "Radio thmanyah", + "type": "Mobile App", + "os": "iOS", + "examples": [ + "Radio thmanyah (iOS 17.6.1)" + ] + }, { "regex": "^RadioPublic Android|^RadioPublic\\/android", "name": "RadioPublic", @@ -1627,13 +1669,14 @@ ] }, { - "regex": "^(TED.+Android)|(com\\.sciker\\.tedtalksdaily)", + "regex": "^(TED.+Android|com\\.sciker\\.tedtalksdaily|com\\.ted\\.android)", "name": "TED", "type": "Mobile App", "os": "Android", "examples": [ "TED Android; Version 3.3.3; OPPO R15 9", - "com.sciker.tedtalksdaily" + "com.sciker.tedtalksdaily", + "com.ted.android/7.5.47 (Linux;Android 14) AndroidXMedia3/1.3.1" ] }, { diff --git a/db/agents.lock.js b/db/agents.lock.js index cd94945..54df340 100644 --- a/db/agents.lock.js +++ b/db/agents.lock.js @@ -19,6 +19,7 @@ exports.agents = [ [/^(Audible|com\.audible).+Android/, 130, 36, 42], [/^(Audible|com\.audible).+(CFNetwork|iOS)/, 130, 36, 43], [/^IOSAudiobooks.+CFNetwork/, 101, 36, 43], + [/^audiobookshelf/, 149, 36, null], [/^BashPodder/, 119, 35, 49], [/^Mozilla\/5\.0.+BeyondPod/, 33, 36, 42], [/^Bose\//, 86, 37, null], @@ -27,7 +28,7 @@ exports.agents = [ [/^Bullhorn/, 79, 36, null], [/^Castamatic.+(CFNetwork|iOS)/, 99, 36, 43], [/^Castaway.+CFNetwork/, 7, 36, 43], - [/^Cast[Bb]ox.+Android/, 8, 36, 42], + [/^(Cast[Bb]ox|fm.castbox).+Android/, 8, 36, 42], [/^Cast[Bb]ox.+iOS/, 8, 36, 43], [/^CastBox\/com\.castbox\.CastBox/, 8, 36, 43], [/^CastBox/, 8, 36, null], @@ -45,9 +46,10 @@ exports.agents = [ [/^Downcast.+OS X/, 11, 35, 45], [/^iTunes.+Downcast/, 11, null, null], [/^(Amazon;)?Echo/, 3, 37, 44], - [/^English.+Radio.+IELTS.+TOEFL.+CFNetwork/, 81, 36, 43], + [/^English.*Radio.+CFNetwork/, 81, 36, 43], + [/^ESP32 HTTP Client/, null, 37, null], [/^(ExoMediaPlayer.+Android|ExoPlayer.+Android|yourApplicationName.+Android.+ExoPlayer|Exo2.+Android)/, null, 36, 42], - [/^FileDownloader\//, null, 36, 42], + [/^FileDownloader/, null, 36, 42], [/^Fire OS.+stagefright/, null, 36, 42], [/^gPodder.+Windows/, 51, 35, 41], [/^gPodder.+Linux/, 51, 35, 49], @@ -138,6 +140,8 @@ exports.agents = [ [/^Pro[Cc]ast.+(iOS|CFNetwork)/, 83, 36, 43], [/^PRX-Feeder-Apple\/1.0 \(nodejs\)/, 148, null, null, true], [/^play\.prx\.org/, 142, null, null], + [/^Radio thmanyah.+Android/, 150, 36, 42], + [/^Radio thmanyah.+iOS/, 150, 36, 43], [/^RadioPublic Android|^RadioPublic\/android/, 21, 36, 42], [/^RadioPublic iOS|^RadioPublic.+CFNetwork|^RadioPublic\/iOS/, 21, 36, 43], [/^ReactNativeVideo.+Android/, null, 36, 42], @@ -165,7 +169,7 @@ exports.agents = [ [/^iTunes.+(SqueezeCenter|SqueezeNetwork)/, 95, 37, 49], [/^Stitcher\/iOS/, 23, 36, 43], [/^TED.+CFNetwork/, 59, 36, 43], - [/^(TED.+Android)|(com\.sciker\.tedtalksdaily)/, 59, 36, 42], + [/^(TED.+Android|com\.sciker\.tedtalksdaily|com\.ted\.android)/, 59, 36, 42], [/^telmate-audio-player.+Android/, 137, 36, 42], [/^This Am Life.+Android/, 117, 36, 42], [/^ThisAmericanLife.+CFNetwork/, 117, 36, 43], @@ -395,5 +399,7 @@ exports.tags = { 145: 'Yandex Music', 146: 'The New Yorker', 147: 'YouTube Music', - 148: 'PRX Feeder Apple Publisher' + 148: 'PRX Feeder Apple Publisher', + 149: 'audiobookshelf', + 150: 'Radio thmanyah' }; diff --git a/db/agents.lock.json b/db/agents.lock.json index 7d1aa50..5a58293 100644 --- a/db/agents.lock.json +++ b/db/agents.lock.json @@ -116,6 +116,11 @@ "type": "36", "os": "43" }, + { + "regex": "^audiobookshelf", + "name": "149", + "type": "36" + }, { "regex": "^BashPodder", "name": "119", @@ -163,7 +168,7 @@ "os": "43" }, { - "regex": "^Cast[Bb]ox.+Android", + "regex": "^(Cast[Bb]ox|fm.castbox).+Android", "name": "8", "type": "36", "os": "42" @@ -267,18 +272,22 @@ "os": "44" }, { - "regex": "^English.+Radio.+IELTS.+TOEFL.+CFNetwork", + "regex": "^English.*Radio.+CFNetwork", "name": "81", "type": "36", "os": "43" }, + { + "regex": "^ESP32 HTTP Client", + "type": "37" + }, { "regex": "^(ExoMediaPlayer.+Android|ExoPlayer.+Android|yourApplicationName.+Android.+ExoPlayer|Exo2.+Android)", "type": "36", "os": "42" }, { - "regex": "^FileDownloader\\/", + "regex": "^FileDownloader", "type": "36", "os": "42" }, @@ -801,6 +810,18 @@ "regex": "^play\\.prx\\.org", "name": "142" }, + { + "regex": "^Radio thmanyah.+Android", + "name": "150", + "type": "36", + "os": "42" + }, + { + "regex": "^Radio thmanyah.+iOS", + "name": "150", + "type": "36", + "os": "43" + }, { "regex": "^RadioPublic Android|^RadioPublic\\/android", "name": "21", @@ -960,7 +981,7 @@ "os": "43" }, { - "regex": "^(TED.+Android)|(com\\.sciker\\.tedtalksdaily)", + "regex": "^(TED.+Android|com\\.sciker\\.tedtalksdaily|com\\.ted\\.android)", "name": "59", "type": "36", "os": "42" @@ -1569,6 +1590,8 @@ "145": "Yandex Music", "146": "The New Yorker", "147": "YouTube Music", - "148": "PRX Feeder Apple Publisher" + "148": "PRX Feeder Apple Publisher", + "149": "audiobookshelf", + "150": "Radio thmanyah" } } \ No newline at end of file diff --git a/db/agents.lock.yml b/db/agents.lock.yml index ee5e368..707b4be 100644 --- a/db/agents.lock.yml +++ b/db/agents.lock.yml @@ -75,6 +75,9 @@ agents: name: '101' type: '36' os: '43' + - regex: ^audiobookshelf + name: '149' + type: '36' - regex: ^BashPodder name: '119' type: '35' @@ -105,7 +108,7 @@ agents: name: '7' type: '36' os: '43' - - regex: '^Cast[Bb]ox.+Android' + - regex: '^(Cast[Bb]ox|fm.castbox).+Android' name: '8' type: '36' os: '42' @@ -173,14 +176,16 @@ agents: name: '3' type: '37' os: '44' - - regex: ^English.+Radio.+IELTS.+TOEFL.+CFNetwork + - regex: ^English.*Radio.+CFNetwork name: '81' type: '36' os: '43' + - regex: ^ESP32 HTTP Client + type: '37' - regex: ^(ExoMediaPlayer.+Android|ExoPlayer.+Android|yourApplicationName.+Android.+ExoPlayer|Exo2.+Android) type: '36' os: '42' - - regex: ^FileDownloader\/ + - regex: ^FileDownloader type: '36' os: '42' - regex: ^Fire OS.+stagefright @@ -522,6 +527,14 @@ agents: name: '148' - regex: ^play\.prx\.org name: '142' + - regex: ^Radio thmanyah.+Android + name: '150' + type: '36' + os: '42' + - regex: ^Radio thmanyah.+iOS + name: '150' + type: '36' + os: '43' - regex: ^RadioPublic Android|^RadioPublic\/android name: '21' type: '36' @@ -626,7 +639,7 @@ agents: name: '59' type: '36' os: '43' - - regex: ^(TED.+Android)|(com\.sciker\.tedtalksdaily) + - regex: ^(TED.+Android|com\.sciker\.tedtalksdaily|com\.ted\.android) name: '59' type: '36' os: '42' @@ -1078,3 +1091,5 @@ tags: '146': The New Yorker '147': YouTube Music '148': PRX Feeder Apple Publisher + '149': audiobookshelf + '150': Radio thmanyah diff --git a/db/agents.yml b/db/agents.yml index f97aae0..f7abc41 100644 --- a/db/agents.yml +++ b/db/agents.yml @@ -139,6 +139,14 @@ agents: - IOSAudiobooks/7.0.1 CFNetwork/978.0.7 Darwin/18.6.0 notes: - https://www.audiobooks.com + - regex: '^audiobookshelf' + name: audiobookshelf + type: Mobile App + examples: + - audiobookshelf (+https://audiobookshelf.org) + - audiobookshelf (+https://audiobookshelf.org; like iTMS + notes: + - https://www.audiobooks.com - regex: ^BashPodder name: BashPodder type: Desktop App @@ -190,7 +198,7 @@ agents: os: iOS examples: - Castaway/8 CFNetwork/976 Darwin/18.2.0 - - regex: '^Cast[Bb]ox.+Android' + - regex: '^(Cast[Bb]ox|fm.castbox).+Android' name: CastBox type: Mobile App os: Android @@ -198,6 +206,7 @@ agents: - CastBox/7.54.2-190220138 (Linux;Android 8.0.0) ExoPlayerLib/2.8.3/7.54.2-190220138 (Linux;Android 8.0.0) ExoPlayerLib/2.8.3 - CastBox/7.54.2-190220138 (Linux;Android 9) ExoPlayerLib/2.8.3 - CastBox/5.7.3-190226042.rd00e051 (Linux;Android 9) + - fm.castbox.audiobook.radio.podcast/240828120 (Linux; U; Android 14; en_US; Pixel 7; Build/AP2A.240905.003; Cronet/129.0.6614.4) - regex: '^Cast[Bb]ox.+iOS' name: CastBox type: Mobile App @@ -317,13 +326,20 @@ agents: - Amazon;Echo_Dot;27d4dfe427b34d57995b463e5d63198d;;tpapi;3.199.422 - Amazon;Echo_Dot_with_clock;27d4dfe427b34d57995b463e5d63198d;;tpapi;3.199.422 - Amazon;Echo_Show_5;27d4dfe427b34d57995b463e5d63198d;;tpapi;3.199.422 - - regex: '^English.+Radio.+IELTS.+TOEFL.+CFNetwork' + - regex: '^English.*Radio.+CFNetwork' name: English Radio IELTS TOEFL type: Mobile App os: iOS examples: - English%20Radio%20-%20IELTS%20TOEFL%20TOEIC%20Listening%20and%20Speaking/1 CFNetwork/976 Darwin/18.2.0 - English Radio - IELTS TOEFL TOEIC Listening and Speaking/1 CFNetwork/976 Darwin/18.2.0 + - EnglishRadio/1 CFNetwork/1498.700.2 Darwin/23.6.0 + - regex: '^ESP32 HTTP Client' + name: null + type: Smart Home + os: null + examples: + - ESP32 HTTP Client/1.0 - regex: '^(ExoMediaPlayer.+Android|ExoPlayer.+Android|yourApplicationName.+Android.+ExoPlayer|Exo2.+Android)' name: null type: Mobile App @@ -332,12 +348,13 @@ agents: - yourApplicationName/2.15.2 (Linux;Android 8.0.0) ExoPlayerLib/2.8.2 - Exo2/1.0.11 (Linux;Android 5.1.1) AmznExoPlayerLib/2.9.0 - Exo2/3.0.7 (Linux;Android 8.0.0) ExoPlayerLib/2.4.4 - - regex: '^FileDownloader\/' + - regex: '^FileDownloader' name: null type: Mobile App os: Android examples: - FileDownloader/1.7.7 + - FileDownloader notes: - https://github.com/lingochamp/FileDownloader - regex: '^Fire OS.+stagefright' @@ -938,6 +955,18 @@ agents: - Embeddable play.prx.org audio player examples: - play.prx.org + - regex: '^Radio thmanyah.+Android' + name: Radio thmanyah + type: Mobile App + os: Android + examples: + - Radio thmanyah (Android 14;23106RN0DA) + - regex: '^Radio thmanyah.+iOS' + name: Radio thmanyah + type: Mobile App + os: iOS + examples: + - Radio thmanyah (iOS 17.6.1) - regex: '^RadioPublic Android|^RadioPublic\/android' name: RadioPublic type: Mobile App @@ -1119,13 +1148,14 @@ agents: os: iOS examples: - TED/2941 CFNetwork/976 Darwin/18.2.0 - - regex: '^(TED.+Android)|(com\.sciker\.tedtalksdaily)' + - regex: '^(TED.+Android|com\.sciker\.tedtalksdaily|com\.ted\.android)' name: TED type: Mobile App os: Android examples: - TED Android; Version 3.3.3; OPPO R15 9 - com.sciker.tedtalksdaily + - com.ted.android/7.5.47 (Linux;Android 14) AndroidXMedia3/1.3.1 - regex: '^telmate-audio-player.+Android' name: Telmate type: Mobile App diff --git a/docs/index.html b/docs/index.html index cbbeded..ed0fef1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -188,6 +188,16 @@
/^IOSAudiobooks.+CFNetwork/
https://www.audiobooks.com
IOSAudiobooks/7.0.1 CFNetwork/978.0.7 Darwin/18.6.0
+
+
+
+ /^audiobookshelf/
https://www.audiobooks.com
audiobookshelf (+https://audiobookshelf.org)
+audiobookshelf (+https://audiobookshelf.org; like iTMS
/^Cast[Bb]ox.+Android/
/^(Cast[Bb]ox|fm.castbox).+Android/
CastBox/7.54.2-190220138 (Linux;Android 8.0.0) ExoPlayerLib/2.8.3/7.54.2-190220138 (Linux;Android 8.0.0) ExoPlayerLib/2.8.3
CastBox/7.54.2-190220138 (Linux;Android 9) ExoPlayerLib/2.8.3
CastBox/5.7.3-190226042.rd00e051 (Linux;Android 9)
+fm.castbox.audiobook.radio.podcast/240828120 (Linux; U; Android 14; en_US; Pixel 7; Build/AP2A.240905.003; Cronet/129.0.6614.4)
/^English.+Radio.+IELTS.+TOEFL.+CFNetwork/
/^English.*Radio.+CFNetwork/
English%20Radio%20-%20IELTS%20TOEFL%20TOEIC%20Listening%20and%20Speaking/1 CFNetwork/976 Darwin/18.2.0
English Radio - IELTS TOEFL TOEIC Listening and Speaking/1 CFNetwork/976 Darwin/18.2.0
+EnglishRadio/1 CFNetwork/1498.700.2 Darwin/23.6.0
+
+ /^ESP32 HTTP Client/
ESP32 HTTP Client/1.0
/^FileDownloader\//
/^FileDownloader/
https://github.com/lingochamp/FileDownloader
FileDownloader/1.7.7
+FileDownloader
/^play\.prx\.org/
Embeddable play.prx.org audio player
play.prx.org
+
+
+
+ /^Radio thmanyah.+Android/
Radio thmanyah (Android 14;23106RN0DA)
+
+ /^Radio thmanyah.+iOS/
Radio thmanyah (iOS 17.6.1)
/^(TED.+Android)|(com\.sciker\.tedtalksdaily)/
/^(TED.+Android|com\.sciker\.tedtalksdaily|com\.ted\.android)/
TED Android; Version 3.3.3; OPPO R15 9
com.sciker.tedtalksdaily
+com.ted.android/7.5.47 (Linux;Android 14) AndroidXMedia3/1.3.1