deploy: 152f482594
This commit is contained in:
1 parent
8fd27701bb
commit
919305e51f
322 files changed
+4241
-4057
No files matched your search
+62
-59
@@ -5,67 +5,70 @@
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Nezha server over Argo tunnel | Nezha Monitoring</title>
|
||||
<meta name="description" content="Nezha Monitoring is a lightweight O&M tool">
|
||||
<link rel="preload stylesheet" href="/assets/style.ac216bba.css" as="style">
|
||||
<script type="module" src="/assets/app.586a9009.js"></script>
|
||||
<link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
|
||||
<link rel="modulepreload" href="/assets/chunks/framework.44fd0451.js">
|
||||
<link rel="modulepreload" href="/assets/chunks/theme.ccb07a11.js">
|
||||
<link rel="modulepreload" href="/assets/en_US_case_case5.md.f8b87ece.lean.js">
|
||||
<script src="https://cdn.wwads.cn/js/makemoney.js" async="true"></script>
|
||||
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-FDME8GJGTW"></script>
|
||||
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-FDME8GJGTW");</script>
|
||||
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||||
<meta name="generator" content="VitePress v1.2.3">
|
||||
<link rel="preload stylesheet" href="/assets/style.6jWMGCsz.css" as="style">
|
||||
|
||||
<script type="module" src="/assets/app.BSuXTqpA.js"></script>
|
||||
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
||||
<link rel="modulepreload" href="/assets/chunks/framework.BmdFiWrL.js">
|
||||
<link rel="modulepreload" href="/assets/chunks/theme.DAaY-8e0.js">
|
||||
<link rel="modulepreload" href="/assets/en_US_case_case5.md.XqwZ8iKk.lean.js">
|
||||
<script src="https://cdn.wwads.cn/js/makemoney.js" async></script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-FDME8GJGTW"></script>
|
||||
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-FDME8GJGTW");</script>
|
||||
<link rel="icon" type="image/png" sizes="193x193" href="/logo.png">
|
||||
<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-b2cf3e0b><!--[--><!--]--><!--[--><span tabindex="-1" data-v-b8b11faa></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-b8b11faa> Skip to content </a><!--]--><!----><header class="VPNav" data-v-b2cf3e0b data-v-7e5bc4a5><div class="VPNavBar has-sidebar" data-v-7e5bc4a5 data-v-7683ced7><div class="container" data-v-7683ced7><div class="title" data-v-7683ced7><div class="VPNavBarTitle has-sidebar" data-v-7683ced7 data-v-4d981103><a class="title" href="/en_US/" data-v-4d981103><!--[--><!--]--><!----><!--[-->Nezha Monitoring<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-7683ced7><div class="curtain" data-v-7683ced7></div><div class="content-body" data-v-7683ced7><!--[--><!--]--><div class="VPNavBarSearch search" style="--vp-meta-key:'Meta';" data-v-7683ced7><!--[--><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg class="DocSearch-Search-Icon" width="20" height="20" viewBox="0 0 20 20" aria-label="search icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><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-7683ced7 data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/" tabindex="0" data-v-7f418b0f data-v-5e623618 data-v-8f4dc553><!--[-->User Guide<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/en_US/case/index.html" tabindex="0" data-v-7f418b0f data-v-5e623618 data-v-8f4dc553><!--[-->Community Projects<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/developer/index.html" tabindex="0" data-v-7f418b0f data-v-5e623618 data-v-8f4dc553><!--[-->Development Manual<!--]--><!----></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-7683ced7 data-v-74abcbb9 data-v-764effdf><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-764effdf><span class="text" data-v-764effdf><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="option-icon" data-v-764effdf><path d="M0 0h24v24H0z" fill="none"></path><path d=" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z " class="css-c4d79v"></path></svg> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-764effdf><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-764effdf><div class="VPMenu" data-v-764effdf data-v-e7ea1737><!----><!--[--><!--[--><div class="items" data-v-74abcbb9><p class="title" data-v-74abcbb9>English</p><!--[--><div class="VPMenuLink" data-v-74abcbb9 data-v-2f2cfafc><a class="VPLink link" href="/case/case5.html" data-v-2f2cfafc data-v-8f4dc553><!--[-->简体中文<!--]--><!----></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-7683ced7 data-v-f6a63727><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-f6a63727 data-v-82b282f1 data-v-f3c41672><span class="check" data-v-f3c41672><span class="icon" data-v-f3c41672><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-82b282f1><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8Line truncated
|
||||
<span class="line"><span style="color:#A6ACCD;"> --name nezha_dashboard \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> --pull always \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> --restart always \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> -e GH_USER=<fill in github username> \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> -e GH_EMAIL=<fill in github email> \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> -e GH_PAT=<fill in the obtained> \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> -e GH_REPO=<fill in customized> \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> -e GH_CLIENTID=<fill in acquired> \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> -e GH_CLIENTSECRET=<fill in acquired> \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> -e ARGO_AUTH='<Fill in the fetched Argo json or token>' \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> -e ARGO_DOMAIN=<fill in customized> \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> -e GH_BACKUP_USER=<If it is consistent with GH_USER, you can leave it blank> \</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> fscarmen/argo-nezha</span></span></code></pre></div><h3 id="docker-compose-deployment" tabindex="-1">docker-compose deployment <a class="header-anchor" href="#docker-compose-deployment" aria-label="Permalink to "docker-compose deployment""></a></h3><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">version: '3.8'</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">services.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> argo-nezha.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> image: fscarmen/argo-nezha</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> --pull always</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> container_name: nezha_dashboard</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> restart: always</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> environment:</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> - GH_USER=<fill in github username></span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> - GH_EMAIL=<fill in your github email></span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> - GH_PAT=<<fill in obtained></span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> - GH_REPO=<fill in customized></span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> - GH_CLIENTID=<fill in obtained></span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> - GH_CLIENTSECRET=<fill in fetched></span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> - ARGO_AUTH='<Fill in the fetched Argo json or token>'</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> - ARGO_DOMAIN=<fill in customized></span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> - GH_BACKUP_USER=<If it is consistent with GH_USER, you can leave it blank></span></span></code></pre></div><h2 id="vps-deployment-method-2-hosts" tabindex="-1">VPS Deployment Method 2 --- hosts <a class="header-anchor" href="#vps-deployment-method-2-hosts" aria-label="Permalink to "VPS Deployment Method 2 --- hosts""></a></h2><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- https://raw.githubusercontent.com/fscarmen2/Argo-Nezha-Service-Container/main/dashboard.sh)</span></span></code></pre></div><h2 id="client-access" tabindex="-1">Client Access <a class="header-anchor" href="#client-access" aria-label="Permalink to "Client Access""></a></h2><p>Transfer via gRPC, no additional configuration required. Use the installation method given in the panel, for example</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh install_agent data.seales.nom.za 443 eAxO9IF519fKFODlW0 --tls</span></span></code></pre></div><h2 id="ssh-access" tabindex="-1">SSH access <a class="header-anchor" href="#ssh-access" aria-label="Permalink to "SSH access""></a></h2><ul><li>Take macOS + WindTerm as an example, and other SSH tools depending on the one used, combined with the official documentation: <a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/use_cases/ssh" target="_blank" rel="noreferrer">https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/use_cases/ssh</a> /#2-connect-as-a-user</li><li>Official cloudflared download: <a href="https://github.com/cloudflare/cloudflared/releases" target="_blank" rel="noreferrer">https://github.com/cloudflare/cloudflared/releases</a></li><li>The following are examples of input commands. SSH user: root, SSH password:<GH_CLIENTSECRET></li></ul><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"><filepath>/cloudflared access ssh --hostname ssh.seals.nom.za/<GH_CLIENTID></span></span></code></pre></div><img width="1189" alt="image" src="https://github.com/fscarmen2/Argo-Nezha-Service-Container/assets/92626977/0aeb3939-51c7-47ac-a7fd-25a8a01d3df5"><img width="840" alt="image" src="https://github.com/fscarmen2/Argo-Nezha-Service-Container/assets/92626977/16961ade-aafc-4132-92a1-aa218e0fead9"><img width="1201" alt="image" src="https://github.com/fscarmen2/Argo-Nezha-Service-Container/assets/92626977/3146b2e2-f988-487f-ab63-00218eb4d570"><h2 id="manually-backing-up-your-data" tabindex="-1">Manually backing up your data <a class="header-anchor" href="#manually-backing-up-your-data" aria-label="Permalink to "Manually backing up your data""></a></h2><p>Method 1: Change the contents of the <code>README.md</code> file in the Github backup repository to <code>backup</code></p><img width="970" alt="image" src="https://github.com/fscarmen2/Argo-Nezha-Service-Container/assets/92626977/c5b6bc4b-e69c-48ce-97d4- 3f9be88515f3"><p>Method 2: After ssh, run <code>/dashboard/backup.sh</code> for container version; <code>/opt/nezha/dashboard/backup.sh</code> for VPS host version.</p><h2 id="automatically-restore-backups" tabindex="-1">Automatically restore backups <a class="header-anchor" href="#automatically-restore-backups" aria-label="Permalink to "Automatically restore backups""></a></h2><ul><li>Change the name of the file to be restored to <code>README.md</code> in the github backup repository, the timer service will check for updates every minute and record the last synchronized filename in the local <code>/dbfile</code> to compare with the online file content.</li></ul><p>The following is an example of restoring a file with the name <code>dashboard-2023-04-23-13:08:37.tar.gz</code>.</p><p>! <a href="https://user-images.githubusercontent.com/92626977/233822466-c24e94f6-ba8a-47c9-b77d-aa62a56cc929.png" target="_blank" rel="noreferrer">image</a></p><h2 id="manually-restore-the-backup" tabindex="-1">Manually restore the backup <a class="header-anchor" href="#manually-restore-the-backup" aria-label="Permalink to "Manually restore the backup""></a></h2><ul><li>ssh into the container and run, tar.gz filename from the github backup repository, format: dashboard-2023-04-22-21:42:10.tar.gz</li></ul><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-tLine truncated
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- app # Nezha panel main program</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- argo.json # Argo tunnel json file, which records information about using the tunnel.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- argo.yml # Argo tunnel yml file, used for streaming web, gRPC and ssh protocols under a single tunnel with different domains.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- backup.sh # Backup data scripts</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- restore.sh # Restore backup scripts</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- dbfile # Record the name of the latest restore or backup file</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- resource # Folders of information on panel themes, languages, flags, etc.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- data</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">| |-- config.yaml # Configuration for the Nezha panel, e.g. Github OAuth2 / gRPC domain / port / TLS enabled or not.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">| `-- sqlite.db # SQLite database file that records all severs and cron settings for the panel.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- entrypoint.sh # The main script, which is executed after the container is run.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- nezha.csr # SSL/TLS certificate signing request</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- nezha.key # Private key information for SSL/TLS certificate.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- nezha.pem # SSL/TLS certificate file.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- cloudflared # Cloudflare Argo tunnel main program.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">|-- grpcwebproxy # gRPC reverse proxy main program.</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">`-- nezha-agent # Nezha client, used to monitor the localhost.</span></span></code></pre></div><h2 id="acknowledgements-for-articles-and-projects-by" tabindex="-1">Acknowledgements for articles and projects by <a class="header-anchor" href="#acknowledgements-for-articles-and-projects-by" aria-label="Permalink to "Acknowledgements for articles and projects by""></a></h2><ul><li>Robin, an enthusiastic sunrise crowd, for discussing the relationship between Nezha's server and client, which led to the birth of this project.</li><li>Nezha website: <a href="https://nezha.wiki/" target="_blank" rel="noreferrer">https://nezha.wiki/</a> , TG Group: <a href="https://t.me/nezhamonitoring" target="_blank" rel="noreferrer">https://t.me/nezhamonitoring</a></li><li>Common Poverty International Old Chinese Medicine: <a href="http://solitud.es/" target="_blank" rel="noreferrer">http://solitud.es/</a></li><li>Akkia's Blog: <a href="https://blog.akkia.moe/" target="_blank" rel="noreferrer">https://blog.akkia.moe/</a></li><li>Ayaka's Blog: <a href="https://blog.xn--pn1aul.org/" target="_blank" rel="noreferrer">https://blog.萝莉.org/</a></li><li>HiFeng's Blog: <a href="https://www.hicairo.com/" target="_blank" rel="noreferrer">https://www.hicairo.com/</a></li><li>Intranet Penetration with Cloudflare Tunnel: <a href="https://blog.outv.im/2021/cloudflared-tunnel/" target="_blank" rel="noreferrer">https://blog.outv.im/2021/cloudflared-tunnel/</a></li><li>How to add your own Runner host to GitHub Actions: <a href="https://cloud.tencent.com/developer/article/1756690" target="_blank" rel="noreferrer">https://cloud.tencent.com/developer/article/1756690</a></li><li>github self-hosted runner addition and startup: <a href="https://blog.csdn.net/sinat_32188225/article/details/125978331" target="_blank" rel="noreferrer">https://blog.csdn.net/sinat_32188225/article/details/125978331</a></li><li>How to export a file from a Docker image: <a href="https://www.pkslow.com/archives/extract-files-from-docker-image" target="_blank" rel="noreferrer">https://www.pkslow.com/archives/extract-files-from-docker-image</a></li><li>grpcwebproxy: <a href="https://github.com/improbable-eng/grpc-web/tree/master/go/grpcwebproxy" target="_blank" rel="noreferrer">https://github.com/improbable-eng/grpc-web/tree/master/go/grpcwebproxy</a></li><li>Applexad's binary of Nezha's officially dashboard: <a href="https://github.com/applexad/nezha-binary-build" target="_blank" rel="noreferrer">https://github.com/applexad/nezha-binary-build</a></li></ul><h2 id="disclaimer" tabindex="-1">Disclaimer <a class="header-anchor" href="#disclaimer" aria-label="Permalink to "Disclaimer""></a></h2><ul><li>This program is only for learning and understanding, non-profit purposes, please delete within 24 hours after downloading, not for any commercial purposes, text, data and images are copyrighted, if reproduced must indicate the source.</li><li>Use of this program is subject to the deployment disclaimer. Use of this program must follow the deployment of the server location, the country and the user's country laws and regulations, the author of the program is not responsible for any misconduct of the user.</li></ul></div></div></main><footer class="VPDocFooter" data-v-c4b0d3cf data-v-face870a><!--[--><!--]--><div class="edit-info" data-v-face870a><div class="edit-link" data-v-face870a><a class="VPLink link edit-link-button" href="https://github.com/nezhahq/nezhahq.github.io/edit/main/docs/en_US/case/case5.md" target="_blank" rel="noreferrer" data-v-face870a data-v-8f4dc553><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" aria-label="edit icon" data-v-face870a><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--><!----></a></div><div class="last-updated" data-v-face870a><p class="VPLastUpdated" data-v-face870a data-v-7b3ebfe1>Last Updated: <time datetime="2024-06-15T23:53:12.000Z" data-v-7b3ebfe1></time></p></div></div><div class="prev-next" data-v-face870a><div class="pager" data-v-face870a><a class="pager-link prev" href="/en_US/case/case4.html" data-v-face870a><span class="desc" data-v-face870a>Previous page</span><span class="title" data-v-face870a>4. Fake-agent, monitoring data cheater</span></a></div><div class="has-prev pager" data-v-face870a><!----></div></div></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></divLine truncated
|
||||
<script>__VP_HASH_MAP__ = JSON.parse("{\"case_case1.md\":\"4511267a\",\"case_case2.md\":\"15761344\",\"en_us_guide_dashboardq.md\":\"7302f04b\",\"en_us_guide_loginq.md\":\"0a8a1bec\",\"guide_services.md\":\"adf6490e\",\"en_us_guide_services.md\":\"b9e22be7\",\"guide_q6.md\":\"a63ae0d3\",\"case_case4.md\":\"3d76eaa8\",\"en_us_guide_tasks.md\":\"9c66a854\",\"en_us_case_case1.md\":\"a1eac32f\",\"en_us_case_case2.md\":\"31035400\",\"guide_agentq.md\":\"a7c6d5c4\",\"en_us_case_case4.md\":\"cd2a9c57\",\"en_us_index.md\":\"483599a8\",\"guide_agent.md\":\"ca60d73d\",\"en_us_guide_settings.md\":\"9aa8066d\",\"en_us_guide_q2.md\":\"ba9d6542\",\"guide_api.md\":\"8b2774bf\",\"en_us_guide_q3.md\":\"636a4fb5\",\"en_us_guide_dashboard.md\":\"54205e0c\",\"en_us_case_case3.md\":\"d0600eda\",\"developer_index.md\":\"3bf4b5d9\",\"developer_theme.md\":\"67a964df\",\"developer_l10n.md\":\"f1206383\",\"guide_q3.md\":\"17434cbd\",\"guide_q4.md\":\"51315641\",\"guide_dashboard.md\":\"83e865a5\",\"guide_q5.md\":\"fda1ace4\",\"case_index.md\":\"0560322d\",\"en_us_guide_q6.md\":\"2b98fb0c\",\"guide_tasks.md\":\"64f84f3a\",\"en_us_guide_q4.md\":\"688e36aa\",\"en_us_guide_q5.md\":\"060bf29f\",\"en_us_guide_q7.md\":\"6cc217f4\",\"en_us_guide_servers.md\":\"fa2a7a63\",\"en_us_guide_q8.md\":\"d9a53a36\",\"en_us_developer_theme.md\":\"8e6bceb7\",\"en_us_developer_index.md\":\"127deb01\",\"en_us_guide_notifications.md\":\"0c956c41\",\"en_us_case_case5.md\":\"f8b87ece\",\"guide_q8.md\":\"107876e2\",\"guide_servers.md\":\"971f5a47\",\"index.md\":\"a6736f6b\",\"guide_q2.md\":\"524813bc\",\"en_us_guide_agent.md\":\"7264295e\",\"guide_settings.md\":\"c86c3d25\",\"guide_dashboardq.md\":\"dd22b797\",\"guide_loginq.md\":\"b615efd0\",\"guide_notifications.md\":\"b99b360d\",\"en_us_guide_agentq.md\":\"8251e9de\",\"guide_q7.md\":\"9c08febc\",\"case_case3.md\":\"dd36066e\",\"en_us_developer_l10n.md\":\"d15efbb3\",\"case_case5.md\":\"05a62247\",\"en_us_case_index.md\":\"f86af56c\",\"en_us_guide_api.md\":\"9f430ab7\",\"guide_q1.md\":\"aa6954ab\"}")
|
||||
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/nezhahq/nezhahq.github.io\"}],\"algolia\":{\"appId\":\"HP6QF6KMZD\",\"apiKey\":\"fb8bae9ed373d1057e0c07fcf32b3f1a\",\"indexName\":\"nezhahq\"},\"footer\":{\"message\":\"This work is licensed under a <a rel=\\\"license\\\" href=\\\"http://creativecommons.org/licenses/by-nc-sa/4.0/\\\">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License\",\"copyright\":\"Copyright © 2022-present NezhaHQ\"}},\"locales\":{\"root\":{\"lang\":\"zh-CN\",\"label\":\"简体中文\",\"title\":\"哪吒监控\",\"description\":\"哪吒监控是一个轻量化的运维工具\",\"link\":\"/\",\"themeConfig\":{\"lastUpdatedText\":\"上次更新\",\"editLink\":{\"pattern\":\"https://github.com/nezhahq/nezhahq.github.io/edit/main/docs/:path\",\"text\":\"在GitHub中编辑\"},\"nav\":[{\"text\":\"使用指南\",\"link\":\"/\",\"activeMatch\":\"^/$|^/guide/\"},{\"text\":\"社区项目\",\"link\":\"/case/index.html\",\"activeMatch\":\"^/case/\"},{\"text\":\"开发手册\",\"link\":\"/developer/index.html\",\"activeMatch\":\"^/developer/\"}],\"sidebar\":{\"/\":[{\"text\":\"安装手册\",\"items\":[{\"text\":\"安装 Dashboard\",\"link\":\"/guide/dashboard.html\"},{\"text\":\"安装 Agent\",\"link\":\"/guide/agent.html\"}]},{\"text\":\"管理面板配置\",\"items\":[{\"text\":\"服务器\",\"link\":\"/guide/servers.html\"},{\"text\":\"服务\",\"link\":\"/guide/services.html\"},{\"text\":\"任务\",\"link\":\"/guide/tasks.html\"},{\"text\":\"告警\",\"link\":\"/guide/notifications.html\"},{\"text\":\"设置\",\"link\":\"/guide/settings.html\"},{\"text\":\"API\",\"link\":\"/guide/api.html\"}]},{\"text\":\"常见问题\",\"items\":[{\"text\":\"反向代理 Telegram API\",\"link\":\"/guide/q1.html\"},{\"text\":\"Agent 启动/上线 问题自检流程\",\"link\":\"/guide/q2.html\"},{\"text\":\"反向代理 gRPC 端口\",\"link\":\"/guide/q3.html\"},{\"text\":\"实时通道断开/在线终端连接失败\",\"link\":\"/guide/q4.html\"},{\"text\":\"面板数据迁移、备份和恢复\",\"link\":\"/guide/q5.html\"},{\"text\":\"设置每月重置流量统计\",\"link\":\"/guide/q6.html\"},{\"text\":\"自定义 Agent 监控项目\",\"link\":\"/guide/q7.html\"},{\"text\":\"使用 Cloudflare Access 作为 OAuth2 提供方\",\"link\":\"/guide/q8\"}]},{\"text\":\"排障指南\",\"items\":[{\"text\":\"Dashboard 相关\",\"link\":\"/guide/dashboardq.html\"},{\"text\":\"Agent 相关\",\"link\":\"/guide/agentq.html\"},{\"text\":\"登录相关\",\"link\":\"/guide/loginq.html\"}]}],\"/guide/\":[{\"text\":\"安装手册\",\"items\":[{\"text\":\"安装 Dashboard\",\"link\":\"/guide/dashboard.html\"},{\"text\":\"安装 Agent\",\"link\":\"/guide/agent.html\"}]},{\"text\":\"管理面板配置\",\"items\":[{\"text\":\"服务器\",\"link\":\"/guide/servers.html\"},{\"text\":\"服务\",\"link\":\"/guide/services.html\"},{\"text\":\"任务\",\"link\":\"/guide/tasks.html\"},{\"text\":\"告警\",\"link\":\"/guide/notifications.html\"},{\"text\":\"设置\",\"link\":\"/guide/settings.html\"},{\"text\":\"API\",\"link\":\"/guide/api.html\"}]},{\"text\":\"常见问题\",\"items\":[{\"text\":\"反向代理 Telegram API\",\"link\":\"/guide/q1.html\"},{\"text\":\"Agent 启动/上线 问题自检流程\",\"link\":\"/guide/q2.html\"},{\"text\":\"反向代理 gRPC 端口\",\"link\":\"/guide/q3.html\"},{\"text\":\"实时通道断开/在线终端连接失败\",\"link\":\"/guide/q4.html\"},{\"text\":\"面板数据迁移、备份和恢复\",\"link\":\"/guide/q5.html\"},{\"text\":\"设置每月重置流量统计\",\"link\":\"/guide/q6.html\"},{\"text\":\"自定义 Agent 监控项目\",\"link\":\"/guide/q7.html\"},{\"text\":\"使用 Cloudflare Access 作为 OAuth2 提供方\",\"link\":\"/guide/q8\"}]},{\"text\":\"排障指南\",\"items\":[{\"text\":\"Dashboard 相关\",\"link\":\"/guide/dashboardq.html\"},{\"text\":\"Agent 相关\",\"link\":\"/guide/agentq.html\"},{\"text\":\"登录相关\",\"link\":\"/guide/loginq.html\"}]}],\"/case/\":[{\"text\":\"社区项目\",\"items\":[{\"text\":\"1. 搭建哪吒 Telegram 机器人\",\"link\":\"/case/case1.html\"},{\"text\":\"2. 使用 Siri 语音运行快捷指令查询服务器状态\",\"link\":\"/case/case2.html\"},{\"text\":\"3. 自建多用户多语言 Telegram 服务器状态查询机器人\",\"link\":\"/case/case3.html\"},{\"text\":\"4. Fake-agent,监控数据作弊器\",\"link\":\"/case/case4.html\"},{\"text\":\"5. 使用 Argo 隧道的哪吒服务端\",\"link\":\"/case/case5.html\"}]}],\"/developer/\":[{\"text\":\"开发手册\",\"items\":[{\"text\":\"创建新主题\",\"link\":\"/developer/theme.html\"},{\"text\":\"l10n\",\"link\":\"/developer/l10n.html\"}]}]}}},\"en_US\":{\"lang\":\"en-US\",\"label\":\"English\",\"title\":\"Nezha MoniLine truncated
|
||||
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/en_US/" data-v-ab179fa1><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" width="24" height="24" alt data-v-8426fc1a><!--]--><span data-v-ab179fa1>Nezha Monitoring</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!--[--><!----><div id="docsearch"><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-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>User Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/en_US/case/index.html" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Community Projects</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en_US/developer/index.html" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Development Manual</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-ccf7ddec data-v-88af2de4 data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-b6c34ac9><span class="text" data-v-b6c34ac9><span class="vpi-languages option-icon" data-v-b6c34ac9></span><!----><span class="vpi-chevron-down text-icon" data-v-b6c34ac9></span></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><div class="items" data-v-88af2de4><p class="title" data-v-88af2de4>English</p><!--[--><div class="VPMenuLink" data-v-88af2de4 data-v-43f1e123><a class="VPLink link" href="/case/case5.html" data-v-43f1e123><!--[-->简体中文<!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/nezhahq/nezhahq.github.io" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-ccf7ddec data-v-d0bd9dde data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><div class="group translations" data-v-d0bd9dde><p class="trans-title" data-v-d0bd9dde>English</p><!--[--><div class="VPMenuLink" data-v-d0bd9dde data-v-43f1e123><a class="VPLink link" href="/case/case5.html" data-v-43f1e123><!--[-->简体中文<!--]--></a></div><!--]--></div><div class="group" data-v-d0bd9dde><div class="item appearance" data-v-d0bd9dde><p class="label" data-v-d0bd9dde>Appearance</p><div class="appearance-action" data-v-d0bd9dde><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-d0bd9dde data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div></div></div><Line truncated
|
||||
<span class="line"><span> --name nezha_dashboard \</span></span>
|
||||
<span class="line"><span> --pull always \</span></span>
|
||||
<span class="line"><span> --restart always \</span></span>
|
||||
<span class="line"><span> -e GH_USER=<fill in github username> \</span></span>
|
||||
<span class="line"><span> -e GH_EMAIL=<fill in github email> \</span></span>
|
||||
<span class="line"><span> -e GH_PAT=<fill in the obtained> \</span></span>
|
||||
<span class="line"><span> -e GH_REPO=<fill in customized> \</span></span>
|
||||
<span class="line"><span> -e GH_CLIENTID=<fill in acquired> \</span></span>
|
||||
<span class="line"><span> -e GH_CLIENTSECRET=<fill in acquired> \</span></span>
|
||||
<span class="line"><span> -e ARGO_AUTH='<Fill in the fetched Argo json or token>' \</span></span>
|
||||
<span class="line"><span> -e ARGO_DOMAIN=<fill in customized> \</span></span>
|
||||
<span class="line"><span> -e GH_BACKUP_USER=<If it is consistent with GH_USER, you can leave it blank> \</span></span>
|
||||
<span class="line"><span> fscarmen/argo-nezha</span></span></code></pre></div><h3 id="docker-compose-deployment" tabindex="-1">docker-compose deployment <a class="header-anchor" href="#docker-compose-deployment" aria-label="Permalink to "docker-compose deployment""></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>version: '3.8'</span></span>
|
||||
<span class="line"><span>services.</span></span>
|
||||
<span class="line"><span> argo-nezha.</span></span>
|
||||
<span class="line"><span> image: fscarmen/argo-nezha</span></span>
|
||||
<span class="line"><span> --pull always</span></span>
|
||||
<span class="line"><span> container_name: nezha_dashboard</span></span>
|
||||
<span class="line"><span> restart: always</span></span>
|
||||
<span class="line"><span> environment:</span></span>
|
||||
<span class="line"><span> - GH_USER=<fill in github username></span></span>
|
||||
<span class="line"><span> - GH_EMAIL=<fill in your github email></span></span>
|
||||
<span class="line"><span> - GH_PAT=<<fill in obtained></span></span>
|
||||
<span class="line"><span> - GH_REPO=<fill in customized></span></span>
|
||||
<span class="line"><span> - GH_CLIENTID=<fill in obtained></span></span>
|
||||
<span class="line"><span> - GH_CLIENTSECRET=<fill in fetched></span></span>
|
||||
<span class="line"><span> - ARGO_AUTH='<Fill in the fetched Argo json or token>'</span></span>
|
||||
<span class="line"><span> - ARGO_DOMAIN=<fill in customized></span></span>
|
||||
<span class="line"><span> - GH_BACKUP_USER=<If it is consistent with GH_USER, you can leave it blank></span></span></code></pre></div><h2 id="vps-deployment-method-2-hosts" tabindex="-1">VPS Deployment Method 2 --- hosts <a class="header-anchor" href="#vps-deployment-method-2-hosts" aria-label="Permalink to "VPS Deployment Method 2 --- hosts""></a></h2><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>bash <(wget -qO- https://raw.githubusercontent.com/fscarmen2/Argo-Nezha-Service-Container/main/dashboard.sh)</span></span></code></pre></div><h2 id="client-access" tabindex="-1">Client Access <a class="header-anchor" href="#client-access" aria-label="Permalink to "Client Access""></a></h2><p>Transfer via gRPC, no additional configuration required. Use the installation method given in the panel, for example</p><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>curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh install_agent data.seales.nom.za 443 eAxO9IF519fKFODlW0 --tls</span></span></code></pre></div><h2 id="ssh-access" tabindex="-1">SSH access <a class="header-anchor" href="#ssh-access" aria-label="Permalink to "SSH access""></a></h2><ul><li>Take macOS + WindTerm as an example, and other SSH tools depending on the one used, combined with the official documentation: <a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/use_cases/ssh" target="_blank" rel="noreferrer">https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/use_cases/ssh</a> /#2-connect-as-a-user</li><li>Official cloudflared download: <a href="https://github.com/cloudflare/cloudflared/releases" target="_blank" rel="noreferrer">https://github.com/cloudflare/cloudflared/releases</a></li><li>The following are examples of input commands. SSH user: root, SSH password:<GH_CLIENTSECRET></li></ul><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><filepath>/cloudflared access ssh --hostname ssh.seals.nom.za/<GH_CLIENTID></span></span></code></pre></div><img width="1189" alt="image" src="https://github.com/fscarmen2/Argo-Nezha-Service-Container/assets/92626977/0aeb3939-51c7-47ac-a7fd-25a8a01d3df5"><img width="840" alt="image" src="https://github.com/fscarmen2/Argo-Nezha-Service-Container/assets/92626977/16961ade-aafc-4132-92a1-aa218e0fead9"><img width="1201" alt="image" src="https://github.com/fscarmen2/Argo-Nezha-Service-Container/assets/92626977/3146b2e2-f988-487f-ab63-00218eb4d570"><h2 id="manually-backing-up-your-data" tabindex="-1">Manually backing up your data <a class="header-anchor" href="#manually-backing-up-your-data" aria-label="Permalink to "Manually backing up your data""></a></h2><p>Method 1: Change the contents of the <code>README.md</code> file in the Github backup repository to <code>backup</code></p><img width="970" alt="image" src="https://github.com/fscarmen2/Argo-Nezha-Service-Container/assets/92626977/c5b6bc4b-e69c-48ce-97d4- 3f9be88515f3"><p>Method 2: After ssh, run <code>/dashboard/backup.sh</code> for container version; <code>/opt/nezha/dashboard/backup.sh</code> for VPS host version.</p><h2 id="automatically-restore-backups" tabindex="-1">Automatically restore backups <a class="header-anchor" href="#automatically-restore-backups" aria-label="Permalink to "Automatically restore backups""></a></h2><ul><li>Change the name of the file to be restored to <code>README.md</code> in the github backup repository, the timer service will check for updates every minute and record the last synchronized filename in the local <code>/dbfile</code> to compare with the online file content.</li></ul><p>The following is an example of restoring a file with the name <code>dashboard-2023-04-23-13:08:37.tar.gz</code>.</p><p>! <a href="https://user-images.githubusercontent.com/92626977/233822466-c24e94f6-ba8a-47c9-b77d-aa62a56cc929.png" target="_blank" rel="noreferrer">image</a></p><h2 id="manually-restore-the-backup" tabindex="-1">Manually restore the backup <a class="header-anchor" href="#manually-restore-the-backup" aria-label="Permalink to "Manually restore the backup""></a></h2><ul><li>ssh into the container and run, tar.gz filename from the github backup repository, format: dashboard-2023-04-22-21:42:10.tar.gz</li></ul><div class="language- vp-adaptive-theme"><button title="Copy Line truncated
|
||||
<span class="line"><span>|-- app # Nezha panel main program</span></span>
|
||||
<span class="line"><span>|-- argo.json # Argo tunnel json file, which records information about using the tunnel.</span></span>
|
||||
<span class="line"><span>|-- argo.yml # Argo tunnel yml file, used for streaming web, gRPC and ssh protocols under a single tunnel with different domains.</span></span>
|
||||
<span class="line"><span>|-- backup.sh # Backup data scripts</span></span>
|
||||
<span class="line"><span>|-- restore.sh # Restore backup scripts</span></span>
|
||||
<span class="line"><span>|-- dbfile # Record the name of the latest restore or backup file</span></span>
|
||||
<span class="line"><span>|-- resource # Folders of information on panel themes, languages, flags, etc.</span></span>
|
||||
<span class="line"><span>|-- data</span></span>
|
||||
<span class="line"><span>| |-- config.yaml # Configuration for the Nezha panel, e.g. Github OAuth2 / gRPC domain / port / TLS enabled or not.</span></span>
|
||||
<span class="line"><span>| `-- sqlite.db # SQLite database file that records all severs and cron settings for the panel.</span></span>
|
||||
<span class="line"><span>|-- entrypoint.sh # The main script, which is executed after the container is run.</span></span>
|
||||
<span class="line"><span>|-- nezha.csr # SSL/TLS certificate signing request</span></span>
|
||||
<span class="line"><span>|-- nezha.key # Private key information for SSL/TLS certificate.</span></span>
|
||||
<span class="line"><span>|-- nezha.pem # SSL/TLS certificate file.</span></span>
|
||||
<span class="line"><span>|-- cloudflared # Cloudflare Argo tunnel main program.</span></span>
|
||||
<span class="line"><span>|-- grpcwebproxy # gRPC reverse proxy main program.</span></span>
|
||||
<span class="line"><span>`-- nezha-agent # Nezha client, used to monitor the localhost.</span></span></code></pre></div><h2 id="acknowledgements-for-articles-and-projects-by" tabindex="-1">Acknowledgements for articles and projects by <a class="header-anchor" href="#acknowledgements-for-articles-and-projects-by" aria-label="Permalink to "Acknowledgements for articles and projects by""></a></h2><ul><li>Robin, an enthusiastic sunrise crowd, for discussing the relationship between Nezha's server and client, which led to the birth of this project.</li><li>Nezha website: <a href="https://nezha.wiki/" target="_blank" rel="noreferrer">https://nezha.wiki/</a> , TG Group: <a href="https://t.me/nezhamonitoring" target="_blank" rel="noreferrer">https://t.me/nezhamonitoring</a></li><li>Common Poverty International Old Chinese Medicine: <a href="http://solitud.es/" target="_blank" rel="noreferrer">http://solitud.es/</a></li><li>Akkia's Blog: <a href="https://blog.akkia.moe/" target="_blank" rel="noreferrer">https://blog.akkia.moe/</a></li><li>Ayaka's Blog: <a href="https://blog.xn--pn1aul.org/" target="_blank" rel="noreferrer">https://blog.萝莉.org/</a></li><li>HiFeng's Blog: <a href="https://www.hicairo.com/" target="_blank" rel="noreferrer">https://www.hicairo.com/</a></li><li>Intranet Penetration with Cloudflare Tunnel: <a href="https://blog.outv.im/2021/cloudflared-tunnel/" target="_blank" rel="noreferrer">https://blog.outv.im/2021/cloudflared-tunnel/</a></li><li>How to add your own Runner host to GitHub Actions: <a href="https://cloud.tencent.com/developer/article/1756690" target="_blank" rel="noreferrer">https://cloud.tencent.com/developer/article/1756690</a></li><li>github self-hosted runner addition and startup: <a href="https://blog.csdn.net/sinat_32188225/article/details/125978331" target="_blank" rel="noreferrer">https://blog.csdn.net/sinat_32188225/article/details/125978331</a></li><li>How to export a file from a Docker image: <a href="https://www.pkslow.com/archives/extract-files-from-docker-image" target="_blank" rel="noreferrer">https://www.pkslow.com/archives/extract-files-from-docker-image</a></li><li>grpcwebproxy: <a href="https://github.com/improbable-eng/grpc-web/tree/master/go/grpcwebproxy" target="_blank" rel="noreferrer">https://github.com/improbable-eng/grpc-web/tree/master/go/grpcwebproxy</a></li><li>Applexad's binary of Nezha's officially dashboard: <a href="https://github.com/applexad/nezha-binary-build" target="_blank" rel="noreferrer">https://github.com/applexad/nezha-binary-build</a></li></ul><h2 id="disclaimer" tabindex="-1">Disclaimer <a class="header-anchor" href="#disclaimer" aria-label="Permalink to "Disclaimer""></a></h2><ul><li>This program is only for learning and understanding, non-profit purposes, please delete within 24 hours after downloading, not for any commercial purposes, text, data and images are copyrighted, if reproduced must indicate the source.</li><li>Use of this program is subject to the deployment disclaimer. Use of this program must follow the deployment of the server location, the country and the user's country laws and regulations, the author of the program is not responsible for any misconduct of the user.</li></ul></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-d4a0bba5><!--[--><!--]--><div class="edit-info" data-v-d4a0bba5><div class="edit-link" data-v-d4a0bba5><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/nezhahq/nezhahq.github.io/edit/main/docs/en_US/case/case5.md" target="_blank" rel="noreferrer" data-v-d4a0bba5><!--[--><span class="vpi-square-pen edit-link-icon" data-v-d4a0bba5></span> Edit this page on GitHub<!--]--></a></div><div class="last-updated" data-v-d4a0bba5><p class="VPLastUpdated" data-v-d4a0bba5 data-v-7e05ebdb>Last Updated: <time datetime="2024-06-24T14:23:44.000Z" data-v-7e05ebdb></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-d4a0bba5><span class="visually-hidden" id="doc-footer-aria-label" data-v-d4a0bba5>Pager</span><div class="pager" data-v-d4a0bba5><a class="VPLink link pager-link prev" href="/en_US/case/case4.html" data-v-d4a0bba5><!--[--><span class="desc" data-v-d4a0bba5>Previous page</span><span class="title" data-v-d4a0bba5>4. Fake-agent, monitoring data cheater</span><!--]--></a></div><div class="pager" data-v-d4a0bba5><!----></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-5d98c3a5 data-v-e315a0ad><div class="container" data-v-e315a0ad><p class="message" data-v-e315a0ad>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License</p><p class="copyright" data-v-e315a0ad>Copyright © 2022-present NezhaHQ</p></div></footer><!--[--><!--]--><Line truncated
|
||||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"en_us_case_case5.md\":\"XqwZ8iKk\",\"en_us_developer_index.md\":\"DdHbANMq\",\"en_us_case_case2.md\":\"CtI6yc_M\",\"en_us_guide_agentq.md\":\"BKmzind8\",\"en_us_case_case3.md\":\"DCEb-lOe\",\"en_us_case_case4.md\":\"Bq6rZxKf\",\"en_us_developer_theme.md\":\"DsiXMVZ4\",\"en_us_guide_agent.md\":\"XjTB7cBt\",\"en_us_case_index.md\":\"CSf_yv3T\",\"case_case1.md\":\"ChD04IfY\",\"en_us_guide_loginq.md\":\"Cz5kBrac\",\"developer_theme.md\":\"DpFToTun\",\"en_us_guide_q2.md\":\"BPMhVFbw\",\"en_us_guide_api.md\":\"DlwwVGvY\",\"en_us_guide_q7.md\":\"UsLVXz4r\",\"en_us_guide_dashboard.md\":\"CqJk3SZj\",\"case_index.md\":\"Dpbpc1R2\",\"en_us_guide_servers.md\":\"C6ttJH3B\",\"en_us_guide_dashboardq.md\":\"B7tjvTgj\",\"en_us_guide_services.md\":\"DlWdTpu5\",\"case_case4.md\":\"Dcp2TVIl\",\"developer_l10n.md\":\"DlMPJ4AL\",\"developer_index.md\":\"DFC7O4If\",\"en_us_guide_q3.md\":\"CC66i-vY\",\"guide_servers.md\":\"DDv3konh\",\"index.md\":\"CtVXitC5\",\"guide_tasks.md\":\"DvMwtbjN\",\"case_case3.md\":\"Bktz5arj\",\"case_case2.md\":\"p4X-B3ai\",\"en_us_guide_q5.md\":\"RcBGWcbM\",\"en_us_guide_notifications.md\":\"BFN9G5FT\",\"guide_q5.md\":\"CApD4PGd\",\"guide_settings.md\":\"DnOHC6ho\",\"en_us_developer_l10n.md\":\"C-79vxLb\",\"en_us_case_case1.md\":\"4LkFrC_x\",\"guide_q4.md\":\"Bwi-wIzP\",\"guide_dashboardq.md\":\"h1t88GdR\",\"guide_loginq.md\":\"0dEC8Tty\",\"guide_notifications.md\":\"uDxrpArB\",\"en_us_guide_q8.md\":\"BLA1wvwL\",\"en_us_guide_q6.md\":\"CYZ4lxRg\",\"case_case5.md\":\"_Z3o2S8Q\",\"guide_services.md\":\"BHZuB3ts\",\"guide_q7.md\":\"DyaEbK7v\",\"guide_q8.md\":\"CXLLAZ7L\",\"en_us_guide_q4.md\":\"CMem165Z\",\"guide_q6.md\":\"D9InDAD2\",\"guide_q1.md\":\"C5KPuqP_\",\"guide_api.md\":\"BqAGPlfh\",\"guide_agentq.md\":\"FPZHBF1_\",\"guide_dashboard.md\":\"C6o-Roy3\",\"en_us_guide_settings.md\":\"wx4ZCmxQ\",\"en_us_index.md\":\"wm6LXN_f\",\"guide_q3.md\":\"CQNdJrKk\",\"guide_q2.md\":\"DVtou8cF\",\"guide_agent.md\":\"rsLi-_uD\",\"en_us_guide_tasks.md\":\"DSlKW8HO\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":{\"src\":\"/logo.png\",\"width\":24,\"height\":24},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/nezhahq/nezhahq.github.io\"}],\"search\":{\"provider\":\"algolia\",\"options\":{\"appId\":\"HP6QF6KMZD\",\"apiKey\":\"fb8bae9ed373d1057e0c07fcf32b3f1a\",\"indexName\":\"nezhahq\",\"locales\":{\"root\":{\"placeholder\":\"搜索文档\",\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"searchBox\":{\"resetButtonTitle\":\"清除查询条件\",\"resetButtonAriaLabel\":\"清除查询条件\",\"cancelButtonText\":\"取消\",\"cancelButtonAriaLabel\":\"取消\"},\"startScreen\":{\"recentSearchesTitle\":\"搜索历史\",\"noRecentSearchesText\":\"没有搜索历史\",\"saveRecentSearchButtonTitle\":\"保存至搜索历史\",\"removeRecentSearchButtonTitle\":\"从搜索历史中移除\",\"favoriteSearchesTitle\":\"收藏\",\"removeFavoriteSearchButtonTitle\":\"从收藏中移除\"},\"errorScreen\":{\"titleText\":\"无法获取结果\",\"helpText\":\"你可能需要检查你的网络连接\"},\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\",\"closeText\":\"关闭\",\"searchByText\":\"搜索提供者\"},\"noResultsScreen\":{\"noResultsText\":\"无法找到相关结果\",\"suggestedQueryText\":\"你可以尝试查询\",\"reportMissingResultsText\":\"你认为该查询应该有结果?\",\"reportMissingResultsLinkText\":\"点击反馈\"}}}}}}},\"footer\":{\"message\":\"This work is licensed under a <a rel=\\\"license\\\" href=\\\"http://creativecommons.org/licenses/by-nc-sa/4.0/\\\">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License\",\"copyright\":\"Copyright © 2022-present NezhaHQ\"}},\"locales\":{\"root\":{\"lang\":\"zh-CN\",\"label\":\"简体中文\",\"title\":\"哪吒监控\",\"description\":\"哪吒监控是一个轻量化的运维工具\",\"link\":\"/\",\"themeConfig\":{\"lastUpdatedText\":\"上次更新\",\"editLink\":{\"pattern\":\"https://github.com/nezhahq/nezhahq.github.io/edit/main/docs/:path\",\"text\":\"在GitHub中编辑\"},\"nav\":[{\"text\":\"使用指南\",\"link\":\"/\",\"activeMatch\":\"^/$|^/guide/\"},{\"text\":\"社区项目\",\"link\":\"/case/index.html\",\"activeMatch\":\"^/case/\"},{\"text\":\"开发手册\",\"link\":\"/developer/index.html\",\"activeMatch\":\"^/developer/\"}],\"sidebar\":{\"/\":[{\"text\":\"安装手册\",\"items\":[{\"text\":\"安装 Dashboard\",\"link\":\"/guide/dashboard.html\"},{\"text\":\"安装 Agent\",\"link\":\"/guide/agent.html\"}]},{\"text\":\"管理面板配置\",\"items\":[{\"text\":\"服务器\",\"link\":\"/guide/servers.html\"},{\"text\":\"服务\",\"link\":\"/guide/services.Line truncated
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user