From f327ea29f130543a179a632ee5ae044d4544349f Mon Sep 17 00:00:00 2001 From: lonelyhentxi Date: Tue, 25 Feb 2025 02:05:03 +0800 Subject: [PATCH] fix: fix mikan rss extractors --- Cargo.lock | 10 + apps/recorder/Cargo.toml | 1 + apps/recorder/examples/playground.rs | 1 - apps/recorder/src/extract/errors.rs | 37 +- apps/recorder/src/extract/mikan/client.rs | 12 +- apps/recorder/src/extract/mikan/mod.rs | 3 +- .../recorder/src/extract/mikan/rss_extract.rs | 209 +- .../recorder/src/extract/mikan/web_extract.rs | 39 +- apps/recorder/src/fetch/bytes.rs | 9 +- apps/recorder/src/fetch/client.rs | 45 +- apps/recorder/src/fetch/html.rs | 7 +- apps/recorder/src/fetch/image.rs | 7 +- apps/recorder/src/fetch/mod.rs | 2 +- apps/recorder/src/models/subscriptions.rs | 9 +- apps/recorder/src/sync/core.rs | 9 +- apps/recorder/src/sync/qbit.rs | 16 +- ...gumi_subscriptions_from_my_bangumi_page.rs | 26 + apps/recorder/src/tasks/mod.rs | 2 +- apps/recorder/src/test_utils/fetch.rs | 8 + apps/recorder/src/test_utils/mod.rs | 1 + .../resources/mikan/Bangumi-3141-370.rss | 488 +++++ .../tests/resources/mikan/Bangumi-3416.rss | 1722 +++++++++++++++++ 22 files changed, 2504 insertions(+), 159 deletions(-) create mode 100644 apps/recorder/src/tasks/create_mikan_bangumi_subscriptions_from_my_bangumi_page.rs create mode 100644 apps/recorder/src/test_utils/fetch.rs create mode 100644 apps/recorder/tests/resources/mikan/Bangumi-3141-370.rss create mode 100644 apps/recorder/tests/resources/mikan/Bangumi-3416.rss diff --git a/Cargo.lock b/Cargo.lock index b41c7f0..7f0265d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5055,6 +5055,7 @@ dependencies = [ "sea-orm", "sea-orm-migration", "seaography", + "secrecy", "serde", "serde_json", "serde_with", @@ -5908,6 +5909,15 @@ dependencies = [ "zeroize", ] +[[package]] +name = "secrecy" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e891af845473308773346dc847b2c23ee78fe442e0472ac50e22a18a93d3ae5a" +dependencies = [ + "zeroize", +] + [[package]] name = "security-framework" version = "2.11.1" diff --git a/apps/recorder/Cargo.toml b/apps/recorder/Cargo.toml index ac28747..fad6c6c 100644 --- a/apps/recorder/Cargo.toml +++ b/apps/recorder/Cargo.toml @@ -113,6 +113,7 @@ http-cache = { version = "0.20.0", features = [ http-cache-semantics = "2.1.0" dotenv = "0.15.0" nom = "8.0.0" +secrecy = "0.10.3" [dev-dependencies] serial_test = "3" diff --git a/apps/recorder/examples/playground.rs b/apps/recorder/examples/playground.rs index 8b5f7ba..c3f778d 100644 --- a/apps/recorder/examples/playground.rs +++ b/apps/recorder/examples/playground.rs @@ -9,7 +9,6 @@ use loco_rs::{ }; use recorder::{ app::App, - extract::mikan::parse_mikan_rss_items_from_rss_link, migrations::Migrator, models::{ subscribers::SEED_SUBSCRIBER, diff --git a/apps/recorder/src/extract/errors.rs b/apps/recorder/src/extract/errors.rs index 9330d6c..e690d77 100644 --- a/apps/recorder/src/extract/errors.rs +++ b/apps/recorder/src/extract/errors.rs @@ -4,21 +4,25 @@ use thiserror::Error; #[derive(Error, Debug)] pub enum ExtractError { - #[error("Parse bangumi season error: {0}")] + #[error("Extract bangumi season error: {0}")] BangumiSeasonError(#[from] std::num::ParseIntError), - #[error("Parse file url error: {0}")] + #[error("Extract file url error: {0}")] FileUrlError(#[from] url::ParseError), - #[error("Parse {desc} with mime error, expected {expected}, but got {found}")] + #[error("Extract {desc} with mime error, expected {expected}, but got {found}")] MimeError { desc: String, expected: String, found: String, }, - #[error("Parse mikan rss {url} format error")] - MikanRssFormatError { url: String }, - #[error("Parse mikan rss item format error, {reason}")] - MikanRssItemFormatError { reason: String }, - #[error("Missing field {field} in extracting meta")] + #[error("Invalid or unknown format in extracting mikan rss")] + MikanRssInvalidFormatError, + #[error("Invalid field {field} in extracting mikan rss")] + MikanRssInvalidFieldError { + field: Cow<'static, str>, + #[source] + source: Option>, + }, + #[error("Missing field {field} in extracting mikan meta")] MikanMetaMissingFieldError { field: Cow<'static, str>, #[source] @@ -33,4 +37,21 @@ impl ExtractError { source: None, } } + + pub fn from_mikan_rss_invalid_field(field: Cow<'static, str>) -> Self { + Self::MikanRssInvalidFieldError { + field, + source: None, + } + } + + pub fn from_mikan_rss_invalid_field_and_source( + field: Cow<'static, str>, + source: Box, + ) -> Self { + Self::MikanRssInvalidFieldError { + field, + source: Some(source), + } + } } diff --git a/apps/recorder/src/extract/mikan/client.rs b/apps/recorder/src/extract/mikan/client.rs index 4712121..dca43bd 100644 --- a/apps/recorder/src/extract/mikan/client.rs +++ b/apps/recorder/src/extract/mikan/client.rs @@ -3,10 +3,14 @@ use std::ops::Deref; use async_trait::async_trait; use loco_rs::app::{AppContext, Initializer}; use once_cell::sync::OnceCell; +use reqwest_middleware::ClientWithMiddleware; use url::Url; use super::AppMikanConfig; -use crate::{config::AppConfigExt, fetch::HttpClient}; +use crate::{ + config::AppConfigExt, + fetch::{HttpClient, HttpClientTrait}, +}; static APP_MIKAN_CLIENT: OnceCell = OnceCell::new(); @@ -39,13 +43,15 @@ impl AppMikanClient { } impl Deref for AppMikanClient { - type Target = HttpClient; + type Target = ClientWithMiddleware; fn deref(&self) -> &Self::Target { - &self.http_client + self.http_client.deref() } } +impl HttpClientTrait for AppMikanClient {} + pub struct AppMikanClientInitializer; #[async_trait] diff --git a/apps/recorder/src/extract/mikan/mod.rs b/apps/recorder/src/extract/mikan/mod.rs index 81160f1..0e4be6e 100644 --- a/apps/recorder/src/extract/mikan/mod.rs +++ b/apps/recorder/src/extract/mikan/mod.rs @@ -12,8 +12,7 @@ pub use rss_extract::{ MikanRssChannel, MikanRssItem, MikanSubscriberAggregationRssChannel, MikanSubscriberAggregationRssLink, build_mikan_bangumi_rss_link, build_mikan_subscriber_aggregation_rss_link, extract_mikan_bangumi_id_from_rss_link, - extract_mikan_subscriber_aggregation_id_from_rss_link, parse_mikan_rss_channel_from_rss_link, - parse_mikan_rss_items_from_rss_link, + extract_mikan_rss_channel_from_rss_link, extract_mikan_subscriber_aggregation_id_from_rss_link, }; pub use web_extract::{ MikanBangumiMeta, MikanEpisodeMeta, build_mikan_bangumi_homepage, build_mikan_episode_homepage, diff --git a/apps/recorder/src/extract/mikan/rss_extract.rs b/apps/recorder/src/extract/mikan/rss_extract.rs index 37abe3b..49be0cb 100644 --- a/apps/recorder/src/extract/mikan/rss_extract.rs +++ b/apps/recorder/src/extract/mikan/rss_extract.rs @@ -1,10 +1,11 @@ -use std::ops::Deref; +use std::borrow::Cow; use chrono::DateTime; use color_eyre::eyre; use itertools::Itertools; use reqwest::IntoUrl; use serde::{Deserialize, Serialize}; +use tracing::instrument; use url::Url; use crate::{ @@ -105,50 +106,55 @@ impl TryFrom for MikanRssItem { type Error = ExtractError; fn try_from(item: rss::Item) -> Result { - let mime_type = item - .enclosure() - .map(|x| x.mime_type.to_string()) - .unwrap_or_default(); - if mime_type == BITTORRENT_MIME_TYPE { - let enclosure = item.enclosure.unwrap(); + let enclosure = item.enclosure.ok_or_else(|| { + ExtractError::from_mikan_rss_invalid_field(Cow::Borrowed("enclosure")) + })?; - let homepage = item - .link - .ok_or_else(|| ExtractError::MikanRssItemFormatError { - reason: String::from("must to have link for homepage"), - })?; + let mime_type = enclosure.mime_type; + if mime_type != BITTORRENT_MIME_TYPE { + return Err(ExtractError::MimeError { + expected: String::from(BITTORRENT_MIME_TYPE), + found: mime_type.to_string(), + desc: String::from("MikanRssItem"), + }); + } - let homepage = Url::parse(&homepage)?; + let title = item.title.ok_or_else(|| { + ExtractError::from_mikan_rss_invalid_field(Cow::Borrowed("title:title")) + })?; - let enclosure_url = Url::parse(&enclosure.url)?; + let enclosure_url = Url::parse(&enclosure.url).map_err(|inner| { + ExtractError::from_mikan_rss_invalid_field_and_source( + Cow::Borrowed("enclosure_url:enclosure.link"), + Box::new(inner), + ) + })?; - let MikanEpisodeHomepage { - mikan_episode_id, .. - } = parse_mikan_episode_id_from_homepage(&homepage).ok_or_else(|| { - ExtractError::MikanRssItemFormatError { - reason: String::from("homepage link format invalid"), - } + let homepage = item + .link + .and_then(|link| Url::parse(&link).ok()) + .ok_or_else(|| { + ExtractError::from_mikan_rss_invalid_field(Cow::Borrowed("homepage:link")) })?; - Ok(MikanRssItem { - title: item.title.unwrap_or_default(), - homepage, - url: enclosure_url, - content_length: enclosure.length.parse().ok(), - mime: enclosure.mime_type, - pub_date: item - .pub_date - .and_then(|s| DateTime::parse_from_rfc2822(&s).ok()) - .map(|s| s.timestamp_millis()), - mikan_episode_id, - }) - } else { - Err(ExtractError::MimeError { - expected: String::from(BITTORRENT_MIME_TYPE), - found: mime_type, - desc: String::from("MikanRssItem"), - }) - } + let MikanEpisodeHomepage { + mikan_episode_id, .. + } = parse_mikan_episode_id_from_homepage(&homepage).ok_or_else(|| { + ExtractError::from_mikan_rss_invalid_field(Cow::Borrowed("mikan_episode_id")) + })?; + + Ok(MikanRssItem { + title, + homepage, + url: enclosure_url, + content_length: enclosure.length.parse().ok(), + mime: mime_type, + pub_date: item + .pub_date + .and_then(|s| DateTime::parse_from_rfc2822(&s).ok()) + .map(|s| s.timestamp_millis()), + mikan_episode_id, + }) } } @@ -220,21 +226,12 @@ pub fn extract_mikan_subscriber_aggregation_id_from_rss_link( } } -pub async fn parse_mikan_rss_items_from_rss_link( - client: Option<&AppMikanClient>, - url: impl IntoUrl, -) -> eyre::Result> { - let channel = parse_mikan_rss_channel_from_rss_link(client, url).await?; - - Ok(channel.into_items()) -} - -pub async fn parse_mikan_rss_channel_from_rss_link( - client: Option<&AppMikanClient>, - url: impl IntoUrl, +#[instrument(skip_all, fields(channel_rss_link = channel_rss_link.as_str()))] +pub async fn extract_mikan_rss_channel_from_rss_link( + http_client: &AppMikanClient, + channel_rss_link: impl IntoUrl, ) -> eyre::Result { - let http_client = client.map(|s| s.deref()); - let bytes = fetch_bytes(http_client, url.as_str()).await?; + let bytes = fetch_bytes(http_client, channel_rss_link.as_str()).await?; let channel = rss::Channel::read_from(&bytes[..])?; @@ -245,16 +242,34 @@ pub async fn parse_mikan_rss_channel_from_rss_link( mikan_fansub_id, }) = extract_mikan_bangumi_id_from_rss_link(&channel_link) { + tracing::trace!( + mikan_bangumi_id, + mikan_fansub_id, + "MikanBangumiRssLink extracting..." + ); + let channel_name = channel.title().replace("Mikan Project - ", ""); let items = channel .items .into_iter() - // @TODO log error - .flat_map(MikanRssItem::try_from) + .enumerate() + .flat_map(|(idx, item)| { + MikanRssItem::try_from(item).inspect_err( + |error| tracing::warn!(error = %error, "failed to extract rss item idx = {}", idx), + ) + }) .collect_vec(); if let Some(mikan_fansub_id) = mikan_fansub_id { + tracing::trace!( + channel_name, + channel_link = channel_link.as_str(), + mikan_bangumi_id, + mikan_fansub_id, + "MikanBangumiRssChannel extracted" + ); + Ok(MikanRssChannel::Bangumi(MikanBangumiRssChannel { name: channel_name, mikan_bangumi_id, @@ -263,6 +278,13 @@ pub async fn parse_mikan_rss_channel_from_rss_link( items, })) } else { + tracing::trace!( + channel_name, + channel_link = channel_link.as_str(), + mikan_bangumi_id, + "MikanBangumiAggregationRssChannel extracted" + ); + Ok(MikanRssChannel::BangumiAggregation( MikanBangumiAggregationRssChannel { name: channel_name, @@ -277,25 +299,41 @@ pub async fn parse_mikan_rss_channel_from_rss_link( .. }) = extract_mikan_subscriber_aggregation_id_from_rss_link(&channel_link) { + tracing::trace!( + mikan_aggregation_id, + "MikanSubscriberAggregationRssLink extracting..." + ); + let items = channel .items .into_iter() - // @TODO log error - .flat_map(MikanRssItem::try_from) + .enumerate() + .flat_map(|(idx, item)| { + MikanRssItem::try_from(item).inspect_err( + |error| tracing::warn!(error = %error, "failed to extract rss item idx = {}", idx), + ) + }) .collect_vec(); - return Ok(MikanRssChannel::SubscriberAggregation( + tracing::trace!( + channel_link = channel_link.as_str(), + mikan_aggregation_id, + "MikanSubscriberAggregationRssChannel extracted" + ); + + Ok(MikanRssChannel::SubscriberAggregation( MikanSubscriberAggregationRssChannel { mikan_aggregation_id, items, url: channel_link, }, - )); + )) } else { - return Err(ExtractError::MikanRssFormatError { - url: url.as_str().into(), - } - .into()); + Err(ExtractError::MikanRssInvalidFormatError) + .inspect_err(|error| { + tracing::warn!(error = %error); + }) + .map_err(|error| error.into()) } } @@ -303,20 +341,39 @@ pub async fn parse_mikan_rss_channel_from_rss_link( mod tests { use std::assert_matches::assert_matches; + use color_eyre::eyre; + use rstest::rstest; + use url::Url; + use crate::{ extract::mikan::{ MikanBangumiAggregationRssChannel, MikanBangumiRssChannel, MikanRssChannel, - parse_mikan_rss_channel_from_rss_link, + extract_mikan_rss_channel_from_rss_link, }, sync::core::BITTORRENT_MIME_TYPE, + test_utils::mikan::build_testing_mikan_client, }; + #[rstest] #[tokio::test] - pub async fn test_parse_mikan_rss_channel_from_rss_link() { - { - let bangumi_url = "https://mikanani.me/RSS/Bangumi?bangumiId=3141&subgroupid=370"; + async fn test_parse_mikan_rss_channel_from_rss_link() -> eyre::Result<()> { + let mut mikan_server = mockito::Server::new_async().await; - let channel = parse_mikan_rss_channel_from_rss_link(None, bangumi_url) + let mikan_base_url = Url::parse(&mikan_server.url())?; + + let mikan_client = build_testing_mikan_client(mikan_base_url.clone())?; + + { + let bangumi_rss_url = + mikan_base_url.join("/RSS/Bangumi?bangumiId=3141&subgroupid=370")?; + let bangumi_rss_mock = mikan_server + .mock("GET", bangumi_rss_url.path()) + .with_body_from_file("tests/resources/mikan/Bangumi-3141-370.rss") + .match_query(mockito::Matcher::Any) + .create_async() + .await; + + let channel = extract_mikan_rss_channel_from_rss_link(&mikan_client, bangumi_rss_url) .await .expect("should get mikan channel from rss url"); @@ -343,11 +400,20 @@ mod tests { let name = first_sub_item.title.as_str(); assert!(name.contains("葬送的芙莉莲")); + + bangumi_rss_mock.expect(1); } { - let bangumi_url = "https://mikanani.me/RSS/Bangumi?bangumiId=3416"; + let bangumi_rss_url = mikan_base_url.join("/RSS/Bangumi?bangumiId=3416")?; - let channel = parse_mikan_rss_channel_from_rss_link(None, bangumi_url) + let bangumi_rss_mock = mikan_server + .mock("GET", bangumi_rss_url.path()) + .match_query(mockito::Matcher::Any) + .with_body_from_file("tests/resources/mikan/Bangumi-3416.rss") + .create_async() + .await; + + let channel = extract_mikan_rss_channel_from_rss_link(&mikan_client, bangumi_rss_url) .await .expect("should get mikan channel from rss url"); @@ -357,6 +423,9 @@ mod tests { ); assert_matches!(&channel.name(), Some("叹气的亡灵想隐退")); + + bangumi_rss_mock.expect(1); } + Ok(()) } } diff --git a/apps/recorder/src/extract/mikan/web_extract.rs b/apps/recorder/src/extract/mikan/web_extract.rs index 2f3e9c4..828870b 100644 --- a/apps/recorder/src/extract/mikan/web_extract.rs +++ b/apps/recorder/src/extract/mikan/web_extract.rs @@ -1,4 +1,4 @@ -use std::{borrow::Cow, ops::Deref}; +use std::borrow::Cow; use bytes::Bytes; use color_eyre::eyre; @@ -117,10 +117,9 @@ pub fn parse_mikan_episode_id_from_homepage(url: &Url) -> Option, + http_client: &AppMikanClient, origin_poster_src_url: Url, ) -> eyre::Result { - let http_client = client.map(|s| s.deref()); let poster_data = fetch_image(http_client, origin_poster_src_url.clone()).await?; Ok(MikanBangumiPosterMeta { origin_poster_src: origin_poster_src_url, @@ -152,8 +151,7 @@ pub async fn extract_mikan_bangumi_poster_meta_from_src_with_cache( }); } - let poster_data = - fetch_image(Some(mikan_client.deref()), origin_poster_src_url.clone()).await?; + let poster_data = fetch_image(mikan_client, origin_poster_src_url.clone()).await?; let poster_str = dal_client .store_object( @@ -174,10 +172,9 @@ pub async fn extract_mikan_bangumi_poster_meta_from_src_with_cache( #[instrument(skip_all, fields(mikan_episode_homepage_url = mikan_episode_homepage_url.as_str()))] pub async fn extract_mikan_episode_meta_from_episode_homepage( - client: Option<&AppMikanClient>, + http_client: &AppMikanClient, mikan_episode_homepage_url: Url, ) -> eyre::Result { - let http_client = client.map(|s| s.deref()); let mikan_base_url = Url::parse(&mikan_episode_homepage_url.origin().unicode_serialization())?; let content = fetch_html(http_client, mikan_episode_homepage_url.as_str()).await?; @@ -286,10 +283,9 @@ pub async fn extract_mikan_episode_meta_from_episode_homepage( #[instrument(skip_all, fields(mikan_bangumi_homepage_url = mikan_bangumi_homepage_url.as_str()))] pub async fn extract_mikan_bangumi_meta_from_bangumi_homepage( - client: Option<&AppMikanClient>, + http_client: &AppMikanClient, mikan_bangumi_homepage_url: Url, ) -> eyre::Result { - let http_client = client.map(|s| s.deref()); let mikan_base_url = Url::parse(&mikan_bangumi_homepage_url.origin().unicode_serialization())?; let content = fetch_html(http_client, mikan_bangumi_homepage_url.as_str()).await?; let html = Html::parse_document(&content); @@ -369,10 +365,9 @@ pub async fn extract_mikan_bangumi_meta_from_bangumi_homepage( */ #[instrument(skip_all, fields(my_bangumi_page_url = my_bangumi_page_url.as_str()))] pub async fn extract_mikan_bangumis_meta_from_my_bangumi_page( - client: Option<&AppMikanClient>, + http_client: &AppMikanClient, my_bangumi_page_url: Url, ) -> eyre::Result> { - let http_client = client.map(|c| c.deref()); let mikan_base_url = Url::parse(&my_bangumi_page_url.origin().unicode_serialization())?; let content = fetch_html(http_client, my_bangumi_page_url.clone()).await?; @@ -506,7 +501,7 @@ mod test { .await; let bgm_poster = - extract_mikan_poster_meta_from_src(Some(&mikan_client), bangumi_poster_url).await?; + extract_mikan_poster_meta_from_src(&mikan_client, bangumi_poster_url).await?; bangumi_poster_mock.expect(1); let u8_data = bgm_poster.poster_data.expect("should have poster data"); let image = Image::read(u8_data.to_vec(), Default::default()); @@ -540,7 +535,7 @@ mod test { .await; let ep_meta = extract_mikan_episode_meta_from_episode_homepage( - Some(&mikan_client), + &mikan_client, episode_homepage_url.clone(), ) .await?; @@ -579,7 +574,7 @@ mod test { .await; let bgm_meta = extract_mikan_bangumi_meta_from_bangumi_homepage( - Some(&mikan_client), + &mikan_client, bangumi_homepage_url.clone(), ) .await?; @@ -613,31 +608,29 @@ mod test { let my_bangumi_page_url = mikan_base_url.join("/Home/MyBangumi")?; - let mock_my_bangumi = mikan_server + let my_bangumi_mock = mikan_server .mock("GET", my_bangumi_page_url.path()) .with_body_from_file("tests/resources/mikan/MyBangumi.htm") .create_async() .await; - let mock_expand_bangumi = mikan_server + let expand_bangumi_mock = mikan_server .mock("GET", "/ExpandBangumi") .match_query(mockito::Matcher::Any) .with_body_from_file("tests/resources/mikan/ExpandBangumi.htm") .create_async() .await; - let bangumi_metas = extract_mikan_bangumis_meta_from_my_bangumi_page( - Some(&mikan_client), - my_bangumi_page_url, - ) - .await?; + let bangumi_metas = + extract_mikan_bangumis_meta_from_my_bangumi_page(&mikan_client, my_bangumi_page_url) + .await?; assert!(!bangumi_metas.is_empty()); assert!(bangumi_metas[0].origin_poster_src.is_some()); - mock_my_bangumi.expect(1); - mock_expand_bangumi.expect(bangumi_metas.len()); + my_bangumi_mock.expect(1); + expand_bangumi_mock.expect(bangumi_metas.len()); Ok(()) } diff --git a/apps/recorder/src/fetch/bytes.rs b/apps/recorder/src/fetch/bytes.rs index 25b98e8..308d36e 100644 --- a/apps/recorder/src/fetch/bytes.rs +++ b/apps/recorder/src/fetch/bytes.rs @@ -1,11 +1,12 @@ use bytes::Bytes; use reqwest::IntoUrl; -use super::HttpClient; - -pub async fn fetch_bytes(client: Option<&HttpClient>, url: T) -> color_eyre::eyre::Result { - let client = client.unwrap_or_default(); +use super::client::HttpClientTrait; +pub async fn fetch_bytes( + client: &H, + url: T, +) -> color_eyre::eyre::Result { let bytes = client .get(url) .send() diff --git a/apps/recorder/src/fetch/client.rs b/apps/recorder/src/fetch/client.rs index 1832432..52c6795 100644 --- a/apps/recorder/src/fetch/client.rs +++ b/apps/recorder/src/fetch/client.rs @@ -6,7 +6,6 @@ use http_cache_reqwest::{ CACacheManager, Cache, CacheManager, CacheMode, HttpCache, HttpCacheOptions, MokaManager, }; use leaky_bucket::RateLimiter; -use once_cell::sync::OnceCell; use reqwest::{ClientBuilder, Request, Response}; use reqwest_middleware::{ ClientBuilder as ClientWithMiddlewareBuilder, ClientWithMiddleware, Next, @@ -20,6 +19,23 @@ use thiserror::Error; use super::get_random_mobile_ua; use crate::app::App; +pub struct RateLimiterMiddleware { + rate_limiter: RateLimiter, +} + +#[async_trait] +impl reqwest_middleware::Middleware for RateLimiterMiddleware { + async fn handle( + &self, + req: Request, + extensions: &'_ mut Extensions, + next: Next<'_>, + ) -> reqwest_middleware::Result { + self.rate_limiter.acquire_one().await; + next.run(req, extensions).await + } +} + #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "snake_case", tag = "type")] pub enum HttpClientCacheBackendConfig { @@ -96,6 +112,8 @@ pub enum HttpClientError { HttpError(#[from] http::Error), } +pub trait HttpClientTrait: Deref {} + pub struct HttpClient { client: ClientWithMiddleware, pub config: HttpClientConfig, @@ -123,23 +141,6 @@ impl Deref for HttpClient { } } -pub struct RateLimiterMiddleware { - rate_limiter: RateLimiter, -} - -#[async_trait] -impl reqwest_middleware::Middleware for RateLimiterMiddleware { - async fn handle( - &self, - req: Request, - extensions: &'_ mut Extensions, - next: Next<'_>, - ) -> reqwest_middleware::Result { - self.rate_limiter.acquire_one().await; - next.run(req, extensions).await - } -} - impl HttpClient { pub fn from_config(config: HttpClientConfig) -> Result { let reqwest_client_builder = ClientBuilder::new().user_agent( @@ -234,16 +235,10 @@ impl HttpClient { } } -static DEFAULT_HTTP_CLIENT: OnceCell = OnceCell::new(); - impl Default for HttpClient { fn default() -> Self { HttpClient::from_config(Default::default()).expect("Failed to create default HttpClient") } } -impl Default for &HttpClient { - fn default() -> Self { - DEFAULT_HTTP_CLIENT.get_or_init(HttpClient::default) - } -} +impl HttpClientTrait for HttpClient {} diff --git a/apps/recorder/src/fetch/html.rs b/apps/recorder/src/fetch/html.rs index 430f0bb..50847e1 100644 --- a/apps/recorder/src/fetch/html.rs +++ b/apps/recorder/src/fetch/html.rs @@ -1,12 +1,11 @@ use reqwest::IntoUrl; -use super::HttpClient; +use super::client::HttpClientTrait; -pub async fn fetch_html( - client: Option<&HttpClient>, +pub async fn fetch_html( + client: &H, url: T, ) -> color_eyre::eyre::Result { - let client = client.unwrap_or_default(); let content = client .get(url) .send() diff --git a/apps/recorder/src/fetch/image.rs b/apps/recorder/src/fetch/image.rs index e30afad..5034665 100644 --- a/apps/recorder/src/fetch/image.rs +++ b/apps/recorder/src/fetch/image.rs @@ -1,8 +1,11 @@ use bytes::Bytes; use reqwest::IntoUrl; -use super::{bytes::fetch_bytes, HttpClient}; +use super::{bytes::fetch_bytes, client::HttpClientTrait}; -pub async fn fetch_image(client: Option<&HttpClient>, url: T) -> color_eyre::eyre::Result { +pub async fn fetch_image( + client: &H, + url: T, +) -> color_eyre::eyre::Result { fetch_bytes(client, url).await } diff --git a/apps/recorder/src/fetch/mod.rs b/apps/recorder/src/fetch/mod.rs index a8b569c..94afcd7 100644 --- a/apps/recorder/src/fetch/mod.rs +++ b/apps/recorder/src/fetch/mod.rs @@ -8,6 +8,6 @@ pub mod oidc; pub use core::get_random_mobile_ua; pub use bytes::fetch_bytes; -pub use client::{HttpClient, HttpClientConfig, HttpClientError}; +pub use client::{HttpClient, HttpClientConfig, HttpClientError, HttpClientTrait}; pub use html::fetch_html; pub use image::fetch_image; diff --git a/apps/recorder/src/models/subscriptions.rs b/apps/recorder/src/models/subscriptions.rs index f64f453..a39aec6 100644 --- a/apps/recorder/src/models/subscriptions.rs +++ b/apps/recorder/src/models/subscriptions.rs @@ -14,7 +14,7 @@ use crate::{ build_mikan_bangumi_homepage, build_mikan_bangumi_rss_link, extract_mikan_bangumi_meta_from_bangumi_homepage, extract_mikan_episode_meta_from_episode_homepage, - parse_mikan_rss_channel_from_rss_link, + extract_mikan_rss_channel_from_rss_link, web_extract::{ MikanBangumiPosterMeta, extract_mikan_bangumi_poster_meta_from_src_with_cache, }, @@ -220,8 +220,7 @@ impl Model { SubscriptionCategory::Mikan => { let mikan_client = ctx.get_mikan_client(); let channel = - parse_mikan_rss_channel_from_rss_link(Some(mikan_client), &self.source_url) - .await?; + extract_mikan_rss_channel_from_rss_link(mikan_client, &self.source_url).await?; let items = channel.into_items(); @@ -257,7 +256,7 @@ impl Model { for new_rss_item in new_rss_items.iter() { new_metas.push( extract_mikan_episode_meta_from_episode_homepage( - Some(mikan_client), + mikan_client, new_rss_item.homepage.clone(), ) .await?, @@ -290,7 +289,7 @@ impl Model { mikan_fansub_id.to_string(), async |am| -> color_eyre::eyre::Result<()> { let bgm_meta = extract_mikan_bangumi_meta_from_bangumi_homepage( - Some(mikan_client), + mikan_client, bgm_homepage.clone(), ) .await?; diff --git a/apps/recorder/src/sync/core.rs b/apps/recorder/src/sync/core.rs index afe9b6e..6964067 100644 --- a/apps/recorder/src/sync/core.rs +++ b/apps/recorder/src/sync/core.rs @@ -5,7 +5,7 @@ use itertools::Itertools; use lazy_static::lazy_static; use librqbit_core::{ magnet::Magnet, - torrent_metainfo::{torrent_from_bytes, TorrentMetaV1Owned}, + torrent_metainfo::{TorrentMetaV1Owned, torrent_from_bytes}, }; use quirks_path::{Path, PathBuf}; use regex::Regex; @@ -13,7 +13,7 @@ use serde::{Deserialize, Serialize}; use url::Url; use super::{QbitTorrent, QbitTorrentContent, TorrentDownloadError}; -use crate::fetch::{fetch_bytes, HttpClient}; +use crate::fetch::{HttpClientTrait, fetch_bytes}; pub const BITTORRENT_MIME_TYPE: &str = "application/x-bittorrent"; pub const MAGNET_SCHEMA: &str = "magnet"; @@ -57,7 +57,10 @@ pub enum TorrentSource { } impl TorrentSource { - pub async fn parse(client: Option<&HttpClient>, url: &str) -> color_eyre::eyre::Result { + pub async fn parse( + client: &H, + url: &str, + ) -> color_eyre::eyre::Result { let url = Url::parse(url)?; let source = if url.scheme() == MAGNET_SCHEMA { TorrentSource::from_magnet_url(url)? diff --git a/apps/recorder/src/sync/qbit.rs b/apps/recorder/src/sync/qbit.rs index 6c97f27..7582caa 100644 --- a/apps/recorder/src/sync/qbit.rs +++ b/apps/recorder/src/sync/qbit.rs @@ -10,8 +10,8 @@ pub use qbit_rs::model::{ TorrentFilter as QbitTorrentFilter, TorrentSource as QbitTorrentSource, }; use qbit_rs::{ - model::{AddTorrentArg, Credential, GetTorrentListArg, NonEmptyStr, SyncData}, Qbit, + model::{AddTorrentArg, Credential, GetTorrentListArg, NonEmptyStr, SyncData}, }; use quirks_path::{Path, PathBuf}; use tokio::time::sleep; @@ -19,8 +19,8 @@ use tracing::instrument; use url::Url; use super::{ - utils::path_equals_as_file_url, Torrent, TorrentDownloadError, TorrentDownloader, - TorrentFilter, TorrentSource, + Torrent, TorrentDownloadError, TorrentDownloader, TorrentFilter, TorrentSource, + utils::path_equals_as_file_url, }; impl From for QbitTorrentSource { @@ -490,6 +490,7 @@ pub mod tests { use itertools::Itertools; use super::*; + use crate::test_utils::fetch::build_testing_http_client; fn get_tmp_qbit_test_folder() -> &'static str { if cfg!(all(windows, not(feature = "testcontainers"))) { @@ -500,16 +501,16 @@ pub mod tests { } #[cfg(feature = "testcontainers")] - pub async fn create_qbit_testcontainer( - ) -> color_eyre::eyre::Result> + pub async fn create_qbit_testcontainer() + -> color_eyre::eyre::Result> { use testcontainers::{ + GenericImage, core::{ ContainerPort, // ReuseDirective, WaitFor, }, - GenericImage, }; use testcontainers_modules::testcontainers::ImageExt; @@ -590,6 +591,7 @@ pub mod tests { username: Option<&str>, password: Option<&str>, ) -> color_eyre::eyre::Result<()> { + let http_client = build_testing_http_client()?; let base_save_path = Path::new(get_tmp_qbit_test_folder()); let mut downloader = QBittorrentDownloader::from_creation(QBittorrentDownloaderCreation { @@ -610,7 +612,7 @@ pub mod tests { .await?; let torrent_source = TorrentSource::parse( - None, + &http_client, "https://mikanani.me/Download/20240301/47ee2d69e7f19af783ad896541a07b012676f858.torrent" ).await?; diff --git a/apps/recorder/src/tasks/create_mikan_bangumi_subscriptions_from_my_bangumi_page.rs b/apps/recorder/src/tasks/create_mikan_bangumi_subscriptions_from_my_bangumi_page.rs new file mode 100644 index 0000000..c5f4f64 --- /dev/null +++ b/apps/recorder/src/tasks/create_mikan_bangumi_subscriptions_from_my_bangumi_page.rs @@ -0,0 +1,26 @@ +use loco_rs::prelude::*; +use secrecy::SecretString; + +#[derive(Clone, Debug)] +pub struct CreateMikanRSSFromMyBangumiTask { + subscriber_id: i32, + task_id: String, + cookie: SecretString, +} + +#[async_trait::async_trait] +impl Task for CreateMikanRSSFromMyBangumiTask { + fn task(&self) -> TaskInfo { + TaskInfo { + name: format!( + "create-mikan-rss-from-my-bangumi-{}-{}", + self.subscriber_id, self.task_id + ), + detail: "create mikan rss from my bangumi page for {} {}".to_string(), + } + } + + async fn run(&self, _app_context: &AppContext, _vars: &task::Vars) -> Result<()> { + Ok(()) + } +} diff --git a/apps/recorder/src/tasks/mod.rs b/apps/recorder/src/tasks/mod.rs index 8b13789..401a983 100644 --- a/apps/recorder/src/tasks/mod.rs +++ b/apps/recorder/src/tasks/mod.rs @@ -1 +1 @@ - +pub mod create_mikan_bangumi_subscriptions_from_my_bangumi_page; diff --git a/apps/recorder/src/test_utils/fetch.rs b/apps/recorder/src/test_utils/fetch.rs new file mode 100644 index 0000000..14413a3 --- /dev/null +++ b/apps/recorder/src/test_utils/fetch.rs @@ -0,0 +1,8 @@ +use color_eyre::eyre; + +use crate::fetch::HttpClient; + +pub fn build_testing_http_client() -> eyre::Result { + let mikan_client = HttpClient::default(); + Ok(mikan_client) +} diff --git a/apps/recorder/src/test_utils/mod.rs b/apps/recorder/src/test_utils/mod.rs index 0d944ff..b0d9db0 100644 --- a/apps/recorder/src/test_utils/mod.rs +++ b/apps/recorder/src/test_utils/mod.rs @@ -1,3 +1,4 @@ +pub mod fetch; pub mod mikan; #[cfg(feature = "testcontainers")] pub mod testcontainers; diff --git a/apps/recorder/tests/resources/mikan/Bangumi-3141-370.rss b/apps/recorder/tests/resources/mikan/Bangumi-3141-370.rss new file mode 100644 index 0000000..818a5a1 --- /dev/null +++ b/apps/recorder/tests/resources/mikan/Bangumi-3141-370.rss @@ -0,0 +1,488 @@ + + + + Mikan Project - 葬送的芙莉莲 + http://mikanani.me/RSS/Bangumi?bangumiId=3141&subgroupid=370 + Mikan Project - 葬送的芙莉莲 + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren [01-28 + 修正合集][WebRip 1080p HEVC-10bit AAC][简繁日内封字幕][Fin] + https://mikanani.me/Home/Episode/814afcf5d40bd71bb9bdb863a1db94ac41684d2c + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren [01-28 修正合集][WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][Fin] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren [01-28 修正合集][WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][Fin][17.8GB] + + https://mikanani.me/Home/Episode/814afcf5d40bd71bb9bdb863a1db94ac41684d2c + 19112603648 + 2024-06-11T19:04:00 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 28 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕][End] + https://mikanani.me/Home/Episode/ae49d7fc3a508076996f0c438d73b24d7f27855d + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 28 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕][End] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 28 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][End][573.41 MB] + + https://mikanani.me/Home/Episode/ae49d7fc3a508076996f0c438d73b24d7f27855d + 601263936 + 2024-03-29T22:53:07.331 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 27 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/722dd30998c41ee0a5c83c72723ff9a8c0090cde + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 27 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 27 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][494.95 MB] + + https://mikanani.me/Home/Episode/722dd30998c41ee0a5c83c72723ff9a8c0090cde + 518992704 + 2024-03-20T09:19:21.39 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 26 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/2dabb7faff70ee32b4e7e2551b98cdaddc6a36f5 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 26 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 26 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][672.92 MB] + + https://mikanani.me/Home/Episode/2dabb7faff70ee32b4e7e2551b98cdaddc6a36f5 + 705607744 + 2024-03-11T12:52:21.662 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 25 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/3f7f27bcacdfd1d7ac309de53a235c66738add45 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 25 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 25 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][590.25 MB] + + https://mikanani.me/Home/Episode/3f7f27bcacdfd1d7ac309de53a235c66738add45 + 618921984 + 2024-03-04T19:08:09.697 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 24 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/a368623412fcb4618d15d00d49ba2a93586d14b6 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 24 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 24 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][513.49 MB] + + https://mikanani.me/Home/Episode/a368623412fcb4618d15d00d49ba2a93586d14b6 + 538433280 + 2024-02-29T07:25:41.619 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 23 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/475184dce83ea2b82902592a5ac3343f6d54b36a + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 23 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 23 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][573.95 MB] + + https://mikanani.me/Home/Episode/475184dce83ea2b82902592a5ac3343f6d54b36a + 601830208 + 2024-02-22T19:14:39.759 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 22 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/b91dd13268cceda1f81f58d659d4c93163864532 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 22 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 22 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][566.31 MB] + + https://mikanani.me/Home/Episode/b91dd13268cceda1f81f58d659d4c93163864532 + 593819072 + 2024-02-16T17:50:48.042 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 21 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/4c265b6765e71ca924ddf4868f2c99a0c2da020d + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 21 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 21 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][630.27 MB] + + https://mikanani.me/Home/Episode/4c265b6765e71ca924ddf4868f2c99a0c2da020d + 660886016 + 2024-02-07T19:36:21.368 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 20 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/e8ff23bec287c053d8766af4043ff5bba833006d + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 20 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 20 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][616.85 MB] + + https://mikanani.me/Home/Episode/e8ff23bec287c053d8766af4043ff5bba833006d + 646814080 + 2024-02-02T21:57:15.963 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 19 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/a387331be1e70590d52db4c0197455e9ee450579 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 19 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 19 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][621.01 MB] + + https://mikanani.me/Home/Episode/a387331be1e70590d52db4c0197455e9ee450579 + 651176192 + 2024-01-25T21:01:59.604 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 18 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/059724511d60173251b378b04709aceff92fffb5 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 18 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 18 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][634.12 MB] + + https://mikanani.me/Home/Episode/059724511d60173251b378b04709aceff92fffb5 + 664923008 + 2024-01-18T06:57:43.93 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 17 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/872ab5abd72ea223d2a2e36688cc96f83bb71d42 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 17 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 17 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][639.78 MB] + + https://mikanani.me/Home/Episode/872ab5abd72ea223d2a2e36688cc96f83bb71d42 + 670857984 + 2024-01-11T06:57:59.057 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 16 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/68da11f9aa666160cbbe4fa50643b38014164a5d + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 16 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 16 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][772.11 MB] + + https://mikanani.me/Home/Episode/68da11f9aa666160cbbe4fa50643b38014164a5d + 809616000 + 2024-01-09T00:11:59.933 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 15 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/ad301000b04ed7d12bd73272d1e6dff5c2ace953 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 15 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 15 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][625.91 MB] + + https://mikanani.me/Home/Episode/ad301000b04ed7d12bd73272d1e6dff5c2ace953 + 656314176 + 2023-12-20T18:44:29.433 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 14 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/4840448f651f59486af6e82d0c2992a79487cd98 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 14 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 14 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][671.9 MB] + + https://mikanani.me/Home/Episode/4840448f651f59486af6e82d0c2992a79487cd98 + 704538240 + 2023-12-14T21:31:46.295 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 13 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/576858ed51361cded0edb377a75491ddf70c7bad + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 13 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 13 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][605.13 MB] + + https://mikanani.me/Home/Episode/576858ed51361cded0edb377a75491ddf70c7bad + 634524800 + 2023-12-06T22:12:16.888 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 12 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/fcc3538562ea9eef5db2257f6df76ef7c055349d + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 12 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 12 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][617.41 MB] + + https://mikanani.me/Home/Episode/fcc3538562ea9eef5db2257f6df76ef7c055349d + 647401280 + 2023-11-30T19:32:15.303 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 11 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/165dc4f903a0cd0dd44d40f52ec16d1e8ae9c3b8 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 11 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 11 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][613.83 MB] + + https://mikanani.me/Home/Episode/165dc4f903a0cd0dd44d40f52ec16d1e8ae9c3b8 + 643647424 + 2023-11-21T21:21:49.327 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 10v2 + [WebRip 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/6c96714831b0c3df6733c346e33443fef4104b5d + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 10v2 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 10v2 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][659.01 MB] + + https://mikanani.me/Home/Episode/6c96714831b0c3df6733c346e33443fef4104b5d + 691022080 + 2023-11-16T08:43:00.108 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 10 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/94180479683a37d72c99cf2a488e54f734d473b6 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 10 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 10 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][659 MB] + + https://mikanani.me/Home/Episode/94180479683a37d72c99cf2a488e54f734d473b6 + 691011584 + 2023-11-15T22:05:30.234 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 09 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/c9295353c47593697c45c2c206f772cc522b5f9c + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 09 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 09 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][713.36 MB] + + https://mikanani.me/Home/Episode/c9295353c47593697c45c2c206f772cc522b5f9c + 748012160 + 2023-11-08T08:41:21.308 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 08 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/b7c1508c2d2b04b25bdc51535d81ea535741becf + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 08 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 08 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][615.25 MB] + + https://mikanani.me/Home/Episode/b7c1508c2d2b04b25bdc51535d81ea535741becf + 645136384 + 2023-10-30T23:25:20.966 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 07 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/51092d51a5fe8180b10a97aeeba98f38d6fb8ba9 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 07 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 07 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][661.84 MB] + + https://mikanani.me/Home/Episode/51092d51a5fe8180b10a97aeeba98f38d6fb8ba9 + 693989568 + 2023-10-25T10:41:29.838 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 06 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/5ee3c55378239568f12d4b113b2a55469b99e72c + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 06 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 06 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][694.38 MB] + + https://mikanani.me/Home/Episode/5ee3c55378239568f12d4b113b2a55469b99e72c + 728110208 + 2023-10-16T23:01:22.685 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 05 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/3b344756acd398a7b4e2485c10fa644b6dbaf0da + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 05 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 05 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][752.47 MB] + + https://mikanani.me/Home/Episode/3b344756acd398a7b4e2485c10fa644b6dbaf0da + 789021952 + 2023-10-10T13:57:58.318 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 04 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/496df298c3473ff8cd5efe3b67c8b67bcbd8b1e1 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 04 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 04 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][761.14 MB] + + https://mikanani.me/Home/Episode/496df298c3473ff8cd5efe3b67c8b67bcbd8b1e1 + 798113152 + 2023-10-08T19:12:30.906 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 03 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/14e1af5a8f13ec28f0d7c417bec8085c39c84798 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 03 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 03 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][759.95 MB] + + https://mikanani.me/Home/Episode/14e1af5a8f13ec28f0d7c417bec8085c39c84798 + 796865344 + 2023-10-07T21:41:11.038 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 02 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/3e75bd5e08ce15846298d765122d4c3ec92b5abb + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 02 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 02 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][791.06 MB] + + https://mikanani.me/Home/Episode/3e75bd5e08ce15846298d765122d4c3ec92b5abb + 829486528 + 2023-10-06T08:50:57.386 + + + + + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 01 [WebRip + 1080p HEVC-10bit AAC][简繁日内封字幕] + https://mikanani.me/Home/Episode/d17248aac2caffbcd06a2346c1863531ece4c158 + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 01 [WebRip 1080p HEVC-10bit + AAC][简繁日内封字幕] + [喵萌奶茶屋&LoliHouse] 葬送的芙莉莲 / Sousou no Frieren - 01 [WebRip 1080p + HEVC-10bit AAC][简繁日内封字幕][753.71 MB] + + https://mikanani.me/Home/Episode/d17248aac2caffbcd06a2346c1863531ece4c158 + 790322240 + 2023-10-04T16:09:55.167 + + + + + diff --git a/apps/recorder/tests/resources/mikan/Bangumi-3416.rss b/apps/recorder/tests/resources/mikan/Bangumi-3416.rss new file mode 100644 index 0000000..22ec6af --- /dev/null +++ b/apps/recorder/tests/resources/mikan/Bangumi-3416.rss @@ -0,0 +1,1722 @@ + + + + Mikan Project - 叹气的亡灵想隐退 + http://mikanani.me/RSS/Bangumi?bangumiId=3416 + Mikan Project - 叹气的亡灵想隐退 + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][10][GB][720P][MP4] + https://mikanani.me/Home/Episode/9082b8db8cec7e4da8b6eb5c7590b98dd82c16ad + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][10][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][10][GB][720P][MP4][238.5 MB] + + https://mikanani.me/Home/Episode/9082b8db8cec7e4da8b6eb5c7590b98dd82c16ad + 250085376 + 2025-01-04T16:05:54.832 + + + + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][09][GB][720P][MP4] + https://mikanani.me/Home/Episode/3288ff623cb7e2ee6889b95dd239cbe80ef28395 + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][09][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][09][GB][720P][MP4][290.7 MB] + + https://mikanani.me/Home/Episode/3288ff623cb7e2ee6889b95dd239cbe80ef28395 + 304821056 + 2025-01-04T16:05:46.871 + + + + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][07][GB][720P][MP4] + https://mikanani.me/Home/Episode/e65384e4d9f4a39b029c19ebb5680bcd62f4a115 + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][07][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][07][GB][720P][MP4][281 MB] + + https://mikanani.me/Home/Episode/e65384e4d9f4a39b029c19ebb5680bcd62f4a115 + 294649856 + 2025-01-04T16:05:32.013 + + + + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][08][GB][720P][MP4] + https://mikanani.me/Home/Episode/480b9755ccaf7202c672de5dadfa753a6f352871 + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][08][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][08][GB][720P][MP4][254MB] + + https://mikanani.me/Home/Episode/480b9755ccaf7202c672de5dadfa753a6f352871 + 266338304 + 2025-01-04T16:05:00 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][13 END][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/2073a5885ece86e62b3aa80487cb5ff1c9121df8 + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai][13 + END][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai][13 + END][1080P][AVC AAC][简日双语][WebRip][245.51 MB] + + https://mikanani.me/Home/Episode/2073a5885ece86e62b3aa80487cb5ff1c9121df8 + 257435888 + 2025-01-04T00:23:00.461 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai [01-13 + 合集][WebRip 1080p HEVC-10bit AAC][简繁内封字幕][Fin] + https://mikanani.me/Home/Episode/9643f0b7d805f9f8cb8b8c79e3c76d2b4a3860dc + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai [01-13 合集][WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][Fin] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai [01-13 合集][WebRip + 1080p HEVC-10bit AAC][简繁内封字幕][Fin][3.9GB] + + https://mikanani.me/Home/Episode/9643f0b7d805f9f8cb8b8c79e3c76d2b4a3860dc + 4187593216 + 2024-12-25T00:35:00 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][12][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/58ebff50ac144aee190416cab18941b07aa81eb8 + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][12][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][12][1080P][AVC AAC][简日双语][WebRip][273.45 MB] + + https://mikanani.me/Home/Episode/58ebff50ac144aee190416cab18941b07aa81eb8 + 286733120 + 2024-12-24T01:01:39.323 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕][END] + https://mikanani.me/Home/Episode/79b10560f44a7aaa909d3c2427484ff4eff064be + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][END] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][END][235.38 MB] + + https://mikanani.me/Home/Episode/79b10560f44a7aaa909d3c2427484ff4eff064be + 246813824 + 2024-12-23T23:51:09.49 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/175ec54d98764f261e5202a33136b3cb63997749 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 (CR 1920x1080 + AVC AAC MKV)[1.35 GB] + + https://mikanani.me/Home/Episode/175ec54d98764f261e5202a33136b3cb63997749 + 1449551488 + 2024-12-23T00:33:25.611 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 13 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/39f1ae06f70aa3a0a79711744811db72ff64454d + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 13 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 13 (B-Global + 1920x1080 HEVC AAC MKV)[238.31 MB] + + https://mikanani.me/Home/Episode/39f1ae06f70aa3a0a79711744811db72ff64454d + 249886144 + 2024-12-22T23:31:01.198 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/ea6873dcc3189fcd05ba9af032e653cfbc38d4e3 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 (Baha + 1920x1080 AVC AAC MP4)[287.71 MB] + + https://mikanani.me/Home/Episode/ea6873dcc3189fcd05ba9af032e653cfbc38d4e3 + 301685792 + 2024-12-22T23:30:53.701 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 13 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/ced9cfe5ba04d2caadc1ff5366a07a939d25a0bc + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 13 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 13 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][288.6 MB] + + https://mikanani.me/Home/Episode/ced9cfe5ba04d2caadc1ff5366a07a939d25a0bc + 302619040 + 2024-12-22T23:30:48.863383 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/6826638a604a613313117ff076a41b6f3ebb62ac + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 13 (ABEMA + 1920x1080 AVC AAC MP4)[714.21 MB] + + https://mikanani.me/Home/Episode/6826638a604a613313117ff076a41b6f3ebb62ac + 748903488 + 2024-12-22T23:01:24.346 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/ce5c3c6e60899b0719f8e7f7d2d224b97b658bb7 + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][255.34 MB] + + https://mikanani.me/Home/Episode/ce5c3c6e60899b0719f8e7f7d2d224b97b658bb7 + 267743392 + 2024-12-16T22:34:01.514 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/5a641c8079a72f2c0544388b47cfe7005826d053 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 (CR 1920x1080 + AVC AAC MKV)[1.36 GB] + + https://mikanani.me/Home/Episode/5a641c8079a72f2c0544388b47cfe7005826d053 + 1460288896 + 2024-12-16T00:33:33.824 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 12 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/f6eea07d0391c21bc69d6d15793daa6e605eb17a + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 12 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 12 (B-Global + 1920x1080 HEVC AAC MKV)[260.36 MB] + + https://mikanani.me/Home/Episode/f6eea07d0391c21bc69d6d15793daa6e605eb17a + 273007232 + 2024-12-15T23:34:42.481 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/55bf100e62049919944bf6119b4006300936ee18 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 (Baha + 1920x1080 AVC AAC MP4)[301.77 MB] + + https://mikanani.me/Home/Episode/55bf100e62049919944bf6119b4006300936ee18 + 316428768 + 2024-12-15T23:31:13.595 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 12 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/31563f114c33ba78a4be0dc278f083054b0bade8 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 12 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 12 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][302.7 MB] + + https://mikanani.me/Home/Episode/31563f114c33ba78a4be0dc278f083054b0bade8 + 317403968 + 2024-12-15T23:31:04.172191 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/cb99e27a5dbb67b416390d53ab08a6475e1ac523 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 12 (ABEMA + 1920x1080 AVC AAC MP4)[717.06 MB] + + https://mikanani.me/Home/Episode/cb99e27a5dbb67b416390d53ab08a6475e1ac523 + 751891904 + 2024-12-15T23:01:23.651 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][10][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/17b83f4543713a1f7af9ecb1c77ed3400a506417 + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][10][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][10][1080P][AVC AAC][简日双语][WebRip][275.99 MB] + + https://mikanani.me/Home/Episode/17b83f4543713a1f7af9ecb1c77ed3400a506417 + 289396480 + 2024-12-15T10:37:48.806 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][11][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/e0ab3aef0bc0a791b0aa00fce070a6d15bd60cae + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][11][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][11][1080P][AVC AAC][简日双语][WebRip][285.67 MB] + + https://mikanani.me/Home/Episode/e0ab3aef0bc0a791b0aa00fce070a6d15bd60cae + 299546720 + 2024-12-13T01:15:21.652 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/e089da27cc09179958974e41ebece8f4c30c9a90 + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][287.46 MB] + + https://mikanani.me/Home/Episode/e089da27cc09179958974e41ebece8f4c30c9a90 + 301423648 + 2024-12-10T00:07:28.09 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/c7bdc993519227a8ef6457ec25a93174376d9a40 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 (CR 1920x1080 + AVC AAC MKV)[1.36 GB] + + https://mikanani.me/Home/Episode/c7bdc993519227a8ef6457ec25a93174376d9a40 + 1460288896 + 2024-12-09T00:33:49.81 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/75a25d70df682c660cc6e70e89d2246f3a4e3f7a + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 (Baha + 1920x1080 AVC AAC MP4)[324.6 MB] + + https://mikanani.me/Home/Episode/75a25d70df682c660cc6e70e89d2246f3a4e3f7a + 340367776 + 2024-12-08T23:31:25.811 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 11 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/a003117406c807652dc8c85aa92f665840607fcb + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 11 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 11 (B-Global + 1920x1080 HEVC AAC MKV)[276.1 MB] + + https://mikanani.me/Home/Episode/a003117406c807652dc8c85aa92f665840607fcb + 289511840 + 2024-12-08T23:31:08.431 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 11 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/7e6872b90c5a9300d3454ebd57276756474f7184 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 11 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 11 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][325.5 MB] + + https://mikanani.me/Home/Episode/7e6872b90c5a9300d3454ebd57276756474f7184 + 341311488 + 2024-12-08T23:31:04.691338 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/1ccbe06eb93399838a9d3143fabce7a4b8ad0146 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 11 (ABEMA + 1920x1080 AVC AAC MP4)[716.85 MB] + + https://mikanani.me/Home/Episode/1ccbe06eb93399838a9d3143fabce7a4b8ad0146 + 751671680 + 2024-12-08T23:01:47.461 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][09][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/35dadbf8f935e1f7b57a4061254e5560352fe931 + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][09][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][09][1080P][AVC AAC][简日双语][WebRip][334.82 MB] + + https://mikanani.me/Home/Episode/35dadbf8f935e1f7b57a4061254e5560352fe931 + 351084224 + 2024-12-03T01:44:10.846 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][08][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/c82215e9e7f8814682782c6b9720c09ed1dd51f9 + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][08][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][08][1080P][AVC AAC][简日双语][WebRip][279.78 MB] + + https://mikanani.me/Home/Episode/c82215e9e7f8814682782c6b9720c09ed1dd51f9 + 293370592 + 2024-12-03T01:16:10.511 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/47f2b97c1b7b930c9ae5b598f72e66f83b144f7c + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][275.84 MB] + + https://mikanani.me/Home/Episode/47f2b97c1b7b930c9ae5b598f72e66f83b144f7c + 289239200 + 2024-12-02T23:54:27.062 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/f56a25e3a4afd3edada0545cebee69274f5eae1e + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 (CR 1920x1080 + AVC AAC MKV)[1.36 GB] + + https://mikanani.me/Home/Episode/f56a25e3a4afd3edada0545cebee69274f5eae1e + 1460288896 + 2024-12-02T00:32:44.399 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 10 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/3655d617b31860b84b45a0d9436be32dd9ab3c75 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 10 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 10 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][322.3 MB] + + https://mikanani.me/Home/Episode/3655d617b31860b84b45a0d9436be32dd9ab3c75 + 337956032 + 2024-12-01T23:32:29.452408 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 10 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/33336baebb310180cf19107565b6543815268587 + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 10 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 10 (B-Global + 1920x1080 HEVC AAC MKV)[268.76 MB] + + https://mikanani.me/Home/Episode/33336baebb310180cf19107565b6543815268587 + 281815296 + 2024-12-01T23:31:31.677 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/74606ac9c0361d4cb884447d989ca39059e8613e + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 (Baha + 1920x1080 AVC AAC MP4)[321.36 MB] + + https://mikanani.me/Home/Episode/74606ac9c0361d4cb884447d989ca39059e8613e + 336970368 + 2024-12-01T23:30:51.942 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/9f9a417bac6ad433cf5e179c2ba4287a9b9877a2 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 10 (ABEMA + 1920x1080 AVC AAC MP4)[716.76 MB] + + https://mikanani.me/Home/Episode/9f9a417bac6ad433cf5e179c2ba4287a9b9877a2 + 751577344 + 2024-12-01T23:01:26.132 + + + + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][06][GB][720P][MP4] + https://mikanani.me/Home/Episode/b171e7e53895f8dcdbf2e981a630e5aefd044fc4 + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][06][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][06][GB][720P][MP4][233.81 MB] + + https://mikanani.me/Home/Episode/b171e7e53895f8dcdbf2e981a630e5aefd044fc4 + 245167552 + 2024-11-27T18:15:16.33 + + + + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][05][GB][720P][MP4] + https://mikanani.me/Home/Episode/a3f783b8c54321dcfd13058e21badefb81abe73c + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][05][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][05][GB][720P][MP4][242.48 MB] + + https://mikanani.me/Home/Episode/a3f783b8c54321dcfd13058e21badefb81abe73c + 254258704 + 2024-11-27T18:15:09.594 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 09 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/ec0783a2023535abc075b4f9dddbda44d9c387a2 + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 09 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 09 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][358.79 MB] + + https://mikanani.me/Home/Episode/ec0783a2023535abc075b4f9dddbda44d9c387a2 + 376218592 + 2024-11-26T01:21:44.892 + + + + + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai - 01-06 [WebRip 1080P HEVC AAC][简繁日内封 ASSx2][V2] + https://mikanani.me/Home/Episode/f42509877974caf4e4f5299ff61204d69b38fa14 + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - 01-06 + [WebRip 1080P HEVC AAC][简繁日内封 ASSx2][V2] + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - + 01-06 [WebRip 1080P HEVC AAC][简繁日内封 ASSx2][V2][2.8 GB] + + https://mikanani.me/Home/Episode/f42509877974caf4e4f5299ff61204d69b38fa14 + 3006477056 + 2024-11-25T20:31:15.42 + + + + + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01-06][1080P][AVC AAC][繁日双语][WebRip][V2] + https://mikanani.me/Home/Episode/4ae9a062989b0e7b1f7447cd5176b6de21caa6a8 + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01-06][1080P][AVC AAC][繁日双语][WebRip][V2] + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01-06][1080P][AVC AAC][繁日双语][WebRip][V2][2.57 GB] + + https://mikanani.me/Home/Episode/4ae9a062989b0e7b1f7447cd5176b6de21caa6a8 + 2759516416 + 2024-11-25T20:29:23.906 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01-06][1080P][AVC AAC][简日双语][WebRip][V2] + https://mikanani.me/Home/Episode/96579cb226f6e639a0a8c4cb9cb6f8ffe6915ab2 + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01-06][1080P][AVC AAC][简日双语][WebRip][V2] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01-06][1080P][AVC AAC][简日双语][WebRip][V2][2.57 GB] + + https://mikanani.me/Home/Episode/96579cb226f6e639a0a8c4cb9cb6f8ffe6915ab2 + 2759516416 + 2024-11-25T20:28:37.583 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 09 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/400bd92bd2b36c395c681f8fff2ffd0d0ba0d374 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 09 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 09 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][392.4 MB] + + https://mikanani.me/Home/Episode/400bd92bd2b36c395c681f8fff2ffd0d0ba0d374 + 411461216 + 2024-11-24T23:31:15.662913 + + + + + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][04][1080P][AVC AAC][繁日双语][WebRip] + https://mikanani.me/Home/Episode/d35965f3e30494c8f57ad866c9c71580ec64bfd3 + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][04][1080P][AVC AAC][繁日双语][WebRip] + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][04][1080P][AVC AAC][繁日双语][WebRip][347.09 MB] + + https://mikanani.me/Home/Episode/d35965f3e30494c8f57ad866c9c71580ec64bfd3 + 363950240 + 2024-11-22T01:18:50.079 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][04][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/842636ff79cc3e3a2af684284d7d88211d7837a4 + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][04][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][04][1080P][AVC AAC][简日双语][WebRip][301.14 MB] + + https://mikanani.me/Home/Episode/842636ff79cc3e3a2af684284d7d88211d7837a4 + 315768192 + 2024-11-22T01:18:38.728 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][07][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/50896727411e23e7526001801b52101d4efe0c2d + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][07][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][07][1080P][AVC AAC][简日双语][WebRip][326.93 MB] + + https://mikanani.me/Home/Episode/50896727411e23e7526001801b52101d4efe0c2d + 342810944 + 2024-11-21T01:31:44.859 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][06][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/a668c431ab83fc925eac027186a280a6fdaf3df0 + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][06][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][06][1080P][AVC AAC][简日双语][WebRip][306.73 MB] + + https://mikanani.me/Home/Episode/a668c431ab83fc925eac027186a280a6fdaf3df0 + 321629728 + 2024-11-21T01:31:31.723 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][05][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/c6eec6ea9c2b65c76daff79ce13f9cc6daa1053f + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][05][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][05][1080P][AVC AAC][简日双语][WebRip][314.52 MB] + + https://mikanani.me/Home/Episode/c6eec6ea9c2b65c76daff79ce13f9cc6daa1053f + 329798112 + 2024-11-21T01:31:19.664 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/c5879721e92bd9460b495ac319a43efaad40bd2b + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][289.86 MB] + + https://mikanani.me/Home/Episode/c5879721e92bd9460b495ac319a43efaad40bd2b + 303940224 + 2024-11-19T13:11:11.73 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/b7c2036fe8c3b3240682a5a597dc5555dacd25d4 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 (CR 1920x1080 + AVC AAC MKV)[1.35 GB] + + https://mikanani.me/Home/Episode/b7c2036fe8c3b3240682a5a597dc5555dacd25d4 + 1449551488 + 2024-11-18T00:44:09.098 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 08 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/dab304436db48391222330b4cd1cd3951b234344 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 08 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 08 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][331.8 MB] + + https://mikanani.me/Home/Episode/dab304436db48391222330b4cd1cd3951b234344 + 347917504 + 2024-11-17T23:32:08.381909 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 08 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/3a398f33bd530ef1da651d777a447b9013a30439 + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 08 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 08 (B-Global + 1920x1080 HEVC AAC MKV)[264.55 MB] + + https://mikanani.me/Home/Episode/3a398f33bd530ef1da651d777a447b9013a30439 + 277400768 + 2024-11-17T23:31:33.938 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/2d531da18a7cca2c8165316df91575fc3e73fa12 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 (Baha + 1920x1080 AVC AAC MP4)[330.91 MB] + + https://mikanani.me/Home/Episode/2d531da18a7cca2c8165316df91575fc3e73fa12 + 346984288 + 2024-11-17T23:31:00.523 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/1e596400a0a17fca6f243fd11e87bc616c3e1d6a + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 08 (ABEMA + 1920x1080 AVC AAC MP4)[716.73 MB] + + https://mikanani.me/Home/Episode/1e596400a0a17fca6f243fd11e87bc616c3e1d6a + 751545856 + 2024-11-17T23:01:19.486 + + + + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][04][GB][720P][MP4] + https://mikanani.me/Home/Episode/5fd4d9ece937212aa9a992d0143a657c2a2a2b6c + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][04][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][04][GB][720P][MP4][264.43 MB] + + https://mikanani.me/Home/Episode/5fd4d9ece937212aa9a992d0143a657c2a2a2b6c + 277274944 + 2024-11-15T02:21:40.958 + + + + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][03][GB][720P][MP4] + https://mikanani.me/Home/Episode/5e85e7588131a9f4f411c37f52791c22319469a4 + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][03][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][03][GB][720P][MP4][318.1 MB] + + https://mikanani.me/Home/Episode/5e85e7588131a9f4f411c37f52791c22319469a4 + 333552032 + 2024-11-15T02:21:30.79 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/1ef9f19275915296a8d05725e966380ca664df16 + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][349.46 MB] + + https://mikanani.me/Home/Episode/1ef9f19275915296a8d05725e966380ca664df16 + 366435360 + 2024-11-12T00:06:53.515 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/67cb6b30a73016f05a85432a6acdd1501ab12ce4 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 (CR 1920x1080 + AVC AAC MKV)[1.36 GB] + + https://mikanani.me/Home/Episode/67cb6b30a73016f05a85432a6acdd1501ab12ce4 + 1460288896 + 2024-11-11T00:35:49.763 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 07 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/f7dd6e7d1dc59fd6803d9e8b143a34906d682a11 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 07 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 07 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][377.4 MB] + + https://mikanani.me/Home/Episode/f7dd6e7d1dc59fd6803d9e8b143a34906d682a11 + 395732576 + 2024-11-10T23:31:34.068743 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/df2ea27f6f215e8102c43c78dbee8f57a0cb78f3 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 (Baha + 1920x1080 AVC AAC MP4)[376.44 MB] + + https://mikanani.me/Home/Episode/df2ea27f6f215e8102c43c78dbee8f57a0cb78f3 + 394725952 + 2024-11-10T23:30:57.646 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 07 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/cea6824132fd2f163552806fe2f88743a1666d8a + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 07 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 07 (B-Global + 1920x1080 HEVC AAC MKV)[306.75 MB] + + https://mikanani.me/Home/Episode/cea6824132fd2f163552806fe2f88743a1666d8a + 321650688 + 2024-11-10T23:30:57.03 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/d7778b9c14c678f881ec74c2aca3f4f9f1b65292 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 07 (ABEMA + 1920x1080 AVC AAC MP4)[718.38 MB] + + https://mikanani.me/Home/Episode/d7778b9c14c678f881ec74c2aca3f4f9f1b65292 + 753276032 + 2024-11-10T23:01:09.882 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/9307eb92ded5c3d1c22d8748462171d4f0bdb371 + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][268.92 MB] + + https://mikanani.me/Home/Episode/9307eb92ded5c3d1c22d8748462171d4f0bdb371 + 281983072 + 2024-11-05T01:25:25.794 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/2ba83a24a182bf4c00c93426c1873c290795bb2a + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 (CR 1920x1080 + AVC AAC MKV)[1.36 GB] + + https://mikanani.me/Home/Episode/2ba83a24a182bf4c00c93426c1873c290795bb2a + 1460288896 + 2024-11-04T00:35:34.145 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 06 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/ed0285249671b190f3c093dd308c6db2df4af359 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 06 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 06 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][313.8 MB] + + https://mikanani.me/Home/Episode/ed0285249671b190f3c093dd308c6db2df4af359 + 329043136 + 2024-11-03T23:31:31.733308 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/6da461b84a50655a0cdb5743aada23a1a9b874fa + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 (Baha + 1920x1080 AVC AAC MP4)[312.86 MB] + + https://mikanani.me/Home/Episode/6da461b84a50655a0cdb5743aada23a1a9b874fa + 328057472 + 2024-11-03T23:31:03.684 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 06 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/c65bbab48ad0b738af1fa06cb14d08bc460d14b8 + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 06 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 06 (B-Global + 1920x1080 HEVC AAC MKV)[253.13 MB] + + https://mikanani.me/Home/Episode/c65bbab48ad0b738af1fa06cb14d08bc460d14b8 + 265426048 + 2024-11-03T23:31:03.62 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/5c8f238137ed30600ea185d02a42a945245fd8fb + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 06 (ABEMA + 1920x1080 AVC AAC MP4)[716.84 MB] + + https://mikanani.me/Home/Episode/5c8f238137ed30600ea185d02a42a945245fd8fb + 751661248 + 2024-11-03T23:01:28.092 + + + + + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai - 04 [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] 招募 + https://mikanani.me/Home/Episode/cfae46b5d4cc4eb5fec27e85c343f03a9b467af5 + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - 04 + [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] 招募 + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - 04 + [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] 招募[217.28 MB] + + https://mikanani.me/Home/Episode/cfae46b5d4cc4eb5fec27e85c343f03a9b467af5 + 227834592 + 2024-10-31T14:52:23.108 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/9ec74ec58489fc87d56ceeead6a48c5a17616e3e + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][283.69 MB] + + https://mikanani.me/Home/Episode/9ec74ec58489fc87d56ceeead6a48c5a17616e3e + 297470528 + 2024-10-29T00:44:17.17 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/b3c6cf7cfdb006c2687fdb809209ee818a9e48ba + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 (CR 1920x1080 + AVC AAC MKV)[1.35 GB] + + https://mikanani.me/Home/Episode/b3c6cf7cfdb006c2687fdb809209ee818a9e48ba + 1449551488 + 2024-10-27T23:33:18.123 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 05 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/18f761f11bcfc3bc0b39530f1ada21305149febd + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 05 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 05 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][326.8 MB] + + https://mikanani.me/Home/Episode/18f761f11bcfc3bc0b39530f1ada21305149febd + 342674624 + 2024-10-27T23:31:36.667787 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 05 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/dde9a441bc212210594c628c8be9979dbebdd230 + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 05 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 05 (B-Global + 1920x1080 HEVC AAC MKV)[267.78 MB] + + https://mikanani.me/Home/Episode/dde9a441bc212210594c628c8be9979dbebdd230 + 280787680 + 2024-10-27T23:31:28.867 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/19860a656fd2d6eef36a827c1eee728891edc440 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 (Baha + 1920x1080 AVC AAC MP4)[325.94 MB] + + https://mikanani.me/Home/Episode/19860a656fd2d6eef36a827c1eee728891edc440 + 341772864 + 2024-10-27T23:30:58.534 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/388a4f9107bb894536174cdb0fb476d77e8d3c25 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 05 (ABEMA + 1920x1080 AVC AAC MP4)[717.83 MB] + + https://mikanani.me/Home/Episode/388a4f9107bb894536174cdb0fb476d77e8d3c25 + 752699328 + 2024-10-27T23:00:59.921 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/f77b7bf9982fe351b4bacf4e51754e4c0f597928 + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][327.58 MB] + + https://mikanani.me/Home/Episode/f77b7bf9982fe351b4bacf4e51754e4c0f597928 + 343492512 + 2024-10-22T00:09:21.717 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/f3de35adfacc659502ab8bc9c89244a955b5da9d + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 (CR 1920x1080 + AVC AAC MKV)[1.35 GB] + + https://mikanani.me/Home/Episode/f3de35adfacc659502ab8bc9c89244a955b5da9d + 1449551488 + 2024-10-20T23:33:06.276 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 04 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/5669ba6ce1863a6f07ffd8094951233c0d12e808 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 04 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 04 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][368.9 MB] + + https://mikanani.me/Home/Episode/5669ba6ce1863a6f07ffd8094951233c0d12e808 + 386819680 + 2024-10-20T23:31:35.256971 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 04 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/9e8f81c423f5c372867c28dbc152d62014ce79c5 + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 04 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 04 (B-Global + 1920x1080 HEVC AAC MKV)[289.71 MB] + + https://mikanani.me/Home/Episode/9e8f81c423f5c372867c28dbc152d62014ce79c5 + 303782944 + 2024-10-20T23:31:30.746 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/db2f748c0697b62a0c03eb11c47badc6f92e57c0 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 (Baha + 1920x1080 AVC AAC MP4)[367.98 MB] + + https://mikanani.me/Home/Episode/db2f748c0697b62a0c03eb11c47badc6f92e57c0 + 385855008 + 2024-10-20T23:30:59.868 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/857c01ecd2bb6e614703418ff643a99ed26e8369 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 04 (ABEMA + 1920x1080 AVC AAC MP4)[716.8 MB] + + https://mikanani.me/Home/Episode/857c01ecd2bb6e614703418ff643a99ed26e8369 + 751619264 + 2024-10-20T23:00:53.364 + + + + + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][03][1080P][AVC AAC][繁日双语][WebRip] + https://mikanani.me/Home/Episode/73c0d3640d818d079d78de54040fdc3469ae38bd + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][03][1080P][AVC AAC][繁日双语][WebRip] + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][03][1080P][AVC AAC][繁日双语][WebRip][411.43 MB] + + https://mikanani.me/Home/Episode/73c0d3640d818d079d78de54040fdc3469ae38bd + 431415616 + 2024-10-18T15:13:24.65 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][03][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/ba15a790d0f54c6a06f75290457484da7f688e0e + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][03][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][03][1080P][AVC AAC][简日双语][WebRip][411.35 MB] + + https://mikanani.me/Home/Episode/ba15a790d0f54c6a06f75290457484da7f688e0e + 431331744 + 2024-10-18T15:13:14.832 + + + + + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai - 03 [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] 招募 + https://mikanani.me/Home/Episode/dd550f0fbb74cfbd09f9f68073340a06fe222a66 + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - 03 + [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] 招募 + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - 03 + [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] 招募[188.71 MB] + + https://mikanani.me/Home/Episode/dd550f0fbb74cfbd09f9f68073340a06fe222a66 + 197876784 + 2024-10-17T13:59:40.795 + + + + + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai - 02 [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] + https://mikanani.me/Home/Episode/d91fab6b43e27cfe54fd61067947683092844e20 + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - 02 + [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - 02 + [WebRip 1080P HEVC AAC][简繁日内封 ASSx3][295.7 MB] + + https://mikanani.me/Home/Episode/d91fab6b43e27cfe54fd61067947683092844e20 + 310063936 + 2024-10-17T00:31:52.466 + + + + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][02][GB][720P][MP4] + https://mikanani.me/Home/Episode/99b5343424cf2eec51cafe82882db9da6e9492a6 + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][02][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][02][GB][720P][MP4][249.25 MB] + + https://mikanani.me/Home/Episode/99b5343424cf2eec51cafe82882db9da6e9492a6 + 261357568 + 2024-10-15T02:18:29.34 + + + + + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][01][GB][720P][MP4] + https://mikanani.me/Home/Episode/f6090e34c7b77482b8c25a71343fd3f84457cd81 + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][01][GB][720P][MP4] + [轻之国度字幕组][叹气的亡灵想隐退/叹息的亡灵好想隐退][01][GB][720P][MP4][228.98 MB] + + https://mikanani.me/Home/Episode/f6090e34c7b77482b8c25a71343fd3f84457cd81 + 240102928 + 2024-10-15T02:18:09.109 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/b6e46bf55384d8e9c709952232e95ff8c93b35ec + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][395.01 MB] + + https://mikanani.me/Home/Episode/b6e46bf55384d8e9c709952232e95ff8c93b35ec + 414198016 + 2024-10-14T23:54:09.54 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/a70df723c23fe30de4bc17a2fa75564cb3d9c31e + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 (CR 1920x1080 + AVC AAC MKV)[1.35 GB] + + https://mikanani.me/Home/Episode/a70df723c23fe30de4bc17a2fa75564cb3d9c31e + 1449551488 + 2024-10-13T23:33:35.427 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 03 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/87ce30d3869bcd3494bf0babb9e794d71b318595 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 03 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 03 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][426.3 MB] + + https://mikanani.me/Home/Episode/87ce30d3869bcd3494bf0babb9e794d71b318595 + 447007936 + 2024-10-13T23:31:34.757996 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 03 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/37027c5b72fa1cda9074ca5b74d78403050b505d + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 03 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 03 (B-Global + 1920x1080 HEVC AAC MKV)[311.59 MB] + + https://mikanani.me/Home/Episode/37027c5b72fa1cda9074ca5b74d78403050b505d + 326725792 + 2024-10-13T23:31:33.935 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/bce63259333a69f6b58698238062b46a39c3d36b + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 (Baha + 1920x1080 AVC AAC MP4)[425.42 MB] + + https://mikanani.me/Home/Episode/bce63259333a69f6b58698238062b46a39c3d36b + 446085216 + 2024-10-13T23:31:03.288 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/cf7813aa6f94bf3ab206452e077deb0f169e9abb + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 03 (ABEMA + 1920x1080 AVC AAC MP4)[717.63 MB] + + https://mikanani.me/Home/Episode/cf7813aa6f94bf3ab206452e077deb0f169e9abb + 752489600 + 2024-10-13T23:01:03.504 + + + + + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][02][1080P][AVC AAC][繁日双语][WebRip] + https://mikanani.me/Home/Episode/c2a81257f6fee1f518b9e6a1b4e60131d1c77015 + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][02][1080P][AVC AAC][繁日双语][WebRip] + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][02][1080P][AVC AAC][繁日双语][WebRip][434.8 MB] + + https://mikanani.me/Home/Episode/c2a81257f6fee1f518b9e6a1b4e60131d1c77015 + 455920832 + 2024-10-12T03:08:55.678 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][02][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/37ee00adb4818dae7bdeb6676c00dbbb27b93247 + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][02][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][02][1080P][AVC AAC][简日双语][WebRip][434.76 MB] + + https://mikanani.me/Home/Episode/37ee00adb4818dae7bdeb6676c00dbbb27b93247 + 455878912 + 2024-10-12T03:08:38.295 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/c8099e04f944d8e14b68b3c3b5c9edaa3b8f756a + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][361.04 MB] + + https://mikanani.me/Home/Episode/c8099e04f944d8e14b68b3c3b5c9edaa3b8f756a + 378577888 + 2024-10-08T13:22:11.717 + + + + + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 + [WebRip 1080p HEVC-10bit AAC][简繁内封字幕] + https://mikanani.me/Home/Episode/a94b527441868783d75931ec7f16f49cf700c14b + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕] + [LoliHouse] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 [WebRip 1080p + HEVC-10bit AAC][简繁内封字幕][304.77 MB] + + https://mikanani.me/Home/Episode/a94b527441868783d75931ec7f16f49cf700c14b + 319574496 + 2024-10-08T02:02:47.102 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/e4ecd9764e5c1bb7e12dd066df8e1e35689fee50 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 (CR 1920x1080 + AVC AAC MKV)[1.36 GB] + + https://mikanani.me/Home/Episode/e4ecd9764e5c1bb7e12dd066df8e1e35689fee50 + 1460288896 + 2024-10-06T23:32:45.894 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 02 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/88165bb25f8e955dea151bd6c99bc962536cc939 + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 02 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 02 (B-Global + 1920x1080 HEVC AAC MKV)[312.77 MB] + + https://mikanani.me/Home/Episode/88165bb25f8e955dea151bd6c99bc962536cc939 + 327963104 + 2024-10-06T23:31:45.562 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/a0836e10b2da773f3824c50048edad8850b02ce6 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 (Baha + 1920x1080 AVC AAC MP4)[397.1 MB] + + https://mikanani.me/Home/Episode/a0836e10b2da773f3824c50048edad8850b02ce6 + 416389536 + 2024-10-06T23:31:29.679 + + + + + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 02 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/cd802f424c00010f20f767170549db7565697154 + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 02 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei wa Intai Shitai / 叹气的亡灵想隐退 - 02 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][398.0 MB] + + https://mikanani.me/Home/Episode/cd802f424c00010f20f767170549db7565697154 + 417333248 + 2024-10-06T23:31:18.013311 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/1f313d28fc797247c01cfd11bf0ab50df852a7d4 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 02 (ABEMA + 1920x1080 AVC AAC MP4)[717.08 MB] + + https://mikanani.me/Home/Episode/1f313d28fc797247c01cfd11bf0ab50df852a7d4 + 751912896 + 2024-10-06T23:01:30.365 + + + + + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai - 01 [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] + https://mikanani.me/Home/Episode/fa1c2ba68d18517093a7bcc7353848609c756069 + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - 01 + [WebRip 1080P HEVC AAC][简繁日内封 ASSx3] + [霜庭云花Sub] 叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai shitai - 01 + [WebRip 1080P HEVC AAC][简繁日内封 ASSx3][320.93 MB] + + https://mikanani.me/Home/Episode/fa1c2ba68d18517093a7bcc7353848609c756069 + 336519488 + 2024-10-05T21:08:42.594 + + + + + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01][1080P][AVC AAC][繁日双语][WebRip] + https://mikanani.me/Home/Episode/e1e4d5b9e7f618368f8e7e856b432d0a81e8727e + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01][1080P][AVC AAC][繁日双语][WebRip] + [霜庭云花Sub][叹气的亡灵想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01][1080P][AVC AAC][繁日双语][WebRip][391.95 MB] + + https://mikanani.me/Home/Episode/e1e4d5b9e7f618368f8e7e856b432d0a81e8727e + 410989376 + 2024-10-05T20:16:01.129 + + + + + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01][1080P][AVC AAC][简日双语][WebRip] + https://mikanani.me/Home/Episode/fed97c7e7b56968038c38f3c623c16a8c644254e + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01][1080P][AVC AAC][简日双语][WebRip] + [霜庭云花Sub][叹息的的亡灵好想隐退 / 叹きの亡霊は引退したい / Nageki no Bourei wa Intai + shitai][01][1080P][AVC AAC][简日双语][WebRip][391.82 MB] + + https://mikanani.me/Home/Episode/fed97c7e7b56968038c38f3c623c16a8c644254e + 410853056 + 2024-10-05T20:15:26.266 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 + (CR 1920x1080 AVC AAC MKV) + https://mikanani.me/Home/Episode/659d6115a49e77299b18f898669eec89e2a97351 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 (CR 1920x1080 AVC + AAC MKV) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 (CR 1920x1080 + AVC AAC MKV)[1.36 GB] + + https://mikanani.me/Home/Episode/659d6115a49e77299b18f898669eec89e2a97351 + 1460288896 + 2024-09-29T23:33:51.276 + + + + + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 01 + (B-Global 1920x1080 HEVC AAC MKV) + https://mikanani.me/Home/Episode/fc527ff3c1ecca24310ad0952236af6383f0d1ef + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 01 (B-Global + 1920x1080 HEVC AAC MKV) + [Up to 21°C] 叹气的亡灵好想隐退 / Nageki no Bourei wa Intai shitai - 01 (B-Global + 1920x1080 HEVC AAC MKV)[276.61 MB] + + https://mikanani.me/Home/Episode/fc527ff3c1ecca24310ad0952236af6383f0d1ef + 290046592 + 2024-09-29T23:33:48.199 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 + (Baha 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/ad55cdd789751e2a7de074cf1e1d387e58b36f95 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 (Baha 1920x1080 AVC + AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 (Baha + 1920x1080 AVC AAC MP4)[348.45 MB] + + https://mikanani.me/Home/Episode/ad55cdd789751e2a7de074cf1e1d387e58b36f95 + 365376320 + 2024-09-29T23:31:00.315 + + + + + [ANi] Nageki no Bourei ha Intai Shitai / 叹气的亡灵想隐退 - 01 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4] + https://mikanani.me/Home/Episode/fc2abd7e80e310e4f2de0e1a10c28848d140fa70 + [ANi] Nageki no Bourei ha Intai Shitai / 叹气的亡灵想隐退 - 01 [1080P][Baha][WEB-DL][AAC + AVC][CHT][MP4] + [ANi] Nageki no Bourei ha Intai Shitai / 叹气的亡灵想隐退 - 01 + [1080P][Baha][WEB-DL][AAC AVC][CHT][MP4][349.4 MB] + + https://mikanani.me/Home/Episode/fc2abd7e80e310e4f2de0e1a10c28848d140fa70 + 366372448 + 2024-09-29T23:30:57.550943 + + + + + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 + (ABEMA 1920x1080 AVC AAC MP4) + https://mikanani.me/Home/Episode/6c9e5dbb87e1447913f946bd781126e9e408b753 + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 (ABEMA 1920x1080 + AVC AAC MP4) + [Up to 21°C] 叹气的亡灵想隐退 / Nageki no Bourei wa Intai shitai - 01 (ABEMA + 1920x1080 AVC AAC MP4)[716.99 MB] + + https://mikanani.me/Home/Episode/6c9e5dbb87e1447913f946bd781126e9e408b753 + 751818496 + 2024-09-29T23:05:30.956 + + + + +