diff options
Diffstat (limited to 'vtuber-captcha.html')
| -rw-r--r-- | vtuber-captcha.html | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/vtuber-captcha.html b/vtuber-captcha.html deleted file mode 100644 index 1709849..0000000 --- a/vtuber-captcha.html +++ /dev/null @@ -1,100 +0,0 @@ -<!DOCTYPE html SYSTEM "about:legacy-compat"><html lang="en-US" data-colors-preset="contrast" data-primary-color="#307FFF"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="robots" content="noindex"> <meta name="built-on" content="2023-12-16T15:56:55.95957412"><meta name="build-number" content="${buildNumber}"> <title>VTuber Captcha | Project Knowledge Base</title><script id="virtual-toc-data" type="application/json">[{"id":"available-endpoints","level":0,"title":"Available Endpoints","anchor":"#available-endpoints"},{"id":"affiliation-org","level":0,"title":"/affiliation/\u003corg\u003e","anchor":"#affiliation-org"},{"id":"authenticating-answers-against-the-server","level":0,"title":"Authenticating Answers Against The Server","anchor":"#authenticating-answers-against-the-server"},{"id":"supported-keywords","level":0,"title":"Supported Keywords","anchor":"#supported-keywords"},{"id":"organization","level":0,"title":"Organization","anchor":"#organization"}]</script><script id="topic-shortcuts" type="application/json"></script><link href="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.css" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><link rel="manifest" href="https://jetbrains.com/site.webmanifest"><link rel="mask-icon" href="https://jetbrains.com/safari-pinned-tab.svg" color="#000000"><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"/> <meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="VTuber Captcha | Project Knowledge Base"/><meta property="og:description" content=""/><meta property="og:image" content=""/><meta property="og:site_name" content="Project Knowledge Base Help"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:url" content="vtuber-captcha.html"/><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="VTuber Captcha | Project Knowledge Base"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "vtuber-captcha.html#webpage", "url": "vtuber-captcha.html", "name": "VTuber Captcha | Project Knowledge Base", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json"> { "@type": "WebSite", "@id": "/#website", "url": "/", "name": "Project Knowledge Base Help" }</script><!-- End Schema.org --></head> <body data-id="VTuber-Captcha" data-main-title="VTuber Captcha" data-article-props="{"seeAlsoStyle":"links"}" data-template="article" data-breadcrumbs="" > <div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>Project Knowledge Base Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="VTuber-Captcha" id="VTuber-Captcha.md">VTuber Captcha</h1> <p id="3dd194a4_7">A simple web API that serves VTuber related CAPTCHAs including server-side verification. Bring your own frontend to display the data.</p><section class="chapter"><h2 id="available-endpoints" data-toc="available-endpoints" >Available Endpoints</h2><p id="3dd194a4_8">The base URL or the API currently is: <code class="code" id="3dd194a4_9">https://vtuber-captcha.vercel.app/api</code></p><p id="3dd194a4_10">Below are the current API endpoints supported: <a href="https://github.com/pinapelz/vtuber-captcha/wiki/Authenticating-Answers-Against-the-API" id="3dd194a4_11" data-external="true" rel="noopener noreferrer" >Authenticating Against the API</a></p></section><section class="chapter"><h2 id="affiliation-org" data-toc="affiliation-org" >/affiliation/<org></h2><p id="3dd194a4_12">Returns a captcha asking user to identify which of the VTubers are affiliated with a particular organization or group</p><p id="3dd194a4_13"><span class="control" id="3dd194a4_14">Path Parameters</span></p><ul class="list _ul" id="3dd194a4_15"><li class="list__item" id="3dd194a4_16"><p><code class="code" id="3dd194a4_17"><org></code>: Refer to <a href="https://github.com/pinapelz/vtuber-captcha/wiki/Supported-Terms#organizations" id="3dd194a4_18" data-external="true" rel="noopener noreferrer" >organization page</a> for a list of supported terms <span class="control" id="3dd194a4_19">Query Parameters</span></p></li><li class="list__item" id="3dd194a4_20"><p><code class="code" id="3dd194a4_21">server_auth</code>: false if answers to captcha should be sent to response, true if you would like the API to store the answer and authenticate against it. </p><ul class="list _ul" id="3dd194a4_22"><li class="list__item" id="3dd194a4_23"><p>Default: <code class="code" id="3dd194a4_24">false</code></p></li><li class="list__item" id="3dd194a4_25"><p>Enums: <code class="code" id="3dd194a4_26">true, false</code></p></li></ul></li></ul></section><section class="chapter"><h2 id="authenticating-answers-against-the-server" data-toc="authenticating-answers-against-the-server" >Authenticating Answers Against The Server</h2><p id="3dd194a4_27">The API supports server-side verification meaning that the answer to the CAPTCHA is never sent to you after making the initial request.</p><p id="3dd194a4_28">Instead, each request will be assigned a session-token which uniquely identifies the CAPTCHA. The server then saves the answer to the CAPTCHA. This makes it safe for you to directly call the API client-side from a frontend without the need for a middle-man to store the answer.</p><p id="3dd194a4_29">To authenticate answers against the API. You need to specify the query parameter <code class="code" id="3dd194a4_30">?server_auth=true</code></p><p id="3dd194a4_31"><span class="control" id="3dd194a4_32">Example Response with <code class="code" id="3dd194a4_33">?server_auth=true</code></span></p><div class="code-block" data-lang="none" > -{ - "category": "affiliation", - "onFail": { - "extra": null, - "text": "You got some wrong" - }, - "questions": [ - { - "id": "UCgZuwn-O7Szh9cAgHqJ6vjw", - "image": "https://yt3.ggpht.com/ytc/AMLnZu_aQ3akSpFc9SVPcFMXATjdKZAcmy1aXtGq364A=s800-c-k-c0x00ffffff-no-rj", - "name": "Aloe Ch.魔乃アロエ" - }, - { - "id": "UC7MMNHR-kf9EN1rXiesMTMw", - "image": "https://yt3.ggpht.com/8SFoIMf_6XTf0jyeLd6Txdl96BqSyGhb250P3qEh7E4ui8fLNxLXLiLf7phYVy0CIYx3as42=s800-c-k-c0x00ffffff-no-rj", - "name": "Magni Dezmond Ch. HOLOSTARS-EN" - }, - { - "id": "UCwL7dgTxKo8Y4RFIKWaf8gA", - "image": "https://yt3.ggpht.com/ytc/AOPolaStFlTJ6ISi2Wuwz7L_OLHHShXfoVPDDnqsPWLb=s800-c-k-c0x00ffffff-no-rj", - "name": "Oga Ch.荒咬オウガ" - }, - { - "id": "UCdn5BQ06XqgXoAxIhbqw5Rg", - "image": "https://yt3.ggpht.com/ytc/AOPolaSFPK_6xlqthNXIpMC7OTWfGsDAoNkR9OexBYxcpA=s800-c-k-c0x00ffffff-no-rj", - "name": "フブキCh。白上フブキ" - }, - { - "id": "UCa9Y57gfeY0Zro_noHRVrnw", - "image": "https://yt3.ggpht.com/O7m_5HMY_O8yxR3Jhn9cEO1fLNL_GifMERExnAmfY7JrdTRsTjNijTcNYTPN97Llj3zGn8Susw=s800-c-k-c0x00ffffff-no-rj", - "name": "Luna Ch. 姫森ルーナ" - }, - { - "id": "UC1CfXB_kRs3C-zaeTG3oGyg", - "image": "https://yt3.ggpht.com/B2tq3IQAFxUe9W3MaMc0V62bmlTWCSoTuCk-Y-Ab8yXkZKdIswQhHABZhz2e4YM1-B_Kxen_7w=s800-c-k-c0x00ffffff-no-rj", - "name": "HAACHAMA Ch 赤井はあと" - }, - { - "id": "UCw1KNjVqfrJSfcFd6zlcSzA", - "image": "https://yt3.ggpht.com/7QQ7vnkdwS7e8cLY6YYRoLTLftUxQCopsIxE7L9Qd6vXW_TsCjb4YZDVqYTJ3qceAAqWtwQH=s800-c-k-c0x00ffffff-no-rj", - "name": "Nia Suzune / 鈴音にあ [PRISM Project]" - }, - { - "id": "UCambvP8yxNDot4FzQc9cgiw", - "image": "https://yt3.ggpht.com/EgL9iOOKL7KiLIBxjqJO6gmVJE7BJ4xqfmgyis_QQ9zdbYAD_Pco7xagjdpWCTFoPbgxEXyJ=s800-c-k-c0x00ffffff-no-rj", - "name": "宇佐美リト / Usami Rito【にじさんじ】" - }, - { - "id": "UCqEp6RdtsMbUNrCdCswr6pA", - "image": "https://yt3.ggpht.com/ytc/AMLnZu9ZF7fPn4IghqjrWH-SFrdSzlY9EMtkkoUntGLWLA=s800-c-k-c0x00ffffff-no-rj", - "name": "海夜叉神/黄泉波咲夜【にじさんじ】" - }, - { - "id": "UC6TfqY40Xt1Y0J-N18c85qQ", - "image": "https://yt3.ggpht.com/50JCdIpi9B-ZxDaveVfSyKuvRyj8d2DgLe0sMkd_UxuxN-VcGQ54W4M-6T0wXzJV2TdfAeZglSc=s800-c-k-c0x00ffffff-no-rj", - "name": "安土桃" - }, - { - "id": "UCFTLzh12_nrtzqBPsTCqenA", - "image": "https://yt3.ggpht.com/ytc/AOPolaRF12upNUVmDXfH2A7ViS-gyKCcAvAQXTyEmbWAcA=s800-c-k-c0x00ffffff-no-rj", - "name": "アキロゼCh。Vtuber/ホロライブ所属" - }, - { - "id": "UCMwGHR0BTZuLsmjY_NT5Pwg", - "image": "https://yt3.ggpht.com/f4uYWHJxiGwyXm8NUlm818N1MRnywtgL6wM8JdWqWsKBzI7v1eg8dxDWG7igkWuukUSiufydqPg=s800-c-k-c0x00ffffff-no-rj", - "name": "Ninomae Ina'nis Ch. hololive-EN" - }, - { - "id": "UC6oW4FXETgEGOFTxWmI2h5Q", - "image": "https://yt3.ggpht.com/ytc/AMLnZu_clEsYJi5qCPCpxCuw2qMwB5rfcm2hgDITVRRn=s800-c-k-c0x00ffffff-no-rj", - "name": "Noor【NIJISANJI IN】" - }, - { - "id": "UC_sFNM0z0MWm9A6WlKPuMMg", - "image": "https://yt3.ggpht.com/JDCIBWj11TgjY2Uyba_efZ0n5hzjysMB9GxkvHGkIN_sfFQJR5mx3iVPqgJ96IPcYjZpCLsb=s800-c-k-c0x00ffffff-no-rj", - "name": "Nerissa Ravencroft Ch. hololive-EN" - }, - { - "id": "UCnYhIk9aGEx_bIgheVjs53w", - "image": "https://yt3.ggpht.com/ytc/AOPolaRL4Pk2cC2Q0GXLV-N9tSPZkCDp_c2RqdQEBpY-=s800-c-k-c0x00ffffff-no-rj", - "name": "Luto Araka / 新火ると [PRISM Project]" - }, - { - "id": "UCIytNcoz4pWzXfLda0DoULQ", - "image": "https://yt3.ggpht.com/21x1Ab6pEffGItAcNTjcYUkG3IzQ1y--5cUUjtEhrUEuz2iCttL08vswnPRe1XvtBaZ0yUAm=s800-c-k-c0x00ffffff-no-rj", - "name": "エクス・アルビオ -Ex Albio-" - } - ], - "session": "GUQkquh03dwF84EAxif_EA", - "title": "Select all the VTuber affiliated with Hololive" -} -</div><p id="3dd194a4_35">To check your answers against the API. Send <code class="code" id="3dd194a4_36">session</code> token and the <code class="code" id="3dd194a4_37">id</code> of each selected element as a string comma separated as part of a data payload to <code class="code" id="3dd194a4_38">/api/verify</code></p><p id="3dd194a4_39">Example Payload</p><div class="code-block" data-lang="none" > -session: "j4WjkoMcPgNX8_gnNXf8HA" -answer: "UC0ZTVxCHkZanT5dnP2FZD4Q,UC4WvIIAo89_AzGUh1AZ6Dkg,UCe0JiGnjPfEwEIbWASbOimw" -</div><p id="3dd194a4_41">Response:</p><div class="code-block" data-lang="none" > -{ - success: false -} -</div><p id="3dd194a4_43">In the case above the user selected:</p><ul class="list _ul" id="3dd194a4_44"><li class="list__item" id="3dd194a4_45"><p>UC0ZTVxCHkZanT5dnP2FZD4Q</p></li><li class="list__item" id="3dd194a4_46"><p>UC4WvIIAo89_AzGUh1AZ6Dkg</p></li><li class="list__item" id="3dd194a4_47"><p>UCe0JiGnjPfEwEIbWASbOimw</p></li></ul><p id="3dd194a4_48">and their answer was incorrect.</p><p id="3dd194a4_49">After failing a captcha, the token becomes invalidated and a request for a new CAPTCHA must be made</p></section><section class="chapter"><h2 id="supported-keywords" data-toc="supported-keywords" >Supported Keywords</h2></section><section class="chapter"><h2 id="organization" data-toc="organization" >Organization</h2><ul class="list _ul" id="3dd194a4_50"><li class="list__item" id="3dd194a4_51"><p>Hololive: All hololive Production affiliated members, including Holostars</p></li><li class="list__item" id="3dd194a4_52"><p>Nijisanji: All Nijisanji affiliated livers, including EN branches (does not include VirtuaReal)</p></li></ul></section><div class="last-modified"> Last modified: 16 December 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"> <a class="navigation-links__prev" href="patchwork-api.html">Patchwork Archive API</a> <a class="navigation-links__next" href="imisssomeone-vt.html">IMissSomeone-VT</a> </div></article><div id="disqus_thread"></div></div></section></main></div> <script src="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.js"></script></body></html>
\ No newline at end of file |
