<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Daoker小站</title>
	<atom:link href="https://daoker.cc/feed" rel="self" type="application/rss+xml" />
	<link>https://daoker.cc</link>
	<description>个人随笔小记</description>
	<lastBuildDate>Thu, 03 Sep 2026 07:01:42 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://daoker.cc/wp-content/uploads/2022/08/cropped-daoker_blog_s-32x32.png</url>
	<title>Daoker小站</title>
	<link>https://daoker.cc</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>扒开一个&#8221;企业补贴&#8221;钓鱼站：背后是一套成熟的诈骗 SaaS 产业链</title>
		<link>https://daoker.cc/daokerto1296.html</link>
					<comments>https://daoker.cc/daokerto1296.html#respond</comments>
		
		<dc:creator><![CDATA[博主]]></dc:creator>
		<pubDate>Thu, 03 Sep 2026 07:01:41 +0000</pubDate>
				<category><![CDATA[未分类]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=1296</guid>

					<description><![CDATA[扒开一个&#8221;企业补贴&#8221;钓鱼站：背后是一套成熟的诈骗 SaaS 产业链 扒开一个&#822 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>扒开一个&#8221;企业补贴&#8221;钓鱼站：背后是一套成熟的诈骗 SaaS 产业链</title>
<style>
  :root {
    --bg: #ffffff;
    --text: #1f2328;
    --muted: #6b7280;
    --border: #e5e7eb;
    --accent: #c0392b;
    --accent-soft: #fdf3f2;
    --code-bg: #f6f8fa;
    --link: #185fa5;
  }
  * { box-sizing: border-box; }
  body {
    margin: 0;
    background: #fafafa;
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    line-height: 1.8;
    font-size: 16px;
  }
  .container { max-width: 740px; margin: 0 auto; padding: 48px 24px 80px; }
  article { background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: 48px 44px; }
  h1 { font-size: 28px; line-height: 1.4; margin: 0 0 8px; font-weight: 600; }
  .meta { color: var(--muted); font-size: 14px; margin-bottom: 8px; }
  .tagline { color: var(--muted); font-size: 15px; border-left: 3px solid var(--accent); padding-left: 14px; margin: 16px 0 28px; }
  h2 { font-size: 21px; margin: 36px 0 14px; font-weight: 600; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
  p { margin: 14px 0; }
  a { color: var(--link); text-decoration: none; }
  code {
    background: var(--code-bg);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 14px;
  }
  pre {
    background: var(--code-bg);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px;
    overflow-x: auto;
    font-size: 14px;
    line-height: 1.6;
  }
  pre code { background: none; padding: 0; }
  blockquote {
    margin: 16px 0;
    padding: 12px 18px;
    background: var(--accent-soft);
    border-left: 3px solid var(--accent);
    border-radius: 0 8px 8px 0;
    color: #5f3a34;
  }
  table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 14.5px; }
  th, td { border: 1px solid var(--border); padding: 10px 12px; text-align: left; }
  th { background: #f6f7f9; font-weight: 600; }
  tr:nth-child(even) td { background: #fafbfc; }
  ol, ul { padding-left: 24px; }
  li { margin: 8px 0; }
  strong { font-weight: 600; }
  .warn {
    background: #fff8e6;
    border: 1px solid #f5e3b8;
    border-radius: 8px;
    padding: 16px 20px;
    margin: 20px 0;
  }
  .warn strong { color: #9a6b00; }
  @media (max-width: 600px) {
    article { padding: 28px 20px; }
    h1 { font-size: 24px; }
  }
</style>
</head>
<body>
<div class="container">
<article>
  <h1>扒开一个&#8221;企业补贴&#8221;钓鱼站：背后是一套成熟的诈骗 SaaS 产业链</h1>
  <div class="meta">安全研究复盘 · 2026-09-03 · 反诈警示</div>
  <div class="tagline">一个陌生短链，一次公开情报追踪，最后挖出了诈骗团伙的完整中控后台和 23 条话术库。</div>

  <h2>起因：一条链接</h2>
  <p>最近有人转来一个链接：<code>https://fpz.hyzt88.cyou/0Rqbvc</code>，说是&#8221;诈骗了很多人&#8221;。我顺手做了个检测，没想到一路挖到了这伙人的老巢。</p>

  <h2>一、这到底是个什么站？</h2>
  <p>打开链接，页面标题赫然写着<strong>&#8220;企业补贴申请&#8221;</strong>。看着像政务平台，实则是个钓鱼表单。真正的猫腻在它&#8221;前后端分离&#8221;的架构上：</p>
  <ul>
    <li>前端 <code>fpz.hyzt88.cyou</code>：一个空壳 Vue 页面，只负责展示表单</li>
    <li>后端 <code>api.het88.top</code>：表单字段全靠这里动态下发</li>
  </ul>
  <p>直接请求后端接口，返回的是一段诱导话术：</p>
  <pre><code>"bank_priority": "使用 中国银行 邮政银行 工商银行 优先办理！"
"module_value": "900"</code></pre>
  <p>&#8220;900 元补贴&#8221;是诱饵，&#8221;优先办理指定银行卡&#8221;是套取卡号的第一步。</p>

  <h2>二、从域名追到服务器</h2>
  <p>顺着域名查下去，服务器位置也清楚了：</p>
  <table>
    <thead><tr><th>角色</th><th>域名</th><th>IP</th><th>云厂商</th></tr></thead>
    <tbody>
      <tr><td>前端套壳</td><td>fpz.hyzt88.cyou</td><td>16.163.104.151</td><td>AWS 香港</td></tr>
      <tr><td>后端收集</td><td>api.het88.top</td><td>43.200.221.80</td><td>AWS 首尔</td></tr>
    </tbody>
  </table>
  <p>两台都在 AWS，前后端分离部署。域名用了廉价的 <code>.cyou</code> 后缀 + 随机短码，注册信息全部隐藏。</p>
  <p><strong>关键突破来自 SSL 证书。</strong>抓取前端证书时，SAN 字段一次暴露了同批 4 个通配域名：</p>
  <pre><code>*.hyzt88.cyou
*.seda88.cyou
*.zqaj88.cyou
*.zujd88.cyou</code></pre>
  <p>也就是说，这伙人手里至少 4 个同构钓鱼域名，用同一张证书批量分发。加上后端 <code>het88.top</code>，一共 5 个域名资产。</p>
  <p>再查证书透明度日志（crt.sh），<code>het88.top</code> 最早的证书是 2026 年 6 月底——<strong>已经运营两个多月</strong>，而且 9 月初刚续签证书，<strong>仍在活跃作案</strong>。</p>

  <h2>三、管理后台：一个完整的诈骗 SaaS</h2>
  <p>真正的重磅发现在后端。访问 <code>https://het88.top/</code>，页面标题直接写着<strong>&#8220;后台管理&#8221;</strong>——这就是诈骗团伙的中控台。</p>
  <p>扒开它的前端代码，后台功能模块一目了然：</p>
  <table>
    <thead><tr><th>模块</th><th>接口</th><th>实际用途</th></tr></thead>
    <tbody>
      <tr><td>代理账号管理</td><td>/users</td><td>按天卖账号，有效期 1~365 天</td></tr>
      <tr><td>剧本配置</td><td>/module-settings/update</td><td>切换财政补贴/学生补贴/育儿补贴</td></tr>
      <tr><td>链接管理</td><td>/urls/batch-upsert</td><td>批量生成分发短链</td></tr>
      <tr><td>数据管理</td><td>/data-records/all</td><td>查看并导出受害者信息</td></tr>
      <tr><td>访问统计</td><td>/urls/visits</td><td>追踪哪个链接骗了多少人</td></tr>
      <tr><td>跳转设置</td><td>/redirect-settings</td><td>配置&#8221;正在处理中&#8221;话术</td></tr>
      <tr><td>广告管理</td><td>/advertisements</td><td>管理引流渠道</td></tr>
      <tr><td>IP 黑名单</td><td>/ip-blacklist</td><td>封禁安全人员/执法 IP</td></tr>
    </tbody>
  </table>
  <p>最硬核的证据，是后台内置的一套<strong>话术指令库</strong>——23 条指挥受害者的话术，每条一个编号：</p>
  <blockquote>获取短信 / 支付密码错误 / 验证码错误 / 银行卡错误 / <strong>余额低于 5000·3000·2000</strong> / 取 4 位短信 / 换中建邮浦光民银行 / <strong>风险存入 2000·3000·5000</strong> / 更换工行·中行 / 跳转页面……</blockquote>
  <p>配合后台收集的字段——<strong>账号、登录密码、短信验证码、手机号、支付密码、IP、地理位置、信用卡卡号 + 有效期、银行、姓名</strong>——完整作案手法浮出水面：</p>
  <ol>
    <li>受害者点链接，填卡号、身份证、姓名</li>
    <li>数据通过 WebSocket <strong>实时推送到</strong>骗子后台</li>
    <li>骗子看卡里余额（&#8221;余额低于 X&#8221;），挑对应话术</li>
    <li>谎称&#8221;风控&#8221;&#8221;保证金&#8221;，诱导往卡里存钱（&#8221;风险存入 2000/3000/5000&#8243;）</li>
    <li>套走短信验证码 + 支付密码 → 盗刷/转走资金</li>
  </ol>

  <h2>四、真实话术样本：群内实拍</h2>
  <p>这套系统的话术库不是纸面上的，它每天都在往真实微信群里投。下面这条，就是同事群里实拍到的原话：</p>
  <blockquote>@所有人 关于〔2026年度〕补贴通知：<br>
  根据国家财政局&#8221;人力资源和社会保障部&#8221;要求关于落实用于补助缓解经济下行个人消费等综合补贴正常发放<br>
  依据《国家劳动法管理条例》一次性发放补贴2735元申领办法如下：<br>
  进入官网提交申办流程：https://fpz.hyzt88.cyou/0Rqbvc<br>
  （部分地区需将主页链接复制到手机浏览器登记申领）<br>
  注：昨天领过的同事请忽略。未领取人员请立即提交登记，逾期将视为放弃申领！</blockquote>
  <p>链接还是那个 <code>/0Rqbvc</code>，一个字没变，只是把诱饵金额换成了 2735 元。这段话术的破绽，几乎每一句都是：</p>
  <table>
    <thead><tr><th>原文</th><th>破绽</th></tr></thead>
    <tbody>
      <tr><td>&#8220;国家财政局&#8221;</td><td>机构不存在，国家财政主管部门是&#8221;财政部&#8221;</td></tr>
      <tr><td>《国家劳动法管理条例》</td><td>法律不存在，只有《中华人民共和国劳动法》</td></tr>
      <tr><td>&#8220;复制到手机浏览器登记&#8221;</td><td>规避微信内置浏览器的钓鱼拦截</td></tr>
      <tr><td>&#8220;昨天领过的同事请忽略&#8221;</td><td>制造&#8221;已经有人领了&#8221;的从众心理</td></tr>
      <tr><td>&#8220;逾期将视为放弃申领&#8221;</td><td>制造紧迫感，催你立刻点</td></tr>
      <tr><td>@所有人</td><td>伪装群公告，蹭权威感</td></tr>
    </tbody>
  </table>
  <p><strong>记住这个模式</strong>：金额会变（900、2735……）、剧本会变（财政/学生/育儿补贴），但&#8221;陌生短链 + 要填银行卡 + 制造紧迫感&#8221;的骨架永远不变。</p>

  <h2>五、这是一条黑产产业链</h2>
  <p>整套系统的本质，是一个<strong>加盟式诈骗 SaaS</strong>：</p>
  <pre><code>顶层团伙开发平台（het88.top）
        ↓ 招商
二级代理按天付费买账号（1~365 天）
        ↓ 批量生成链接分发
剧本随便切：财政补贴 / 学生补贴 / 育儿补贴
        ↓
受害者填卡 + 身份证 + 支付密码
        ↓ 数据实时进中控
话术库指挥 + 诱导"风险存入"
        ↓
盗刷资金 → 按比例分成</code></pre>
  <p>顶层只卖工具，下面一堆代理各自作案，骗到钱再分成。这就是为什么封一个链接没用——他们能瞬间换域名、换剧本。</p>

  <h2>六、技术架构拆解</h2>
  <p>从代码层面看，这套系统是标准的&#8221;多租户 SaaS + 动态表单 + 实时推送&#8221;：</p>
  <ol>
    <li><strong>分发引流层</strong>：短链 + 随机短码，批量撒</li>
    <li><strong>受害端表单</strong>：Vue3 + Element Plus 动态表单，字段由后端下发</li>
    <li><strong>数据 API</strong>：REST + token 鉴权</li>
    <li><strong>数据存储</strong>：卡号/身份证/支付密码/验证码</li>
    <li><strong>实时推送</strong>：WebSocket 秒级同步到后台</li>
    <li><strong>中控后台</strong>：代理账号/剧本/话术库/统计导出</li>
    <li><strong>反侦察层</strong>：IP 黑名单 + 域名轮换</li>
  </ol>

  <h2>七、怎么防？（重点）</h2>
  <div class="warn">
    <strong>凡索要&#8221;支付密码&#8221;&#8221;短信验证码&#8221;的补贴/退款页面 = 100% 诈骗。</strong><br>
    正规政务补贴从不要你输支付密码。
  </div>
  <ol>
    <li><strong>&#8220;余额低于 X&#8221;&#8221;风险存入 X 元&#8221;是骗子专用话术</strong>，见到就挂断/关闭。</li>
    <li><strong>陌生短链 + 廉价后缀（.cyou/.top/.xyz）+ 随机短码 = 高危</strong>，别好奇点。</li>
    <li><strong>别记域名黑名单，记行为特征</strong>。这类站换域名比拉黑快，靠&#8221;要密码/验证码&#8221;识别最靠谱。</li>
    <li>企业侧：给员工做防诈培训，尤其是财务、行政岗位（他们最容易接触&#8221;补贴&#8221;&#8221;退款&#8221;类诈骗）。</li>
  </ol>

  <h2>八、结语</h2>
  <p>这篇文章里出现的域名、IP、话术，都是公开的威胁情报（IoC）。写出来的目的只有一个——让更多人认出这类骗局。</p>
  <p>如果你也收到类似链接：</p>
  <ul>
    <li>不点、不填、不转发</li>
    <li>举报：国家反诈中心 App / 96110 / 12321.cn</li>
    <li>已经填过的：立即冻结银行卡 + 报警</li>
  </ul>
  <p>安全研究的意义，从来不是炫技，而是让下一个受害者不再出现。</p>
</article>
</div>
</body>
</html>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/daokerto1296.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[docker]使用甲骨文云ARM搭建ServerStatus服务端</title>
		<link>https://daoker.cc/jhjto1084.html</link>
					<comments>https://daoker.cc/jhjto1084.html#comments</comments>
		
		<dc:creator><![CDATA[小编]]></dc:creator>
		<pubDate>Mon, 27 Mar 2023 12:19:35 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[搞机]]></category>
		<category><![CDATA[玩docker]]></category>
		<category><![CDATA[玩机]]></category>
		<category><![CDATA[甲骨文云]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=1084</guid>

					<description><![CDATA[很喜欢ServerStatus大概是因为它有三网延迟监控，所有我基本都是哪吒探针和ServerStatus一起 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">很喜欢ServerStatus大概是因为它有三网延迟监控，所有我基本都是哪吒探针和ServerStatus一起用，我的ServerStatus是部署在一台pacificrack的服务器上，前阵子他的IP被防火墙墙了，换Ip又太贵，更惨的是过了一台，挂了科学上网也连不上这台服务器，pacificrack官网也打不开，有人说疑似pacificrack要跑路了（我写文章时已经断断续续的恢复），于是决定把它迁移到我稍微有点空闲的甲骨文ARM服务器上，使用GitHub上的docker容器，发觉报错，看来是没有适配ARM啊(2024-11-12更新，最新版已经适配ARM版docker)，于是就只好编译安装，然后把web端挂载到docker里面。</p>



<div class="wp-block-argon-github github-info-card card shadow-sm github-info-card-full" data-author="cppla" data-project="ServerStatus"><div class="github-info-card-header"><a href="https://github.com/" target="_blank" title="Github" rel="noopener"><span><i class="fa fa-github"></i> GitHub</span></a></div><div class="github-info-card-body"><div class="github-info-card-name-a"><a href="https://github.com/cppla/ServerStatus" target="_blank" rel="noopener"><span class="github-info-card-name">cppla/ServerStatus</span></a></div><div class="github-info-card-description"></div></div><div class="github-info-card-bottom"><span class="github-info-card-meta github-info-card-meta-stars"><i class="fa fa-star"></i> <span class="github-info-card-stars"></span></span><span class="github-info-card-meta github-info-card-meta-forks"><i class="fa fa-code-fork"></i> <span class="github-info-card-forks"></span></span></div></div>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="390" src="https://daoker.cc/wp-content/uploads/2023/03/image-17-1024x390.png" alt="" class="wp-image-1085" srcset="https://daoker.cc/wp-content/uploads/2023/03/image-17-1024x390.png 1024w, https://daoker.cc/wp-content/uploads/2023/03/image-17-300x114.png 300w, https://daoker.cc/wp-content/uploads/2023/03/image-17-768x293.png 768w, https://daoker.cc/wp-content/uploads/2023/03/image-17.png 1288w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">2.下载GitHub上的ServerStatus并解压；</p>



<p class="wp-block-paragraph">3.进入解压后的ServerStatus的web目录，创建提供http文件服务的容器</p>



<pre class="wp-block-code"><code>docker run -dit --name my-apache-app -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4</code></pre>



<p class="wp-block-paragraph">4.进入解压后的ServerStatus的server目录</p>



<p class="wp-block-paragraph">安装编译环境</p>



<pre class="wp-block-code"><code>apt-get -y install gcc g++ make libcurl4-openssl-dev</code></pre>



<p class="wp-block-paragraph">编译</p>



<pre class="wp-block-code"><code>make</code></pre>



<p class="wp-block-paragraph">5.把旧服务器上的配置文件覆盖新的配置文件</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1023" height="83" src="https://daoker.cc/wp-content/uploads/2023/03/image-19.png" alt="" class="wp-image-1087" srcset="https://daoker.cc/wp-content/uploads/2023/03/image-19.png 1023w, https://daoker.cc/wp-content/uploads/2023/03/image-19-300x24.png 300w, https://daoker.cc/wp-content/uploads/2023/03/image-19-768x62.png 768w" sizes="(max-width: 1023px) 100vw, 1023px" /></figure>



<p class="wp-block-paragraph">执行下列命令启动程序并挂载在后台，也可以加入开机启动，在本博客有讲到，我这里就先不设置了</p>



<pre class="wp-block-code"><code>nohup ./sergate 2&gt;1 &amp;
</code></pre>



<p class="wp-block-paragraph">6.使用ip加端口访问，发觉可以正常收到服务器信息，我这里只改了一台阿里云的服务器，所有只接收到一台的信息，其他客户端可以依次下载GitHub的ServerStatus并设置即可，这里主要关注服务端</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="447" src="https://daoker.cc/wp-content/uploads/2023/03/image-20-1024x447.png" alt="" class="wp-image-1088" srcset="https://daoker.cc/wp-content/uploads/2023/03/image-20-1024x447.png 1024w, https://daoker.cc/wp-content/uploads/2023/03/image-20-300x131.png 300w, https://daoker.cc/wp-content/uploads/2023/03/image-20-768x335.png 768w, https://daoker.cc/wp-content/uploads/2023/03/image-20.png 1435w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">2026/05/01<br>工作后就太忙了，好久没有更新了，今天继续维护下，发觉还增加了很多功能嘛</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="445" src="https://daoker.cc/wp-content/uploads/2023/03/image-21-1024x445.png" alt="" class="wp-image-1292" srcset="https://daoker.cc/wp-content/uploads/2023/03/image-21-1024x445.png 1024w, https://daoker.cc/wp-content/uploads/2023/03/image-21-300x130.png 300w, https://daoker.cc/wp-content/uploads/2023/03/image-21-768x334.png 768w, https://daoker.cc/wp-content/uploads/2023/03/image-21-1536x667.png 1536w, https://daoker.cc/wp-content/uploads/2023/03/image-21.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/jhjto1084.html/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>黑裙-飞牛OS后hyperbackup的替代品duplicati</title>
		<link>https://daoker.cc/daokerto1278.html</link>
					<comments>https://daoker.cc/daokerto1278.html#comments</comments>
		
		<dc:creator><![CDATA[博主]]></dc:creator>
		<pubDate>Sun, 16 Feb 2025 04:22:10 +0000</pubDate>
				<category><![CDATA[NAS]]></category>
		<category><![CDATA[搞机]]></category>
		<category><![CDATA[玩docker]]></category>
		<category><![CDATA[玩机]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=1278</guid>

					<description><![CDATA[飞牛OS在去年横空出世，网上都是铺天盖地的称赞，但是作者认为新出的系统肯定功能还不够完善，出于数据安全的考虑一 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">飞牛OS在去年横空出世，网上都是铺天盖地的称赞，但是作者认为新出的系统肯定功能还不够完善，出于数据安全的考虑一直选择观望。在春节期间，有点小闲暇时光，将我的工控机使用QNAS4的机箱进行改造后，在我的PVE上新开一个虚拟机部署了一个，使用后发觉挺不错的，确实挺符合国人使用习惯，于是开始进行数据迁移，迁移结束后为了数据安全开始设置备份。此时发现飞牛自带的备份十分简单，不支持加密，不支持多版本备份，这十分不利于数据安全，和群辉上的hyperbackup比起来弱爆了，于是各种寻找替代项目，期间一度开始后悔，想重新用回黑群晖，直到看到了<a href="https://www.lllyyb.com/archives/U0NOY8Sr">解锁 Duplicati：备份与恢复的终极指南</a>这篇文章，感想大佬！</p>



<p class="wp-block-paragraph">参考文章：</p>



<p class="wp-block-paragraph"><a href="https://docs.linuxserver.io/images/docker-duplicati/#application-setup">https://docs.linuxserver.io/images/docker-duplicati/#application-setup</a></p>



<p class="wp-block-paragraph"><a href="https://www.lllyyb.com/archives/U0NOY8Sr">https://www.lllyyb.com/archives/U0NOY8Sr</a></p>



<p class="wp-block-paragraph">多的不说，直接上docker，适度修改后直接用。</p>



<pre class="wp-block-code"><code>---
services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - SETTINGS_ENCRYPTION_KEY=
      - CLI_ARGS= #optional
      - DUPLICATI__WEBSERVICE_PASSWORD= #optional
    volumes:
      - /path/to/duplicati/config:/config
      - /path/to/backups:/backups
      - /path/to/source:/source
    ports:
      - 8200:8200
    restart: unless-stopped</code></pre>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><code>SETTINGS_ENCRYPTION_KEY=</code></td><td>设置数据库的加密密钥。至少 8 个字符，字母数字。</td></tr><tr><td><code>CLI_ARGS=</code></td><td>（可选）指定要用于启动应用程序的任何<a href="https://duplicati.readthedocs.io/en/latest/07-other-command-line-utilities/">CLI 变量</a></td></tr><tr><td><code>DUPLICATI__WEBSERVICE_PASSWORD=</code></td><td>WebUI 的密码。如果未设置，则默认为，<code>changeme</code>并可从 WebUI 设置中更改。</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    environment:
      - TZ=Asia/Shanghai
      - CLI_ARGS= #optional
      - PUID=0
      - PGID=0
    volumes:
      - /vol3/1000/安装的软件/duplicati/appdata/config:/config
      - /vol3/1000/安装的软件/duplicati/backups:/backups
      - /vol3/1000/安装的软件/duplicati/source:/source
      - type: bind
        source: /vol2/1000/Photos
        target: /Photos
        read_only: true
    ports:
      - 8200:8200
    restart: unless-stopped</code></pre>



<p class="wp-block-paragraph">其它设置嘛看着文字有手就行，就懒得记录了。</p>



<p class="wp-block-paragraph">现在终于可以放心删除黑群晖了，后面考虑不套pve了，直接裸机部署飞牛OS</p>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/daokerto1278.html/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>使用IPv6+DDNS-GO+CloudFlare随时随地访问家中nas黑群晖（已弃用改用lucky）</title>
		<link>https://daoker.cc/daokerto1198.html</link>
					<comments>https://daoker.cc/daokerto1198.html#comments</comments>
		
		<dc:creator><![CDATA[博主]]></dc:creator>
		<pubDate>Tue, 26 Dec 2023 14:11:18 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[搞机]]></category>
		<category><![CDATA[玩docker]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=1198</guid>

					<description><![CDATA[2025年2月16日更新：已弃用DDNS-GO，直接部署一个lucky，好用易用 之前我是使用的zerotie [&#8230;]]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">2025年2月16日更新：已弃用DDNS-GO，直接部署一个lucky，好用易用</p>
</blockquote>



<p class="wp-block-paragraph">之前我是使用的zerotier搭建虚拟局域网的方案，每次使用都要打开客户端，并且速度还受到限制，非常的不方便。最近买了新华三的NX30pro路由器，并且桥接了运营商送的光猫，发现能分配到正确的IPv6,并且在路由器中把防火墙关闭后能直接从互联网访问我的黑群晖，于是有了给他安排一个DDNS动态域名解析服务的想法。</p>



<h2 class="wp-block-heading">黑群晖安装DDNS-GO</h2>



<p class="wp-block-paragraph">这里有人选择从套件中心安装DDns-GO套件的方法，由于作者更前向于使用docker,因此采用群辉中的docker进行部署，在群晖的docker界面中拉取如下所示的映像并创建容器，创建容器时记得开启自动重启和改网络类型为host模式(bridge模式会比较麻烦，后面出文章讲解)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="999" height="108" src="https://daoker.cc/wp-content/uploads/2024/02/image.png" alt="" class="wp-image-1202" srcset="https://daoker.cc/wp-content/uploads/2024/02/image.png 999w, https://daoker.cc/wp-content/uploads/2024/02/image-300x32.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-768x83.png 768w" sizes="auto, (max-width: 999px) 100vw, 999px" /></figure>



<h2 class="wp-block-heading">CloudFlare相关设置</h2>



<p class="wp-block-paragraph">参考这篇文章：<a href="https://baijiahao.baidu.com/s?id=1736704192493242126&amp;wfr=spider&amp;for=pc" target="_blank" rel="noreferrer noopener">利用DDNS-GO更新cloudflare域名！</a></p>



<h2 class="wp-block-heading">DDNS-GO的web管理界面设置</h2>



<ol class="wp-block-list">
<li class="has-medium-font-size">输入群晖IP:9876进入DDNS-GO的web管理界面</li>



<li class="has-medium-font-size">DNS服务商选择CF</li>



<li class="has-medium-font-size">Token就是我们的AIP令牌地址：</li>



<li class="has-medium-font-size">我们没有公网IPv4所以选择不启用，只启用IPv6</li>



<li class="has-medium-font-size">域名就是我们要解析的域名：</li>



<li class="has-medium-font-size">建议添加禁止公网访问以保证安全，否则就整个复杂点的密码</li>



<li class="has-medium-font-size">添加完毕后点保存，然后测试下有没有生效！</li>
</ol>



<h2 class="wp-block-heading">lucky</h2>



<p class="wp-block-paragraph">2024年2月20日</p>



<p class="wp-block-paragraph">最新发现使用lucky比DNS-go更简单且支持ipv4流量转发到ipv6流量，其集成了DDNS、域名解析、端口转发、反向代理、证书申请、内网穿透等功能。</p>



<p class="wp-block-paragraph">2024年2月21日</p>



<p class="wp-block-paragraph">在云服务器端，其实只要服务器开启了ipv6支持，宝塔面板的反代也可以把ipv4流量转发到ipv6流量</p>



<h2 class="wp-block-heading">Debian10开启动态ipv6支持</h2>



<pre class="wp-block-code"><code>vim /etc/network/interfaces
</code></pre>



<p class="wp-block-paragraph">在最下面加入 iface ens192 inet6 dhcp，其中ens192 是网卡名称，可以通过ifconfig命令查看，最后重启服务器即可</p>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/daokerto1198.html/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>【NAS使用记录】Pho+PhotoPrism+Alist+CloudSync自建属于自己的相册系统(已弃用)</title>
		<link>https://daoker.cc/daokerto1210.html</link>
					<comments>https://daoker.cc/daokerto1210.html#comments</comments>
		
		<dc:creator><![CDATA[博主]]></dc:creator>
		<pubDate>Tue, 06 Feb 2024 16:37:41 +0000</pubDate>
				<category><![CDATA[NAS]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=1210</guid>

					<description><![CDATA[2025年2月16日更新：已经弃用这个方案，最新方案为MtPhotos+hyperbackups(群辉）/du [&#8230;]]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">2025年2月16日更新：已经弃用这个方案，最新方案为MtPhotos+hyperbackups(群辉）/duplicati（飞牛OS通过docker部署）+aliyun_webdav</p>
</blockquote>



<h2 class="wp-block-heading">Pho</h2>



<p class="wp-block-paragraph">Pho无需部署服务端，支持安卓和IOS系统，目的是替代手机上的自带相册应用,并且能够将照片同步到网络储存。功能简单，只是用于查看照片以及同步照片到网络储存，试图做到优秀的体验。</p>



<div class="wp-block-argon-github github-info-card card shadow-sm github-info-card-full" data-author="https://github.com/fregie" data-project="pho"><div class="github-info-card-header"><a href="https://github.com/" target="_blank" title="Github" rel="noopener"><span><i class="fa fa-github"></i> GitHub</span></a></div><div class="github-info-card-body"><div class="github-info-card-name-a"><a href="https://github.com/https://github.com/fregie/pho" target="_blank" rel="noopener"><span class="github-info-card-name">https://github.com/fregie/pho</span></a></div><div class="github-info-card-description"></div></div><div class="github-info-card-bottom"><span class="github-info-card-meta github-info-card-meta-stars"><i class="fa fa-star"></i> <span class="github-info-card-stars"></span></span><span class="github-info-card-meta github-info-card-meta-forks"><i class="fa fa-code-fork"></i> <span class="github-info-card-forks"></span></span></div></div>



<p class="wp-block-paragraph">软件在云存储端采用目录按照年月日分级的方式进行区分照片，对于以前备份在云端或电脑上的不符合Pho存储规则的照片，Github项目的<a href="https://github.com/fregie/pho/issues/41">issue</a>区有人制作了linux下的脚本来整理照片，但是亲测使用下来依赖太多，太过繁琐，作者想到了在PC端使用安卓模拟器的办法轻松解决。</p>



<h2 class="wp-block-heading">PhotoPrism</h2>



<h3 class="wp-block-heading">PhotoPrism部署</h3>



<p class="wp-block-paragraph">在群晖的docker中下载PhotoPrism的镜像文件（小星星最多那个），然后双击创建容器，设定自动重启，指定本机的端口</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="848" height="406" src="https://daoker.cc/wp-content/uploads/2024/02/image-1.png" alt="" class="wp-image-1213" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-1.png 848w, https://daoker.cc/wp-content/uploads/2024/02/image-1-300x144.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-1-768x368.png 768w" sizes="auto, (max-width: 848px) 100vw, 848px" /></figure>



<p class="wp-block-paragraph">提前在NAS上建立起给photoprism使用的目录，并把这些目录映射给photoprism的Docker。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="866" height="169" src="https://daoker.cc/wp-content/uploads/2024/02/image-2.png" alt="" class="wp-image-1214" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-2.png 866w, https://daoker.cc/wp-content/uploads/2024/02/image-2-300x59.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-2-768x150.png 768w" sizes="auto, (max-width: 866px) 100vw, 866px" /></figure>



<p class="wp-block-paragraph">环境变量里，需要根据photoprism的建议，增加登陆密码设置，默认用户名admin，密码设置为password以便安装部署，具体为添加参数“PHOTOPRISM_ADMIN_PASSWORD”，变量为&#8221;password&#8221;。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="850" height="465" src="https://daoker.cc/wp-content/uploads/2024/02/image-3.png" alt="" class="wp-image-1215" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-3.png 850w, https://daoker.cc/wp-content/uploads/2024/02/image-3-300x164.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-3-768x420.png 768w" sizes="auto, (max-width: 850px) 100vw, 850px" /></figure>



<p class="wp-block-paragraph">“PHOTOPRISM_SITE_AUTHOR”、“PHOTOPRISM_DATABASE_USER”、”PHOTOPRISM_DATABASE_PASSWORD” 这三个环境变量参数设置为&#8221;photoprism&#8221;</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="860" height="624" src="https://daoker.cc/wp-content/uploads/2024/02/image-4.png" alt="" class="wp-image-1216" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-4.png 860w, https://daoker.cc/wp-content/uploads/2024/02/image-4-300x218.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-4-768x557.png 768w" sizes="auto, (max-width: 860px) 100vw, 860px" /></figure>



<h3 class="wp-block-heading">PhotoPrism使用</h3>



<ul class="wp-block-list">
<li>浏览器打开http://:2342，就可以看到photoprism的初始登陆界面，用户名admin密码password（前面初始参数设置好的）</li>



<li>进入界面，在设置里GENERAL里找到语言，设置为中文，界面就变成中文界面。</li>
</ul>



<p class="wp-block-paragraph">登录后在 资料库&#8211;索引 里选择合适的文件夹，将照片索引信息更新进photoprism里就可以使用photoprism对照片进行管理了。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="462" src="https://daoker.cc/wp-content/uploads/2024/02/image-5-1024x462.png" alt="" class="wp-image-1217" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-5-1024x462.png 1024w, https://daoker.cc/wp-content/uploads/2024/02/image-5-300x135.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-5-768x346.png 768w, https://daoker.cc/wp-content/uploads/2024/02/image-5-1536x693.png 1536w, https://daoker.cc/wp-content/uploads/2024/02/image-5.png 1869w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">公网IPv6访问PhotoPrism</h3>



<p class="wp-block-paragraph">由于本人前面通过桥接光猫，路由器拨号，使得DDNS-GO等一切操作使得我的NAS能够支持域名访问，详见<a href="https://daoker.cc/daokerto1198.html" target="_blank" rel="noreferrer noopener">使用IPv6+DDNS-GO+CloudFlare随时随地访问家中nas黑群晖</a></p>



<p class="wp-block-paragraph">由于前面创建容器时使用的是bridge网络模式，docker中的IPv6默认是禁用的，网上查找到了诸多方法介绍：</p>



<p class="wp-block-paragraph">1.更改docker配置文件，启用bridge模式下的IPv6，这个docker官网有教程（但是我的改了没有生效，并且看有的网友改了后docker不太稳定）</p>



<p class="wp-block-paragraph">2.新建一个虚拟网卡macvlan，然后设定ipv4，ipv6的信息，我试了下也没有成功（这个可以通过ssh命令也可以通过群辉的web端应用程序，关键在于各种参数的确定）</p>



<p class="wp-block-paragraph">3.使用端口转发将 【IPv6:端口】 转发到【群辉的IPv4:容器的端口】，这个据说通过群辉自带的NGINX 可以实现，但是俺试了通过我的openwrt的防火墙来设置转发，但是也只能把OP的ipv4:端口转发到群辉的容器内，IPv6仍然不正常，有教程是使用socat这个插件的，本人没有尝试（<a href="https://blog.csdn.net/LawssssCat/article/details/104443072" target="_blank" rel="noreferrer noopener">https://blog.csdn.net/LawssssCat/article/details/104443072</a>）</p>



<p class="wp-block-paragraph">4. 删除容器重建，选择host模式，但是想到过程中要设置目录环境变量等，俺没有轻举妄动。</p>



<p class="wp-block-paragraph">5.本人发现可以在群晖docker的管理界面中导出容器的设置，然后导入后可以生成一个一个相同的容器，观察了导出的配置文件，发觉其中果真还有网络模式的信息，做如下修改后导入然后重新生成一个容器（这之前最好停止原理的那个容器，以免端口冲突），网络模式成功改为host，相比之下比4中的直接删除再重建方便得多，最后删除原理的容器即可。</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="727" src="https://daoker.cc/wp-content/uploads/2024/02/image-6-1024x727.png" alt="" class="wp-image-1221" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-6-1024x727.png 1024w, https://daoker.cc/wp-content/uploads/2024/02/image-6-300x213.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-6-768x545.png 768w, https://daoker.cc/wp-content/uploads/2024/02/image-6.png 1234w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="855" src="https://daoker.cc/wp-content/uploads/2024/02/image-7-1024x855.png" alt="" class="wp-image-1222" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-7-1024x855.png 1024w, https://daoker.cc/wp-content/uploads/2024/02/image-7-300x250.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-7-768x641.png 768w, https://daoker.cc/wp-content/uploads/2024/02/image-7.png 1029w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>
</div>



<p class="wp-block-paragraph">具体代码如下，其它容器也可以如法炮制</p>



<pre class="wp-block-code"><code>   "network" : &#91;
      {
         "driver" : "host",
         "name" : "host"
      }
   ],
   "network_mode" : "host",
   "port_bindings" : &#91;],
   "privileged" : false,
   "shortcut" : {
      "enable_shortcut" : false
   },
   "use_host_network" : true,</code></pre>



<h2 class="wp-block-heading">Alist挂载阿里云盘Webdav</h2>



<p class="wp-block-paragraph">在之前的这篇文章中有讲述<a href="https://daoker.cc/daokerto127.html">在甲骨文云ARM服务器上架设阿里云盘webdav并挂载到各个终端</a>，这里不再重复。</p>



<h2 class="wp-block-heading">使用cloud sync进行双向备份同步</h2>



<p class="wp-block-paragraph">由于照片等存储在NAS本地，可能会由于硬盘损坏等原因造成丢失，因此设置NAS中的照片和阿里云盘进行双向同步备份是很有必要的，但是考虑到可能会有部分内容被和谐或者为了信息的安全，因此我使用了cloud sync的加密功能，但是在设置密码后显示密钥上传出错，按照这个网友的办法得到成功解决</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="154" src="https://daoker.cc/wp-content/uploads/2024/02/image-8-1024x154.png" alt="" class="wp-image-1223" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-8-1024x154.png 1024w, https://daoker.cc/wp-content/uploads/2024/02/image-8-300x45.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-8-768x116.png 768w, https://daoker.cc/wp-content/uploads/2024/02/image-8.png 1195w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/daokerto1210.html/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>【Docker】atmoz/sftp权限报错remote readdir(&#8220;/sftp&#8221;): Permission denied解决</title>
		<link>https://daoker.cc/daokerto1270.html</link>
					<comments>https://daoker.cc/daokerto1270.html#respond</comments>
		
		<dc:creator><![CDATA[博主]]></dc:creator>
		<pubDate>Mon, 10 Feb 2025 12:37:10 +0000</pubDate>
				<category><![CDATA[NAS]]></category>
		<category><![CDATA[玩docker]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=1270</guid>

					<description><![CDATA[最近从黑群晖换到了飞牛OS，由于飞牛目前不支持sftp，因此只能用docker镜像atmoz/sftp部署容器 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">最近从黑群晖换到了飞牛OS，由于飞牛目前不支持sftp，因此只能用docker镜像atmoz/sftp部署容器来解决，部署命令如下：</p>



<pre class="wp-block-code"><code>sudo docker run \
 -d \
 --name atmoz-sftp-server \
 --restart=unless-stopped \
 --privileged=true \
 -p 2222:22 \
 -v /data/docker/atmoz/upload:/home/foo/sftp \
 atmoz/sftp foo:pass:1001
</code></pre>



<p class="wp-block-paragraph">其中的挂载目录，端口，用户名密码登根据自己个人情况设定，注意用户名foo和容器内目录foo要对应。</p>



<p class="wp-block-paragraph">部署成功后，使用sftp命令连接（sftp -P 2222 foo@atmoz-sftp-server-ip）上会报错remote readdir(&#8220;/sftp&#8221;): Permission denied，alist挂载后页面也会报错failed <a href="https://so.csdn.net/so/search?q=get&amp;spm=1001.2101.3001.7020" target="_blank" rel="noreferrer noopener">get</a> objs: failed to list objs: open /volume2/disk1: permission denied</p>



<p class="wp-block-paragraph">解决办法：</p>



<p class="wp-block-paragraph">使用bin/bash进入容器内部，进入到相关目录，然后执行下列命令，把foo加入root用户组</p>



<pre class="wp-block-code"><code> chown -R foo:root /sftp</code></pre>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/daokerto1270.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>自建docker镜像加速服务</title>
		<link>https://daoker.cc/jhjto1264.html</link>
					<comments>https://daoker.cc/jhjto1264.html#respond</comments>
		
		<dc:creator><![CDATA[小编]]></dc:creator>
		<pubDate>Sat, 21 Dec 2024 03:33:18 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[NAS]]></category>
		<category><![CDATA[搞机]]></category>
		<category><![CDATA[玩docker]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=1264</guid>

					<description><![CDATA[在上一个文章部署股票神器instock过程中，虽然作者提供了打包好的镜像文件，但是不想使用，想自己拉取。但是又 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">在<a href="https://daoker.cc/jhjto1261.html">上一个文章部署股票神器instock</a>过程中，虽然作者提供了打包好的镜像文件，但是不想使用，想自己拉取。但是又想起之前自己群辉的docker套件中的注册表功能基本用不了，每次都是自己通过命令行的方式拉取镜像，这需要提前把网关改到旁路由且拉取十分的不稳定。虽然也有别人搭建的镜像加速服务可以使用（诸如<a href="https://dockerpull.org/">https://dockerpull.org/</a>），但是考虑到安全性，还是决定自己搭建。</p>



<h2 class="wp-block-heading">服务搭建</h2>



<div class="wp-block-argon-github github-info-card card shadow-sm github-info-card-full" data-author="dqzboy" data-project="Docker-Proxy"><div class="github-info-card-header"><a href="https://github.com/" target="_blank" title="Github" rel="noopener"><span><i class="fa fa-github"></i> GitHub</span></a></div><div class="github-info-card-body"><div class="github-info-card-name-a"><a href="https://github.com/dqzboy/Docker-Proxy" target="_blank" rel="noopener"><span class="github-info-card-name">dqzboy/Docker-Proxy</span></a></div><div class="github-info-card-description"></div></div><div class="github-info-card-bottom"><span class="github-info-card-meta github-info-card-meta-stars"><i class="fa fa-star"></i> <span class="github-info-card-stars"></span></span><span class="github-info-card-meta github-info-card-meta-forks"><i class="fa fa-code-fork"></i> <span class="github-info-card-forks"></span></span></div></div>



<p class="wp-block-paragraph">作者这里选择在云服务上自己搭建，虽然也有用CF的work搭建的方法（<a href="https://www.znnu.com/28.html">利用Cloudflare Workers搭建Docker镜像加速服务</a>）.</p>



<p class="wp-block-paragraph">1.下载<a href="https://github.com/dqzboy/Docker-Proxy/tree/main/config">config</a>目录下对应的<code>yml</code>文件到云服务器上。我这里只需要<strong><em>docker-hub.yml</em></strong>，也可直接新建文件插入以下代码</p>



<pre class="wp-block-code"><code>version: 0.1
log:
  fields:
    service: registry
storage:
  filesystem:
    rootdirectory: /var/lib/registry
  #inmemory: #此存储驱动程序不会在运行期间保留任何数据,适合磁盘空间下的机器使用(但是会使用内存开销,只适合测试)
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory   
    blobdescriptorsize: 10000
  maintenance:
    uploadpurging:
      enabled: true
      age: 168h
      interval: 24h
      dryrun: false
    readonly:
      enabled: false
http:
  addr: :5000
  headers:
    X-Content-Type-Options: &#091;nosniff]
    Access-Control-Allow-Origin: &#091;'*']
    Access-Control-Allow-Methods: &#091;'HEAD', 'GET', 'OPTIONS', 'DELETE']
    Access-Control-Allow-Headers: &#091;'Authorization', 'Accept', 'Cache-Control']
    Access-Control-Max-Age: &#091;1728000]
    Access-Control-Allow-Credentials: &#091;true]
    Access-Control-Expose-Headers: &#091;'Docker-Content-Digest']

health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

proxy:
  remoteurl: https://registry-1.docker.io
  username: 
  password:
  ttl: 168h  </code></pre>



<p class="wp-block-paragraph">2.docker-compose.yaml文件编辑</p>



<pre class="wp-block-code"><code>version: '3'
services:
  ## docker hub
  dockerhub:
    container_name: reg-docker-hub
    image: dqzboy/registry:latest
    restart: always
    environment:
      - OTEL_TRACES_EXPORTER=none
      # 如果需要配置代理，请把下面的注释去掉，并配置你的代理地址
      #- http_proxy=http://host:port
      #- https_proxy=http://host:port
    volumes:
      #这里需要注意registry-hub.yml文件的具体路径
      - /docker/docker-proxy/registry/data:/var/lib/registry
      - /docker/docker-proxy/registry-hub.yml:/etc/distribution/config.yml
      #- ./htpasswd:/auth/htpasswd
    ports:
      - 51000:5000
    networks:
      - registry-net
  ## UI
  registry-ui:
    container_name: registry-ui
    image: dqzboy/docker-registry-ui:latest
    environment:
      # UI所关联的REGISTRY容器服务地址,这里我是后来才更改的，原来是ip:端口的模式
      - DOCKER_REGISTRY_URL=https://hub.daoker.cc
      # &#091;必须]使用 openssl rand -hex 16 生成唯一值
      - SECRET_KEY_BASE=9f18244a1e1179fa5aa4a06a335d01b2
      # 启用Image TAG 的删除按钮
      - ENABLE_DELETE_IMAGES=true
      - NO_SSL_VERIFICATION=true
    restart: always
    ports:
      - 50000:8080
    networks:
      - registry-net
 
networks:
  registry-net:</code></pre>



<p class="wp-block-paragraph">3.在NPM里将域名反代至相关端口</p>



<p class="wp-block-paragraph">可视化页面：<a href="http://ui.daoker.cc">ui.daoker.cc</a></p>



<p class="wp-block-paragraph">加速地址：<a href="http://hub.daoker.cc">hub.daoker.cc</a></p>



<p class="wp-block-paragraph">使用方法docker pull hub.daoker.cc/library/nginx:latest</p>



<p class="wp-block-paragraph">library必须有，github上有省略的办法，但是在npm的规则编辑里没有成功，先凑合用。</p>



<h2 class="wp-block-heading">所遇问题及解决方案</h2>



<p class="wp-block-paragraph">1.添加hub.daoker.cc/library至黑群晖docker中的注册表加速地址后，导致docker套件直接无法使用</p>



<p class="wp-block-paragraph">（1）查看日志文件/var/log/upstart/pkg-Docker-dockerd.log</p>



<p class="wp-block-paragraph">发现是我改的加速地址惹得锅。在docker服务要启动sock的时候，因为无法加载json配置文件失败，json文件有错</p>



<p class="wp-block-paragraph">（2）编辑配置文件/var/packages/Docker/etc/dockerd.json</p>



<p class="wp-block-paragraph">删除registry-mirrors的值，如下所示，只保留[]</p>



<pre class="wp-block-code"><code>{
"data-root" : "/var/packages/Docker/target/docker",
"log-driver" : "db",
"registry-mirrors" : &#091;]
}</code></pre>



<p class="wp-block-paragraph">（3）到套件中心启动docker，成功搞定</p>



<p class="wp-block-paragraph">2.在黑群辉上使用自建的加速地址拉取镜像，返回x509: certificate signed by unknown authority，其它系统环境上并没有此问题</p>



<p class="wp-block-paragraph"> 真正的解决方案是更新系统的ca证书，从letsencrypt.org网站中获取证书更新到系统中</p>



<pre class="wp-block-code"><code>sudo -i &amp;&amp; cp /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.ORIG &amp;&amp; curl -k "https://letsencrypt.org/certs/isrgrootx1.pem" &gt;&gt; /etc/ssl/certs/ca-certificates.crt &amp;&amp; reboot
</code></pre>



<p class="wp-block-paragraph">3.找资料时发现的小tips，留着以后备用</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">（3）&nbsp; &nbsp; docker的容器镜像如何迁移到其他设备？<br>解答：<br>群晖的docker管理界面里，容器-设置-导出-可以选择导出内容和设置，以及只导出设置。导出后是一个txz文件，例如transmission挂了几百个种，想迁移设备咋办？如果不拔盘整个迁移的话，可以用这个功能导出容器，在其他设备docker直接导入即可。（注意data目录、config目录要重新配置）<br>（4）&nbsp; &nbsp; 重点干货来了，如果我手贱卸了docker，例如我这次为了定位，卸载、重装了docker几十次（当然卸载时没勾选干掉容器镜像和数据），且没做提前做容器导出备份（docker都启动不了，导出个毛啊），此时我怎么恢复docker数据？<br>解答：<br>首先，在你原来docker的存储空间位置装上docker，此时注意存储空间下会有2个目录，如果你都被挪，自然就好了。如果要无界面备份的话，我再说说这两个目录作用：<br>目录1：存储空间下@docker目录<br>你有多少个容器，容器的文件、docker本身的配置，各类数据都在这里面，卸载时这个目录不会被清空，所以安装后就回来了。如果在docker无法启动时要备份docker数据，第一就是备份这个目录，今后在其他地方安装后，把这个目录的东西盖回去。<br>目录2：存储空间下docker目录</p>



<p class="wp-block-paragraph">这是一个共享文件夹，各容器的config、data目录都在这下面，备份并盖回去。当然，如果没挪位置，重装后自然就好了。</p>
</blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/jhjto1264.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【NAS折腾记录】部署Home Assistant、开启sftp、部署股票神器「instock」</title>
		<link>https://daoker.cc/jhjto1261.html</link>
					<comments>https://daoker.cc/jhjto1261.html#comments</comments>
		
		<dc:creator><![CDATA[小编]]></dc:creator>
		<pubDate>Sat, 21 Dec 2024 02:31:45 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[NAS]]></category>
		<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[搞机]]></category>
		<category><![CDATA[玩docker]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=1261</guid>

					<description><![CDATA[各个过程仅供参考，环境不一样所以操作也不完全相同。时间过了很久了，平时上班当牛马太累，具体步骤懒得写。 部署H [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">各个过程仅供参考，环境不一样所以操作也不完全相同。时间过了很久了，平时上班当牛马太累，具体步骤懒得写。</p>



<h2 class="wp-block-heading">部署Home Assistant</h2>



<p class="wp-block-paragraph"><a href="https://baijiahao.baidu.com/s?id=1798296446321396265&amp;wfr=spider&amp;for=pc">openwrt服务器部署Home Assistant，实现智能家居控制</a></p>



<p class="wp-block-paragraph"><a href="https://blog.csdn.net/weixin_42878111/article/details/136042375">如何在HA智能家居系统中添加HACS集成并实现异地控制家中苹果与小米设备</a></p>



<h2 class="wp-block-heading">开启SFTP</h2>



<p class="wp-block-paragraph"><a href="https://blog.csdn.net/mr_zql/article/details/108035812">群辉搭建FTP服务</a></p>



<h2 class="wp-block-heading">股票神器「instock」</h2>



<p class="wp-block-paragraph"><a href="https://post.smzdm.com/p/apm93dlw/?zdm_ss=Android_7600663162_&amp;send_by=7600663162&amp;from=singlemessage&amp;invite_code=zdmacngw8minv">NAS也能炒股赚钱！大数据下的股票神器「instock」极空间部署教程</a></p>



<div class="wp-block-argon-github github-info-card card shadow-sm github-info-card-full" data-author="myhhub" data-project="stock"><div class="github-info-card-header"><a href="https://github.com/" target="_blank" title="Github" rel="noopener"><span><i class="fa fa-github"></i> GitHub</span></a></div><div class="github-info-card-body"><div class="github-info-card-name-a"><a href="https://github.com/myhhub/stock" target="_blank" rel="noopener"><span class="github-info-card-name">myhhub/stock</span></a></div><div class="github-info-card-description"></div></div><div class="github-info-card-bottom"><span class="github-info-card-meta github-info-card-meta-stars"><i class="fa fa-star"></i> <span class="github-info-card-stars"></span></span><span class="github-info-card-meta github-info-card-meta-forks"><i class="fa fa-code-fork"></i> <span class="github-info-card-forks"></span></span></div></div>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/jhjto1261.html/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>docker 搭建 MTP/socks5——让Telegram永远在线</title>
		<link>https://daoker.cc/daokerto299.html</link>
					<comments>https://daoker.cc/daokerto299.html#respond</comments>
		
		<dc:creator><![CDATA[博主]]></dc:creator>
		<pubDate>Sat, 03 Sep 2022 13:47:09 +0000</pubDate>
				<category><![CDATA[玩docker]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=299</guid>

					<description><![CDATA[MTP 普通MTP 先运行应该容器： 查看日志获取到 secret 把上面生成的容器删除，然后把secret参 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">MTP</h2>



<h3 class="wp-block-heading">普通MTP</h3>



<p class="wp-block-paragraph">先运行应该容器：</p>



<pre class="wp-block-code"><code>docker run -d -p 4437:443 --name=mtproto-proxy --restart=always -v proxy-config:/data telegrammessenger/proxy:latest</code></pre>



<p class="wp-block-paragraph">查看日志获取到 secret</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="641" height="126" src="http://daoker.cc/wp-content/uploads/2022/09/image-2.png" alt="" class="wp-image-301" srcset="https://daoker.cc/wp-content/uploads/2022/09/image-2.png 641w, https://daoker.cc/wp-content/uploads/2022/09/image-2-300x59.png 300w" sizes="auto, (max-width: 641px) 100vw, 641px" /></figure>



<p class="wp-block-paragraph">把上面生成的容器删除，然后把secret参数加入到新的容器启动中：</p>



<p class="wp-block-paragraph">docker run -d -p 4437:443 &#8211;name=mtproto-proxy &#8211;restart=always -v proxy-config:/data -e SECRET=&lt;secret> telegrammessenger/proxy:latest</p>



<h3 class="wp-block-heading">带白名单的MTP</h3>



<div class="wp-block-argon-github github-info-card card shadow-sm github-info-card-full" data-author="xb0or" data-project="nginx-mtproxy"><div class="github-info-card-header"><a href="https://github.com/" target="_blank" title="Github" rel="noopener"><span><i class="fa fa-github"></i> GitHub</span></a></div><div class="github-info-card-body"><div class="github-info-card-name-a"><a href="https://github.com/xb0or/nginx-mtproxy" target="_blank" rel="noopener"><span class="github-info-card-name">xb0or/nginx-mtproxy</span></a></div><div class="github-info-card-description"></div></div><div class="github-info-card-bottom"><span class="github-info-card-meta github-info-card-meta-stars"><i class="fa fa-star"></i> <span class="github-info-card-stars"></span></span><span class="github-info-card-meta github-info-card-meta-forks"><i class="fa fa-code-fork"></i> <span class="github-info-card-forks"></span></span></div></div>



<pre class="wp-block-code"><code>bash &lt;(curl -sSL "https://raw.githubusercontent.com/xb0or/nginx-mtproxy/main/mtp.sh")</code></pre>



<h2 class="wp-block-heading">socks5</h2>



<p class="wp-block-paragraph">用socks5也挺方便的，一行代码即可配置：</p>



<pre class="wp-block-code"><code>docker run --name s5 -d --restart=always -p 1111:1111 -e "USERS=user1:pass1,user2:pass2" egregors/socks5-server</code></pre>



<p class="wp-block-paragraph">上面的不支持ARM,或者用下面的</p>



<pre class="wp-block-code"><code>version: '3'
services:
  socks5:
    image: justsky/socks5
    container_name: socks5
    ports:
      - '1080:1080'
    environment:
      - PROXY_USER=&lt;PROXY_USER&gt;           # Optional
      - PROXY_PASSWORD=&lt;PROXY_PASSWORD&gt;   # Optional</code></pre>



<p class="wp-block-paragraph">在portainer中删除容器时，一定要现在services中删除相关服务，否则会无限重建容器</p>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/daokerto299.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>搞机常用命令</title>
		<link>https://daoker.cc/daokerto342.html</link>
					<comments>https://daoker.cc/daokerto342.html#respond</comments>
		
		<dc:creator><![CDATA[博主]]></dc:creator>
		<pubDate>Thu, 08 Sep 2022 03:23:25 +0000</pubDate>
				<category><![CDATA[搞机]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[玩docker]]></category>
		<category><![CDATA[私服]]></category>
		<guid isPermaLink="false">https://daoker.cc/?p=342</guid>

					<description><![CDATA[日常玩机过程中不断积累的常用命令 宝塔纯净版 来源网站： https://www.hostcli.com/ c [&#8230;]]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"></p>
<cite>日常玩机过程中不断积累的常用命令</cite></blockquote>



<h2 class="wp-block-heading">宝塔纯净版</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">来源网站：</p>
<cite><a href="https://www.hostcli.com/" target="_blank" rel="noreferrer noopener">https://www.hostcli.com/</a></cite></blockquote>



<p class="wp-block-paragraph">centos</p>



<pre class="wp-block-code"><code>yum install -y wget &amp;&amp; wget -O install.sh http://v7.hostcli.com/install/install_6.0.sh &amp;&amp; sh install.sh</code></pre>



<p class="wp-block-paragraph">ubuntu/debian</p>



<pre class="wp-block-code"><code>wget -O install.sh http://v7.hostcli.com/install/install-ubuntu_6.0.sh &amp;&amp; bash install.sh</code></pre>



<h2 class="wp-block-heading">Docker</h2>



<pre class="wp-block-code"><code>sudo apt update
sudo apt upgrade 
sudo apt install docker
sudo apt install docker-compose
#创建daoker_net网桥
docker network create daoker_net
</code></pre>



<h3 class="wp-block-heading">docker开启ipv6支持</h3>



<pre class="wp-block-code"><code>cat &gt; /etc/docker/daemon.json &lt;&lt; EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF
</code></pre>



<h3 class="wp-block-heading">portainer</h3>



<p class="wp-block-paragraph"><a href="https://docs.portainer.io/start/install/server/docker/linux">https://docs.portainer.io/start/install/server/docker/linux</a></p>



<pre class="wp-block-code"><code>docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always --privileged=true -v /var/run/docker.sock:/var/run/docker.sock -v /docker/portainer_data:/data portainer/portainer-ce:latest
</code></pre>



<p class="wp-block-paragraph">portainer管理面板： <a href="https://ip:9443">https://ip:9443</a></p>



<h3 class="wp-block-heading"><a href="https://nginxproxymanager.com/guide/#quick-setup"><strong>Nginx Proxy Manager</strong></a> </h3>



<p class="wp-block-paragraph">貌似也有本地版的，但是对于arm不兼容，docker版的ARM和x86都可用，docker-compose 构建：</p>



<p class="wp-block-paragraph">管理后台:  <a href=" http://ip:81"> http://ip:81</a></p>



<p class="wp-block-paragraph">Default Admin User:   </p>



<ul class="wp-block-list">
<li>Email: admin@example.com</li>



<li> Password: changeme</li>
</ul>



<pre class="wp-block-code"><code>version: '2'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: ""
      DB_MYSQL_PORT: 
      DB_MYSQL_USER: ""
      DB_MYSQL_PASSWORD: ""
      DB_MYSQL_NAME: ""
    volumes:
      - /docker/npm/data:/data
      - /docker/npm/letsencrypt:/etc/letsencrypt
  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: ''
      MYSQL_DATABASE: ''
      MYSQL_USER: ''
      MYSQL_PASSWORD: ''
    volumes:
      - /docker/npm/data/mysql:/var/lib/mysql
networks:
  default:
    name: daoker_net
    external: true</code></pre>



<h3 class="wp-block-heading">WordPress</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"></p>
<cite>NPM中已经安装了mysql,这里也可以把其中的mysql的部分删除</cite></blockquote>



<pre class="wp-block-code"><code>version: "3"
services:
   mysql:
     image: mysql
     ports:
       - "31306:3306"
     networks:
       - persist    
     environment:
       - "MYSQL_ROOT_PASSWORD="
       - "MYSQL_PASSWORD="
       - "MYSQL_USER="
       - "MYSQL_DATABASE="
   wordpress:
     image: wordpress
     ports:
       - "9001:80"
     networks:
       - persist    
     environment:
       - "WORDPRESS_DB_NAME="
       - "WORDPRESS_DB_USER="
       - "WORDPRESS_DB_PASSWORD="
       - "WORDPRESS_DB_HOST="
networks:
  persist:
    external:
      name: daoker_net</code></pre>



<h3 class="wp-block-heading">Alist</h3>



<div class="wp-block-argon-github github-info-card card shadow-sm github-info-card-full" data-author="alist-org" data-project="alist"><div class="github-info-card-header"><a href="https://github.com/" target="_blank" title="Github" rel="noopener"><span><i class="fa fa-github"></i> GitHub</span></a></div><div class="github-info-card-body"><div class="github-info-card-name-a"><a href="https://github.com/alist-org/alist" target="_blank" rel="noopener"><span class="github-info-card-name">alist-org/alist</span></a></div><div class="github-info-card-description"></div></div><div class="github-info-card-bottom"><span class="github-info-card-meta github-info-card-meta-stars"><i class="fa fa-star"></i> <span class="github-info-card-stars"></span></span><span class="github-info-card-meta github-info-card-meta-forks"><i class="fa fa-code-fork"></i> <span class="github-info-card-forks"></span></span></div></div>



<p class="wp-block-paragraph">安装时正好遇到作者更新了最新版，结果发觉bug很多，所以手动安装了上一个版本</p>



<pre class="wp-block-code"><code>docker run -d --restart=always -v /docker/alist:/opt/alist/data  -p 5244:5244 --name="alist" xhofe/alist:v2.6.4</code></pre>



<p class="wp-block-paragraph">nginx反代信息：</p>



<pre class="wp-block-code"><code>location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Range $http_range;
	  proxy_set_header If-Range $http_if_range;
    proxy_redirect off;
    proxy_pass http://alist:5244;
    # the max size of file to upload
    client_max_body_size 20000m;
}
</code></pre>



<p class="wp-block-paragraph">初始密码请查看日志输出：</p>



<pre class="wp-block-code"><code>docker logs alist<br><em># 或者</em><br>docker exec -it alist ./alist -password</code></pre>



<p class="wp-block-paragraph">
<span style="color: red;">温馨提示：</span>此处内容仅管理员可见！
</p>



<h3 class="wp-block-heading">x-ui</h3>



<div class="wp-block-argon-github github-info-card card shadow-sm github-info-card-full" data-author="vaxilu" data-project="x-ui"><div class="github-info-card-header"><a href="https://github.com/" target="_blank" title="Github" rel="noopener"><span><i class="fa fa-github"></i> GitHub</span></a></div><div class="github-info-card-body"><div class="github-info-card-name-a"><a href="https://github.com/vaxilu/x-ui" target="_blank" rel="noopener"><span class="github-info-card-name">vaxilu/x-ui</span></a></div><div class="github-info-card-description"></div></div><div class="github-info-card-bottom"><span class="github-info-card-meta github-info-card-meta-stars"><i class="fa fa-star"></i> <span class="github-info-card-stars"></span></span><span class="github-info-card-meta github-info-card-meta-forks"><i class="fa fa-code-fork"></i> <span class="github-info-card-forks"></span></span></div></div>



<h4 class="wp-block-heading">docker版</h4>



<p class="wp-block-paragraph">编译：</p>



<p class="wp-block-paragraph">首先从GitHub git clone下来，然后进入到文件夹里docker bulid，最后到要安装的目录里docker run</p>



<pre class="wp-block-code"><code>git clone https://github.com/vaxilu/x-ui.git
cd x-ui
docker build -t x-ui .
#建立的镜像名为x-ui
mkdir -p /docker/x-ui &amp;&amp; cd /docker/x-ui
docker run -itd --network=host \
    -v /docker/x-ui/db/:/etc/x-ui/ \
    -v /docker/x-ui/cert/:/root/cert/ \
    --name x-ui --restart=unless-stopped \
    x-ui

docker run -itd --network daoker_net -p 666:54321 58253:58253 -v /docker/x-ui/db/:/etc/x-ui/ -v /docker/x-ui/cert/:/root/cert/ --name x-ui --restart=unlessstopped x-ui</code></pre>



<p class="wp-block-paragraph">默认用户名、密码：admin</p>



<h4 class="wp-block-heading">一键安装带tg提醒版</h4>



<div class="wp-block-argon-github github-info-card card shadow-sm github-info-card-full" data-author="FranzKafkaYu" data-project="x-ui"><div class="github-info-card-header"><a href="https://github.com/" target="_blank" title="Github" rel="noopener"><span><i class="fa fa-github"></i> GitHub</span></a></div><div class="github-info-card-body"><div class="github-info-card-name-a"><a href="https://github.com/FranzKafkaYu/x-ui" target="_blank" rel="noopener"><span class="github-info-card-name">FranzKafkaYu/x-ui</span></a></div><div class="github-info-card-description"></div></div><div class="github-info-card-bottom"><span class="github-info-card-meta github-info-card-meta-stars"><i class="fa fa-star"></i> <span class="github-info-card-stars"></span></span><span class="github-info-card-meta github-info-card-meta-forks"><i class="fa fa-code-fork"></i> <span class="github-info-card-forks"></span></span></div></div>



<pre class="wp-block-code"><code>bash &lt;(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)</code></pre>



<h3 class="wp-block-heading">speedtest</h3>



<p class="wp-block-paragraph">支持ARM和x86</p>



<pre class="wp-block-code"><code>docker run -d --name=speedtest-x --restart=always -p 12345:80 stilleshan/speedtest-x</code></pre>



<h3 class="wp-block-heading">青龙面板</h3>



<pre class="wp-block-code"><code>docker run -dit \
  -v docker/ql/data:/ql/data \
  -p 5700:5700 \
  --name qinglong \
  --hostname qinglong \
  --restart unless-stopped \
  whyour/qinglong:latest</code></pre>



<pre class="wp-block-code"><code>docker run -dit \
-v $pwd/ql/config:/ql/config \
-v $pwd/ql/log:/ql/log \
-v $pwd/ql/db:/ql/db \
-v $pwd/ql/scripts:/ql/scripts \
-v $pwd/ql/jbot:/ql/jbot \
-p 5700:5700 \
-e ENABLE_HANGUP=true \
-e ENABLE_WEB_PANEL=true \
--name qinglong \
--hostname qinglong \
--restart always \
whyour/qinglong:latest</code></pre>



<h3 class="wp-block-heading">远程ubuntu桌面</h3>



<pre class="wp-block-code"><code>docker run -d -p 6080:80 -v /docker/ubuntudesktop:/workspace:rw -e HTTP_PASSWORD=415408807 -e RESOLUTION=1280x720 --name ubuntu-novnc fredblgr/ubuntu-novnc:20.04
</code></pre>



<h3 class="wp-block-heading">远程chrome浏览器</h3>



<p class="wp-block-paragraph">访问远程局域网的神器</p>



<pre class="wp-block-code"><code>sudo docker run --rm -it --shm-size=512m -p 6901:6901 -e VNC_PW=password kasmweb/chrome:1.13.0</code></pre>



<figure class="wp-block-table"><table><tbody><tr><td>管理界面</td><td>https://IP:6901</td></tr><tr><td>用户名</td><td>kasm_user</td></tr><tr><td>密码</td><td>password</td></tr></tbody></table><figcaption class="wp-element-caption">这里的IP可以用zerotier进行内网穿透</figcaption></figure>



<h2 class="wp-block-heading">综合工具箱</h2>



<div class="wp-block-argon-github github-info-card card shadow-sm github-info-card-full" data-author="BlueSkyXN" data-project="SKY-BOX"><div class="github-info-card-header"><a href="https://github.com/" target="_blank" title="Github" rel="noopener"><span><i class="fa fa-github"></i> GitHub</span></a></div><div class="github-info-card-body"><div class="github-info-card-name-a"><a href="https://github.com/BlueSkyXN/SKY-BOX" target="_blank" rel="noopener"><span class="github-info-card-name">BlueSkyXN/SKY-BOX</span></a></div><div class="github-info-card-description"></div></div><div class="github-info-card-bottom"><span class="github-info-card-meta github-info-card-meta-stars"><i class="fa fa-star"></i> <span class="github-info-card-stars"></span></span><span class="github-info-card-meta github-info-card-meta-forks"><i class="fa fa-code-fork"></i> <span class="github-info-card-forks"></span></span></div></div>



<pre class="wp-block-code"><code>wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh &amp;&amp; chmod +x box.sh &amp;&amp; clear &amp;&amp; ./box.sh</code></pre>



<h2 class="wp-block-heading">重装</h2>



<p class="wp-block-paragraph">实测甲骨文ubuntu  -&gt; Debian 成功，Debian -&gt; ubuntu 失败</p>



<pre class="wp-block-code"><code>bash &lt;(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 11 -v 64 -p 123456 -port 22</code></pre>



<p class="wp-block-paragraph">系统参数</p>



<p class="wp-block-paragraph"><strong>-d 10&nbsp;&nbsp;</strong>【7、8、9、10，11】Debian</p>



<p class="wp-block-paragraph"><strong>-u 20.04 </strong>【14.04、16.04、18.04、20.04】Ubuntu</p>



<p class="wp-block-paragraph">密码参数，可以改成别的</p>



<p class="wp-block-paragraph"><strong>-p 12345</strong></p>



<p class="wp-block-paragraph">端口参数</p>



<p class="wp-block-paragraph">port&nbsp;<strong>22</strong></p>



<p class="wp-block-paragraph">BBRPLUS四合一脚本</p>



<pre class="wp-block-code"><code>wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" &amp;&amp; chmod +x tcp.sh &amp;&amp; ./tcp.sh</code></pre>



<h2 class="wp-block-heading">命令行代理</h2>



<p class="wp-block-paragraph"><a href="https://zhuanlan.zhihu.com/p/166375631">https://zhuanlan.zhihu.com/p/166375631</a></p>



<h2 class="wp-block-heading">笔记</h2>



<h3 class="wp-block-heading">哪吒面板相关</h3>



<p class="wp-block-paragraph">准备迁移服务器时才发现，我哪吒面板是搭建在国外洛杉矶的服务器上，但是哪吒面板的域名指向的是国内的阿里云的服务器，然后反代到洛杉矶的服务器上，我也想不起来当初为啥要这么做了。</p>



<p class="wp-block-paragraph">阿里云服务器上npm里的设置：</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="223" src="https://daoker.cc/wp-content/uploads/2024/02/image-9-1024x223.png" alt="" class="wp-image-1233" style="width:848px;height:auto" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-9-1024x223.png 1024w, https://daoker.cc/wp-content/uploads/2024/02/image-9-300x65.png 300w, https://daoker.cc/wp-content/uploads/2024/02/image-9-768x167.png 768w, https://daoker.cc/wp-content/uploads/2024/02/image-9.png 1295w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="528" height="511" src="https://daoker.cc/wp-content/uploads/2024/02/image-10.png" alt="" class="wp-image-1234" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-10.png 528w, https://daoker.cc/wp-content/uploads/2024/02/image-10-300x290.png 300w" sizes="auto, (max-width: 528px) 100vw, 528px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="498" height="374" src="https://daoker.cc/wp-content/uploads/2024/02/image-11.png" alt="" class="wp-image-1235" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-11.png 498w, https://daoker.cc/wp-content/uploads/2024/02/image-11-300x225.png 300w" sizes="auto, (max-width: 498px) 100vw, 498px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="512" height="675" src="https://daoker.cc/wp-content/uploads/2024/02/image-12.png" alt="" class="wp-image-1236" srcset="https://daoker.cc/wp-content/uploads/2024/02/image-12.png 512w, https://daoker.cc/wp-content/uploads/2024/02/image-12-228x300.png 228w" sizes="auto, (max-width: 512px) 100vw, 512px" /></figure>



<pre class="wp-block-code"><code>#PROXY-START/
location / {
    proxy_pass http://204.44.94.242:8008;
    proxy_set_header Host $http_host;
    proxy_set_header      Upgrade $http_upgrade;
}
location ~ ^/(ws|terminal/.+)$  {
    proxy_pass http://204.44.94.242:8008;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $http_host;
}
#PROXY-END/</code></pre>



<h3 class="wp-block-heading">debian开机自动挂载目录</h3>



<p class="wp-block-paragraph">1.查看uuid</p>



<pre class="wp-block-code"><code>blkid</code></pre>



<p class="wp-block-paragraph">2.配置开机自动挂载</p>



<pre class="wp-block-code"><code>sudo vim /etc/fstab</code></pre>



<p class="wp-block-paragraph">跟着原有的在末尾填入挂载信息</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="805" height="445" src="http://daoker.cc/wp-content/uploads/2022/11/image-20.png" alt="" class="wp-image-676" srcset="https://daoker.cc/wp-content/uploads/2022/11/image-20.png 805w, https://daoker.cc/wp-content/uploads/2022/11/image-20-300x166.png 300w, https://daoker.cc/wp-content/uploads/2022/11/image-20-768x425.png 768w" sizes="auto, (max-width: 805px) 100vw, 805px" /></figure>



<p class="wp-block-paragraph">第一个参数是磁盘uuid，第二个参数是挂载在哪里，第三个参数是磁盘格式，第四个参数是默认，第五个参数是是否备份，0不备份，1或2备份，第六个参数是是否检查磁盘，1表示检查</p>



<p class="wp-block-paragraph">3.验证挂载是否成功，无输出就是成功</p>



<pre class="wp-block-code"><code>mount -a</code></pre>



<h3 class="wp-block-heading">ubuntu相关</h3>



<p class="wp-block-paragraph">1.查看cpu当前频率</p>



<pre class="wp-block-code"><code> <code>cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq</code> </code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">2.合上盖子不挂起</p>



<p class="wp-block-paragraph">把/etc/systemd/logind.conf中的#HandleLidSwitch=suspend改成ingnroe,然后使用services systemd-logind restart重启服务</p>
]]></content:encoded>
					
					<wfw:commentRss>https://daoker.cc/daokerto342.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
