Files

52 lines
28 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>External plugins SDK / kotatsu.app</title>
<meta name="description" content="Documentation on how to create an external Kotatsu manga source plugin.">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/assets/style.BSZa4LLr.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.DfmH0hD_.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.DHjD9K3I.js">
<link rel="modulepreload" href="/assets/chunks/framework.jeRwkH3J.js">
<link rel="modulepreload" href="/assets/dev_plugin-sdk_index.md.BeWcUFng.lean.js">
<lint rel="preconnect" href="https://fonts.googleapis.com"></lint>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&amp;display=swap">
<link rel="icon" href="/favicon.ico?v=2" sizes="any">
<link rel="icon" href="/logo-compact.svg?v=2" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png?v=2">
<link rel="manifest" href="/site.webmanifest">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
<meta property="og:site_name" content="Kotatsu Website">
<link rel="canonical" href="https://kotatsu.app/dev/plugin-sdk/">
<meta property="og:url" content="https://kotatsu.app/dev/plugin-sdk/">
<meta name="twitter:url" content="https://kotatsu.app/dev/plugin-sdk/">
<meta name="twitter:card" content="summary_large_image">
<meta property="og:type" content="website">
<meta property="og:title" content="External plugins SDK">
<meta name="twitter:title" content="External plugins SDK">
<meta property="og:description" content="Documentation on how to create an external Kotatsu manga source plugin.">
<meta name="twitter:description" content="Documentation on how to create an external Kotatsu manga source plugin.">
<meta property="og:image" content="https://kotatsu.app/dev/plugin-sdk/__og_image__/og.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="628">
<meta property="og:image:type" content="image/png">
<meta property="og:image:alt" content="External plugins SDK">
<meta name="twitter:image" content="https://kotatsu.app/dev/plugin-sdk/__og_image__/og.png">
<meta name="twitter:image:width" content="1200">
<meta name="twitter:image:height" content="628">
<meta name="twitter:image:alt" content="External plugins SDK">
<meta property="article:modified_time" content="2025-11-02T12:38:50.000Z">
</head>
<body>
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b0ada53></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b0ada53>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar" data-v-ae24b3ad data-v-b3b4610d><div class="container" data-v-b3b4610d><div class="title" data-v-b3b4610d><div class="VPNavBarTitle has-sidebar" data-v-b3b4610d data-v-1168a8e4><a class="title" href="/" data-v-1168a8e4><!--[--><!--]--><!--[--><!--[--><!--[--><img class="VPImage dark logo" src="/logo-dark.svg" alt data-v-8426fc1a><!--]--><!--[--><img class="VPImage light logo" src="/logo.svg" alt data-v-8426fc1a><!--]--><!--]--><!--]--><span data-v-1168a8e4>kotatsu.app</span><!--[--><!--]--></a></div></div><div class="content" data-v-b3b4610d><div class="curtain" data-v-b3b4610d></div><div class="content-body" data-v-b3b4610d><!--[--><!--]--><div class="VPNavBarSearch search" data-v-b3b4610d><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-b3b4610d data-v-acb1d445><span id="main-nav-aria-label" class="visually-hidden" data-v-acb1d445>Main navigation</span><!--[--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-acb1d445 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-cf11d7a2><span class="text" data-v-cf11d7a2><!----><span data-v-cf11d7a2>Get v{app_version}</span><span class="vpi-chevron-down text-icon" data-v-cf11d7a2></span></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><div class="items" data-v-b98bc113><!--[--><!--[--><div class="VPMenuLink" data-v-b98bc113 data-v-35975db6><a class="VPLink link" href="/download/" data-v-35975db6><!--[--><span data-v-35975db6>Download</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b98bc113 data-v-35975db6><a class="VPLink link" href="/changelogs/" data-v-35975db6><!--[--><span data-v-35975db6>Changelogs</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/manuals/guides/getting-started/" tabindex="0" data-v-acb1d445 data-v-e56f3d57><!--[--><span data-v-e56f3d57>User manual</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-b3b4610d data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://t.me/kotatsuapp" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><svg role="img" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m196.03,328.68 l162,118.8c16.8,10.8 31.2,4.8 36,-16.8l66,-309.6c6,-26.4 -10.8,-38.4 -28.8,-30L46.03,239.88c-25.2,9.6 -25.2,25.2 -4.8,31.2l99.6,31.2 228,-145.2c10.8,-6 20.4,-3.6 13.2,4.8"/></svg></a><a class="VPSocialLink no-icon" href="https://discord.gg/NNJ5RgVBC5" aria-label="discord" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/KotatsuApp/Kotatsu" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-b3b4610d data-v-bb2aa2f0 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-cf11d7a2><span class="vpi-more-horizontal icon" data-v-cf11d7a2></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><!----><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>Appearance</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://t.me/kotatsuapp" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><svg role="img" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m196.03,328.68 l162,118.8c16.8,10.8 31.2,4.8 36,-16.8l66,-309.6c6,-26.4 -10.8,-38.4 -28.8,-30L46.03,239.88c-25.2,9.6 -25.2,25.2 -4.8,31.2l99.6,31.2 228,-145.2c10.8,-6 20.4,-3.6 13.2,4.8"/></svg></a><a class="VPSocialLink no-icon" href="https://discord.gg/NNJ5RgVBC5" aria-label="discord" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-discord"></span></a><a class="VPSocialLink no-icon" href="https://github.com/KotatsuApp/Kotatsu" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-b3b4610d data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-8a42e2b4><button data-v-8a42e2b4>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-7dd6e3ca><div class="curtain" data-v-7dd6e3ca></div><nav id="VPSidebarNav" class="nav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-7dd6e3ca><span id="sidebar-aria-label" class="visually-hidden" data-v-7dd6e3ca> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-7dd6e3ca><section class="VPSidebarItem level-0" data-v-7dd6e3ca data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>General sections</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/download/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Download</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/changelogs/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Changelogs</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-7dd6e3ca><section class="VPSidebarItem level-0" data-v-7dd6e3ca data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>Frequently Asked Questions</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/faq/general/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>General</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/faq/feed/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Feed</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>Explore</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/faq/explore/sources/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Sources</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/faq/explore/downloads/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Downloads</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/faq/reader/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Reader</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/faq/settings/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Settings</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/faq/miscellaneous/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Miscellaneous</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-7dd6e3ca><section class="VPSidebarItem level-0" data-v-7dd6e3ca data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>Guides</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/guides/getting-started/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Getting started</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/guides/troubleshooting/" data-v-b3fd67f8><!--[--><h3 class="text" data-v-b3fd67f8>Troubleshooting</h3><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/guides/troubleshooting/common-issues/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Common issues</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/guides/troubleshooting/diagnosis/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Diagnosis</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/guides/backups/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Backups</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/guides/tracking/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Tracking</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/guides/categories/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Categories</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/manuals/guides/synchronization/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Synchronization</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-7dd6e3ca><section class="VPSidebarItem level-0 has-active" data-v-7dd6e3ca data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>For developers</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/dev/contribute/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Contribute</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/dev/parsers-library/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Parsers library</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/dev/sync-server/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Synchronization server</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/dev/plugin-sdk/" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>External plugins SDK</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--[--><!--[--><!--[--><!----><!--]--><!--]--><!--]--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--[--><!--[--><ol class="Breadcrumbs" itemscope itemtype="https://schema.org/BreadcrumbList" data-v-7a9939ac><!--[--><li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="item" data-v-7a9939ac><!--[--><span title="For developers" itemprop="name" class="name" data-v-7a9939ac>For developers</span><!----><!--]--><meta itemprop="position" content="0" data-v-7a9939ac></li><li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="active item" data-v-7a9939ac><!--[--><span title="External plugins SDK" itemprop="name" class="name" data-v-7a9939ac>External plugins SDK</span><link href="/dev/plugin-sdk/" itemprop="item" data-v-7a9939ac><!--]--><meta itemprop="position" content="1" data-v-7a9939ac></li><!--]--></ol><!--]--><!--]--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _dev_plugin-sdk_" data-v-39a288b8><div><h1 id="external-plugins-sdk" tabindex="-1">External plugins SDK <a class="header-anchor" href="#external-plugins-sdk" aria-label="Permalink to &quot;External plugins SDK&quot;">​</a></h1><p>This library helps to create a standalone manga source plugin for Kotatsu as a separate APK.</p><h2 id="usage" tabindex="-1">Usage <a class="header-anchor" href="#usage" aria-label="Permalink to &quot;Usage&quot;">​</a></h2><p>TBW</p></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--[--><!--[--><!--[--><!----><!--]--><!--]--><!--]--><!--]--><div class="edit-info" data-v-e257564d><div class="edit-link" data-v-e257564d><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/KotatsuApp/website/edit/main/website/dev/plugin-sdk/index.md" target="_blank" rel="noreferrer" data-v-e257564d><!--[--><span class="vpi-square-pen edit-link-icon" data-v-e257564d></span> Suggest changes to this page<!--]--></a></div><div class="last-updated" data-v-e257564d><p class="VPLastUpdated" data-v-e257564d data-v-e98dd255>Last updated: <time datetime="2025-11-02T12:38:50.000Z" data-v-e98dd255></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><a class="VPLink link pager-link prev" href="/dev/sync-server/" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Previous page</span><span class="title" data-v-e257564d>Synchronization server</span><!--]--></a></div><div class="pager" data-v-e257564d><!----></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"account_index.md\":\"lrEDD_kH\",\"changelogs_index.md\":\"6DG4582a\",\"dev_contribute_index.md\":\"0yfhqEJr\",\"dev_parsers-library_index.md\":\"Cy4MvT1K\",\"dev_plugin-sdk_index.md\":\"BeWcUFng\",\"dev_sync-server_index.md\":\"DYQR0Qxy\",\"dmca_index.md\":\"BeAZu2fZ\",\"download_index.md\":\"CHneUGtT\",\"index.md\":\"DZwhLjCc\",\"manga_index.md\":\"DBDxo0SJ\",\"manuals_faq_explore_bookmarks_index.md\":\"DQ78ntGn\",\"manuals_faq_explore_downloads_index.md\":\"wiT6-U2h\",\"manuals_faq_explore_local-storage_index.md\":\"DSauugIz\",\"manuals_faq_explore_random_index.md\":\"C3PihMBU\",\"manuals_faq_explore_sources_index.md\":\"mS8NkhzD\",\"manuals_faq_explore_suggestions_index.md\":\"CW_IwNZJ\",\"manuals_faq_feed_index.md\":\"Bv7XziRy\",\"manuals_faq_general_index.md\":\"Djq2Njco\",\"manuals_faq_miscellaneous_index.md\":\"DYhhvm1I\",\"manuals_faq_reader_index.md\":\"BGXgBpVo\",\"manuals_faq_settings_index.md\":\"GWpainFj\",\"manuals_guides_backups_index.md\":\"CTooqOsv\",\"manuals_guides_categories_index.md\":\"BXzCIROo\",\"manuals_guides_getting-started_index.md\":\"BH__mO2u\",\"manuals_guides_synchronization_index.md\":\"h7XKAQSV\",\"manuals_guides_tracking_index.md\":\"CQ1vLsmk\",\"manuals_guides_troubleshooting_common-issues_index.md\":\"B7ZVeW_J\",\"manuals_guides_troubleshooting_diagnosis_index.md\":\"CgcDqopP\",\"manuals_guides_troubleshooting_index.md\":\"C6V--8Lj\",\"privacy_index.md\":\"7U9n5s3R\",\"sandbox_index.md\":\"CXDY6HCr\",\"sandbox_style-guide_index.md\":\"DL6iiiqB\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"kotatsu.app\",\"titleTemplate\":\":title / kotatsu.app\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"titleSeparator\":\" / \",\"i18nRouting\":true,\"logo\":{\"light\":\"/logo.svg\",\"dark\":\"/logo-dark.svg\"},\"socialLinks\":[{\"icon\":{\"svg\":\"<svg role=\\\"img\\\" viewBox=\\\"0 0 512 512\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"m196.03,328.68 l162,118.8c16.8,10.8 31.2,4.8 36,-16.8l66,-309.6c6,-26.4 -10.8,-38.4 -28.8,-30L46.03,239.88c-25.2,9.6 -25.2,25.2 -4.8,31.2l99.6,31.2 228,-145.2c10.8,-6 20.4,-3.6 13.2,4.8\\\"/></svg>\"},\"link\":\"https://t.me/kotatsuapp\"},{\"icon\":\"discord\",\"link\":\"https://discord.gg/NNJ5RgVBC5\"},{\"icon\":\"github\",\"link\":\"https://github.com/KotatsuApp/Kotatsu\"}],\"search\":{\"provider\":\"local\",\"options\":{\"locales\":{\"root\":{\"translations\":{\"button\":{\"buttonText\":\"Search\",\"buttonAriaLabel\":\"Search\"},\"modal\":{\"resetButtonTitle\":\"Reset search\",\"backButtonTitle\":\"Close search\",\"noResultsText\":\"No results for\",\"footer\":{\"selectText\":\"to select\",\"selectKeyAriaLabel\":\"enter\",\"navigateText\":\"to navigate\",\"navigateUpKeyAriaLabel\":\"up arrow\",\"navigateDownKeyAriaLabel\":\"down arrow\",\"closeText\":\"to close\",\"closeKeyAriaLabel\":\"escape\"}}}}}}},\"sections\":[]},\"locales\":{\"root\":{\"label\":\"English\",\"lang\":\"en\",\"description\":\"A simple and convenient open source manga reader from and for the community, where you can find and read your favorite manga easier than ever.\",\"head\":[[\"meta\",{\"property\":\"og:site_name\",\"content\":\"Kotatsu Website\"}]],\"themeConfig\":{\"nav\":[{\"text\":\"Get v{app_version}\",\"activeMatch\":\"^/*?(download|changelogs)/*?$\",\"items\":[{\"text\":\"Download\",\"link\":\"/download/\"},{\"text\":\"Changelogs\",\"link\":\"/changelogs/\"}]},{\"text\":\"User manual\",\"link\":\"/manuals/guides/getting-started/\",\"activeMatch\":\"/manuals/\"}],\"sidebar\":{\"/\":[{\"text\":\"General sections\",\"items\":[{\"text\":\"Download\",\"link\":\"/download/\"},{\"text\":\"Changelogs\",\"link\":\"/changelogs/\"}]},{\"text\":\"Frequently Asked Questions\",\"items\":[{\"text\":\"General\",\"link\":\"/manuals/faq/general/\"},{\"text\":\"Feed\",\"link\":\"/manuals/faq/feed/\"},{\"text\":\"Explore\",\"collapsed\":true,\"items\":[{\"text\":\"Sources\",\"link\":\"/manuals/faq/explore/sources/\"},{\"text\":\"Downloads\",\"link\":\"/manuals/faq/explore/downloads/\"}]},{\"text\":\"Reader\",\"link\":\"/manuals/faq/reader/\"},{\"text\":\"Settings\",\"link\":\"/manuals/faq/settings/\"},{\"text\":\"Miscellaneous\",\"link\":\"/manuals/faq/miscellaneous/\"}]},{\"text\":\"Guides\",\"items\":[{\"text\":\"Getting started\",\"link\":\"/manuals/guides/getting-started/\"},{\"text\":\"Troubleshooting\",\"link\":\"/manuals/guides/troubleshooting/\",\"collapsed\":true,\"items\":[{\"text\":\"Common issues\",\"link\":\"/manuals/guides/troubleshooting/common-issues/\"},{\"text\":\"Diagnosis\",\"link\":\"/manuals/guides/troubleshooting/diagnosis/\"}]},{\"text\":\"Backups\",\"link\":\"/manuals/guides/backups/\"},{\"text\":\"Tracking\",\"link\":\"/manuals/guides/tracking/\"},{\"text\":\"Categories\",\"link\":\"/manuals/guides/categories/\"},{\"text\":\"Synchronization\",\"link\":\"/manuals/guides/synchronization/\"}]},{\"text\":\"For developers\",\"items\":[{\"text\":\"Contribute\",\"link\":\"/dev/contribute/\"},{\"text\":\"Parsers library\",\"link\":\"/dev/parsers-library/\"},{\"text\":\"Synchronization server\",\"link\":\"/dev/sync-server/\"},{\"text\":\"External plugins SDK\",\"link\":\"/dev/plugin-sdk/\"}]}]},\"outline\":{\"label\":\"On this page\",\"level\":\"deep\"},\"docFooter\":{\"prev\":\"Previous page\",\"next\":\"Next page\"},\"editLink\":{\"pattern\":\"https://github.com/KotatsuApp/website/edit/main/website/:path\",\"text\":\"Suggest changes to this page\"},\"footer\":{\"qrcodeTitle\":\"Telegram Group\",\"qrcodeMessage\":\"Contact us on Telegram\",\"qrcodeLink\":\"https://t.me/kotatsuapp\",\"navigation\":[{\"title\":\"Legal\",\"items\":[{\"text\":\"Privacy\",\"link\":\"/privacy/\"},{\"text\":\"DMCA disclaimer\",\"link\":\"/dmca/\"}]}]},\"sections\":[]}}},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>