From 1ff88d99094341d088ae329a2715bd2d0247c51c Mon Sep 17 00:00:00 2001 From: yemen Date: Tue, 14 Jul 2026 09:51:17 +0300 Subject: [PATCH] feat(ar/galaxynovels): add Galaxy Novels plugin Add support for galaxynovels.com with JSON API search, chapter index parsing, and WordPress REST API content fetching. --- plugins/arabic/galaxynovels.ts | 276 +++++++++++++++++++++ plugins/index.ts | 2 + public/static/src/ar/galaxynovels/icon.png | Bin 0 -> 44973 bytes 3 files changed, 278 insertions(+) create mode 100644 plugins/arabic/galaxynovels.ts create mode 100644 public/static/src/ar/galaxynovels/icon.png diff --git a/plugins/arabic/galaxynovels.ts b/plugins/arabic/galaxynovels.ts new file mode 100644 index 000000000..7f3b98970 --- /dev/null +++ b/plugins/arabic/galaxynovels.ts @@ -0,0 +1,276 @@ +import { load as loadCheerio } from 'cheerio'; +import { fetchApi } from '@libs/fetch'; +import { Plugin } from '@/types/plugin'; +import { NovelStatus } from '@libs/novelStatus'; +import { Filters, FilterTypes } from '@libs/filterInputs'; + +type ChapterJSON = { + id: number; + position: number; + number: string; + label: string; + title: string; + url: string; + content_api: string; + date_iso: string; +}; + +type ChaptersIndex = { + novel_id: number; + total: number; + chapters: ChapterJSON[]; +}; + +type ChapterContentResponse = { + schema: number; + data: { + content_html: string; + display_title: string; + navigation: { next_url: string; previous_url: string }; + }; +}; + +class GalaxyNovels implements Plugin.PluginBase { + id = 'galaxynovels'; + name = 'Galaxy Novels'; + version = '1.0.0'; + icon = 'src/ar/galaxynovels/icon.png'; + site = 'https://galaxynovels.com/'; + + filters = { + sort: { + label: 'Sort By', + value: 'popular', + options: [ + { label: 'Most Popular', value: 'popular' }, + { label: 'Newest', value: 'new' }, + { label: 'Recently Updated', value: 'recent' }, + ], + type: FilterTypes.Picker, + }, + period: { + label: 'Period', + value: 'month', + options: [ + { label: 'Month', value: 'month' }, + { label: 'Week', value: 'week' }, + { label: 'All Time', value: 'all' }, + ], + type: FilterTypes.Picker, + }, + } satisfies Filters; + + private baseUrl = 'https://galaxynovels.com'; + + private async fetchHtml(url: string): Promise { + const res = await fetchApi(url); + if (!res.ok) { + throw new Error(`Could not reach site (${res.status})`); + } + return res.text(); + } + + private async fetchJson(url: string): Promise { + const res = await fetchApi(url); + if (!res.ok) { + throw new Error(`Could not reach site (${res.status})`); + } + return res.json() as Promise; + } + + async popularNovels( + pageNo: number, + { + showLatestNovels, + filters, + }: Plugin.PopularNovelsOptions, + ): Promise { + const sort = showLatestNovels ? 'new' : filters.sort.value; + const period = filters.period.value; + + let url: string; + if (sort === 'new') { + url = `${this.baseUrl}/novels/?sort=new&page=${pageNo}`; + } else if (sort === 'recent') { + url = `${this.baseUrl}/recent/?page=${pageNo}`; + } else { + url = `${this.baseUrl}/novels/?sort=popular&period=${period}&page=${pageNo}`; + } + + const html = await this.fetchHtml(url); + const $ = loadCheerio(html); + + const novels: Plugin.NovelItem[] = []; + $('article.wor-novel-card').each((_, el) => { + const $el = $(el); + const coverLink = $el.find('a.wor-novel-card__cover'); + const href = coverLink.attr('href'); + const img = $el.find('img.wor-cover-img'); + const cover = + img.attr('src') || img.attr('data-src') || undefined; + const title = $el.find('h3 a').text().trim(); + + if (!href || !title) return; + + const path = new URL(href, this.site).pathname; + + novels.push({ + name: title, + path, + cover, + }); + }); + + return novels; + } + + async parseNovel(novelPath: string): Promise { + const url = `${this.baseUrl}${novelPath}`; + const html = await this.fetchHtml(url); + const $ = loadCheerio(html); + + const title = $('h1').first().text().trim(); + const cover = $('img.wor-cover-img').first().attr('src'); + const author = $('p.wor-single-hero__meta-text span').text().trim(); + const summary = $('.wor-single-summary__text').text().trim(); + + const genres: string[] = []; + $('a.wor-tag-pill').each((_, el) => { + genres.push($(el).text().trim()); + }); + + const statusText = $('span.wor-cover-status').text().trim(); + const statusMap: Record = { + 'مستمرة': NovelStatus.Ongoing, + 'مكتملة': NovelStatus.Completed, + 'متوقفة': NovelStatus.OnHiatus, + }; + const status = statusMap[statusText] || NovelStatus.Unknown; + + const chaptersContainer = $('[data-wor-chapters-container]'); + const chaptersIndexUrl = chaptersContainer.attr('data-index-url'); + + let chapters: Plugin.ChapterItem[] = []; + + if (chaptersIndexUrl) { + try { + const indexUrl = chaptersIndexUrl.startsWith('http') + ? chaptersIndexUrl + : `${this.baseUrl}${chaptersIndexUrl}`; + const index = await this.fetchJson(indexUrl); + + chapters = index.chapters.map(ch => ({ + name: ch.label + (ch.title ? `: ${ch.title}` : ''), + path: `${novelPath}chapter-${ch.id}/`, + chapterNumber: ch.position, + releaseTime: ch.date_iso?.split('T')[0] || '', + page: String(ch.id), + })); + } catch { + // fallback to HTML parsing + } + } + + if (chapters.length === 0) { + $('article.wor-novel-chapter-item').each((_, el) => { + const $el = $(el); + const chapterLink = $el.find('h3 a').attr('href') || $el.find('a.wor-novel-chapter-item__num').attr('href'); + const chapterName = $el.find('h3 a').text().trim() || $el.find('a.wor-novel-chapter-item__num').text().trim(); + const chapterId = $el.attr('data-chapter-id'); + const timeEl = $el.find('time'); + const releaseTime = timeEl.attr('datetime')?.split('T')[0] || ''; + + if (!chapterLink) return; + + const path = chapterId + ? `${novelPath}chapter-${chapterId}/` + : new URL(chapterLink, this.site).pathname; + const numMatch = path.match(/chapter-(\d+)/); + const chapterNumber = numMatch ? parseInt(numMatch[1]) : 0; + + chapters.push({ + name: chapterName, + path, + chapterNumber, + releaseTime, + page: chapterId || '', + }); + }); + } + + return { + path: novelPath, + name: title, + cover, + author: author || 'Unknown', + genres: genres.join(', '), + summary, + status, + chapters, + }; + } + + async parseChapter(chapterPath: string): Promise { + const idMatch = chapterPath.match(/chapter-(\d+)/); + const chapterId = idMatch?.[1]; + + if (chapterId) { + const apiUrl = `${this.baseUrl}/wp-json/wor-reader-app/v1/chapters/${chapterId}`; + try { + const response = await this.fetchJson(apiUrl); + if (response.data?.content_html) { + return response.data.content_html; + } + } catch { + // fallback to HTML + } + } + + const url = `${this.baseUrl}${chapterPath}`; + const html = await this.fetchHtml(url); + const $ = loadCheerio(html); + const content = + $('article.wor-chapter-content, .wor-chapter-text, .entry-content').html(); + return content || '

Content not available.

'; + } + + async searchNovels( + searchTerm: string, + pageNo: number, + ): Promise { + const manifestUrl = + 'https://galaxynovels.com/wp-content/uploads/wor-reader-cache/search/manifest.json'; + const manifest = await this.fetchJson<{ + index: string; + }>(manifestUrl); + + const searchIndex = await this.fetchJson<{ + items: { + t: string; + u: string; + c: string; + s: string; + }[]; + }>(manifest.index); + + const term = searchTerm.toLowerCase(); + const filtered = searchIndex.items.filter( + n => + n.t.toLowerCase().includes(term) || + n.s.toLowerCase().includes(term), + ); + + const limit = 20; + const offset = (pageNo - 1) * limit; + + return filtered.slice(offset, offset + limit).map(novel => ({ + name: novel.t, + path: novel.u, + cover: novel.c.startsWith('http') + ? novel.c + : `${this.baseUrl}${novel.c}`, + })); + } +} + +export default new GalaxyNovels(); diff --git a/plugins/index.ts b/plugins/index.ts index 448606c58..2ccdb38b6 100644 --- a/plugins/index.ts +++ b/plugins/index.ts @@ -251,6 +251,7 @@ import p_248 from '@plugins/vietnamese/lightnovelvn'; import p_249 from '@plugins/vietnamese/LNHako'; import p_250 from '@plugins/vietnamese/nettruyen'; import p_251 from '@plugins/vietnamese/truyenss'; +import p_252 from '@plugins/arabic/galaxynovels'; const PLUGINS: Plugin.PluginBase[] = [ p_0, @@ -505,5 +506,6 @@ const PLUGINS: Plugin.PluginBase[] = [ p_249, p_250, p_251, + p_252, ]; export default PLUGINS; diff --git a/public/static/src/ar/galaxynovels/icon.png b/public/static/src/ar/galaxynovels/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b219dc73f98e8c13a98ab963e7351542f690fe63 GIT binary patch literal 44973 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