34 lines
34 KiB
Python
34 lines
34 KiB
Python
<!DOCTYPE html>
|
||
<html lang="en-US" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>FileCodeBox</title>
|
||
<meta name="description" content="Simple and efficient file sharing tool">
|
||
<meta name="generator" content="VitePress v1.6.3">
|
||
<link rel="preload stylesheet" href="/assets/style.8SUn7xXl.css" as="style">
|
||
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
|
||
|
||
<script type="module" src="/assets/app._8rCwCso.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.BNBC0yme.js">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.BmLMQRXF.js">
|
||
<link rel="modulepreload" href="/assets/en_guide_introduction.md.BD40RLpr.lean.js">
|
||
<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>
|
||
</head>
|
||
<body>
|
||
<div id="app"><div class="Layout" data-v-b6c923d7><!--[--><!--]--><!--[--><span tabindex="-1" data-v-efe7d6be></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-efe7d6be>Skip to content</a><!--]--><!----><header class="VPNav" data-v-b6c923d7 data-v-b6ac2530><div class="VPNavBar" data-v-b6ac2530 data-v-79868b1d><div class="wrapper" data-v-79868b1d><div class="container" data-v-79868b1d><div class="title" data-v-79868b1d><div class="VPNavBarTitle has-sidebar" data-v-79868b1d data-v-0c6c2dd6><a class="title" href="/en/" data-v-0c6c2dd6><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo_small.png" alt data-v-1499dcbc><!--]--><span data-v-0c6c2dd6>FileCodeBox</span><!--[--><!--]--></a></div></div><div class="content" data-v-79868b1d><div class="content-body" data-v-79868b1d><!--[--><!--]--><div class="VPNavBarSearch search" data-v-79868b1d><!--[--><!----><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-79868b1d data-v-28279947><span id="main-nav-aria-label" class="visually-hidden" data-v-28279947> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en/" tabindex="0" data-v-28279947 data-v-ee14b6c7><!--[--><span data-v-ee14b6c7>Home</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en/guide/getting-started.html" tabindex="0" data-v-28279947 data-v-ee14b6c7><!--[--><span data-v-ee14b6c7>Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en/api/" tabindex="0" data-v-28279947 data-v-ee14b6c7><!--[--><span data-v-ee14b6c7>API</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-28279947 data-v-839a11df><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-839a11df><span class="text" data-v-839a11df><!----><span data-v-839a11df>More</span><span class="vpi-chevron-down text-icon" data-v-839a11df></span></span></button><div class="menu" data-v-839a11df><div class="VPMenu" data-v-839a11df data-v-2b491744><div class="items" data-v-2b491744><!--[--><!--[--><div class="VPMenuLink" data-v-2b491744 data-v-b04e260a><a class="VPLink link" href="/en/changelog.html" data-v-b04e260a><!--[--><span data-v-b04e260a>Changelog</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-2b491744 data-v-b04e260a><a class="VPLink link" href="/en/contributing.html" data-v-b04e260a><!--[--><span data-v-b04e260a>Contributing</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-79868b1d data-v-adf6da57 data-v-839a11df><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="切换语言" data-v-839a11df><span class="text" data-v-839a11df><span class="vpi-languages option-icon" data-v-839a11df></span><!----><span class="vpi-chevron-down text-icon" data-v-839a11df></span></span></button><div class="menu" data-v-839a11df><div class="VPMenu" data-v-839a11df data-v-2b491744><!----><!--[--><!--[--><div class="items" data-v-adf6da57><p class="title" data-v-adf6da57>English</p><!--[--><div class="VPMenuLink" data-v-adf6da57 data-v-b04e260a><a class="VPLink link" href="/guide/introduction.html" data-v-b04e260a><!--[--><span data-v-b04e260a>简体中文</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-79868b1d data-v-7e6f0956><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-7e6f0956 data-v-2fc9caea data-v-8e683565><span class="check" data-v-8e683565><span class="icon" data-v-8e683565><!--[--><span class="vpi-sun sun" data-v-2fc9caea></span><span class="vpi-moon moon" data-v-2fc9caea></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-79868b1d data-v-91a2f046 data-v-607f35a4><!--[--><a class="VPSocialLink no-icon" href="https://github.com/vastsa/FileCodeBox" aria-label="github" target="_blank" rel="noopener" data-v-607f35a4 data-v-84a70180><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-79868b1d data-v-c6f77877 data-v-839a11df><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-839a11df><span class="vpi-more-horizontal icon" data-v-839a11df></span></button><div class="menu" data-v-839a11df><div class="VPMenu" data-v-839a11df data-v-2b491744><!----><!--[--><!--[--><div class="group translations" data-v-c6f77877><p class="trans-title" data-v-c6f77877>English</p><!--[--><div class="VPMenuLink" data-v-c6f77877 data-v-b04e260a><a class="VPLink link" href="/guide/introduction.html" data-v-b04e260a><!--[--><span data-v-b04e260a>简体中文</span><!--]--></a></div><!--]--></div><div class="group" data-v-c6f77877><div class="item appearance" data-v-c6f77877><p class="label" data-v-c6f77877>Appearance</p><div class="appearance-action" data-v-c6f77877><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-c6f77877 data-v-2fc9caea data-v-8e683565><span class="check" data-v-8e683565><span class="icon" data-v-8e683565><!--[--><span class="vpi-sun sun" data-v-2fc9caea></span><span class="vpi-moon moon" data-v-2fc9caea></span><!--]--></span></span></button></div></div></div><div class="group" data-v-c6f77877><div class="item social-links" data-v-c6f77877><div class="VPSocialLinks social-links-list" data-v-c6f77877 data-v-607f35a4><!--[--><a class="VPSocialLink no-icon" href="https://github.com/vastsa/FileCodeBox" aria-label="github" target="_blank" rel="noopener" data-v-607f35a4 data-v-84a70180><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-79868b1d data-v-ab6fcae6><span class="container" data-v-ab6fcae6><span class="top" data-v-ab6fcae6></span><span class="middle" data-v-ab6fcae6></span><span class="bottom" data-v-ab6fcae6></span></span></button></div></div></div></div><div class="divider" data-v-79868b1d><div class="divider-line" data-v-79868b1d></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-b6c923d7 data-v-3ab135ad><div class="container" data-v-3ab135ad><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-3ab135ad><span class="vpi-align-left menu-icon" data-v-3ab135ad></span><span class="menu-text" data-v-3ab135ad>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-3ab135ad data-v-b4822720><button data-v-b4822720>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-b6c923d7 data-v-4cb10d83><div class="curtain" data-v-4cb10d83></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-4cb10d83><span class="visually-hidden" id="sidebar-aria-label" data-v-4cb10d83> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-f4a843d6><section class="VPSidebarItem level-0 has-active" data-v-f4a843d6 data-v-074d9f77><div class="item" role="button" tabindex="0" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><h2 class="text" data-v-074d9f77>Introduction</h2><!----></div><div class="items" data-v-074d9f77><!--[--><div class="VPSidebarItem level-1 is-link" data-v-074d9f77 data-v-074d9f77><div class="item" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><a class="VPLink link link" href="/en/guide/introduction.html" data-v-074d9f77><!--[--><p class="text" data-v-074d9f77>What is FileCodeBox</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-074d9f77 data-v-074d9f77><div class="item" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><a class="VPLink link link" href="/en/guide/getting-started.html" data-v-074d9f77><!--[--><p class="text" data-v-074d9f77>Getting Started</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f4a843d6><section class="VPSidebarItem level-0" data-v-f4a843d6 data-v-074d9f77><div class="item" role="button" tabindex="0" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><h2 class="text" data-v-074d9f77>Basic Features</h2><!----></div><div class="items" data-v-074d9f77><!--[--><div class="VPSidebarItem level-1 is-link" data-v-074d9f77 data-v-074d9f77><div class="item" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><a class="VPLink link link" href="/en/guide/upload.html" data-v-074d9f77><!--[--><p class="text" data-v-074d9f77>File Upload</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-074d9f77 data-v-074d9f77><div class="item" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><a class="VPLink link link" href="/en/guide/share.html" data-v-074d9f77><!--[--><p class="text" data-v-074d9f77>File Sharing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-074d9f77 data-v-074d9f77><div class="item" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><a class="VPLink link link" href="/en/guide/management.html" data-v-074d9f77><!--[--><p class="text" data-v-074d9f77>File Management</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-f4a843d6><section class="VPSidebarItem level-0" data-v-f4a843d6 data-v-074d9f77><div class="item" role="button" tabindex="0" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><h2 class="text" data-v-074d9f77>Advanced Features</h2><!----></div><div class="items" data-v-074d9f77><!--[--><div class="VPSidebarItem level-1 is-link" data-v-074d9f77 data-v-074d9f77><div class="item" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><a class="VPLink link link" href="/en/guide/storage.html" data-v-074d9f77><!--[--><p class="text" data-v-074d9f77>Storage Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-074d9f77 data-v-074d9f77><div class="item" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><a class="VPLink link link" href="/en/guide/security.html" data-v-074d9f77><!--[--><p class="text" data-v-074d9f77>Security Settings</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-074d9f77 data-v-074d9f77><div class="item" data-v-074d9f77><div class="indicator" data-v-074d9f77></div><a class="VPLink link link" href="/en/guide/configuration.html" data-v-074d9f77><!--[--><p class="text" data-v-074d9f77>System Configuration</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-b6c923d7 data-v-62f80edf><div class="VPDoc has-sidebar has-aside" data-v-62f80edf data-v-c7e25d19><!--[--><!--]--><div class="container" data-v-c7e25d19><div class="aside" data-v-c7e25d19><div class="aside-curtain" data-v-c7e25d19></div><div class="aside-container" data-v-c7e25d19><div class="aside-content" data-v-c7e25d19><div class="VPDocAside" data-v-c7e25d19 data-v-a7c337e5><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-a7c337e5 data-v-30bc7595><div class="content" data-v-30bc7595><div class="outline-marker" data-v-30bc7595></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-30bc7595>目录</div><ul class="VPDocOutlineItem root" data-v-30bc7595 data-v-697bcd1c><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-a7c337e5></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-c7e25d19><div class="content-container" data-v-c7e25d19><!--[--><!--]--><main class="main" data-v-c7e25d19><div style="position:relative;" class="vp-doc _en_guide_introduction" data-v-c7e25d19><div><div align="center"><img src="https://fastly.jsdelivr.net/gh/vastsa/FileCodeBox@V1.6/static/banners/img_1.png" alt="FileCodeBox Logo"><p><em>Share text and files anonymously with a passcode, like picking up a package</em></p><p><a href="https://github.com/vastsa/FileCodeBox/stargazers" target="_blank" rel="noreferrer"><img src="https://img.shields.io/github/stars/vastsa/FileCodeBox" alt="GitHub stars"></a><a href="https://github.com/vastsa/FileCodeBox/network" target="_blank" rel="noreferrer"><img src="https://img.shields.io/github/forks/vastsa/FileCodeBox" alt="GitHub forks"></a><a href="https://github.com/vastsa/FileCodeBox/issues" target="_blank" rel="noreferrer"><img src="https://img.shields.io/github/issues/vastsa/FileCodeBox" alt="GitHub issues"></a><a href="https://github.com/vastsa/FileCodeBox/blob/master/LICENSE" target="_blank" rel="noreferrer"><img src="https://img.shields.io/github/license/vastsa/FileCodeBox" alt="GitHub license"></a><a href="https://qm.qq.com/q/PemPzhdEIM" target="_blank" rel="noreferrer"><img src="https://img.shields.io/badge/QQ%20Group-739673698-blue.svg" alt="QQ Group"></a><a href="https://www.python.org" target="_blank" rel="noreferrer"><img src="https://img.shields.io/badge/Python-3.8+-blue.svg" alt="Python Version"></a><a href="https://fastapi.tiangolo.com" target="_blank" rel="noreferrer"><img src="https://img.shields.io/badge/FastAPI-0.68+-green.svg" alt="FastAPI"></a><a href="https://v3.vuejs.org" target="_blank" rel="noreferrer"><img src="https://img.shields.io/badge/Vue.js-3.x-brightgreen.svg" alt="Vue Version"></a></p></div><h2 id="📝-introduction" tabindex="-1">📝 Introduction <a class="header-anchor" href="#📝-introduction" aria-label="Permalink to "📝 Introduction""></a></h2><p>FileCodeBox is a lightweight file sharing tool developed with FastAPI + Vue3. It allows users to share text and files easily, where recipients only need a passcode to retrieve the files, just like picking up a package from a delivery locker.</p><h2 id="🖼️-preview" tabindex="-1">🖼️ Preview <a class="header-anchor" href="#🖼️-preview" aria-label="Permalink to "🖼️ Preview""></a></h2><div align="center"><h3><a href="https://github.com/vastsa/FileCodeBoxFronted" target="_blank"><img src="https://img.shields.io/badge/Frontend-FileCodeBoxFronted-blue?style=for-the-badge&logo=github" alt="Frontend Repository"></a> <a href="https://share.lanol.cn" target="_blank"><img src="https://img.shields.io/badge/Demo-share.lanol.cn-green?style=for-the-badge&logo=internet-explorer" alt="Demo Site"></a></h3></div><h2 id="🎯-use-cases" tabindex="-1">🎯 Use Cases <a class="header-anchor" href="#🎯-use-cases" aria-label="Permalink to "🎯 Use Cases""></a></h2><table><tr><td align="center"><h4>📁 Temporary File Sharing</h4> Quick file sharing without registration </td><td align="center"><h4>📝 Quick Text Sharing</h4> Share code snippets and text content </td><td align="center"><h4>🕶️ Anonymous Transfer</h4> Privacy-protected file transfer </td></tr><tr><td align="center"><h4>💾 Temporary Storage</h4> File storage with expiration time </td><td align="center"><h4>🔄 Cross-platform Transfer</h4> Quick file transfer between devices </td><td align="center"><h4>🌐 Private Share Service</h4> Build your own file sharing service </td></tr></table><h2 id="✨-core-features" tabindex="-1">✨ Core Features <a class="header-anchor" href="#✨-core-features" aria-label="Permalink to "✨ Core Features""></a></h2><table><tr><td align="center"><h4>🚀 Lightweight</h4> Based on FastAPI + SQLite3 + Vue3 + ElementUI </td><td align="center"><h4>📤 Easy Upload</h4> Support copy-paste and drag-drop </td><td align="center"><h4>📦 Multiple Types</h4> Support text and various file types </td></tr><tr><td align="center"><h4>🔒 Security</h4><ul><li>IP upload limits</li><li>Error attempt limits</li><li>File expiration</li></ul></td><td align="center"><h4>🎫 Passcode Sharing</h4> Random codes with customizable limits </td><td align="center"><h4>🌍 Multi-language</h4> Support for Simplified Chinese, Traditional Chinese, and English </td></tr><tr><td align="center"><h4>🎭 Anonymous</h4> No registration required </td><td align="center"><h4>🛠 Admin Panel</h4> File and system management </td><td align="center"><h4>🐳 Docker</h4> One-click deployment </td></tr><tr><td align="center"><h4>💾 Storage Options</h4> Local, S3, OneDrive support </td><td align="center"><h4>📱 Responsive</h4> Mobile-friendly design </td><td align="center"><h4>💻 CLI Support</h4> Command-line download </td></tr></table><h2 id="🚀-quick-start" tabindex="-1">🚀 Quick Start <a class="header-anchor" href="#🚀-quick-start" aria-label="Permalink to "🚀 Quick Start""></a></h2><h3 id="docker-deployment" tabindex="-1">Docker Deployment <a class="header-anchor" href="#docker-deployment" aria-label="Permalink to "Docker Deployment""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --restart=always</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 12345:12345</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -v</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /opt/FileCodeBox/:/app/data</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> filecodebox</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> lanol/filecodebox:beta</span></span></code></pre></div><h3 id="manual-deployment" tabindex="-1">Manual Deployment <a class="header-anchor" href="#manual-deployment" aria-label="Permalink to "Manual Deployment""></a></h3><ol><li>Clone the repository</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clone</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/vastsa/FileCodeBox.git</span></span></code></pre></div><ol start="2"><li>Install dependencies</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> FileCodeBox</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pip</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> requirements.txt</span></span></code></pre></div><ol start="3"><li>Start the service</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">python</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main.py</span></span></code></pre></div><h2 id="📖-usage-guide" tabindex="-1">📖 Usage Guide <a class="header-anchor" href="#📖-usage-guide" aria-label="Permalink to "📖 Usage Guide""></a></h2><h3 id="share-files" tabindex="-1">Share Files <a class="header-anchor" href="#share-files" aria-label="Permalink to "Share Files""></a></h3><ol><li>Open the website, click "Share File"</li><li>Select or drag files</li><li>Set expiration time and count</li><li>Get the passcode</li></ol><h3 id="retrieve-files" tabindex="-1">Retrieve Files <a class="header-anchor" href="#retrieve-files" aria-label="Permalink to "Retrieve Files""></a></h3><ol><li>Open the website, enter passcode</li><li>Click retrieve</li><li>Download file or view text</li></ol><h3 id="admin-panel" tabindex="-1">Admin Panel <a class="header-anchor" href="#admin-panel" aria-label="Permalink to "Admin Panel""></a></h3><ol><li>Visit <code>/admin</code></li><li>Enter admin password</li><li>Manage files and settings</li></ol><h2 id="🛠-development-guide" tabindex="-1">🛠 Development Guide <a class="header-anchor" href="#🛠-development-guide" aria-label="Permalink to "🛠 Development Guide""></a></h2><h3 id="project-structure" tabindex="-1">Project Structure <a class="header-anchor" href="#project-structure" aria-label="Permalink to "Project Structure""></a></h3><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>FileCodeBox/</span></span>
|
||
<span class="line"><span>├── apps/ # Application code</span></span>
|
||
<span class="line"><span>│ ├── admin/ # Admin backend</span></span>
|
||
<span class="line"><span>│ └── base/ # Base functions</span></span>
|
||
<span class="line"><span>├── core/ # Core functions</span></span>
|
||
<span class="line"><span>├── data/ # Data directory</span></span>
|
||
<span class="line"><span>└── fcb-fronted/ # Frontend code</span></span></code></pre></div><h3 id="development-environment" tabindex="-1">Development Environment <a class="header-anchor" href="#development-environment" aria-label="Permalink to "Development Environment""></a></h3><ul><li>Python 3.8+</li><li>Node.js 14+</li><li>Vue 3</li><li>FastAPI</li></ul><h3 id="local-development" tabindex="-1">Local Development <a class="header-anchor" href="#local-development" aria-label="Permalink to "Local Development""></a></h3><ol><li>Backend development</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">python</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main.py</span></span></code></pre></div><ol start="2"><li>Frontend development</li></ol><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> fcb-fronted</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dev</span></span></code></pre></div><h2 id="🤝-contributing" tabindex="-1">🤝 Contributing <a class="header-anchor" href="#🤝-contributing" aria-label="Permalink to "🤝 Contributing""></a></h2><ol><li>Fork the project</li><li>Create your feature branch <code>git checkout -b feature/xxx</code></li><li>Commit your changes <code>git commit -m 'Add xxx'</code></li><li>Push to the branch <code>git push origin feature/xxx</code></li><li>Open a Pull Request</li></ol><h2 id="❓-faq" tabindex="-1">❓ FAQ <a class="header-anchor" href="#❓-faq" aria-label="Permalink to "❓ FAQ""></a></h2><h3 id="q-how-to-modify-upload-size-limit" tabindex="-1">Q: How to modify upload size limit? <a class="header-anchor" href="#q-how-to-modify-upload-size-limit" aria-label="Permalink to "Q: How to modify upload size limit?""></a></h3><p>A: Change <code>uploadSize</code> in admin panel</p><h3 id="q-how-to-configure-storage-engine" tabindex="-1">Q: How to configure storage engine? <a class="header-anchor" href="#q-how-to-configure-storage-engine" aria-label="Permalink to "Q: How to configure storage engine?""></a></h3><p>A: Select storage engine and configure parameters in admin panel</p><h3 id="q-how-to-backup-data" tabindex="-1">Q: How to backup data? <a class="header-anchor" href="#q-how-to-backup-data" aria-label="Permalink to "Q: How to backup data?""></a></h3><p>A: Backup the <code>data</code> directory</p><p>For more questions, visit <a href="https://github.com/vastsa/FileCodeBox/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98" target="_blank" rel="noreferrer">Wiki</a></p><h2 id="😀-project-statistics-and-analytics" tabindex="-1">😀 Project Statistics and Analytics <a class="header-anchor" href="#😀-project-statistics-and-analytics" aria-label="Permalink to "😀 Project Statistics and Analytics""></a></h2><div align="center"><a href="https://hellogithub.com/repository/75ad7ffedd404a6485b4d621ec5b47e6" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=75ad7ffedd404a6485b4d621ec5b47e6&claim_uid=beSz6INEkCM4mDH" alt="Featured|HelloGitHub" style="width:200px;height:45px;" width="200" height="45"></a><p><img src="https://repobeats.axiom.co/api/embed/7a6c92f1d96ee57e6fb67f0df371528397b0c9ac.svg" alt="Repobeats"></p><p><a href="https://star-history.com/#vastsa/FileCodeBox&Date" target="_blank" rel="noreferrer"><img src="https://api.star-history.com/svg?repos=vastsa/FileCodeBox&type=Date" alt="Star History"></a></p></div><h2 id="📜-disclaimer" tabindex="-1">📜 Disclaimer <a class="header-anchor" href="#📜-disclaimer" aria-label="Permalink to "📜 Disclaimer""></a></h2><p>This project is open-source for learning purposes only. It should not be used for any illegal purposes. The author is not responsible for any consequences. Please retain the project address and copyright information when using it.</p></div></div></main><footer class="VPDocFooter" data-v-c7e25d19 data-v-2dcb78e4><!--[--><!--]--><div class="edit-info" data-v-2dcb78e4><!----><div class="last-updated" data-v-2dcb78e4><p class="VPLastUpdated" data-v-2dcb78e4 data-v-afb38d82>Last updated: <time datetime="2025-02-12T03:29:22.000Z" data-v-afb38d82></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-2dcb78e4><span class="visually-hidden" id="doc-footer-aria-label" data-v-2dcb78e4>Pager</span><div class="pager" data-v-2dcb78e4><!----></div><div class="pager" data-v-2dcb78e4><a class="VPLink link pager-link next" href="/en/guide/getting-started.html" data-v-2dcb78e4><!--[--><span class="desc" data-v-2dcb78e4>Next page</span><span class="title" data-v-2dcb78e4>Getting Started</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-b6c923d7 data-v-22dc8f31><div class="container" data-v-22dc8f31><p class="message" data-v-22dc8f31>基于 MIT 许可发布</p><p class="copyright" data-v-22dc8f31>Copyright © 2023-present FileCodeBox</p></div></footer><!--[--><!--]--></div></div>
|
||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"api_index.md\":\"qG09VB3V\",\"changelog.md\":\"C8aI6QEN\",\"contributing.md\":\"k9HB5RBU\",\"en_api_index.md\":\"DowD_P4F\",\"en_changelog.md\":\"BcADjzAG\",\"en_contributing.md\":\"PVT9OVBi\",\"en_guide_configuration.md\":\"B0l-oJMx\",\"en_guide_getting-started.md\":\"Dn8s1IIJ\",\"en_guide_introduction.md\":\"BD40RLpr\",\"en_guide_management.md\":\"B7zTh6Wx\",\"en_guide_security.md\":\"Cviop6qN\",\"en_guide_share.md\":\"76VwCXWs\",\"en_guide_storage.md\":\"BYAxNGDy\",\"en_guide_upload copy.md\":\"DjRt4QqF\",\"en_guide_upload.md\":\"DUnZK1hP\",\"en_index.md\":\"tZNBw7JM\",\"guide_configuration.md\":\"BIXg2nLZ\",\"guide_getting-started.md\":\"BG1qGt6J\",\"guide_introduction.md\":\"CebWHzyk\",\"guide_management.md\":\"eUCTNsEJ\",\"guide_security.md\":\"-P7VdlH3\",\"guide_share.md\":\"CQJMq2_v\",\"guide_storage.md\":\"OPzq4lQ1\",\"guide_upload.md\":\"BGoSj7Ei\",\"index.md\":\"BrsJo2Pg\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"FileCodeBox\",\"description\":\"简单高效的文件分享工具\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"langMenuLabel\":\"切换语言\",\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/vastsa/FileCodeBox\"}],\"footer\":{\"message\":\"基于 MIT 许可发布\",\"copyright\":\"Copyright © 2023-present FileCodeBox\"},\"search\":{\"provider\":\"local\",\"options\":{\"locales\":{\"zh\":{\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"noResultsText\":\"无法找到相关结果\",\"resetButtonTitle\":\"清除查询条件\",\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\"}}}}}}},\"outline\":{\"level\":[2,3],\"label\":\"目录\"}},\"locales\":{\"root\":{\"label\":\"简体中文\",\"lang\":\"zh-CN\",\"title\":\"FileCodeBox\",\"description\":\"匿名口令分享文本,文件\",\"themeConfig\":{\"logo\":\"/logo_small.png\",\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"指南\",\"link\":\"/guide/getting-started\"},{\"text\":\"API\",\"link\":\"/api/\"},{\"text\":\"了解更多\",\"items\":[{\"text\":\"更新日志\",\"link\":\"/changelog\"},{\"text\":\"贡献指南\",\"link\":\"/contributing\"}]}],\"sidebar\":{\"/guide/\":[{\"text\":\"介绍\",\"items\":[{\"text\":\"什么是 FileCodeBox\",\"link\":\"/guide/introduction\"},{\"text\":\"快速开始\",\"link\":\"/guide/getting-started\"}]},{\"text\":\"基础功能\",\"items\":[{\"text\":\"文件上传\",\"link\":\"/guide/upload\"},{\"text\":\"文件分享\",\"link\":\"/guide/share\"},{\"text\":\"文件管理\",\"link\":\"/guide/management\"}]},{\"text\":\"高级特性\",\"items\":[{\"text\":\"存储配置\",\"link\":\"/guide/storage\"},{\"text\":\"安全设置\",\"link\":\"/guide/security\"},{\"text\":\"系统配置\",\"link\":\"/guide/configuration\"}]}],\"/api/\":[{\"text\":\"API 参考\",\"items\":[{\"text\":\"分享接口\",\"link\":\"/api/#分享接口\"},{\"text\":\"管理接口\",\"link\":\"/api/#管理接口\"},{\"text\":\"错误响应\",\"link\":\"/api/#错误响应\"},{\"text\":\"状态码说明\",\"link\":\"/api/#状态码说明\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/vastsa/FileCodeBox\"}],\"footer\":{\"message\":\"基于 LGPL 许可发布\",\"copyright\":\"Copyright © 2023-present FileCodeBox\"},\"search\":{\"provider\":\"local\"},\"outline\":{\"level\":[2,3],\"label\":\"目录\"}}},\"en\":{\"label\":\"English\",\"lang\":\"en-US\",\"title\":\"FileCodeBox\",\"description\":\"Simple and efficient file sharing tool\",\"themeConfig\":{\"logo\":\"/logo_small.png\",\"nav\":[{\"text\":\"Home\",\"link\":\"/en/\"},{\"text\":\"Guide\",\"link\":\"/en/guide/getting-started\"},{\"text\":\"API\",\"link\":\"/en/api/\"},{\"text\":\"More\",\"items\":[{\"text\":\"Changelog\",\"link\":\"/en/changelog\"},{\"text\":\"Contributing\",\"link\":\"/en/contributing\"}]}],\"sidebar\":{\"/en/guide/\":[{\"text\":\"Introduction\",\"items\":[{\"text\":\"What is FileCodeBox\",\"link\":\"/en/guide/introduction\"},{\"text\":\"Getting Started\",\"link\":\"/en/guide/getting-started\"}]},{\"text\":\"Basic Features\",\"items\":[{\"text\":\"File Upload\",\"link\":\"/en/guide/upload\"},{\"text\":\"File Sharing\",\"link\":\"/en/guide/share\"},{\"text\":\"File Management\",\"link\":\"/en/guide/management\"}]},{\"text\":\"Advanced Features\",\"items\":[{\"text\":\"Storage Configuration\",\"link\":\"/en/guide/storage\"},{\"text\":\"Security Settings\",\"link\":\"/en/guide/security\"},{\"text\":\"System Configuration\",\"link\":\"/en/guide/configuration\"}]}],\"/en/api/\":[{\"text\":\"API Reference\",\"items\":[{\"text\":\"Share API\",\"link\":\"/en/api/#share-api\"},{\"text\":\"Admin API\",\"link\":\"/en/api/#admin-api\"},{\"text\":\"Error Response\",\"link\":\"/en/api/#error-response\"},{\"text\":\"Status Codes\",\"link\":\"/en/api/#status-codes\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/vastsa/FileCodeBox\"}],\"footer\":{\"message\":\"基于 MIT 许可发布\",\"copyright\":\"Copyright © 2023-present FileCodeBox\"},\"search\":{\"provider\":\"local\"},\"outline\":{\"level\":[2,3],\"label\":\"目录\"}}}},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
||
|
||
</body>
|
||
</html> |