找到
6
篇与
网络技巧
相关的结果
-
📺 TVBox看直播很卡,点播加载错误。教你利用GitHub自建接口,流畅看4K~! 摘要:使用 TVBox 的朋友可能经常遇到痛点:网上找的接口没几天就失效了,或者是直播源卡顿、画质差。与其到处求人找源,不如自己动手丰衣足食! 今天 赛博61区 教大家一套“一劳永逸”的方案:利用 GitHub 免费托管核心文件,并配合 GitHub Actions 每天定时自动抓取大佬维护的直播源。一次配置,永久自动更新,从此实现“看电视自由”! 一、 为什么我们要自建? 首先你要理解 TVBox 的运行原理,原版 TVBox 是一个空壳,什么都看不了。想要让它跑起来,需要三个东西配合: APP 本体:就像一台没有频道的电视机,需要外部内容才能显示。APP 本体是整个 TVBox 的框架,就像电视机的硬件结构,负责启动、显示界面、以及与用户交互等基本功能,但它本身并不包含任何实际的节目内容。 Jar 文件:这就像是电视的“节目源”或“频道”。每个频道都包含不同的节目内容。Jar 文件是 APP 中的主要代码和资源包,它定义了 TVBox 的功能,像是播放视频、处理互动等。它就像是通过电视机接收到的各种节目,它的内容由程序员提前设计好。 JSON 文件:这是类似电视节目的"节目单"。JSON 文件存储了关于频道(功能)和节目的信息,比如频道的名称、类型、要播放的内容等。TVBox 会根据这些信息来加载和显示对应的内容。就像电视的频道调度表,JSON 文件提供了关于如何显示哪些内容、顺序等的详细配置。 我们要解决的问题: 网上的接口通常把 Jar 和 JSON 放在别人的服务器上。一旦大佬删库跑路,你的电视就“瘫痪”了。 我们的方案: 把 Jar 和 JSON 搬回我们自己的 GitHub 仓库里存着。只要 GitHub 不倒闭,你的电视就能一直看! 重点是永远不用向平台交会员费了。 二、 第一步:创建 GitHub“基地” 首先我们需要一个仓库来存放所有的文件。 登录 GitHub,没有帐号的,先注册一个帐号 2026-02-10_09-42-01.webp图片 点击右上角的 + 号,选择 New repository。 2026-02-10_09-45-15.webp图片 Repository name:输入 CyberTV (或者你喜欢的名字)。 Public:一定要选公开,否则电视读取不到。 勾选 Add a README file,点击 Create。 2026-02-10_09-47-45.webp图片 三、 第二步:托管核心文件 这是保证点播功能(看电影电视剧)稳定的关键。 获取核心 Jar 包 为了兼容性,我们使用目前最稳的“饭太硬”同款核心。 已同步到我的GitHub,请放心下载 上传到仓库 在仓库页面点击 Add file -> Upload files。 2026-02-10_09-52-05.webp图片 选择刚下载的文件 2026-02-10_09-57-51.webp图片 2026-02-10_10-17-36.webp图片 上传进度完成后点击提交 (Commit)。 2026-02-10_09-58-41.webp图片 (建议:可以建一个 jar 文件夹存放,显得更整洁) 2026-02-10_09-59-41.webp图片 编写配置文件 (config.json) 在仓库点击 Add file -> Create new file。 2026-02-10_10-05-00.webp图片 新建一个 config.json 文件。 2026-02-10_10-09-33.webp图片 复制粘贴下列代码,用户名和仓库名改成自己的。 关键点:spider (爬虫) 的地址要指向我们刚才上传的 jar。为了防屏蔽和加速,我们使用 ghproxy 代理。 配置文件来自饭太硬 大佬,仅供参考。 { "spider": "https://ghproxy.net/https://raw.githubusercontent.com/你的用户名/你的仓库名/main/jar/fan.jar", "wallpaper": "https://深色壁纸.xxooo.cf/", "sites": [ { "key": "Douban", "name": "豆瓣热播 | 饭太硬核心", "type": 3, "api": "csp_DouDouGuard", "indexes": 1, "searchable": 0, "quickSearch": 0, "changeable": 0 }, { "key": "MDrive", "name": "🗂我的云盘➖配置", "type": 3, "api": "csp_MyDriveGuard", "changeable": 0, "indexes": 0, "searchable": 1, "style": { "type": "oval" }, "ext": { "Cloud-drive": "http://www.饭太硬.com/tv/tvfan/Cloud-drive.txt" } }, { "key": "Wogg", "name": "👺玩偶哥哥➖4K弹幕", "type": 3, "api": "csp_WoGGGuard", "timeout": 30, "searchable": 1, "quickSearch": 1, "changeable": 0, "ext": { "Cloud-drive": "http://www.饭太硬.com/tv/tvfan/Cloud-drive.txt", "from": "4k|auto" } }, { "key": "YGP", "name": "🚀预告药神➖预告片", "type": 3, "api": "csp_YGPGuard", "searchable": 0, "quickSearch": 0, "changeable": 0 }, { "key": "alllive", "name": "🎧一直播➖直播", "type": 3, "api": "csp_AllliveGuard", "searchable": 1, "quickSearch": 0, "changeable": 0, "ext": "uqGL1fpJNAUH7axYx5bf4OWuvyk=" }, { "key": "seed", "name": "🔜刚劲刚➖三盘", "type": 3, "api": "csp_SeedhubGuard", "ext": "5++kwLhNYm9UrO9wh7Dl7eKamTee4s/5", "searchable": 1, "quickSearch": 1, "changeable": 0, "indexes": 0, "style": { "type": "list" } }, { "key": "ZPan", "name": "🎬刚盘搜➖三盘", "type": 3, "api": "csp_S_zpsGuard", "searchable": 1, "quickSearch": 0, "changeable": 0, "ext": { "siteUrl": "https://api.jkai.de/" }, "indexes": 0, "style": { "type": "list" } }, { "key": "Libvio", "name": "🌃立播➖秒播", "type": 3, "api": "csp_LibvioGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1, "ext": { "Cloud-drive": "http://www.饭太硬.com/tv/tvfan/Cloud-drive.txt", "from": "4k|auto" } }, { "key": "T4", "name": "🧡太冻➖秒播", "type": 3, "api": "csp_T4Guard", "searchable": 1, "quickSearch": 1, "changeable": 0, "ext": "rfOIzPkSUkANv6AT2prC8en3+TzKx9TnlT8vaY37HhtYfAQe6C5xqrVuJPhQwYV6r3eRdMBGm3Qm6Th+BushR86B6KqJGXDsHazHw7alBG/7zUxkN1tK/NypRxnpBNoeUtpw4jcCCGhytI75yO4g4zG6SOPA0RSwhksM0IF2friAkrHCWoW3v+0mdw6sjz4t4XB1Df7yL/R5cfaA/5LQYq3I8OkvMrJMU9Q1P7JXwx7NSF2zTyH/ANVmZ4u5m567DW1KVG7OuQjXPjZiOXTYk0+wjpfBRTf19yIq6q/C76k2Fs80joAMPw0ueDR+QHxtuDcTom2rmHkI1Fonkzi6BotbpUcbSi4PiIgmfdbvVwhGZ+i4nvt+IYa48l5aLA7PLgDiERpuOs31aHaXlgFswT87XyTb8QaF4CuzKWJuXptwNTjvXAS9KHdxH49Ay+hfBAB2bCvUf4CMoldF2wZUv0mI2qY966erFpOFg+FOc7t88EUH8j8ACXQtHJiKC9RQ+SaLIF0=" }, { "key": "NewCz", "name": "💫厂长➖秒播", "type": 3, "api": "csp_NewCzGuard", "timeout": 10, "playerType": 2, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "LiteApple", "name": "🍎小苹果➖秒播", "type": 3, "api": "csp_LiteAppleGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "Jpys", "name": "🈺文才➖秒播", "type": 3, "api": "csp_JpysGuard", "timeout": 10, "playerType": 2, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "YCy", "name": "⚒原创➖秒播", "type": 3, "api": "csp_YCyzGuard", "timeout": 15, "playerType": 1, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "Bttwoo", "name": "🍄比特➖秒播", "type": 3, "api": "csp_BttwooGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "Jqq", "name": "🆙金圈➖多线", "type": 3, "api": "csp_JqqGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "AppTT", "name": "🔥热播➖多线", "type": 3, "api": "csp_AppTTGuard", "timeout": 10, "playerType": 2, "searchable": 1, "quickSearch": 1, "changeable": 1, "ext": "uqGL1bNENExT7/hGxpSE5qU=" }, { "key": "AppSx", "name": "🧿下饭➖多线", "type": 3, "api": "csp_AppSxGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1, "ext": "rfOX1voDIQhH8epBwpmIsuStr2HSytK11WwwcM/+XB8SbkBB4XYk/L52LroCiYRhoDrRLJ4ZkCh5q2RxCb5yUs6B5aCQVGSkR6zDgKLrFSDulg==" }, { "key": "AppSx_Maomao", "name": "😽猫猫➖多线", "type": 3, "api": "csp_AppSxGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1, "ext": "rfOX1voDIQhH8epBwtCFsub0/WmdmYi/k2NkJsm7Vk4dJQZft2UtrrwhKK52i/dDilKkU5Nz+V0bwkYsVuU=" }, { "key": "AppSx_HeiMu", "name": "🤑黑木➖多线", "type": 3, "api": "csp_AppSxGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1, "ext": "rfOX1voDIQhH8epBwtCFsra0umqGnpe+lWNtKs6yVR1PMxpf9CY77fshTPNP+c5lnl6CWfxm7XYO7C1p" }, { "key": "AppSx_Mozi", "name": "🍇末子➖多线", "type": 3, "api": "csp_AppSxGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1, "ext": "rfOb1uAWbkRHp7hdxprG9un3+TDC2t/rlTwlcMr+ChdbeV8Q9y9xsKxqfbtO0M05tGWcacFVm2c45jhyH6t1Rt6A6PjICGqxV+uN1uOqS2/x0Vp5J0Vfo8usQADpHg==" }, { "key": "Nmys", "name": "🤱糯米➖多线", "type": 3, "api": "csp_NmyswvGuard", "timeout": 15, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "Auete", "name": "🏝奥特➖多线", "type": 3, "api": "csp_AueteGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "JPJ", "name": "👬基片➖P2P", "type": 3, "api": "csp_JPJGuard", "timeout": 10, "playerType": 2, "searchable": 1, "quickSearch": 1, "changeable": 0 }, { "key": "SixV", "name": "🧶新6V➖磁力", "type": 3, "api": "csp_SixVGuard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 0, "ext": "https://www.xb6v.com/" }, { "key": "Dm84", "name": "🚌巴士➖动漫", "type": 3, "api": "csp_Dm84Guard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "Anime1", "name": "🐤日漫➖动漫", "type": 3, "api": "csp_Anime1Guard", "timeout": 10, "searchable": 1, "quickSearch": 1, "changeable": 1 }, { "key": "Zbz", "name": "⚽超全➖看球", "type": 3, "api": "csp_ZbzGuard", "searchable": 0, "quickSearch": 0, "changeable": 0, "style": { "type": "list" }, "ext": "uqGL1fpJNAUf8fdTwZCE5qSp+Q==" }, { "key": "88", "name": "⚽88➖看球", "type": 3, "api": "csp_Sir88Guard", "timeout": 10, "searchable": 0, "changeable": 0, "style": { "type": "list" } }, { "key": "Kanqiu", "name": "⚽手机➖看球", "type": 3, "api": "csp_KanqiuGuard", "timeout": 10, "searchable": 0, "changeable": 0, "style": { "type": "list" } }, { "key": "MTV1", "name": "🎧️听听➖音乐", "type": 3, "api": "csp_MusicGuard", "style": { "type": "rect", "ratio": 1 }, "searchable": 1, "quickSearch": 0, "changeable": 0 }, { "key": "MTV", "name": "🎹明星➖MV", "type": 3, "api": "csp_BiliGuard", "style": { "type": "rect", "ratio": 1.597 }, "searchable": 0, "quickSearch": 0, "changeable": 0, "ext": { "json": "https://nos.netease.com/ysf/5af5fbe12a88b7c45aa1c21e6551826c.txt" } }, { "key": "YiSo", "name": "😹易搜➖三盘", "type": 3, "api": "csp_YiSoGuard", "searchable": 1, "quickSearch": 1, "changeable": 0, "ext": { "Cloud-drive": "http://www.饭太硬.com/tv/tvfan/Cloud-drive.txt", "from": "4k|auto", "yiSoCookie": "satoken=4437cb8c-a260-411b-9a0d-1fa622ab422f" } }, { "key": "Bili", "name": "🅱哔哔合集➖弹幕", "type": 3, "api": "csp_BiliGuard", "style": { "type": "rect", "ratio": 1.597 }, "searchable": 1, "quickSearch": 0, "changeable": 0, "ext": { "json": "https://nos.netease.com/ysf/0075389dca9afadd4614e9713765ff17.txt" } }, { "key": "fan", "name": "导航 www.饭太硬.com", "type": 3, "api": "csp_XPathGuard", "searchable": 1, "quickSearch": 0, "changeable": 0 }, { "key": "cc", "name": "请勿相信视频中广告", "type": 3, "api": "csp_XPathGuard", "searchable": 1, "quickSearch": 0, "changeable": 0 } ], "logo": "https://bdcache1-f1.v3mh.com/image/25-12-16/6941612717007.gif", "lives": [ { "name": "写鸭", "type": 0, "url": "https://bc.188766.xyz/?ip=&mishitong=true&mima=mianfeibuhuaqian&json=true", "timeout": 10, "ua": "bingcha/1.1(mianfeifenxiang)" }, { "name": "develop202", "type": 0, "url": "https://raw.githubusercontent.com/develop202/migu_video/refs/heads/main/interface.txt", "playerType": 2, "epg": "http://epg.51ymt.top:8000/api/diyp/?ch={name}&date={date}" }, { "name": "IPv6", "type": 0, "url": "https://nos.netease.com/ysf/3d75a78a0fc7ede372c03598d6d10367.m3u", "playerType": 2 }, { "name": "虎牙一起看", "type": 0, "url": "https://sub.ottiptv.cc/huyayqk.m3u", "playerType": 2, "timeout": 10, "ua": "okHttp/Mod-1.4.0.0" }, { "name": "斗鱼一起看", "type": 0, "url": "https://sub.ottiptv.cc/douyuyqk.m3u", "playerType": 2, "timeout": 10, "ua": "okHttp/Mod-1.4.0.0" }, { "name": "B站直链", "type": 0, "url": "https://sub.ottiptv.cc/bililive.m3u", "playerType": 2, "timeout": 10, "ua": "okHttp/Mod-1.4.0.0" }, { "name": "YY轮播", "type": 0, "url": "https://sub.ottiptv.cc/yylunbo.m3u", "playerType": 2, "timeout": 10, "ua": "okHttp/Mod-1.4.0.0" } ] }四、 第三步:配置自动化机器人 🚀 这是本教程的灵魂。直播源失效快,我们通过GitHub Actions脚本每天自动抓取其他大佬维护的高清源,同步到自己仓库,避免手动更新的麻烦。 1. 开启仓库写入权限 默认情况下 Actions 不能修改文件,必须授权。 进入仓库 Settings -> 左侧 Actions -> General。 2026-02-10_10-12-24.webp图片 2026-02-10_10-14-17.webp图片 拉到最底部的 Workflow permissions。 勾选 Read and write permissions 并保存。 2026-02-10_10-15-22.webp图片 2. 创建自动工作流 新建一个 yml 文件。 文件名输入:.github/workflows/update.yml (注意路径一个字都不能错)。 2026-02-10_10-23-34.webp图片 填入以下代码: (注:可以将https://raw.githubusercontent.com/fanmingming/live/main/tv/m3u/ipv6.m3u改成你自己收集的直播源) name: 自动更新直播源 # 触发机制:每天北京时间早上 6:00 (UTC 22:00) 自动运行 on: schedule: - cron: '0 22 * * *' # 允许手动点按钮触发 workflow_dispatch: permissions: contents: write jobs: update: runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v3 - name: 创建目录 run: mkdir -p live - name: 下载最新直播源 (抓取范明明 IPv6 源) # 这里使用 wget 下载外部源,并重命名保存到 live 文件夹 run: | wget https://raw.githubusercontent.com/fanmingming/live/main/tv/m3u/ipv6.m3u -O live/my_live.m3u - name: 提交更改到仓库 run: | git config --local user.email "[email protected]" git config --local user.name "GitHub Actions" git add live/my_live.m3u # 如果文件有变化才提交 git commit -m "Auto update live source" || exit 0 git push3. 手动运行一次 保存后,点击仓库顶部的 Actions 标签。 2026-02-10_10-49-25.webp图片 左侧点击 自动更新直播源 2026-02-10_10-50-32.webp图片 右侧点击 Run workflow。 2026-02-10_10-50-55.webp图片 等待几十秒,当变成绿色 ✅,说明成功!你的仓库里会自动多出一个 live/my_live.m3u 文件。 2026-02-10_10-52-07.webp图片 2026-02-10_10-52-44.webp图片 五、 第四步:串联配置与上机 最后,我们要告诉 config.json 去读取这个自动更新的直播文件。 修改 config.json 2026-02-10_10-57-31.webp图片 找到 "lives" 部分,填入你的自动化源地址。用户名和仓库名改成自己的。 2026-02-10_10-58-47.webp图片 "lives": [ { "name": "🚀自动更新源", "type": 0, "url": "https://ghproxy.net/https://raw.githubusercontent.com/你的用户名/CyberTV/main/live/my_live.m3u", "playerType": 1 }, ](注:只需替换选中部分) 获取订阅链接 你的最终 TVBox 订阅链接为: https://ghproxy.net/https://raw.githubusercontent.com/你的用户名/CyberTV/main/config.json TVBox 设置 打开 TVBox -> 设置 -> 配置地址 -> 输入上面的链接 -> 确定。 2026-02-10_11-11-18.webp图片 加载资源 2026-02-10_11-10-44.webp图片 六、 避坑指南 & 总结 大小写敏感:GitHub 严格区分大小写,CyberTV 和 cybertv 是两个地址,填错会报错 404。 网络问题:TVBox 内尽量使用 ghproxy.net 或 cdn.jsdelivr.net 加速链接,不要直接用 raw.github...,否则国内很难连上。 关于账号风控:新注册的 GitHub 账号如果频繁运行 Actions 可能会被标记。如果遇到 Actions 被禁用,可以直接在 config.json 中引用咖啡伴侣大佬的原始链接作为备用方案。 通过这套方案,点播源的 Jar 包在自己手里(稳),直播源每天自动更新(新),堪称目前最完美的 TVBox 养老方案! 版权声明:本文由 赛博61区 原创发布,转载请注明出处。 -
🚀 访问自己的网站很卡,利用 CF 优选IP ,实现晚高峰秒开! 摘要:很多站长搭建好网站后,为了隐藏 VPS 真实 IP、防止被攻击,都会开启CF 代理(小黄云)。但随之而来的痛点是:安全了,但也变慢了。特别是到了晚高峰,网站经常转圈加载不出来。 究其原因,是 Cloudflare 分配给免费用户的默认 IP 段长期遭受 GFW 干扰、运营商限速以及被滥用。今天 赛博61区 手把手教大家一套方案:利用 SaaS 功能配合ClouDNS,把你的网站接入企业级优选线路,既保留了 CDN 的安全防护,又找回了国内直连般的速度! 一、 为什么要这么折腾? 我们之前的教程介绍了基础的 Cloudflare 使用,但在国内网络环境下,CF 的免费 IP 经常被针对,导致延迟高、丢包严重。 今天的方案逻辑如下: SaaS 宿主 ("大后方"):利用之前免费薅的 L53 域名 (6yong1.ggff.net),开启 SaaS 功能,负责回源到网站。 NS 委派 ("分流管理"):主域名 c61y.com 继续留在 Cloudflare,但把 www 子域名的解析权“外包”给 ClouDNS。 IP 优选 ("伪装加速"):在 ClouDNS 中,把 www 指向 csgo.com 的优选IP,实现极速访问。 方案优势: ✅ 速度快:蹭上了企业级优选线路。 ✅ 极度安全:ClouDNS 是国外商家,仅需邮箱注册,无实名认证,彻底切断溯源风险。 二、 准备工作 宿主域名:6yong1.ggff.net (已托管在 Cloudflare)。 主域名:c61y.com (已托管在 Cloudflare)。 DNS 服务商:ClouDNS 账号(找到免费DNS,点击免费注册)。 三、 第一步:配置“大后方” (SaaS 宿主) 首先配置闲置域名,让它充当“基地”。 设置回源 IP 登录 Cloudflare,进入 6yong1.ggff.net。 DNS -> Records -> 添加 A 记录: Name: blog Content: 你的 VPS 真实 IP Proxy status: 开启小黄云 (Proxied) ☁️🧡 Snipaste_2025-12-10_21-56-34.png图片 开启 SaaS 功能 SSL/TLS -> 自定义主机名。 点击 启用 Cloudflare SaaS。 添加回退源:填入 blog.6yong1.ggff.net。 等待状态变为 有效。 2026-01-27_11-55-49.webp图片 四、 第二步:配置“前台” (ClouDNS 接管 www) 我们需要在 ClouDNS 建立一个专区,用来管理 www.c61y.com。 创建区域 登录 ClouDNS。 点击 创建区域 (或 Add new DNS zone)。 Snipaste_2025-12-11_08-56-36.png图片 选择 主区域。 Snipaste_2025-12-11_08-57-47.png图片 域名: 填入 www.c61y.com (注意是子域名!)。 Snipaste_2025-12-11_09-05-58.png图片 点击 创建。 获取 NS 服务器 创建成功后,ClouDNS 会列出 4 个 Name Servers(例如 ns51.cloudns.net 等)。复制它们。 Snipaste_2025-12-11_09-16-01.png图片 在 Cloudflare 进行委派 回到 Cloudflare 的 c61y.com (主域名) DNS 页面。 删除 原本 www 的 A 或 CNAME 记录。 添加 NS 记录 (共4条): Name: www | Content: ns51.cloudns.net Snipaste_2025-12-11_09-16-40.png图片 (依次把 4 个都加进去) 五、 第三步:SaaS 验证 (打通关节) 现在 www 归 ClouDNS 管了,我们需要让 Cloudflare 认可它。 回到宿主 6yong1.ggff.net 的 SaaS 页面。 添加主机域名 -> 填入 www.c61y.com。 Snipaste_2025-12-11_09-22-32.png图片 获取两个 TXT 验证代码。 Snipaste_2025-12-11_09-23-41.png图片 *(注:我之前已经添加过证书,这里只有一条)*。 在 ClouDNS 添加验证: 回到 ClouDNS 的 www.c61y.com 管理页。 点击 添加新记录 -> Type: TXT。 Snipaste_2025-12-11_09-51-33.png图片 把那两条 TXT 记录加进去。 (注:主机 填 _cf-custom-hostname 即可,不用填全名)。 等待 Cloudflare 那边变绿 (Active)。 Snipaste_2025-12-11_09-46-01.png图片 六、 第四步:添加优选 🚀 你可以去 ITDOG 测一下速,找到一个延迟最小IP Snipaste_2025-12-11_10-58-40.png图片 Snipaste_2025-12-11_10-59-16.png图片 这是最关键的一步!我们要指向 csgo.com的优选IP。 由于 www.c61y.com 在 ClouDNS 里是作为“根域名”存在的,标准的 DNS 协议不允许直接 CNAME。只能用 A 记录。 在 ClouDNS 点击 添加新记录。 类型: 选择 A (在下拉菜单里找)。 主机: 留空 (代表 @)。 指向到: 填入 108.162.198.71。 TTL: 建议 1 Hour。 点击 保存。 Snipaste_2025-12-11_12-52-34.png图片 为什么是 csgo.com? 这是 Cloudflare 的企业级客户,拥有极佳的全球路由策略,它的IP本身就是经过优选的。我们使用 csgo.com 的优选 IP 并返回给用户,从而实现加速。 七、 效果验证 配置完成后,当用户访问 https://www.c61y.com: 用户 -> 询问 ClouDNS。 ClouDNS -> A记录,返回 csgo.com 的高速 IP。 高速 IP -> 识别 SaaS 请求 -> 回源到 blog.6yong1.ggff.net。 VPS -> 返回网页。 📝 特别说明 关于 CNAME 说明: 如果你不想每次手动指定IP! 建议使用阿里云的云解析DNS,它完美支持CNAME Flattening 只需添加一个CNAME记录指向csgo.com即可。 版权声明:本文由 赛博61区 原创发布,转载请注明出处。 -
🛡️ 站长必备!Cloudflare 从入门到精通!!! 摘要:都2025年了,还有人不知道cloudflare,我也是真心服气的。简单来说,它是互联网的“瑞士军刀”——免费提供 CDN 加速、免费的 HTTPS 证书、还能帮你挡住 DDoS 攻击。本期教程,我们不讲深奥的代码,只讲90% 的站长都会用到的核心功能:域名接入、SSL 设置(防坑)、CDN 加速、防火墙以及页面规则。让你清楚知道Cloudflare (CF) 究竟是什么?它能帮我们做什么?一、 为什么每个网站都需要 Cloudflare? Cloudflare 是全球最大的 CDN(内容分发网络)服务商之一。哪怕你是免费用户,也能享受以下顶级服务: 隐藏真实 IP:开启“小黄云”后,黑客只能看到 CF 的 IP,打不到你的源服务器。 全球加速:CF 在全球有数百个节点,能缓存你的网页静态资源,让访客就近访问。 免费 SSL:一键开启 HTTPS,再也不用担心浏览器提示“不安全”。 抗攻击:遇到 CC/DDoS 攻击?开启“五秒盾”模式,瞬间拦截恶意流量。 二、 第一步:域名接入 要使用 Cloudflare,首先要把你的域名“托付”给它管理。 0. 还没有域名? 如果你还没注册域名,或者还在纠结去哪买。千万别去 GoDaddy(续费天价)或国内平台(需实名认证、需备案)。 赛博61区 推荐以下几家“良心”注册商: Spaceship (性价比之王):Namecheap 旗下新品牌。 优点:界面极具未来感,价格目前全网最低(.com 约 $10.30),自带免费隐私保护。 NameSilo (老牌稳健):无数站长的启蒙地。 优点:价格透明,续费不涨价,永久免费隐私保护。虽然界面有点复古,但胜在稳定。 Cloudflare Registrar (官方直营): 优点:0 利润批发价(只收成本+税),最便宜。 注意:在这里买的域名,必须使用 CF 的 DNS(这正好符合我们的需求)。 1. 添加站点 注册并登录 Cloudflare 官网。 点击右上角的 Add a site (添加站点)。 输入你的域名(例如 c61y.shop),点击 Continue。 选择计划时,拉到最下面(藏得有点深),点击 Free (免费版) 方框,再点 Continue。 2. 修改 DNS 服务器 (Nameservers) CF 会自动扫描你当前的 DNS 记录,确认无误后点击继续。 接下来是最关键的一步:修改 NS 记录。 CF 会给你两个分配好的 NS 地址 Snipaste_2025-12-11_15-41-49.png图片 操作:登录你购买域名的地方(Spaceship / NameSilo 等),找到 Nameservers 设置。 选择 Custom DNS (自定义 DNS)。 删除原来的,只填入 CF 给你的这两个地址。 Snipaste_2025-12-11_15-50-35.png图片 Snipaste_2025-12-11_15-50-45.png图片 回到 CF 页面,点击 Check nameservers。 等待生效:通常需要 10-30 分钟(最慢 24 小时)。当你收到邮件提示“Status: Active”或在主页看到域名为活动时,恭喜你,接入成功! Snipaste_2025-12-11_15-54-06.png图片 三、 第二步:SSL/TLS 设置 ⚠️ 很多新手接入后,发现网站打不开,提示“重定向次数过多”。99% 是因为这里没设置对。 进入 CF 后台 -> SSL/TLS -> 概述。 这里有四种模式,请根据你的情况选择: Off (关闭):不推荐。 Flexible (灵活):坑点! 如果你的服务器没装证书(HTTP),选这个。用户访问是 HTTPS,CF 回源是 HTTP。 Full (完全):如果你的服务器自己签了证书(哪怕是过期的),选这个。 Full (Strict) (严格):✅ 强烈推荐! 如果你的服务器已经配置了正确的 SSL 证书(如 Let's Encrypt),一定要选这个。它是最安全、最不容易报错的模式。 博主建议:为了长久稳定,推荐使用宝塔面板给网站申请 SSL 证书,然后在 CF 这里选择 Full (Strict)。 Snipaste_2025-12-11_16-00-39.png图片 四、 第三步:DNS 解析与小黄云 进入 DNS -> 记录。在这里管理你的子域名。 Proxied (已代理 / 🧡 小黄云):开启 CDN 和防护。流量走 CF 服务器,隐藏真实 IP。建站建议开启。 DNS Only (仅 DNS / 🩶 灰色云):直连模式。流量直接打到你服务器,暴露 IP。SSH 连接、或者宝塔面板登录时使用。 Snipaste_2025-12-11_16-23-05.png图片 五、 第四步:安全防护 (WAF) 进入 安全性 -> 设置。 1. 安全等级(Security Level) 新的安全仪表板默认等级为 始终受保护。 如果你发现有人在攻击你的网站,立马改成 I'm Under Attack!。 Snipaste_2025-12-11_19-05-58.png图片 Snipaste_2025-12-11_19-06-13.png图片 效果:访问者打开网站时会看到“正在检查浏览器...”的 5 秒倒计时盾牌,能有效拦截大部分 CC 攻击。 2. 质询通过期 建议设置为 1 Hour 或 30 Minutes。意思是用户验证通过后,多久不需要再次验证。 Snipaste_2025-12-11_18-59-11.png图片 六、 第五步:速度优化 (Speed) 进入 速度 -> 设置 建议:点击站点建议旁边启用所有可用设置:可一键开启所有免费加速项目 Snipaste_2025-12-11_18-46-48.png图片 七、 进阶技巧:Page Rules (页面规则) CF 免费版提供 3 条页面规则,非常宝贵,要用在刀刃上。 最常用的场景:把 www 强制跳转到 无www (或反之) 进入 规则 -> 页面规则 -> 创建页面规则。 URL: c61y.shop/* (你的域名) 设置: Forwarding URL (转发 URL) -> 301 - Permanent Redirect (301 永久重定向)。 目标 URL: https://www.c61y.shop/$1 保存和部署页面规则。 Snipaste_2025-12-11_19-20-34.png图片 Snipaste_2025-12-11_19-20-52.png图片 这样,用户输入 c61y.shop 会统一跳转到你的 www.c61y.shop 网站 ,对 SEO 非常友好。 八、 总结 掌握了以上 5 步,你已经超越了 80% 的 Cloudflare 用户。 接入:搞定 DNS 托管。 SSL:选 Full (Strict) 防报错。 安全:被攻击时开“五秒盾”。 速度:开启所有免费加速。 规则:利用 Page Rules 做重定向。 打好了这个基础,你就可以去尝试[SaaS 优选加速] 和 [邮箱路由] 等更高级的玩法了! 版权声明:本文由 赛博61区 原创发布,转载请注明出处。 -
无需公网IP,3分钟异地组网神器:Tailscale,小白也能快速上手! 摘要:还在为家里宽带没有公网 IP 而发愁?还在忍受 FRP 内网穿透的繁琐配置和龟速中转?今天给大家推荐一款神器——Tailscale。它基于 WireGuard 协议,安装即用,无需配置防火墙,轻松实现异地组网。无论你在公司、咖啡厅还是异国他乡,都能像在局域网一样访问家里的 NAS 和电脑。小白也能轻松上手!一、 为什么选择 Tailscale? 在介绍怎么用之前,先说说它强在哪里。 以前我们想在外面访问家里的电脑或 NAS,通常需要: 公网 IP(电信现在很难要到了,移动宽带更是大内网)。 设置路由器端口映射(暴露端口有安全风险)。 配置复杂的 VPN 服务端(OpenVPN 证书配置能劝退 90% 的人)。 Tailscale 的出现,把这些门槛全部踏平了: 零配置:不需要公网 IP,不需要动路由器,不需要写配置文件。 全平台:Windows, macOS, Linux, iOS, Android, 群晖, OpenWrt 统统支持。 P2P 直连:基于 WireGuard 协议,尽可能打通设备间的点对点连接,速度快,延迟低。 免费:个人用户免费支持 100 台设备,完全够用了。 二、 3分钟快速上手 Tailscale 的使用逻辑非常简单:注册账号 -> 各个设备下载安装 -> 登录同一个账号。然后这些设备就组成了一个虚拟的“大局域网”。 第一步:注册账号 进入 Tailscale 官网 (tailscale.com),点击 Get Started for Free。 推荐直接使用 Google、Microsoft 或 GitHub 账号快捷登录,省去记密码的烦恼。 第二步:安装客户端 Tailscale 覆盖了所有主流平台,请在需要组网的设备上分别下载: Windows / macOS:官网下载安装包。 iOS:App Store 搜索 Tailscale(需非国区 ID)。 Android:Google Play 或 GitHub 下载 APK。 Linux (VPS/软路由):一行命令搞定。 curl -fsSL https://tailscale.com/install.sh | sh 第三步:登录并连接 安装完成后,打开软件。 点击 Log in,使用第一步注册的账号登录。 登录成功后,你会看到每台设备都被分配了一个 100.x.y.z 开头的 IP 地址。 Snipaste_2025-12-05_11-37-22.png图片 🎉 恭喜!组网完成。 现在,你可以尝试用公司的电脑,Ping 一下家里 NAS 的那个 100.x 开头的 IP,你会发现竟然通了! 三、 进阶玩法:榨干 Tailscale 的价值 光连通还不够,作为极客,我们还要挖掘它的高级功能。 玩法 1:把 VPS 变成“出口节点” (Exit Node) ✨ 这是 VPS 玩家最喜欢的功能! 如果你有一台海外 VPS,安装了 Tailscale 后,可以把它设置为出口节点。 效果:当你开启这个功能后,你手机/电脑的所有流量都会通过这台 VPS 转发。简单来说,这就是一个自建的、加密的“梯子”! 操作方法(以 Linux VPS 为例): VPS 安装 Tailscale 并登录。 开启 IP 转发(重要): echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf sudo sysctl -p /etc/sysctl.d/99-tailscale.conf 申明自己是出口节点: sudo tailscale up --advertise-exit-node 关键一步:去 Tailscale 网页控制台,找到这台 VPS,点击 ... -> Edit route settings,勾选 Use as exit node。 现在,打开你手机上的 Tailscale App,在 Exit Node 选项里选择这台 VPS,你就可以安全地访问世界了。 Snipaste_2025-12-05_12-45-47.png图片 玩法 2:访问家里的内网设备 (Subnet Router) 如果你家里有打印机、摄像头等无法安装 Tailscale 的设备,怎么办? 我们可以把家里的群晖 NAS 或者 OpenWrt 软路由配置成子网路由器。 操作方法: 假设你家里局域网段是 192.168.1.0/24。 在家里常驻开启的设备(如 NAS/软路由)上运行: sudo tailscale up --advertise-routes=192.168.1.0/24 去 Tailscale 网页控制台,找到该设备,在 Edit route settings 中勾选刚才发布的网段。 效果:你在外面的电脑连接 Tailscale 后,直接输入 192.168.1.100 就能打开家里的摄像头,就像你在家一样。 玩法 3:Taildrop 文件互传 同一个局域网下的设备传文件,不需要微信传输助手,也不需要网盘。 右键点击电脑上的文件 -> Send with Tailscale -> 选择你的手机。文件瞬间直达,不走公网流量,速度取决于你的网速上限。 四、 常见问题 (Q&A) Q: 传输速度快吗? A: Tailscale 会优先尝试 P2P 直连(打洞),如果打通了,速度取决于你两端宽带的上行带宽,非常快。如果打洞失败,会走官方的中转服务器(DERP),速度会慢一些。 注:对于追求极致速度的玩家,可以自建 DERP 服务器。 Q: 安全吗? A: 非常安全。基于 WireGuard 协议,全程端对端加密,连 Tailscale 官方也无法窥探你的数据内容。 五、 总结 Tailscale 是我目前用过最省心、体验最好的异地组网工具。它真正做到了“把复杂留给自己,把简单留给用户”。 无论你是想远程办公、远程维护服务器,还是想利用闲置 VPS 搭建一个安全的上网通道,Tailscale 都是你的不二之选。 版权声明:本文由 赛博61区 原创发布,转载请注明出处。 -
闲置安卓手机变身“旁路网关”:零成本实现全屋科学上网 摘要:家里有闲置的安卓手机?千万别扔!本教程将教你如何利用一台 Root 后的安卓手机,通过几行脚本将其变成“旁路网关”(软路由)。无需购买 R2S/R4S,无需复杂的 OpenWrt 配置,配合你喜欢的 VPN 客户端,即可零成本实现全屋设备科学上网。前言:为什么要用手机当网关? 相信大部分极客或技术爱好者的抽屉里,都躺着一两部不再使用的旧安卓手机。与其让它们吃灰,不如让它们发挥余热。 相比于购买专业的软路由设备,手机做网关有以下优势: 零成本:不需要额外购买硬件。 配置低门槛:不需要学习复杂的 Linux 路由表或 OpenWrt 插件,只要会用安卓 APP 即可。 生态丰富:安卓拥有最全的 VPN 客户端支持(Clash, V2RayNG, 各种官方加速器),可以轻松突破部分服务的“设备数量限制”。 性能足够:即便是几年前的骁龙处理器,处理几百兆的 AES 加密流量也是绰绰有余的。 准备工作 在开始之前,请确保你拥有以下条件: 一台安卓手机:必须已经 ROOT(这是核心前提,未 Root 无法修改底层网络规则)。 连接方式:WiFi 环境,或者准备一个 Type-C 转 RJ45 网口扩展坞(强烈推荐有线连接,更稳定)。 软件环境:手机已安装好 VPN 软件并能正常连通外网。 第一步:环境配置(ADB 或 Termux) 我们需要进入手机的 Linux 底层命令行来执行脚本。有两种方式: 方式 A:使用电脑 ADB 连接(推荐) 这种方式方便复制粘贴脚本,操作更精准。 下载 ADB 工具包: Windows 版本下载 Mac 版本下载 开启手机调试: 进入「设置」->「开发者选项」,开启 “USB 调试”。 注:若找不到开发者选项,请在「关于手机」中连续点击「版本号」7次。 连接测试: 手机连接电脑,解压 ADB 文件夹,在当前目录打开 CMD 或终端。 输入 adb devices,出现设备号即成功。 输入 adb shell 进入手机终端。 输入 su 获取 Root 权限(此时符号应变为 #)。 方式 B:手机端使用 Termux 如果你不想用电脑,可以直接在手机上操作。 Termux 下载地址 (GitHub) 打开 App 输入 su 并允许 Root 授权即可。 第二步:固定手机 IP 地址 作为局域网的网关服务器,手机的 IP 必须是固定的,不能由路由器随机分配。 进入手机 WiFi 设置。 找到当前连接的网络,将 IP 设置 从 DHCP 改为 静态 (Static)。 填写信息(以主路由 IP 为 192.168.0.1 为例): IP 地址:192.168.0.123 (找一个没人用的 IP) 网关:192.168.0.1 DNS:8.8.8.8 或 1.1.1.1 第三步:部署转发脚本(核心) 这是本教程的灵魂。安卓系统默认不会转发别人的流量,我们需要用脚本开启 IP 转发,并配置 iptables 规则。 创建脚本存放目录: mkdir -p /data/proxy cd /data/proxy 创建并编辑脚本: 你可以使用 vi proxy.sh 创建文件,或者在电脑上写好后通过 adb push 传入手机。脚本内容如下: #!/system/bin/sh # === 配置区域 (根据实际情况修改) === tun='tun0' # VPN开启后的虚拟接口名称,通常是 tun0 dev='wlan0' # 物理接口名称:WiFi通常是 wlan0,插网线通常是 eth0 interval=3 # 网络状态检测间隔(秒) pref=18000 # 路由策略优先级 # ================================= # 1. 开启系统 IP 转发功能 sysctl -w net.ipv4.ip_forward=1 # 2. 清除 filter 表转发链规则,防止防火墙阻断内网流量 iptables -F FORWARD # 3. 添加 NAT 转换 # 这一步至关重要,让流量经由 VPN 接口出去 iptables -t nat -A POSTROUTING -o $tun -j MASQUERADE # 4. 添加路由策略 # 将来自物理接口(dev)的流量查表转发给虚拟接口(tun) ip rule add from all table main pref $pref ip rule add from all iif $dev table $tun pref $(expr $pref - 1) contain="from all iif $dev lookup $tun" # 5. 守护进程 # 循环监测,防止 VPN 重连或网络波动导致策略失效 while true ;do if [[ $(ip rule) != *$contain* ]]; then if [[ $(ip ad|grep 'state UP') != *$dev* ]]; then echo -e "[$(date "+%H:%M:%S")] dev link down." else # 重新添加策略 ip rule add from all iif $dev table $tun pref $(expr $pref - 1) echo -e "[$(date "+%H:%M:%S")] rules restored." fi fi sleep $interval done运行脚本: 赋予执行权限并让其在后台运行: chmod +x proxy.sh nohup ./proxy.sh &注意:如果脚本报错,请检查 dev 变量。在终端输入 ip a 查看你的网卡名称,WiFi 通常是 wlan0,插网线通常是 eth0。第四步:客户端接管(起飞!) 现在手机已经准备就绪,我们需要让家里的其他设备“走”这条路。 方案 A:全屋自动翻墙(修改主路由) 适用场景:适合希望家里所有设备(电视、手机、iPad、智能家居)自动科学上网的用户。 登录主路由器后台。 找到 DHCP 服务器 设置。 将 默认网关 (Gateway) 改为 手机的 IP(如 192.168.0.123)。 重启路由器,或者让设备断开重连 WiFi。 方案 B:指定设备翻墙(手动设置) 适用场景:适合只想让主力 PC 或 PS5/Switch 游戏机科学上网,不影响家人使用。 打开电脑/游戏机的网络设置。 手动填入 IP 地址(保持同网段)。 网关 (Router) 一栏填写 手机的 IP。 DNS 建议填 1.1.1.1 或 8.8.8.8 防止 DNS 污染。 进阶玩法:使用网线连接(强烈推荐) 虽然 WiFi 也能用,但无线是半双工的,且容易受干扰,作为网关使用时 Ping 值 和 带宽 都会受限(实测 WiFi 只能跑 20-30Mbps)。 推荐方案: 购买一个 Type-C 转千兆网口扩展坞(最好带 PD 充电,保证手机 24 小时不断电)。 操作调整: 插上网线后,手机通常会识别为 eth0 接口。 使用 ip a 确认网卡名称。 修改脚本中的 dev='wlan0' 为 dev='eth0'。 杀掉旧进程并重新运行脚本。 效果对比: 使用有线连接后,跑满 500M 宽带 毫无压力,延迟极低,稳定性堪比几百元的 R2S 软路由。 常见问题与避坑 断网问题: 现象:如果在切换 VPN 节点后断网,是因为 VPN App 重建了虚拟网卡导致路由表失效。 解决方法:断开 VPN -> 等待几秒 -> 重新连接 -> 脚本会自动修复规则(因为脚本里有守护进程)。 DNS 污染: 现象:如果能上 QQ 但打不开 Google,说明 DNS 还是国内的。 解决方法:请务必将上网设备的 DNS 手动修改为 8.8.8.8 或 1.1.1.1。 手机重启: 注意:安卓重启后,所有临时网络规则都会消失。你需要重新连接 ADB 或 Termux 运行一次脚本。 进阶:可以使用 Magisk 模块来实现开机自启(需一定动手能力)。 省电策略: 操作:请务必关闭手机的“省电模式”,并在后台管理中锁定 Termux 或 VPN 软件,允许其“无限制后台运行”,防止系统杀后台导致断网。 总结:通过这种方式,我们不仅让旧手机变废为宝,还获得了一个带屏幕、自带 UPS 电源(电池)、配置强悍的“智能软路由”。快去试试吧!版权声明:本文由 赛博61区 原创发布,转载请注明出处。 -
告别“配置环境”的噩梦!小白必看的 Docker 入门指南 摘要:你是否经历过:想在电脑上装个软件,结果要先装 Python、再装依赖库、还得配环境变量,最后报错一堆直接劝退?或者在这个电脑上能跑,换台电脑就不行了? 今天介绍的 Docker,就是为了解决这些麻烦而生的。它让软件安装变得像“下载手机APP”一样简单,不污染系统,即装即用,小白也能轻松玩转! 一、 什么是 Docker? 在没有 Docker 之前,我们在服务器或电脑上装软件,就像是“在工地上盖房子”: 你需要自己运砖头、和水泥、搭脚手架。如果我想在旁边再盖一个一样的房子,还得重新来一遍,而且很容易因为水泥型号不对(环境不兼容)导致房子塌了。 有了 Docker 之后,装软件变成了“搭积木”或者“搬运集装箱”: 开发者把软件和它运行需要的所有东西(砖头、水泥、装修)都打包进一个“集装箱”(镜像)里。 你只需要把这个集装箱拉到你的电脑上,按一下开关,软件就跑起来了。你不喜欢了?把集装箱扔掉,你的地基(电脑系统)依然干干净净,没有任何垃圾残留。 Docker 的三个核心概念: 镜像 (Image) = 安装包(类似 iPhone 的 .ipa 或 Windows 的 .exe)。 容器 (Container) = 运行中的软件(把安装包运行起来,就是一个容器)。 仓库 (Repository) = 应用商店(用来下载各种镜像的地方,最大的叫 Docker Hub)。 二、 为什么要学 Docker? 对于我们 赛博61区 的读者来说,Docker 是必备技能,因为: 干净:想试玩一个开源项目,用 Docker 跑,不想玩了直接删容器,电脑不留一丝痕迹。 简单:大部分神级软件(HomeAssistant, NasTools, 青龙面板)都首选 Docker 安装,通常只有一行命令。 通用:不管你是 Windows 电脑、Mac、群晖 NAS 还是 VPS,Docker 的命令都是通用的。 三、 Windows 安装教程 对于大多数小白朋友,我们主要在自己的 Windows 10/11 电脑上使用。 1. 准备工作 Docker 在 Windows 上运行需要依赖 WSL2 (Windows Subsystem for Linux)。别慌,现在的 Docker Desktop 会自动帮你处理大部分事情。 硬性要求:Win10 (2004版本以上) 或 Win11。 开启虚拟化:打开任务管理器 -> 性能 -> CPU,查看右下角“虚拟化”是否显示“已启用”。如果是“已禁用”,你需要重启电脑进入 BIOS 开启(搜索:主板型号 + 开启虚拟化)。 2. 下载与安装 前往官网下载:Docker Desktop for Windows 双击运行安装包。 安装界面中,确保勾选 "Use WSL 2 instead of Hyper-V"(通常默认就是勾选的)。 一路 Next,等待安装完成。 重启电脑(这一步必须做)。 3. 首次运行 重启后,Docker 会自动启动。 如果它提示你“WSL needs updating”,别慌,这不是什么严重错误,这是因为你电脑里的 WSL (Linux 子系统) 内核版本比较老,Docker 需要新版本的内核才能运行。 解决这个问题非常简单,只需要执行一条命令升级一下即可。 解决方法 第一步:打开管理员终端 按键盘上的 Win 键(或者点击屏幕左下角的“开始”)。 输入 PowerShell。 在搜索结果中,右键点击 Windows PowerShell,选择 “以管理员身份运行” (Run as Administrator)。 注意:一定要以管理员身份,否则可能没权限更新。 第二步:输入更新命令 在弹出的蓝框框里,输入下面这行命令并回车: wsl --update第三步:等待安装 系统会自动从微软服务器下载最新的 WSL 内核并安装。 屏幕上会显示进度条。 等到出现 “The operation completed successfully” (操作成功完成) 的提示。 第四步:重启 Docker 回到 Docker Desktop 的报错界面,点击 Restart(或者关掉 Docker 重新打开)。 如果还是不行,重启一下电脑,Docker 就能正常启动了。 💡 备选方案(如果命令更新失败) 如果你运行 wsl --update 后卡住不动(可能是因为国内连接微软服务器慢),可以使用手动安装包: 直接点击这个微软官方链接下载更新包: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 下载后双击运行这个 .msi 文件。 安装完后,重启 Docker Desktop 即可。 快去试试吧,更新完看到 Docker 那个可爱的小鲸鱼图标在任务栏变稳(不闪烁),说明启动成功了! 4. 验证 按 Win + R,输入 cmd 回车,在黑框里输入: docker --version如果出现版本号,恭喜你,你已经是一名为所欲为的 Docker 用户了! 四、 Linux 安装教程 如果你买了 VPS(如 搬瓦工),系统通常是 Ubuntu 或 Debian。在 Linux 上安装 Docker 反而更简单。 我们使用官方的一键安装脚本,一行命令全自动搞定: curl -fsSL https://get.docker.com | bash安装完成后,启动 Docker 并设置开机自启: systemctl start docker systemctl enable docker搞定!就这么简单。 五、 实战:30秒搭建一个网站 光说不练假把式。我们来试着运行一个最经典的 Nginx 网页服务器。 打开你的 CMD (Windows) 或 终端 (Linux),输入: docker run -d -p 8080:80 --name my-web nginx这行命令的意思是: docker run:启动一个容器。 -d:在后台运行(不要占住我的黑框框)。 -p 8080:80:端口映射(最关键!)。把容器里的 80 端口,映射到我电脑的 8080 端口。 --name my-web:给这个容器起个名字叫 my-web。 nginx:使用的镜像名字(如果本地没有,它会自动去网上下载)。 见证奇迹: 打开浏览器,访问 http://localhost:8080。 你应该能看到 "Welcome to nginx!" 的页面。 清理现场: 玩够了?一行命令删掉它: docker rm -f my-web你的电脑又恢复了平静。 六、 常用命令速查表 记不住命令没关系,收藏这一段就够用了: 下载镜像:docker pull 镜像名 查看正在运行的容器:docker ps 查看所有容器(包括关掉的):docker ps -a 停止容器:docker stop 容器ID或名字 启动容器:docker start 容器ID或名字 删除容器:docker rm 容器ID (加 -f 强制删除) 删除镜像:docker rmi 镜像名 七、 常见问题 (配置镜像加速) Q: 为什么我下载镜像特别慢,甚至卡住不动? A: 因为 Docker Hub 的服务器在国外,国内网络访问并不通畅。 解决方法 (Windows Docker Desktop): 打开 Docker Desktop 设置 (齿轮图标)。 点击 Docker Engine。 在右侧的 JSON 编辑框中,添加 "registry-mirrors" 字段。推荐使用国内大厂的镜像源(如网易、百度等,或者自行搜索最新的可用源,因为源经常变动)。 { "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "registry-mirrors": [ "https://docker.m.daocloud.io", "https://huecker.io" ] } 点击 Apply & restart。 八、 总结 Docker 是现代互联网技术的基石。学会了 Docker,你以后看到任何好玩的开源项目,都只需要一行 docker run 就能把它部署到你的电脑或 VPS 上。 只要会复制粘贴,你就是 Docker 大神! 版权声明:本文由 赛博61区 原创发布,转载请注明出处。