diff --git a/README.md b/README.md
index 800df25..3a0c9f4 100644
--- a/README.md
+++ b/README.md
@@ -46,11 +46,11 @@ RF4DB/RF4-STAT/RF4MAP/RF4 Posts сначала принимаются в изо
Медиасборщик индексирует разрешённые изображения отдельно от публичного каталога: manifest хранит исходную страницу, URL, предполагаемый тип сущности и время обнаружения, а оригиналы сохраняются по SHA-256 без hotlink. Индексация страницы и загрузка каждого файла используют общий 30-минутный cooldown домена; непроверенный asset не публикуется автоматически. Локальный `media_cli --audit` без сетевых запросов проверяет хэши, файлы, MIME, размеры, approved-сопоставления и отсутствие бесхозных оригиналов.
-`python -m rf4_research.media_cli --coverage` сравнивает manifest с датированным `data/media/catalog-baseline.json`: отдельно считает файлы, уникальные нормализованные подписи и кандидатов без подписи, поэтому дубли и общие учебные схемы не завышают покрытие. Сейчас не покрыты минимум 24 рыбы и все 19 водоёмов, а до ручного review не подтверждены 250 рыб и все 19 водоёмов. Общий target снастей остаётся `null`, пока разрешённый источник не отдаст проверяемый полный счётчик.
+`python -m rf4_research.media_cli --coverage` сравнивает manifest с датированным `data/media/catalog-baseline.json`: отдельно считает уникальные нормализованные подписи и кандидатов без подписи, поэтому альтернативные URL и общие учебные схемы не завышают покрытие. Объединение разрешённых каталогов RF4MAP и RF4DB теперь содержит все 252 названия рыб; 25 отсутствовавших изображений RF4DB ожидают загрузки, а 227 совпадений сохранены как provenance-only `duplicate`. Водоёмы пока не покрыты, а общий target снастей остаётся `null` до проверяемого полного счётчика.
`python -m rf4_research.media_cli --queue-plan` без сетевых запросов объединяет manifest с общим cooldown-state: показывает queued-состав каждого домена, оставшееся время и наиболее полезный следующий asset с приоритетом водоёмов и рыб. Разрешённое media-окно загружается командой `--download-batch --batch-limit 40`: до 40 assets на домен под одной резервацией, затем 30 минут до нового batch. Блокировка/rate limit/сетевая ошибка останавливает домен сразу, три последовательных невалидных ответа — досрочно. Все файлы остаются в карантине до ручного review. Точный поимённый список отсутствующих сущностей появится только после получения канонического перечня; разница между двумя несогласованными каталогами не выдаётся за доказанный gap.
-Актуальный внешний ориентир — 19 водоёмов и 252 вида рыб; локальная альфа пока содержит 2+2 сущности. Media-manifest включает 452 кандидата: 228 изображений рыб, 149 приманок и 75 справочных изображений; подтверждённых entity-карт водоёмов пока нет. В репозитории хранятся 438 скачанных оригиналов (около 13 МБ), связанных с manifest через SHA-256 и provenance: 24 уже одобрены после ручной проверки, 414 ожидают review, 3 остаются в очереди, 11 URL признаны невалидными. Полное число «снастей» пока не заявляется: приманки — лишь одна часть каталога наряду с удилищами, катушками, лесками, крючками и оснастками.
+Актуальный внешний ориентир — 19 водоёмов и 252 вида рыб; локальная альфа пока содержит 2+2 сущности. Media-manifest включает 704 записи из RF4MAP, RF4DB и официального руководства: 24 одобрены, 417 сохранены для review, 227 являются альтернативными дубликатами, 25 новых рыб ожидают загрузки и 11 URL невалидны. В Git находятся 441 оригинал; подтверждённых entity-карт водоёмов пока нет. Полное число «снастей» не заявляется: приманки — лишь одна часть каталога наряду с удилищами, катушками, лесками, крючками и оснастками.
Исследовательские RF4-ассеты в `data/media/files/` версионируются обычным Git вместе с `data/media/manifest.json`, чтобы клон репозитория был самодостаточным и не зависел от локального кэша. Это не относится к пользовательским скриншотам: они по-прежнему хранятся в MinIO/S3 и не попадают в Git.
diff --git a/data/media/manifest.json b/data/media/manifest.json
index 222ec4b..267d838 100644
--- a/data/media/manifest.json
+++ b/data/media/manifest.json
@@ -1,6 +1,6 @@
{
"version": 1,
- "updated_at": "2026-09-12T14:59:53.013377+00:00",
+ "updated_at": "2026-09-14T00:44:15.926913+00:00",
"assets": [
{
"source_page": "https://rf4map.ru/fishes",
@@ -7584,6 +7584,3509 @@
"height": 48,
"fetched_at": "2026-09-13T10:30:10.457765+00:00"
},
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/a.sleeper.webp",
+ "entity_type": "fish",
+ "label": "Ротан",
+ "external_id": "a.sleeper",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/77864cc979792d931602abbcfdeffad6040849e217cd95011789d8fec8824d8e.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/a_catfish.webp",
+ "entity_type": "fish",
+ "label": "Сом амурский",
+ "external_id": "a_catfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/14a75e19acddbaafaa164bee53126d81c2799a642a9681de6defbd3a8d96e6a2.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/a_char.webp",
+ "entity_type": "fish",
+ "label": "Голец арктический",
+ "external_id": "a_char",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/ff6f2a194d6d76f5f60dd30a8e443dcd4449790c61a7db817d86abc88a93867f.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/a_grayling.webp",
+ "entity_type": "fish",
+ "label": "Хариус европейский",
+ "external_id": "a_grayling",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/24d132838f37346a25154e051d3cfbb86309b2967cc69edddf07eda585f7a86a.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/a_omul.webp",
+ "entity_type": "fish",
+ "label": "Омуль арктический",
+ "external_id": "a_omul",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/83c9ac9a183462f79c068a68ffbede45adfc174b702607e426cb618fe274b0b9.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/a_salmon.webp",
+ "entity_type": "fish",
+ "label": "Лосось атлантический",
+ "external_id": "a_salmon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0a6b0f6f488e6e8588399724785b090ef6791ab6e788328cdbc62792a7a2808e.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/a_smelt.webp",
+ "entity_type": "fish",
+ "label": "Корюшка азиатская",
+ "external_id": "a_smelt",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/1cbb20f693cc6eaad9fd45ce9d1a6f3b2fc8098db8c6143d4f7526f1353bc62d.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/agar.webp",
+ "entity_type": "fish",
+ "label": "Щука панцирная",
+ "external_id": "agar",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/alb_barbel.webp",
+ "entity_type": "fish",
+ "label": "Усач альбинос",
+ "external_id": "alb_barbel",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/f15072bbb1dce7192fed0e838311bcf11427c704ebdf360c11c6fb44b133c9a4.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/alfonsino.webp",
+ "entity_type": "fish",
+ "label": "Берикс красный",
+ "external_id": "alfonsino",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/ambl_h.webp",
+ "entity_type": "fish",
+ "label": "Скат полярный",
+ "external_id": "ambl_h",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/d9b9c102af07d5a05cf1309b8e08e3f94622313cb5c6d9a0617a8d7945c9e746.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/ambl_r.webp",
+ "entity_type": "fish",
+ "label": "Скат колючий",
+ "external_id": "ambl_r",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4a52a81a48b5ffb26d4ba7f71ba90364a5e9d54e730a95929c10c9be63a03257.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/asp.webp",
+ "entity_type": "fish",
+ "label": "Жерех",
+ "external_id": "asp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/06cd22d3521df76f1f424db8233f7cee834f29707abc7fc407af91945a623654.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/atl_cod.webp",
+ "entity_type": "fish",
+ "label": "Треска атлантическая",
+ "external_id": "atl_cod",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/02a4832c9f4ceeb7e4ab3cb2c797d6671659a61ed77deda1c58d3f65683d34ed.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/atl_herring.webp",
+ "entity_type": "fish",
+ "label": "Сельдь атлантическая",
+ "external_id": "atl_herring",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c38681cc53a2e694841748e4b7f6e043f5b833aa3e846b5a945fdf2aa10727d0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/b_bream.webp",
+ "entity_type": "fish",
+ "label": "Синец",
+ "external_id": "b_bream",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/bf1b0dea42e7ac972c976002b4d74c34c4e106398ffcee4fd426acae57e11976.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/b_carp.webp",
+ "entity_type": "fish",
+ "label": "Амур чёрный",
+ "external_id": "b_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/12725e4c2ff693a089bbc82c59d9a35e65d2dba5b1a28e4dcd13ec5f459ee864.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/b_gill.webp",
+ "entity_type": "fish",
+ "label": "Солнечник синежаберный",
+ "external_id": "b_gill",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/b_herring.webp",
+ "entity_type": "fish",
+ "label": "Сельдь Бражникова",
+ "external_id": "b_herring",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/de32d74902f791ee3ff1971b235a987339001b951a36867ac7c4ac3e6f571e27.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/b_omul.webp",
+ "entity_type": "fish",
+ "label": "Омуль байкальский",
+ "external_id": "b_omul",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/d81c36b8c933e836598d0024edb37e3b2d608d74360653c259133eaabb1f5ed8.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/b_scabbardfish.webp",
+ "entity_type": "fish",
+ "label": "Угольщик обыкновенный",
+ "external_id": "b_scabbardfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/barb_toni.webp",
+ "entity_type": "fish",
+ "label": "Голец сибирский-усач",
+ "external_id": "barb_toni",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/e170eeb5a1dc6b2ee16de195ff0e423a32576ad74a318d092566a0605e47b67c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/barsch.webp",
+ "entity_type": "fish",
+ "label": "Берш",
+ "external_id": "barsch",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/20b33f00be5afbe0ebbc17eec44c3cd569b2ac9f426f18c729fda9d685790a3a.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/beluga.webp",
+ "entity_type": "fish",
+ "label": "Белуга каспийская",
+ "external_id": "beluga",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/98a367e4c35e0fd0294ed39f9427830c58aad6216535e6fed306b2e5e55e50f7.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/bh_carp.webp",
+ "entity_type": "fish",
+ "label": "Толстолобик пёстрый",
+ "external_id": "bh_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a118e4b7d1912fc6d15d29670cd06d0c224ccbeca4fad038e60d4c6bab73b4f0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/bl_buffalo.webp",
+ "entity_type": "fish",
+ "label": "Буффало чёрный",
+ "external_id": "bl_buffalo",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/040bcc3fd994268007adf2d920e09ec4f5c46a3ebd4dcf8edad8e19181ad874f.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/black_crappie.webp",
+ "entity_type": "fish",
+ "label": "Краппи чёрный",
+ "external_id": "black_crappie",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/bp_bass.webp",
+ "entity_type": "fish",
+ "label": "Окунь павлиний",
+ "external_id": "bp_bass",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/bream.webp",
+ "entity_type": "fish",
+ "label": "Лещ",
+ "external_id": "bream",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5f31661b80f20ce80aa488dfd0000396c27f4c99981daae97c1f6b8fd15c758b.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/buffalo.webp",
+ "entity_type": "fish",
+ "label": "Буффало большеротый",
+ "external_id": "buffalo",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/adcfbd8314e7ba7631735641c12495f459cef2fba4c1628d0db381b77c069d0e.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/bullhead_syb.webp",
+ "entity_type": "fish",
+ "label": "Подкаменщик сибирский",
+ "external_id": "bullhead_syb",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5e8136b827a43938d391b94fd0f43d9121a10c95d88510f820f190cef12744c5.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/burbot.webp",
+ "entity_type": "fish",
+ "label": "Налим",
+ "external_id": "burbot",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/b6eaf61fbe504ae61381dc418987f12e37d58c3a401a3dd7bd001c77decce077.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c.bream.webp",
+ "entity_type": "fish",
+ "label": "Подлещик",
+ "external_id": "c.bream",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c.carp.webp",
+ "entity_type": "fish",
+ "label": "Карась золотой",
+ "external_id": "c.carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9a11223888a9847606b9988f049314d3638d61684847bf73cd04226c2d59f931.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c.roach.webp",
+ "entity_type": "fish",
+ "label": "Плотва обыкновенная",
+ "external_id": "c.roach",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/96a729638ff62c809020f65b036d5d0750e2cea7d6a8c4b40740ab5ea982308c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c_anguineus.webp",
+ "entity_type": "fish",
+ "label": "Акула плащеносная",
+ "external_id": "c_anguineus",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/1579ea915194cf24bc3ad9b803956ee54f80c054796fd37992fdb82fd9dcc76b.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c_barbel.webp",
+ "entity_type": "fish",
+ "label": "Усач обыкновенный",
+ "external_id": "c_barbel",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9fae95e709f240d8ec0e0350e6d872f540260ffd79c376c809e15979e0ed42c7.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c_bleak.webp",
+ "entity_type": "fish",
+ "label": "Уклейка",
+ "external_id": "c_bleak",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7b1a47c5e9af0cfe08a3c2bd33fbc61e8b65003f75359ffd5155f91f91e88c4d.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c_herring.webp",
+ "entity_type": "fish",
+ "label": "Пузанок каспийский",
+ "external_id": "c_herring",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/2049c3d5575c3d1c678615bde2d737904aed8e24dc8e58a75b2ff96e5a5619dd.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c_lamprey.webp",
+ "entity_type": "fish",
+ "label": "Минога каспийская",
+ "external_id": "c_lamprey",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0c4b3640092fa7a98b2da476307aa29251605befb80abafd36c6e0c693eedfd6.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c_nase.webp",
+ "entity_type": "fish",
+ "label": "Подуст",
+ "external_id": "c_nase",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/574d0fe0fa6ec653500d27bd7869132c5173247960f16468b14a8a74e2bb4cab.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/c_squid.webp",
+ "entity_type": "fish",
+ "label": "Кальмар обыкновенный",
+ "external_id": "c_squid",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7b1baae8d9aee1a0892800a21835b205984e4abbaa576d2a559273032d9ff659.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/carp.webp",
+ "entity_type": "fish",
+ "label": "Карп чешуйчатый",
+ "external_id": "carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/15d3e2a519d5dcc76501f87fdc93f4c3988cdfbb69d5831254c837ea63d6b767.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/carp_albino.webp",
+ "entity_type": "fish",
+ "label": "Карп чешуйчатый - альбинос",
+ "external_id": "carp_albino",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/8323202085aed68dd471a239362b238bdf7174d44e4ff5976f607e00ffccb642.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/carp_ghost.webp",
+ "entity_type": "fish",
+ "label": "Карп чешуйчатый - призрак",
+ "external_id": "carp_ghost",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a89a6d0f677567e5c7fd67da62fb61d4b205f52d568e5a77ef341a2e76514451.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/carp_red.webp",
+ "entity_type": "fish",
+ "label": "Карп красный Старвас - чешуйчатый",
+ "external_id": "carp_red",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/30f524208b5f6cf10a70494555ad6a1d297b94c5826a37eb3f1b69ead26a06e0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/centroloph_n.webp",
+ "entity_type": "fish",
+ "label": "Центролоф чёрный",
+ "external_id": "centroloph_n",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a50b236bc6bcb623f9d52025fe647a3b24bef9df0aaa9a76e035bb13d4c9acde.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/cetorhinus_m.webp",
+ "entity_type": "fish",
+ "label": "Акула гигантская",
+ "external_id": "cetorhinus_m",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0f0c119f7a8322b857510a521c9f3c81d373e608373bd7af5d586bee1fc65fca.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/ch_beluga.webp",
+ "entity_type": "fish",
+ "label": "Белуга черноморская",
+ "external_id": "ch_beluga",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/6839c32f7ed1b59ae8e1131ac6253d7c6101125c5c1a5512ce572b0a06112ad2.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/ch_catfish.webp",
+ "entity_type": "fish",
+ "label": "Сомик канальный",
+ "external_id": "ch_catfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/cha_herring.webp",
+ "entity_type": "fish",
+ "label": "Сельдь черноморская",
+ "external_id": "cha_herring",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7004fda96b86c3997eabad772c432dbbe841ab7f139e716b9243274ec3e0b0b8.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/chan_m.webp",
+ "entity_type": "fish",
+ "label": "Краснопёр монгольский",
+ "external_id": "chan_m",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/e88bd8f50d7f97bb16f8a440073c05ed2b5a1d63d210f1aa98b7e5a5176c9481.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/chartus_kuoriius.webp",
+ "entity_type": "fish",
+ "label": "Голец Куорский",
+ "external_id": "chartus_kuoriius",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/ee28e89ce6bb14a078e6b785c69d80857d17175791759221587487ffdad832e5.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/chavycha.webp",
+ "entity_type": "fish",
+ "label": "Чавыча",
+ "external_id": "chavycha",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/506aa68acc93a1568311b24f76ea7a9da9842bb989a8b0b5b646591017344886.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/chimaera.webp",
+ "entity_type": "fish",
+ "label": "Химера европейская",
+ "external_id": "chimaera",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/89c62acef3c415ab7a24130a0b0cd82a2455b05d1dc4ee87888add49581dee08.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/chir.webp",
+ "entity_type": "fish",
+ "label": "Чир",
+ "external_id": "chir",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a8cddfba867b2a44878846a9f9e7cba5a771604cc2dc85a37d840975135ac2b3.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/chlamys_isl.webp",
+ "entity_type": "fish",
+ "label": "Гребешок исландский",
+ "external_id": "chlamys_isl",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4117da3b962b4d034bcf270b6123f8f8abdc9dd835b55062d9c9edde9a3194cc.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/chukuchan.webp",
+ "entity_type": "fish",
+ "label": "Чукучан",
+ "external_id": "chukuchan",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/740a6889979e163f2ab7d5627dc8e7d046b7cd905d6e6c3c21a1789eb911ef6d.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/coalfish.webp",
+ "entity_type": "fish",
+ "label": "Сайда",
+ "external_id": "coalfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/35911be88e9d5f8d3f97f5d11b14b793946bfe7c6fbea6fad7e64dc754191fce.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/common_carp.webp",
+ "entity_type": "fish",
+ "label": "Сазан",
+ "external_id": "common_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/3e144d0e0447def04f5375576e61fd83d05102e5b07fc7718280014bcf3894fa.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/conger.webp",
+ "entity_type": "fish",
+ "label": "Конгер",
+ "external_id": "conger",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/378154440fd333c9472b39c5502ff968ba333d44b51e823959a2b64939e0b039.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/crawfish.webp",
+ "entity_type": "fish",
+ "label": "Рак речной",
+ "external_id": "crawfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/24f514ff074af30c1d45aff8c833fc4fc3afca0472eec06ee34396286488d691.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/crucian.webp",
+ "entity_type": "fish",
+ "label": "Карась серебряный",
+ "external_id": "crucian",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7eed2d10925037404d662a279bbaf98e48333bb1ed2718c6a5e49800aa96ff87.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/d_zubatka.webp",
+ "entity_type": "fish",
+ "label": "Зубатка синяя",
+ "external_id": "d_zubatka",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a1ed1d445a31b32af25ac8416a5cb1133f3fb29025c8328f6c015ff9f2ab098c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/dace.webp",
+ "entity_type": "fish",
+ "label": "Елец",
+ "external_id": "dace",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/64c4036367c8218cbae00de5489797e572f1b6538b16fd80b8ccbace4f89982b.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/din_l_carp.webp",
+ "entity_type": "fish",
+ "label": "Карп Динкенбюльский линейный",
+ "external_id": "din_l_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/516974a85ee7fae73832da2440d1707877f8f3acb09c513e0a2350546990411a.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/din_m_carp.webp",
+ "entity_type": "fish",
+ "label": "Карп Динкенбюльский зеркальный",
+ "external_id": "din_m_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/cb343a4d3a42d0d58f61b5de679c8df60992c5c7abc6a759f295a2735646d9f0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/din_n_carp.webp",
+ "entity_type": "fish",
+ "label": "Карп Динкенбюльский голый",
+ "external_id": "din_n_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/fa9227b8f186e6ddf90105f6de9429affdef4e9474addd62971800d02782de69.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/dr_char.webp",
+ "entity_type": "fish",
+ "label": "Голец Дрягина",
+ "external_id": "dr_char",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/8715faaae5df060c98db6837c958688e1c6a71d0511bf419ba9584a131c1bb27.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/dreissena.webp",
+ "entity_type": "fish",
+ "label": "Дрейссена речная",
+ "external_id": "dreissena",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/feb84ef79588780a84dbcccf8c13448bd18be3d537704652f3dba12837c3d34a.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/e.chub.webp",
+ "entity_type": "fish",
+ "label": "Голавль",
+ "external_id": "e.chub",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4e2af3038b2b423380ac19484d310b51dbb3854304373e576e2bbeb95562dbe3.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/e.pikeperch.webp",
+ "entity_type": "fish",
+ "label": "Судак",
+ "external_id": "e.pikeperch",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/ed6d0c37f12b9206446a8126af776ddfaccc636861f807080ca1c7702b09f646.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/e_bream.webp",
+ "entity_type": "fish",
+ "label": "Лещ восточный",
+ "external_id": "e_bream",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/2f05fa36b187dee5e97dc24a7c11aaee01a4145b70f8c93fd4d77089fe0ef2cf.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/e_smelt.webp",
+ "entity_type": "fish",
+ "label": "Корюшка",
+ "external_id": "e_smelt",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9f5de77fa052d54e4c94d1387b055dd226be115ac96ae3390da16a4a970d8f20.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/ed_crab.webp",
+ "entity_type": "fish",
+ "label": "Краб съедобный",
+ "external_id": "ed_crab",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/b4bc2470860f2b2349341be268a78d9e1b7eae4c6a5a6d12eac90ddca27552ed.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/eel.webp",
+ "entity_type": "fish",
+ "label": "Угорь",
+ "external_id": "eel",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5fb131d8cba4c53c8106a93d8c3131231aa245df1f166b2037999e8b445c0b71.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/fe_lamprey.webp",
+ "entity_type": "fish",
+ "label": "Минога дальневосточная ручьевая",
+ "external_id": "fe_lamprey",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/8725cc89440550a92f6051def78d960e7eae52d3d890f00afac37b6c37237784.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/fhcatfish.webp",
+ "entity_type": "fish",
+ "label": "Сомик оливковый",
+ "external_id": "fhcatfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/freshwater_mussel.webp",
+ "entity_type": "fish",
+ "label": "Перловица",
+ "external_id": "freshwater_mussel",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/3899c5de7c08467e38666e943f1e3fe9116fdf2011e3faa53c70b5565899d90e.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/frog.webp",
+ "entity_type": "fish",
+ "label": "Лягушка",
+ "external_id": "frog",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0daa3985e4ac243afc175f67e376929bc82b916dcd9e01ec41dc2356c848f665.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/fwdrum.webp",
+ "entity_type": "fish",
+ "label": "Горбыль речной",
+ "external_id": "fwdrum",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/g_carp.webp",
+ "entity_type": "fish",
+ "label": "Амур белый",
+ "external_id": "g_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5a324ef7d3b4707cf0568800533524df6fcc100bf8b0e27c3abc60b0f3d0c14c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/g_carp_albino.webp",
+ "entity_type": "fish",
+ "label": "Амур белый альбинос",
+ "external_id": "g_carp_albino",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/bcaefd0ac9e0e565964f9399043a26f618a6cc262a99761b0115ed10ecca29c8.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/g_shad.webp",
+ "entity_type": "fish",
+ "label": "Доросома северная",
+ "external_id": "g_shad",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/g_tench.webp",
+ "entity_type": "fish",
+ "label": "Линь золотистый",
+ "external_id": "g_tench",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/26f73b963b029b2eaeeb374f799357846172abac47332cae2f0fc95f7d7c4b6c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/gc_smelt.webp",
+ "entity_type": "fish",
+ "label": "Форель озерная",
+ "external_id": "gc_smelt",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/63746703c28e6f9892ab41b1166f74fbce72980d24a7ccba147164688524bad4.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/golets_lev.webp",
+ "entity_type": "fish",
+ "label": "Голец Леванидова",
+ "external_id": "golets_lev",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/e7c8faab20a00554954abde72ee554dcbfead2423c0fcce12c25e74978a03e05.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/golyan.webp",
+ "entity_type": "fish",
+ "label": "Гольян",
+ "external_id": "golyan",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/59a593366f66df2c1f4707bf1f5bce847cd70d9051162440d66cb517ed9837b3.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/gorbusha.webp",
+ "entity_type": "fish",
+ "label": "Горбуша",
+ "external_id": "gorbusha",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/fd91b92a383cbae8772eb29463a4be6b38d785550907c1f58f33442abbf76762.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/gudgeon.webp",
+ "entity_type": "fish",
+ "label": "Пескарь обыкновенный",
+ "external_id": "gudgeon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/3377701b4b4a9ade1cb776a9c2b8cc7368a7130e7ec7b5ec4560c90d68036fdb.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/halibut_b.webp",
+ "entity_type": "fish",
+ "label": "Палтус синекорый",
+ "external_id": "halibut_b",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/eb01dcf40df689a8d436e53d62e2006a02df4a6b5c7b0a01217b405782cec5e3.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/halibut_w.webp",
+ "entity_type": "fish",
+ "label": "Палтус атлантический",
+ "external_id": "halibut_w",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9863433e08ed65b2361f0848816328125f6f5d4c80d3978fc90cf042c621a5c1.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/hi_utsri.webp",
+ "entity_type": "fish",
+ "label": "Карп Кои Хи Уцури",
+ "external_id": "hi_utsri",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/803a9b426eac2db9d4d2cbd613a1ca7d8d1b846ac9f786fa5007f960945a1fec.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/himant_g.webp",
+ "entity_type": "fish",
+ "label": "Гимантолоф атлантический",
+ "external_id": "himant_g",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/b6f236f551decd49d9dc479096dbb31604728247c06386ab3064f89bb7aecd72.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/hippoglos_p.webp",
+ "entity_type": "fish",
+ "label": "Камбала палтусовидная",
+ "external_id": "hippoglos_p",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/e2a50320cedd7b436f05079785e08825110845e54eea67f40e3b69ec2bccbc6a.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/hs_bass.webp",
+ "entity_type": "fish",
+ "label": "Лаврак полосатый гибридный",
+ "external_id": "hs_bass",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/k_herring.webp",
+ "entity_type": "fish",
+ "label": "Сельдь Кесслера",
+ "external_id": "k_herring",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/d1c58786c63269ef69647568297a4bfcdb80de9868418a887192d494dcf5bf21.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/k_salmon.webp",
+ "entity_type": "fish",
+ "label": "Лосось каспийский",
+ "external_id": "k_salmon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/10cff89eb92ab3388408f1f896e12b7b950fdfa5e21dc4e2b83cef737d6ed338.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/kaluga.webp",
+ "entity_type": "fish",
+ "label": "Калуга",
+ "external_id": "kaluga",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7c25f8bae1a7970f23b31cf160de694dcd490e13fbe6c5430bb7bd74679c008b.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/karasekarp.webp",
+ "entity_type": "fish",
+ "label": "Карасекарп",
+ "external_id": "karasekarp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/e26d5c9547e7070ddddbca553822e9cd37c72cd1f983c932652e9f84648af2f0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/katran.webp",
+ "entity_type": "fish",
+ "label": "Катран",
+ "external_id": "katran",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/daca39f15be12e7e84815973818be8d92d31c55b1767e112054ea03518111c3a.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/keta.webp",
+ "entity_type": "fish",
+ "label": "Кета",
+ "external_id": "keta",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/f3bb18d1e98eb6b8a64920977fd0f4a49a48b707963f653820efd96e9146a0fa.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/kijuch.webp",
+ "entity_type": "fish",
+ "label": "Кижуч",
+ "external_id": "kijuch",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/b851b8b327fef2016a8d24c2e771d9d2c0d38a94815eb2ccb31f51c5b6094118.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/kohaku.webp",
+ "entity_type": "fish",
+ "label": "Карп Кои Кохаку",
+ "external_id": "kohaku",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a69b7f20910e5db3c97baea493833efaec54660245d7b507cf2190a48db105a2.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/kunja.webp",
+ "entity_type": "fish",
+ "label": "Кунджа",
+ "external_id": "kunja",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/96439f716d719b83364ee548548fb40a3a2c5a6e5cf76911730fe903e14dc5dc.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/kutum.webp",
+ "entity_type": "fish",
+ "label": "Кутум",
+ "external_id": "kutum",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/d7984e10da1caa7e68d3f05bf10bd188bd020402f1f920c4f7dcaf81faddf11a.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/kw_tench.webp",
+ "entity_type": "fish",
+ "label": "Линь Квольсдорфский",
+ "external_id": "kw_tench",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5bf7cad7ea049ee927bfe8fe8e4c8573bf498d6d0f619fdf20c338ded92cd4f0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/l_carp.webp",
+ "entity_type": "fish",
+ "label": "Карп линейный",
+ "external_id": "l_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/f5d744d2cf867bccdc6f04568d77b1af3acf24febdeca508e441ffb06443f2c0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/l_carp_albino.webp",
+ "entity_type": "fish",
+ "label": "Карп линейный - альбинос",
+ "external_id": "l_carp_albino",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/36fc64532ae0c53e2ea7a27f3a9924baf5028b59835f9179e6ad55754697caa0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/l_carp_ghost.webp",
+ "entity_type": "fish",
+ "label": "Карп линейный - призрак",
+ "external_id": "l_carp_ghost",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/39f8191ad2d41fd29547b032364f3eb3d20cc8f0dfbf7c737ea6a91e86131e02.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/l_minnow.webp",
+ "entity_type": "fish",
+ "label": "Гольян озёрный",
+ "external_id": "l_minnow",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7005ba374bfa221baacfc5c1d8cc93ed45eb16b152b3266ab6d4354b0fdd4adf.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/l_salmon.webp",
+ "entity_type": "fish",
+ "label": "Лосось ладожский",
+ "external_id": "l_salmon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/42301d1e617152a8343a5a9cd12ab793d51b13a3aa722713eb103068c205d57c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/l_sturgeon.webp",
+ "entity_type": "fish",
+ "label": "Осётр ладожский",
+ "external_id": "l_sturgeon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/3d30fadc24d84454129392ef3ed71861ecbc5854337395a70393844e3e727f8d.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/lamna_n.webp",
+ "entity_type": "fish",
+ "label": "Акула сельдевая атлантическая",
+ "external_id": "lamna_n",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/805f3f42db49fc7ce69b48ef244cf384940f33e6a31685073a902957c7406619.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/lampris_g.webp",
+ "entity_type": "fish",
+ "label": "Опах краснопёрый",
+ "external_id": "lampris_g",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9adbbf3ef19005fa2cf0f0a31a27611a1dcbf78710ed0c4647037b86b1230924.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/lenok_o.webp",
+ "entity_type": "fish",
+ "label": "Ленок острорылый",
+ "external_id": "lenok_o",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/ad89bb59ed27cf9ac930a99b13199bbac2a10386492d1c9ea20b2998bc58ce61.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/lenok_t.webp",
+ "entity_type": "fish",
+ "label": "Ленок тупорылый",
+ "external_id": "lenok_t",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/1d68f821deee6a12460faef6ef555cd7bceab1f30d4f0701179b64517f08a300.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/lh_kambala.webp",
+ "entity_type": "fish",
+ "label": "Камбала хоботная",
+ "external_id": "lh_kambala",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/8a91dddf996fc3e77cd5ec2d14c39981ee74a1fda15dd52122081cb2be463c29.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/lm_b_bass.webp",
+ "entity_type": "fish",
+ "label": "Окунь большеротый",
+ "external_id": "lm_b_bass",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/lophius_p.webp",
+ "entity_type": "fish",
+ "label": "Морской чёрт",
+ "external_id": "lophius_p",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/28a903e077792a1f31719f046481351cd170f53d283d99657e6b5ae52189d5cc.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/lycodes_e.webp",
+ "entity_type": "fish",
+ "label": "Ликод Эсмарка",
+ "external_id": "lycodes_e",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/467f92684059bb057de3edf39b928febf2f0a1c41fd615d63030857e4dd9d16b.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/lycodes_s.webp",
+ "entity_type": "fish",
+ "label": "Ликод полуголый",
+ "external_id": "lycodes_s",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/1cbd464fde94498ffd91c5641e578a8d5b45c6c62fa8bba65be2044ff0bde49c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/m_carp.webp",
+ "entity_type": "fish",
+ "label": "Карп зеркальный",
+ "external_id": "m_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/fd8415817d8753b0501079bb33548bd28b073dd8d7f0fcef2215205f903606b9.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/m_carp_albino.webp",
+ "entity_type": "fish",
+ "label": "Карп зеркальный - альбинос",
+ "external_id": "m_carp_albino",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/ae94da17659d5189a2e7a92e77955019b23e42510ecb286d527c1e9a31a1dbe7.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/m_carp_ghost.webp",
+ "entity_type": "fish",
+ "label": "Карп зеркальный - призрак",
+ "external_id": "m_carp_ghost",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/fb68dd88d77361c6bd433c9a429ad70983b79f960307e21e824192379f685f58.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/m_carp_red.webp",
+ "entity_type": "fish",
+ "label": "Карп красный Старвас - зеркальный",
+ "external_id": "m_carp_red",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/df315a64f1dad7044654da293077948bf45715449b88b43b8470aecd27dbede1.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/m_goshiki.webp",
+ "entity_type": "fish",
+ "label": "Карп Кои Мамэсибори Госики",
+ "external_id": "m_goshiki",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/28efbc77500767f6d42843ff9e5fdd2b1e4783047670bed4bea3f655a302edb9.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/m_molva.webp",
+ "entity_type": "fish",
+ "label": "Мольва обыкновенная",
+ "external_id": "m_molva",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/8de599e0612c3a0c5d1e63194fa2088242da138c40d27fd50b1588991c90f0cb.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/m_scorpius.webp",
+ "entity_type": "fish",
+ "label": "Керчак европейский",
+ "external_id": "m_scorpius",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7ee0ff9033aca13b6ebe9dddd19e67665a5eb91a6689212c78920f3c1660fa8d.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/m_zubatka.webp",
+ "entity_type": "fish",
+ "label": "Зубатка пятнистая",
+ "external_id": "m_zubatka",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0a38be57cf1b26e89fdc53f2363bb3d8c6da9aa59af4e101c2fa589ba7ee2cf6.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/macrourus_b.webp",
+ "entity_type": "fish",
+ "label": "Макрурус северный",
+ "external_id": "macrourus_b",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4908664bf2f32ed7e28b3d5294cb16bc92705cc2c0c1f559da28699f0e7d7545.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/makrel.webp",
+ "entity_type": "fish",
+ "label": "Макрель атлантическая",
+ "external_id": "makrel",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/426548cd6ccf2641cc21adace86743672bae8af212f5faeab1ab9a66afa38828.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/malma.webp",
+ "entity_type": "fish",
+ "label": "Мальма",
+ "external_id": "malma",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7e230109b14f1e3f0850fe49875160e371677c958d4570f7db7978525bb17895.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/meagre.webp",
+ "entity_type": "fish",
+ "label": "Горбыль серебристый",
+ "external_id": "meagre",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/menek.webp",
+ "entity_type": "fish",
+ "label": "Менёк",
+ "external_id": "menek",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/ec81c9e44b0b74e6d9d7ba3b1d092fcd0f3bd87cc8c7e351c0b5b58a566622f6.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/merlang.webp",
+ "entity_type": "fish",
+ "label": "Мерланг",
+ "external_id": "merlang",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/449fb1792bd91a3b879605ced6a99a3eca32d630f4af42a99f37fcfbc3ae2105.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/merluza.webp",
+ "entity_type": "fish",
+ "label": "Мерлуза",
+ "external_id": "merluza",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/81bf4cfbdedd66d6eda93b4df013b66518097362493e17ee2a06acd7814a4f75.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/midori_g.webp",
+ "entity_type": "fish",
+ "label": "Карп Кои Мидори-гои",
+ "external_id": "midori_g",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/mikija.webp",
+ "entity_type": "fish",
+ "label": "Микижа",
+ "external_id": "mikija",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/91b53f1027507786183e08a4e5a383795e6b8ecba45f6a7c13817ffd3dd2a5a0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/molva.webp",
+ "entity_type": "fish",
+ "label": "Мольва голубая",
+ "external_id": "molva",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/6a9407c57d8401a98aef869d8b6d877eb694f0083a1867c6f87c855508cbe370.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/muksun.webp",
+ "entity_type": "fish",
+ "label": "Муксун",
+ "external_id": "muksun",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a39abf2e73e3e5ce111427e0f74c30b76d4acb0c63abc74b6937618cb4a44d58.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/mytilus_ed.webp",
+ "entity_type": "fish",
+ "label": "Мидия",
+ "external_id": "mytilus_ed",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c2e250b955916aeccc3160ab60502e501a15d8e068ca8c801035646b38a3864f.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/n.pike.webp",
+ "entity_type": "fish",
+ "label": "Щука обыкновенная",
+ "external_id": "n.pike",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/910b8cc1a84b1c40a4e99e04135a70a9874f46472ec7c7a61fbdf8f011a855c3.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/n_asagi.webp",
+ "entity_type": "fish",
+ "label": "Карп Кои Наруми Асаги",
+ "external_id": "n_asagi",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9867deccded0155ae3d2c93980361bd284ae4a73e744948cc7c97808e62e4135.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/n_carp.webp",
+ "entity_type": "fish",
+ "label": "Карп голый",
+ "external_id": "n_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a1db90e0f8a23ab1cef79d76d34246fb6ce33ab49a56569b794ac1dd28949f88.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/n_carp_albino.webp",
+ "entity_type": "fish",
+ "label": "Карп голый - альбинос",
+ "external_id": "n_carp_albino",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/74b8ffb148aecf637da1670bfa56363ca791ca06516d2ee6fb6f6a9153f17c4b.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/n_carp_ghost.webp",
+ "entity_type": "fish",
+ "label": "Карп голый - призрак",
+ "external_id": "n_carp_ghost",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/07c4746da3cac7230e2a34a1efc26d55f89e4e4a430811f24d4c6e37bb6cb9fe.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/neiva.webp",
+ "entity_type": "fish",
+ "label": "Нейва",
+ "external_id": "neiva",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/d7a13325266342cd7177fa46719fedf3a0b50e68ee571b6fa966b7a2a98cfdd0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/nelma.webp",
+ "entity_type": "fish",
+ "label": "Нельма",
+ "external_id": "nelma",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/06740c1141f3b37cf97c4ce6b348aa2c76a968e3a16c68a32318f31c83e4668e.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/nerka.webp",
+ "entity_type": "fish",
+ "label": "Нерка",
+ "external_id": "nerka",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4fa3b75e87fd3c6ca8ec8e599881a888e0456874a124de2e599cdce9c0516bf1.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/o_ogon.webp",
+ "entity_type": "fish",
+ "label": "Карп Кои Орэндзи Огон",
+ "external_id": "o_ogon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a2199d416e1b7266ded0938c767ccd785d681261699d847b2a361dbfcd4e8a0b.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/onkor_m.webp",
+ "entity_type": "fish",
+ "label": "Сима",
+ "external_id": "onkor_m",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/794c54a43daa6a135ffdbc61bb3e8abf420e42e21cd2116c8575d92f32ac7a21.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/onkor_mg.webp",
+ "entity_type": "fish",
+ "label": "Сима жилая",
+ "external_id": "onkor_mg",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4ce45bfbbd4ba02669d4f69859098957c435739369dc7f02a6a97c752243900f.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/os_grayling.webp",
+ "entity_type": "fish",
+ "label": "Хариус восточносибирский",
+ "external_id": "os_grayling",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c266ce436c25f13a02523c064c70917e9f4b58c661411121056f131d24ec5236.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/osetr_balt.webp",
+ "entity_type": "fish",
+ "label": "Осётр балтийский",
+ "external_id": "osetr_balt",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/71e30dcc84d86a9c4542e216a4b488798294eb4053380b61cac2496c920c93d3.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/osetr_ship.webp",
+ "entity_type": "fish",
+ "label": "Шип",
+ "external_id": "osetr_ship",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/06b03e91e832c985ae69882e7790f49e8eacd777bfd5b38f6986b9a72205520e.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/ostrea_ed.webp",
+ "entity_type": "fish",
+ "label": "Устрица съедобная",
+ "external_id": "ostrea_ed",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/991d91c3cf79a13cc1ca488db7cc42d2661e46b746bbb63de57b865d9dded2ed.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/p_sturgeon.webp",
+ "entity_type": "fish",
+ "label": "Осётр персидский",
+ "external_id": "p_sturgeon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/2f201e4439350fc63c192fee38767ee1e55fc5d4d116b41fd8749ccbc431452b.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/p_zubatka.webp",
+ "entity_type": "fish",
+ "label": "Зубатка полосатая",
+ "external_id": "p_zubatka",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/3f284b44b2591a454f55a4e661764e22ac901a5d1770c0b1df1231297f0c83e5.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/palia_kr.webp",
+ "entity_type": "fish",
+ "label": "Палия кряжевая",
+ "external_id": "palia_kr",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/8077f384944c8751ea56d138942d899d4c4efadfae8b23f816915511f3b72fad.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/palia_lud.webp",
+ "entity_type": "fish",
+ "label": "Палия лудожная",
+ "external_id": "palia_lud",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/84bbf4acb361f314c7f99db711a9ae827d76a0742af4cd56a4bb2763ca013891.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/peled.webp",
+ "entity_type": "fish",
+ "label": "Пелядь",
+ "external_id": "peled",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/65fdba0cda094b90afef907c29c897e39181e2983f35e1e8b766bdf142a103ab.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/perch.webp",
+ "entity_type": "fish",
+ "label": "Окунь",
+ "external_id": "perch",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9e85680d208ddc569ba79da4a34a5fcac17ce3ea687a04cbe5ed34cd59684ef3.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/piksha.webp",
+ "entity_type": "fish",
+ "label": "Пикша",
+ "external_id": "piksha",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/54eee896445e6eb00c134f30cf8c7ffce4d5bc5a520e199bccddb7b629e5730a.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/pinagor.webp",
+ "entity_type": "fish",
+ "label": "Пинагор",
+ "external_id": "pinagor",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c834e84e38ff31e9baa6184540f2b3573d6d2537fbd4b8b1914cddef5a9cbbd7.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/pollachius.webp",
+ "entity_type": "fish",
+ "label": "Поллак",
+ "external_id": "pollachius",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/713406119995a711b1ded8ddb50ed21b585c0b78beec1a73f1eeadfb3a3cd7fd.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/polyprion.webp",
+ "entity_type": "fish",
+ "label": "Окунь каменный",
+ "external_id": "polyprion",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/99a90e3b17f5459b99f868c8f64ac27be182e7d18d15410660a4812288bb70ed.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/poutassou.webp",
+ "entity_type": "fish",
+ "label": "Путассу северная",
+ "external_id": "poutassou",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/df0a5107d97613dade8227d2dc4aa51dc2f5124a6a6ad8dcb4f2a4c6d800a378.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/pumps_sunfish.webp",
+ "entity_type": "fish",
+ "label": "Окунь солнечный",
+ "external_id": "pumps_sunfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/339e1eadd90eb4dbcaeca623098b6f070cf719c544e333f5519c42ecef1978cb.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/r_carp.webp",
+ "entity_type": "fish",
+ "label": "Карп рамчатый",
+ "external_id": "r_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/790ee143fa1b550cb9648ce20980f755acd5a50ba11a309bcf993810f5567bf7.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/r_carp_albino.webp",
+ "entity_type": "fish",
+ "label": "Карп рамчатый - альбинос",
+ "external_id": "r_carp_albino",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/2ca7c50649c830913736cadc7dd98706f69054aee7a496ded55dfb66c95eb702.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/r_carp_ghost.webp",
+ "entity_type": "fish",
+ "label": "Карп рамчатый - призрак",
+ "external_id": "r_carp_ghost",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5e4d29c3241f6711b493c4226219b8be9815a7cb6ee1646da0860c6f5ec1c722.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/r_sturgeon.webp",
+ "entity_type": "fish",
+ "label": "Осётр русский",
+ "external_id": "r_sturgeon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/33a17f8635e5fb9fa2fb0e73d9af7b94c159bbcf80c433202d13cf885e0be55c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/red_fish.webp",
+ "entity_type": "fish",
+ "label": "Окунь морской норвежский",
+ "external_id": "red_fish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/2d21379d4dcc92af9cea2d66f23b55c617cbbab6eeef69420f83aebb0ad25710.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/resfish.webp",
+ "entity_type": "fish",
+ "label": "Солнечник красноухий",
+ "external_id": "resfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/ripus.webp",
+ "entity_type": "fish",
+ "label": "Рипус",
+ "external_id": "ripus",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4ab345e4e8080bea0ea0eefabd09663a50b2bde1d9f0ef96fece2a1bb098096e.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/riv_brown_trout.webp",
+ "entity_type": "fish",
+ "label": "Форель ручьевая",
+ "external_id": "riv_brown_trout",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/803ac919b863f66f9f864635cb43aea3362f611aee6210fa23352f8272e10e5c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/riv_rb_trout.webp",
+ "entity_type": "fish",
+ "label": "Форель радужная",
+ "external_id": "riv_rb_trout",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9f50ebe4e681b45426a4742eaea7c9c701bc1aa2d92831d0dced1999cbf5b001.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/rk_crab.webp",
+ "entity_type": "fish",
+ "label": "Краб камчатский",
+ "external_id": "rk_crab",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/63e36112bfd79ed497d732dd030aac9fcf3a8458475f80d9084c80a46bc9111f.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/rudd.webp",
+ "entity_type": "fish",
+ "label": "Краснопёрка",
+ "external_id": "rudd",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/8caf134c9e03c902407a13ce6d77d950499805b1bcef867743853ef4e32ef162.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/ruffe.webp",
+ "entity_type": "fish",
+ "label": "Ёрш",
+ "external_id": "ruffe",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://gw.rf4map.ru/public/images/fish_1747436374332.webp"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/ruffe_n.webp",
+ "entity_type": "fish",
+ "label": "Ёрш-носарь",
+ "external_id": "ruffe_n",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/94b7afdd71f3a2c940635e13ebd6af6b5ef6268f282db7ccdca2f303bdab3917.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/s.bream.webp",
+ "entity_type": "fish",
+ "label": "Густера",
+ "external_id": "s.bream",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/1459f7836abc060d3e5d83232a001dc1bc5d23c0bf4514cb693d462409f1412e.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/s.orfe.webp",
+ "entity_type": "fish",
+ "label": "Язь",
+ "external_id": "s.orfe",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/1f24be07e10c8ea9104efcb61550421a7a1cf16adb11a886561d21bf70025f5c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/s_bass.webp",
+ "entity_type": "fish",
+ "label": "Лаврак полосатый",
+ "external_id": "s_bass",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/s_carp.webp",
+ "entity_type": "fish",
+ "label": "Толстолобик белый",
+ "external_id": "s_carp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c5ca13596c0489f3485f21e5a97e0527db07faf1ce2367305eaaddcb13520e3c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/s_freaks.webp",
+ "entity_type": "fish",
+ "label": "Карп Супер Фрикс",
+ "external_id": "s_freaks",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/2c173a80dea6400be6c3bf0f5e3fa49348c423aca2b47cd8d587c2e6df02b7e5.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/s_lamprey.webp",
+ "entity_type": "fish",
+ "label": "Минога сибирская",
+ "external_id": "s_lamprey",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/e3fcc141474a07f82797ae94de6acb61c2b3e79069561ad5fcc847e211b61c6c.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/s_saurus.webp",
+ "entity_type": "fish",
+ "label": "Сайра атлантическая",
+ "external_id": "s_saurus",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0f7912ba0d22e4be3cedd965ea8c5f665c563ea6b873848b769ac4b1ccbc46ac.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sabrefish.webp",
+ "entity_type": "fish",
+ "label": "Чехонь",
+ "external_id": "sabrefish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a4c43bc8f676c0f8770d9538487ae059dae31ad1b849b67491b4680b99944f76.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/salvel_l.webp",
+ "entity_type": "fish",
+ "label": "Палия обыкновенная",
+ "external_id": "salvel_l",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c280d4d09db316dece7f39bfd2edd1a51efe81a551616ae5f543d5df4b458f2e.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sardina_p.webp",
+ "entity_type": "fish",
+ "label": "Сардина европейская",
+ "external_id": "sardina_p",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a84853a813231f49a0080ccb6f5e8110875167ead580908e47d520b9c97b9772.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sea_kambala.webp",
+ "entity_type": "fish",
+ "label": "Камбала морская",
+ "external_id": "sea_kambala",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0329fe98fc648a00ce5730c9aba90e6ad7625e88de392c74de4b5524fef00f3f.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sebastes_m.webp",
+ "entity_type": "fish",
+ "label": "Окунь-клювач",
+ "external_id": "sebastes_m",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7a85e8b5f4fd2798c76a800669a887fb3fddac672b43697bbf6d34a98bc9b495.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sebastes_n.webp",
+ "entity_type": "fish",
+ "label": "Окунь морской золотистый",
+ "external_id": "sebastes_n",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4374992abf369528a5514d048fb5d3efc09c7ef335fcc9a18f4631bc6b597cfa.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sevan_trout.webp",
+ "entity_type": "fish",
+ "label": "Форель севанская",
+ "external_id": "sevan_trout",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/e636a7d3a8fbd689743bc548ade9d9a3a0b5eeb4a5a044f0d9a4fb0529964375.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sgar.webp",
+ "entity_type": "fish",
+ "label": "Панцирник пятнистый",
+ "external_id": "sgar",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sh_barbel.webp",
+ "entity_type": "fish",
+ "label": "Усач короткоголовый",
+ "external_id": "sh_barbel",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/13718819ec94d1f0b9d2a80f14d4c7066f87cb2cdc3216902688c677359010e6.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/shemaya.webp",
+ "entity_type": "fish",
+ "label": "Шемая каспийская",
+ "external_id": "shemaya",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/715fa02dd67046dfe9000afd44f9c2cc67c309216558580d2f6367fe9db46ae1.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/shemaya_cha.webp",
+ "entity_type": "fish",
+ "label": "Шемая черноморская",
+ "external_id": "shemaya_cha",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9efe5fca5b7f184de8f31310a2546199032aa51fd2c43b9111b521de898933b7.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sig.webp",
+ "entity_type": "fish",
+ "label": "Сиг волховский",
+ "external_id": "sig",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a641b32c8277fda3f5752b69cc696ca2bebc2ed39b54b4a68ee3837bbb1e2975.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sig_black.webp",
+ "entity_type": "fish",
+ "label": "Сиг чёрный",
+ "external_id": "sig_black",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/323de4259b7ec9ced9ed0c664dca16b1f89e1259e0b608698e6b8c280c659a05.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sig_kuor.webp",
+ "entity_type": "fish",
+ "label": "Сиг куорский",
+ "external_id": "sig_kuor",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/2aac834751a10686cf5ad8dc4854dc729f3ea393a6660433422fdfd23d18e825.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sig_ludoga.webp",
+ "entity_type": "fish",
+ "label": "Сиг-лудога",
+ "external_id": "sig_ludoga",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/52dc4916c8421375271c5d1a1673cd8120173f4b2ebc17be5b593fc7e76511ab.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sig_o_l.webp",
+ "entity_type": "fish",
+ "label": "Сиг ладожский озёрный",
+ "external_id": "sig_o_l",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/685d194b0d4a68ece64204d2dd065662f0376135ec30406f1d332dad30099ab4.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sig_ostr.webp",
+ "entity_type": "fish",
+ "label": "Сиг острожский",
+ "external_id": "sig_ostr",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sig_p.webp",
+ "entity_type": "fish",
+ "label": "Сиг-пыжьян",
+ "external_id": "sig_p",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/d658d6e7c57aedaef52e8212632ccdef63b1a10a2e52cbb59a63d17e8b766fe1.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sig_valaam.webp",
+ "entity_type": "fish",
+ "label": "Сиг валаамский",
+ "external_id": "sig_valaam",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/1ede7e3074628726c60fa491674ca8f754e487c5516f6b58b0c9eb338eaa4500.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sig_vouksa.webp",
+ "entity_type": "fish",
+ "label": "Сиг вуоксинский",
+ "external_id": "sig_vouksa",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/2ee3be371ad00be658d473e7f2ea841fd681cc4136f21a87502509190ba6398d.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sm_bass.webp",
+ "entity_type": "fish",
+ "label": "Окунь малоротый",
+ "external_id": "sm_bass",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/somniosus_m.webp",
+ "entity_type": "fish",
+ "label": "Акула гренландская полярная",
+ "external_id": "somniosus_m",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5ddbc46834a439ed24bf8428665a4be4d047561e847bf4ce4b1a9e8e079a1b3f.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sp_bass.webp",
+ "entity_type": "fish",
+ "label": "Окунь пятнистый",
+ "external_id": "sp_bass",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/st_sturgeon.webp",
+ "entity_type": "fish",
+ "label": "Севрюга",
+ "external_id": "st_sturgeon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/8ad336c91b44c0b38b629397f3665ce4ed7f3540dcb68b1ff3cdc94d6b124687.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sterlet.webp",
+ "entity_type": "fish",
+ "label": "Стерлядь",
+ "external_id": "sterlet",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/96b5f2cb6afbc27e5efeddac7e7ff12271c9887604bb40a9deff651e5e1b7781.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/stickleback_ninesp.webp",
+ "entity_type": "fish",
+ "label": "Колюшка девятииглая",
+ "external_id": "stickleback_ninesp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4cfe3ca9398ccb39d0c79c5a41b89401b90946d25e139c6fa41c5ab043571045.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/stickleback_ss.webp",
+ "entity_type": "fish",
+ "label": "Колюшка малая южная",
+ "external_id": "stickleback_ss",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/39bf42f1b8b67a2fefce102d6cff9eafa068912c0e12ee3d78e0860939d4b0b8.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/stickleback_threesp.webp",
+ "entity_type": "fish",
+ "label": "Колюшка трёхиглая",
+ "external_id": "stickleback_threesp",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/3d583bb7a0698e104c85c0a2bf6333190868c457493a14d5a15c343623e32eac.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/sv_sig.webp",
+ "entity_type": "fish",
+ "label": "Сиг свирский",
+ "external_id": "sv_sig",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c599fe8cb0c486f2d0b01cbd14daedb045de7c488f516bbc20bf05b6f5ff9f5b.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/syb_elets.webp",
+ "entity_type": "fish",
+ "label": "Елец сибирский",
+ "external_id": "syb_elets",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5948c07352ba9a924889cea25e0d3aaf1937b9f5c2ba577966c19eeb2cbb29a9.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/syb_gudgeon.webp",
+ "entity_type": "fish",
+ "label": "Пескарь сибирский",
+ "external_id": "syb_gudgeon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/ebc61c19547132d42b80fa0f3ede40ff01b02c72affdba2b39abdeda82559431.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/syb_roach.webp",
+ "entity_type": "fish",
+ "label": "Плотва сибирская",
+ "external_id": "syb_roach",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/904938059287aeca3ceb78fee3799f9338722da83629a398fe579b78ff16ed1f.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/syb_sterlet.webp",
+ "entity_type": "fish",
+ "label": "Стерлядь сибирская",
+ "external_id": "syb_sterlet",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/b3ef18bc279827724de1254acec419e796a92ec18ffa4cb903ca67f75c59ba5d.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/syb_vendace.webp",
+ "entity_type": "fish",
+ "label": "Ряпушка сибирская",
+ "external_id": "syb_vendace",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/6c42bb4f4f913f10e5da3548830c7afa69ac020b9c261987543f45f1dcaa7427.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/taimen.webp",
+ "entity_type": "fish",
+ "label": "Таймень",
+ "external_id": "taimen",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/caf2541f3a8a4990ef7c51ed8b3760c9fef705e1d8cf5c5db47c324b95238d18.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/taran.webp",
+ "entity_type": "fish",
+ "label": "Тарань",
+ "external_id": "taran",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5e5d5697ebfe0152c1aeae1d1609012502a2622429d24f544370698ed09e08ec.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/tench.webp",
+ "entity_type": "fish",
+ "label": "Линь",
+ "external_id": "tench",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/5d414fef137a03080e9ad6a3e6dfb48474478bf868ffe4f55df2b84fd4b47ff5.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/thynnus_t.webp",
+ "entity_type": "fish",
+ "label": "Тунец голубой",
+ "external_id": "thynnus_t",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/f64048046696f43548c95b18986c634025a7bc546b5349088d96fdfbe3e5031f.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/tiulka.webp",
+ "entity_type": "fish",
+ "label": "Тюлька черноморская",
+ "external_id": "tiulka",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/ed48af63c8294aa1f03027a45257f6cd9214b9e21586190995164558b1a13360.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/trib_h.webp",
+ "entity_type": "fish",
+ "label": "Краснопёр-Угай крупночешуйчатый",
+ "external_id": "trib_h",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/03a4fc377fcbad0963b1c23747f202c88dda977965ebcd0eeca15b565eab85c1.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/trid_lamprey.webp",
+ "entity_type": "fish",
+ "label": "Минога трёхзубая",
+ "external_id": "trid_lamprey",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/14d5fea4cd96ff1624451e7439dd935c26c6f25334f6457fca62c7e1138c39af.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/tugun.webp",
+ "entity_type": "fish",
+ "label": "Тугун",
+ "external_id": "tugun",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0718e9092e63b82012fd2cf89a419225996ecd2331807483056bdb88ba4cedf2.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/turbot.webp",
+ "entity_type": "fish",
+ "label": "Тюрбо",
+ "external_id": "turbot",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7de35fcb9d8c09e38c11c0a29c23e7a1154f22fae13720095a47fb36f4f870a4.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/u_lamprey.webp",
+ "entity_type": "fish",
+ "label": "Минога украинская",
+ "external_id": "u_lamprey",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/fada285bb0aeea33c28b47689992aca614a8b06ec21075914ca66f4dfd9d4d27.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/v_bream.webp",
+ "entity_type": "fish",
+ "label": "Рыбец",
+ "external_id": "v_bream",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/7ebf64db64ae4def7ddc2bfac987b0279214d39ff9ba2a48a147c5f4cba0f6f9.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/valyok.webp",
+ "entity_type": "fish",
+ "label": "Валёк",
+ "external_id": "valyok",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/280081ad01c25a584103fbc4722c5e3e9e12aa6aa933e340fde7a9504fe8cf27.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/vendace.webp",
+ "entity_type": "fish",
+ "label": "Ряпушка",
+ "external_id": "vendace",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/b9ebe2f88a8026de3f9eac129307d66422b76d6b54270253b71fa8d90b8fcb97.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/vjun.webp",
+ "entity_type": "fish",
+ "label": "Вьюн",
+ "external_id": "vjun",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c6c93d3f0e608bb962ea50bdaa20f6d42255b4f6744c4c297d918045d9b3b127.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/vobla.webp",
+ "entity_type": "fish",
+ "label": "Вобла",
+ "external_id": "vobla",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0b01c6878047d9137fdc95fad9e2f40e6a0d11cc4702fe68b9c104c1c6ec56b0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/vyrezub.webp",
+ "entity_type": "fish",
+ "label": "Вырезуб",
+ "external_id": "vyrezub",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/fe15e7a091cbaf5122bb452d1cdf28489c443af79971e03897f5e010bfe097c0.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/w_catfish.webp",
+ "entity_type": "fish",
+ "label": "Сом",
+ "external_id": "w_catfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/712c75983d07d63235c53ce0aa52b86e5c82c653011e3afd31692715d6f013bb.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/w_catfish_a.webp",
+ "entity_type": "fish",
+ "label": "Сом альбинос",
+ "external_id": "w_catfish_a",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9483ea53ed658c7083c441d30f3a0f62e68345bd73273a5194a2df8b787a15d2.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/wa_bream.webp",
+ "entity_type": "fish",
+ "label": "Белоглазка",
+ "external_id": "wa_bream",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0457448f1d5bc220b0a125c665e3fbe6e52528695e399c111e4188e70f572459.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/walleye.webp",
+ "entity_type": "fish",
+ "label": "Судак светлопёрый",
+ "external_id": "walleye",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/warm.webp",
+ "entity_type": "fish",
+ "label": "Вармоус",
+ "external_id": "warm",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/wfish.webp",
+ "entity_type": "fish",
+ "label": "Белорыбица",
+ "external_id": "wfish",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/4db016a7747fc84aa3a98b2e7086c3ccfecbedca5ab07a8dfad2c8f4a9ab9d33.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/wh_bass.webp",
+ "entity_type": "fish",
+ "label": "Окунь белый",
+ "external_id": "wh_bass",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/white_crappie.webp",
+ "entity_type": "fish",
+ "label": "Краппи белый",
+ "external_id": "white_crappie",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "queued",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/x_gladius.webp",
+ "entity_type": "fish",
+ "label": "Меч-рыба",
+ "external_id": "x_gladius",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/0a283c24ed8c324623217b654e53d063ab57a5cd54422839d4606c2137a7261d.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/yotsushiro.webp",
+ "entity_type": "fish",
+ "label": "Карп Кои Ёцусиро",
+ "external_id": "yotsushiro",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c95228a934991fc4a3deb91fb0d5751784ffca2e254f1be5f12857c9c26255b7.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/zoarces_v.webp",
+ "entity_type": "fish",
+ "label": "Бельдюга европейская",
+ "external_id": "zoarces_v",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/9387dc8d793baecc23b34eea50a8d7266003bca04258416702d4d70d5492cbd2.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/zs_grayling.webp",
+ "entity_type": "fish",
+ "label": "Хариус западносибирский",
+ "external_id": "zs_grayling",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/a56c3d21ae92cf30135ee56ed4e6e2bdd52371a9ee717b6128c4576ad742d409.png"
+ },
+ {
+ "source_page": "https://download.rf4db.com/ru/fishes",
+ "asset_url": "https://oss.rf4db.com/game/fish/zs_sturgeon.webp",
+ "entity_type": "fish",
+ "label": "Осётр восточносибирский",
+ "external_id": "zs_sturgeon",
+ "source_pages": [
+ "https://download.rf4db.com/ru/fishes"
+ ],
+ "status": "duplicate",
+ "first_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "last_seen_at": "2026-09-14T00:41:55.776615+00:00",
+ "duplicate_of": "https://hb.ru-msk.vkcloud-storage.ru/fisher.bucket/fish/c54c10e2ac03a503a40bdae13d98185722b4318564ec4347afd3acbccc855468.png"
+ },
{
"source_page": "https://rf4game.de/userguide/",
"asset_url": "https://rf4game.de/res/usergide/bottom_zigrig-1.jpeg",
diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md
index 4c0a015..92a296f 100644
--- a/docs/ROADMAP.md
+++ b/docs/ROADMAP.md
@@ -36,6 +36,9 @@
- [x] **B14 · Атласные переходы сущностей.** Боковые списки рыб и водоёмов на detail-страницах получили компактные силуэты и отпечатки рядом с полным текстовым названием. Знаки продолжают систему каталога в рабочей навигации, а стрелка явно показывает переход к странице сочетания.
- [x] **B15 · Целостность медиакаталога.** Локальный audit сводит статусы очереди и проверяет наличие файлов, SHA-256, фактические dimensions/MIME, каноническое соответствие approved-записей и бесхозные файлы. Проверка не обращается в сеть и может использоваться как pre-publication gate.
- [x] **B16 · Самодостаточное хранение media dataset.** Все управляемые оригиналы из `data/media/files/` версионируются в Git вместе с manifest; локальный клон содержит полный исследовательский набор. Пользовательские скриншоты остаются в MinIO/S3, а наличие файла в Git не означает разрешение на публикацию без статуса `approved`.
+- [x] **B17 · Полный каталог рыб RF4DB.** Разрешённый RF4DB дал 252 подписанных изображения; 227 совпадений с RF4MAP сохранены как provenance-only `duplicate`, а 25 отсутствовавших видов поставлены в очередь. Все поддомены RF4DB объединены одним 30-минутным cooldown.
+- [ ] **B18 · Каталог водоёмов RF4DB.** После cooldown проиндексировать 19 русских карточек водоёмов, проверить полноразмерные карты и поставить только уникальные изображения в media queue.
+- [ ] **B19 · Каталог снастей RF4DB.** После водоёмов проиндексировать категории gear, построить crosswalk по типу, бренду, семейству и названию; не считать каталог полным до получения проверяемого общего счётчика.
### Тёмная тема
diff --git a/docs/data-sources.md b/docs/data-sources.md
index 23b5341..c83c056 100644
--- a/docs/data-sources.md
+++ b/docs/data-sources.md
@@ -70,6 +70,8 @@ Fallback строится на собственных лёгких SVG: осмы
`python -m rf4_research.media_cli --queue-plan` также не использует сеть. Он читает manifest и общий cooldown-state, группирует queued-ассеты по фактическому домену, показывает готовность и оставшееся время, состав очереди по типам и один следующий кандидат с приоритетом waterbody → fish → tackle → reference. Команда намеренно сообщает, что точные catalog gaps неизвестны, пока baseline содержит только количества без канонических имён.
+14 сентября разрешённый русский каталог RF4DB вернул ровно 252 подписанных изображения рыб с `oss.rf4db.com`. После консервативной нормализации регистра, пробелов и `е/ё` с RF4MAP совпали 227 видов, ещё 25 закрывают остаток полного каталога. `--dedupe-queue` сохраняет provenance альтернативного источника, но переводит совпавшие URL в статус `duplicate`, чтобы не скачивать одинаковые сущности повторно. `rf4db.com`, `download.rf4db.com` и `oss.rf4db.com` используют единый ключ cooldown `rf4db.com`.
+
`python -m rf4_research.media_cli --coverage` также работает локально и сравнивает manifest с датированным `data/media/catalog-baseline.json`. Неизвестные контрольные значения хранятся как `null`: отчёт не выдаёт число найденных приманок за полноту всего каталога снастей.
Координат, проводки, времени поимки и устойчивого внешнего идентификатора записи в этой таблице нет. Локализация зависит от домена/языка страницы: проверенная `.de`-страница возвращает немецкие названия рыб, водоёмов и приманок даже для региона RU.
diff --git a/rf4_research/community_cli.py b/rf4_research/community_cli.py
index 4ccd41f..e86c270 100644
--- a/rf4_research/community_cli.py
+++ b/rf4_research/community_cli.py
@@ -35,7 +35,7 @@ USER_AGENT = "RF4-Spotter/0.1 (authorized data integration)"
MIN_FETCH_INTERVAL_SECONDS = 30 * 60
DEFAULT_STATE_FILE = Path(".cache/community-fetch-state.json")
ALLOWED_HOSTS = frozenset({
- "download.rf4db.com", "rf4db.com",
+ "download.rf4db.com", "rf4db.com", "oss.rf4db.com",
"rf4-stat.ru",
"rf4map.ru", "gw.rf4map.ru", "hb.ru-msk.vkcloud-storage.ru",
"rf4-posts.com",
@@ -99,11 +99,13 @@ def fetch_site_key(url: str) -> str:
hostname = (urlsplit(url).hostname or "").lower()
if hostname.startswith("www."):
hostname = hostname[4:]
- if hostname.startswith("download."):
+ if hostname.endswith(".rf4db.com"):
+ hostname = "rf4db.com"
+ elif hostname.startswith("download."):
hostname = hostname[9:]
- if hostname.startswith("api."):
+ elif hostname.startswith("api."):
hostname = hostname[4:]
- if hostname.startswith("cdn."):
+ elif hostname.startswith("cdn."):
hostname = hostname[4:]
if hostname == "gw.rf4map.ru":
hostname = "rf4map.ru"
diff --git a/rf4_research/media_assets.py b/rf4_research/media_assets.py
index e96130f..85d5476 100644
--- a/rf4_research/media_assets.py
+++ b/rf4_research/media_assets.py
@@ -52,6 +52,16 @@ def _kind(url: str, label: str | None, context: str) -> str:
return "reference"
+def _external_id(node: Tag, url: str) -> str | None:
+ link = node.find_parent("a", href=True)
+ if link:
+ return str(link.get("href")).rstrip("/").rsplit("/", 1)[-1]
+ parts = urlsplit(url)
+ if parts.hostname == "oss.rf4db.com" and parts.path.startswith("/game/"):
+ return Path(parts.path).stem
+ return None
+
+
def extract_media_candidates(html: str, *, source_page: str) -> list[MediaCandidate]:
soup = BeautifulSoup(html, "html.parser")
result: dict[str, MediaCandidate] = {}
@@ -65,8 +75,7 @@ def extract_media_candidates(html: str, *, source_page: str) -> list[MediaCandid
continue
label = _label(node)
context = " ".join(node.parent.get_text(" ", strip=True).split())[:500] if node.parent else ""
- link = node.find_parent("a", href=True)
- external_id = str(link.get("href")).rstrip("/").rsplit("/", 1)[-1] if link else None
+ external_id = _external_id(node, url)
result.setdefault(url, MediaCandidate(source_page, url, _kind(url, label, f"{source_page} {context}"), label, external_id))
for match in re.finditer(r"url\((['\"]?)(https://[^)'\"]+)\1\)", html, re.I):
url = match.group(2)
@@ -96,6 +105,37 @@ def merge_manifest(path: Path, candidates: list[MediaCandidate]) -> dict:
return output
+def normalize_entity_label(value: str) -> str:
+ """Normalize conservative Russian catalog spelling variants for matching."""
+ return " ".join(value.casefold().replace("ё", "е").split())
+
+
+def reconcile_queued_duplicates(path: Path) -> dict:
+ """Quarantine queued label duplicates while preserving their provenance."""
+ manifest = json.loads(path.read_text(encoding="utf-8"))
+ saved: dict[tuple[str, str], dict] = {}
+ for item in manifest.get("assets", []):
+ parts = urlsplit(str(item.get("asset_url") or ""))
+ if not item.get("external_id") and parts.hostname == "oss.rf4db.com" and parts.path.startswith("/game/"):
+ item["external_id"] = Path(parts.path).stem
+ label = item.get("label")
+ if item.get("status") not in {"stored", "approved"} or not isinstance(label, str):
+ continue
+ saved.setdefault((str(item.get("entity_type")), normalize_entity_label(label)), item)
+ duplicates = 0
+ for item in manifest.get("assets", []):
+ label = item.get("label")
+ if item.get("status") != "queued" or not isinstance(label, str):
+ continue
+ match = saved.get((str(item.get("entity_type")), normalize_entity_label(label)))
+ if match and match.get("asset_url") != item.get("asset_url"):
+ item.update({"status": "duplicate", "duplicate_of": match["asset_url"]})
+ duplicates += 1
+ manifest["updated_at"] = datetime.now(timezone.utc).isoformat()
+ path.write_text(json.dumps(manifest, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
+ return {"duplicates": duplicates, "queued": sum(item.get("status") == "queued" for item in manifest.get("assets", []))}
+
+
def reclassify_manifest(path: Path) -> dict:
manifest = json.loads(path.read_text(encoding="utf-8"))
for item in manifest.get("assets", []):
@@ -172,7 +212,7 @@ def media_coverage(root: Path) -> dict:
for entity_type, target in baseline["entities"].items():
candidates = [item for item in manifest.get("assets", []) if item.get("entity_type") == entity_type]
candidate_labels = {
- " ".join(item["label"].split()).casefold()
+ normalize_entity_label(item["label"])
for item in candidates
if isinstance(item.get("label"), str) and item["label"].strip()
}
diff --git a/rf4_research/media_cli.py b/rf4_research/media_cli.py
index a76b7eb..edd3257 100644
--- a/rf4_research/media_cli.py
+++ b/rf4_research/media_cli.py
@@ -8,7 +8,7 @@ import urllib.error
import urllib.request
from .community_cli import MIN_FETCH_INTERVAL_SECONDS, USER_AGENT, _StrictRedirectHandler, _read_state, _validate_url_before_io, check_and_reserve, fetch_html, fetch_site_key
-from .media_assets import audit_media_catalog, extract_media_candidates, media_coverage, merge_manifest, reclassify_manifest, review_asset, store_asset
+from .media_assets import audit_media_catalog, extract_media_candidates, media_coverage, merge_manifest, reconcile_queued_duplicates, reclassify_manifest, review_asset, store_asset
DEFAULT_ROOT = Path("data/media")
@@ -181,6 +181,7 @@ def main(argv: list[str] | None = None) -> int:
parser.add_argument("--batch-limit", type=int, default=MAX_BATCH_ASSETS_PER_DOMAIN, choices=range(1, MAX_BATCH_ASSETS_PER_DOMAIN + 1), metavar="1..40")
parser.add_argument("--asset-url", help="Download this exact queued asset instead of the first queue item")
parser.add_argument("--reclassify", action="store_true", help="Reapply current conservative classifier without network access")
+ parser.add_argument("--dedupe-queue", action="store_true", help="Mark queued label matches to stored assets as duplicates without network access")
parser.add_argument("--review-url", help="Review an asset already present in the manifest")
parser.add_argument("--decision", choices=("approved", "rejected"))
parser.add_argument("--entity-type", choices=("fish", "waterbody", "tackle", "reference"))
@@ -213,6 +214,9 @@ def main(argv: list[str] | None = None) -> int:
manifest = reclassify_manifest(args.root / "manifest.json")
print(f"reclassified {len(manifest['assets'])} candidates")
return 0
+ if args.dedupe_queue:
+ print(json.dumps(reconcile_queued_duplicates(args.root / "manifest.json"), ensure_ascii=False, indent=2))
+ return 0
if args.download_one:
print(_download_one(args.root, args.state_file, args.asset_url))
return 0
diff --git a/tests/test_community_cli.py b/tests/test_community_cli.py
index a5bab7f..735897b 100644
--- a/tests/test_community_cli.py
+++ b/tests/test_community_cli.py
@@ -33,6 +33,7 @@ def test_fetch_site_key_normalizes_common_subdomains() -> None:
assert fetch_site_key("https://download.rf4db.com/ru/catches") == "rf4db.com"
assert fetch_site_key("https://api.rf4db.com/v1/catches") == "rf4db.com"
assert fetch_site_key("https://cdn.rf4db.com/assets/img.jpg") == "rf4db.com"
+ assert fetch_site_key("https://oss.rf4db.com/game/fish/pike.webp") == "rf4db.com"
assert fetch_site_key("https://www.rf4db.com/") == "rf4db.com"
# Base domain stays the same
assert fetch_site_key("https://rf4db.com/") == "rf4db.com"
diff --git a/tests/test_media_assets.py b/tests/test_media_assets.py
index 7b2d813..39b1543 100644
--- a/tests/test_media_assets.py
+++ b/tests/test_media_assets.py
@@ -1,11 +1,12 @@
from pathlib import Path
+import json
import io
import pytest
from PIL import Image
-from rf4_research.media_assets import audit_media_catalog, extract_media_candidates, inspect_image, media_coverage, merge_manifest, review_asset, store_asset
+from rf4_research.media_assets import audit_media_catalog, extract_media_candidates, inspect_image, media_coverage, merge_manifest, reconcile_queued_duplicates, review_asset, store_asset
def test_extracts_and_classifies_unique_https_media() -> None:
@@ -42,6 +43,14 @@ def test_rf4map_gateway_fish_filename_is_classified_as_fish() -> None:
assert items[0].entity_type == "fish"
+def test_rf4db_asset_filename_is_stable_external_id() -> None:
+ item = extract_media_candidates(
+ '
',
+ source_page="https://download.rf4db.com/ru/fishes",
+ )[0]
+ assert (item.entity_type, item.external_id) == ("fish", "a.sleeper")
+
+
def test_tackle_path_wins_over_fish_word_in_product_name() -> None:
items = extract_media_candidates(
'
',
@@ -140,3 +149,20 @@ def test_media_coverage_deduplicates_candidate_labels(tmp_path: Path) -> None:
)
fish = media_coverage(tmp_path)["entities"]["fish"]
assert (fish["candidate_assets"], fish["unique_candidates"], fish["candidate_gap"]) == (2, 1, 1)
+
+
+def test_reconcile_queue_preserves_source_but_skips_normalized_duplicate(tmp_path: Path) -> None:
+ path = tmp_path / "manifest.json"
+ path.write_text(json.dumps({"assets": [
+ {"entity_type": "fish", "label": "Ерш", "status": "stored", "asset_url": "https://a/fish.png"},
+ {"entity_type": "fish", "label": " ЁРШ ", "status": "queued", "asset_url": "https://b/fish.webp"},
+ {"entity_type": "fish", "label": "Щука", "status": "queued", "asset_url": "https://b/pike.webp"},
+ ]}), encoding="utf-8")
+
+ report = reconcile_queued_duplicates(path)
+ assets = json.loads(path.read_text(encoding="utf-8"))["assets"]
+
+ assert report == {"duplicates": 1, "queued": 1}
+ assert assets[1]["status"] == "duplicate"
+ assert assets[1]["duplicate_of"] == "https://a/fish.png"
+ assert assets[2]["status"] == "queued"