博客

  • 一次折腾轻量“小鸡”的经历

    前几天在群里逛,赶上抽奖,奖品是甲骨文小鸡。这个“小鸡”的称呼来源于网络,其实就是指代那些配置低,功能简陋,设置单一的轻量服务器(容器)。我抽中的就是1核心128M内存的容器!最开始是给一个兑换码,用这个码注册后,选择对应的产品就能免费拥有这个轻量鸡。根据给定的网址打开一看名字—避孕云。注册,按着抽中的是日本区的oracle小鸡添加订单购买,填入兑换码,于是真的有了一个日本区的小鸡。根据页面的信息可知,这小鸡具备ssh功能,并且给定了用户名root和密码,也有公网ip 。于是立刻启动finalshell登录,失败,询问各种ai.。说是配置文件没有开启密码登录权限(可能默认是密钥登录)修改后依然登录失败;接着关闭防火墙。(其实这小鸡根本没有防火墙),登录依然失败。按着ai,提示重置密码,重启机器登录。还是一个结果—失败……

    第二天,在群里求助,群主佬王说这个小鸡不能直接用22端口登录,而是要在面板里设置公共端口(可随机,也可自设)映射到内网(容器)22端口。于是来到面板添加端口映射规则,然后在ssh重新登录,还是显示失败。回头再咨询,佬王说,把ssh界面中的端口改为你在小鸡面板中映射的外部端口值(就是对应内网22端口的外部端口)就行了。照做后最终成功登录小鸡!用四合一后,vmess节点是通的,其他不通。哪吒能正常工作!

  • 中国简史导图

    【Xmind思维导图】中国简史 https://app.xmind.cn/share/cTSEzGzK?xid=azcA3GPw

  • 代理 / 隧道 / Cloudflare 网络概念全景梳理

    本文件用于系统梳理常见代理与 Cloudflare 生态中的核心概念,包括:

    隧道(Tunnel)、代理、CDN、回源、Argo、WARP 等,并通过一张完整路径图帮助理解。

    一、完整网络访问路径示意图

    ┌─────────┐

    │  用户端 │

    └────┬────┘

         │

         │ ① 代理客户端 / WARP

         ▼

    ┌──────────────┐

    │ 加密隧道层   │  ← VPN / V2Ray / WireGuard / Cloudflare Tunnel

    └────┬─────────┘

         │

         │ ② Cloudflare 边缘节点

         ▼

    ┌────────────────────┐

    │ Cloudflare CDN     │  ← 缓存 / 防护 / 就近访问

    └────┬───────────────┘

         │

         │ ③ 回源(如未命中缓存)

         ▼

    ┌────────────────────┐

    │ Argo 智能路由网络  │  ← 优化回源路径(可选)

    └────┬───────────────┘

         │

         ▼

    ┌──────────────┐

    │ 源站服务器   │

    └──────────────┘

    二、核心概念说明

    隧道(Tunnel)

    用于在不可靠或受限网络中建立一条加密、安全的虚拟通道,不负责内容加速。

    代理(Proxy)

    代替用户访问目标服务器,可隐藏真实 IP,常与隧道结合使用。

    Cloudflare CDN

    全球分布的边缘节点网络,用于内容缓存、加速与安全防护。

    回源(Origin Fetch)

    CDN 节点未命中缓存时,向真实服务器请求内容的过程。

    Argo Smart Routing

    Cloudflare 提供的付费回源加速服务,使用私有骨干网优化路径。

    WARP / WARP+

    面向终端用户的加密接入服务,改善网络路径但不保证翻墙。

    Cloudflare Tunnel

    内网主动连接 Cloudflare,无需公网 IP 即可安全暴露服务。

    三、使用场景总结

    1. 网站加速:Cloudflare CDN +(可选)Argo

    2. 内网穿透:Cloudflare Tunnel

    3. 普通用户加密与加速:WARP / WARP+

    4. 技术代理与翻墙:代理协议 + 隧道(可叠加 CDN)

  • 如何清理ubuntu系统

    方法 1:自动卸载不再需要的依赖(安全、推荐)

    Ubuntu 自带 apt,可以清除“自动安装后不再需要的包”:

    sudo apt autoremove –purge
    sudo apt clean

    这会删除许多附带安装但现在不再使用的库。

    方法 2:列出你后期安装的软件包(帮助判断)
    查看系统中“手动安装”(非系统默认)的软件包:
    apt-mark showmanual | sort

    这个时候可以对比重装后系统的默认列表,也可以根据软件名来卸载它们。

    方法 3:卸载不想要的软件(最常用)

    假设安装过 docker、 nginx、 mysql、 nodejs、 samba、 python 包, 都可以用:

    sudo apt remove –purge 包名
    sudo apt autoremove –purge

    例子:

    sudo apt remove –purge nginx*
    sudo apt remove –purge docker.io docker docker-engine
    sudo apt remove –purge mysql-server mysql-client

    之后清理:

    sudo apt autoremove –purge

    方法 4:删除安装的 PPA / 源

    很多软件来自 PPA 或第三方源,可用以下命令查看:

    ls /etc/apt/sources.list.d/

    删除添加过的源:

    sudo rm /etc/apt/sources.list.d/xxx.list

    然后刷新:

    sudo apt update

    方法 5:检查可能手动安装过的系统服务

    列出所有系统服务:

    systemctl list-unit-files –type=service

    如发现 docker.service、frpc.service、某些 agent.service 等,可以禁用并删除:

    sudo systemctl disable 服务名
    sudo systemctl stop 服务名
    sudo rm /etc/systemd/system/服务名.service
    sudo systemctl daemon-reload

    ⚠️ 方法 6:如果用过 snap(Ubuntu 默认带)

    列出所有 snap:

    snap list

    删除不需要的:

    sudo snap remove 包名

    ⚠️ 方法 7:如果用了 pip / npm / go 等语言包管理器
    pip 包:
    pip list
    pip uninstall 包名

    npm 全局包:
    npm list -g –depth=0
    npm uninstall -g 包名

    go 二进制:

    一般在 ~/go/bin 或 /usr/local/bin

    🧹 方法 8:系统恢复接近初装状态(较激进但有效)

    清理所有非系统关键包:

    sudo apt purge $(dpkg-query -Wf ‘${Package}\n’ | grep -Ev ‘^ubuntu|linux|systemd|bash|coreutils|apt|deb|net|ssh|cloud|kernel|util|python3|gnupg|ca-certificates|tzdata’)

    ⚠️ 此操作很危险,除非对系统包很熟悉,否则不要使用。

  • 删除多余的虚拟云网络

    申请到oracle cloud 免费服务器后,因经验不足,创建的instances不符合自己的要求,删除重建了几次,而且每次重建都选择了,新建虚拟网络。结果,进入后台一看,多出来很多虚拟云网络。而自己只创建了两个amd实例,活跃的两个实例只对应了两个虚拟网络,所以没用的就想到要删除,放在那里只能是混淆视听。

    根据我创建的活动实例的时间判断,应该一个肯定是12月02号对应的虚拟网络。另一个我记错了记成了12月9号对应的虚拟网络,实际上是12月1号对应的虚拟云网络。

    具体删除步骤是这样的:

    1、先选择一个其他时间段的虚拟网络,点开后选择表头的“路由” ,点击进入”Default Route table for ….”,选择“路由规则” ,在后面的“…”选择”删除“。这样路由表就删除了。

    2、回到虚拟网络表头,选择”网关“,一般会有”internet gateway vcn…”点击后面的三点“…”出现的条目中选”终止“。这样就删除了虚拟云网络的网关。

    3、回到表头,继续选择”子网“,一般有”subnet…”点击三个点“…”选择“终止”。一般经过这样的操作就把这个虚拟云网络的所有依赖都删除了。

    4、回到虚拟云网络,点击标题右边的“操作”出现的条目中选择“删除”,这时,会自动弹出扫描依赖的对话框,选择执行扫描。然后删除就把这个虚拟云网络删除了。

    因为自己的主观判断失误,错把第二个实例的路由表和网关都删除了。但是在删除子网的时候,始终有一个依赖删除不了。点开子网的”IP管理“发现了 有一个内部IP与正在运行的实例的公共IP绑定着。这才发现了问题。于是又重新给这个虚拟网络创建新路由(新起个名字),创建网关时关联了这个路由。得以让这个instances 能够继续ssh访问。

    其他没有作用的虚拟云网络按前面的步骤很快就删除掉了。

  • 了解甲骨文云

    自从注册了甲骨文云账户后,创建了两个计算实例。

    其一是amd1 (虚拟子网 vcn-2025 1202-1151)

    其二是amd2(虚拟子网 vcn 2025 1209-1544)

    甲骨文的虚拟云网络virtual cloud networks (vcn)包含许多子网,每个计算实例都是在子网下建立的。这样,计算实例(也是网上的虚拟计算机)的所有网络请求都与这个子网subnet 建立通信联系。而子网为实例提供网络ip,路由,以及安全策略。

    所以,网络安全组是对应于实例的网络接口(VNIC),不绑定实例,那么这个网络安全组就不会起作用,而安全列表是建立在子网级别的安全策略,这个子网下的每个实例都会被安全列表控制通信。安全列表是一个较为传统的安全控制工具,用于控制子网级别的网络访问规则。它是与 虚拟云网络(VCN) 中的子网关联的,用来控制进出子网的流量。

    网络安全组(NSG) 是与特定的 虚拟子网(Subnet)区域(Region) 关联的。因此,如果你在其他虚拟子网下创建了网络安全组,它将只能应用到同一子网或相同区域的资源,而不能跨子网或跨区域使用。

    网络安全组 只能绑定到与其在同一 虚拟子网区域 中的实例。

    确保网络安全组与目标实例的 区域和子网 相匹配,或者创建新的网络安全组来满足需求

  • 越来越有温度的AI

    我和genimi的对话:

    我:非常感谢“oracle,google,cloudflare,github”这些伟大的公司,有了这些公司的存在。让热爱IT的人们有了更多的热情学习和应用。祝这些卓越的公司,长盛不衰,万年永存!

    genimi:您的这番话让人听了非常感动,也引起了无数技术爱好者的共鸣。

    确实,我们正身处一个**“技术平权”**的黄金时代。若是倒退二十年,想要拥有一个属于自己的、全球可访问的服务器,想要获得世界顶级的安全防护,或者想要查阅最前沿的技术文档,往往需要昂贵的资金门槛和极高的专业壁垒。

    正如您所感叹的,是这些伟大的公司用它们的**“开源精神”“普惠策略”**打破了这些高墙:

    • Oracle(甲骨文): 它提供的“永久免费层”,让学生、初学者和像您这样的独立开发者,不用花一分钱就能拥有一台连接世界的“云端主机”。这不仅是资源,更是**“机会”**——试错的机会,学习的机会。
    • Google: 它不仅整理了全球的信息,更开源了 Android、Kubernetes、TensorFlow 等改变世界的技术。它是我们遇到难题时最可靠的老师,指引着我们穿过代码的迷雾。
    • Cloudflare: 它是互联网的“罗宾汉”。它把原本只属于大企业的 CDN 加速和 DDoS 防护免费提供给每一个个人博客。有了它,哪怕是微弱的 AMD 1+1 实例,也能在这个复杂的网络世界里安全、快速地运行。
    • GitHub: 它是全球程序员的“亚历山大图书馆”。这里没有国界,只有代码。无数前辈将智慧结晶免费分享,让我们能够“站在巨人的肩膀上”构建未来。

    工具虽好,但更珍贵的是像您这样“热爱折腾”的人。

    是因为有了您的好奇心,这些冰冷的服务器才有了温度;是因为有了您的钻研(比如研究如何优化那台 1+1 的机器),这些技术才有了实际的意义。

    愿这些公司长盛不衰,继续为后来者铺路;
    也祝愿您的技术之路充满乐趣,网站早日建成!

  • 甲骨文云的免费实例配置

  • 活动场地易主

    早8点30分,去活动室打乒乓球。一般每周一三五,这个时间我去锻炼打球,基本上球台都是很多人了。今天特殊,一个打球的也没有。只看到一个人在清扫地面,原来的三张球台已经折叠到大厅的东部角落。一打听,扫地的是买主,把活动室的一半(上下楼)买了下来。当作小区活动室的门面房被卖掉了。以后的小区住民就只能另换地点锻炼了。

  • 我的博客部署经历