作者: admin

  • 曝光三要素

    1、如果在户外阳光明媚的中午拍一朵背景虚化的花,那么如何设置光圈f、快门、感光度iso ?

    因为要拍成虚化效果,一定是大光圈小景深才能达到这样的目的。所以一般设置f=1.4/1.8 。但是,大光圈带来的进光量大,会让曝光过多,照片亮化。所以通过快门的速度非常快,控制进光量。一般在1/500 甚至1/800 。感光度太大会产生噪点,所以,在保证成像正常的情况下感光度设置低一点就好(50/100)

    1、如果拍摄一个在夜晚跑步的人,应如何设置三要素?

    首先为了让夜晚拍出较亮的照片效果,进光量需要多,所以光圈要大。设值光圈f=2.8的大光圈。如果太大,运动的物体焦点变化快,容易跑焦。快门设置成1/125 或1/250 ,感光度设置成800来保证一定的进光量,使画面亮度适中。

  • 虚拟机、VPS、容器…

    容器(Containers)的定义与特点

    容器是一种轻量级的虚拟化技术,它允许应用程序及其依赖项(如库、配置文件)打包成一个独立的、可移植的单元,在共享的操作系统内核上运行。容器不像虚拟机那样模拟完整的硬件,而是通过隔离机制(如命名空间和控制组)来实现进程级别的隔离。

    具体产品实例

    典型代表包括 Docker(最流行的容器引擎,用于构建和运行容器)、Podman(无守护进程的容器工具,兼容 Docker)、Kubernetes(容器编排平台,用于管理大规模容器部署,如 Google Kubernetes Engine)。

    如何区分容器与其他技术

    • 与虚拟机(VM)的区别:虚拟机模拟整个硬件环境,包括独立的操作系统内核,因此资源开销大(需要为每个 VM 分配完整的 OS)。容器共享宿主机内核,只隔离应用层,因此启动更快(秒级 vs. 分钟级)、资源利用率更高(更少的内存和 CPU 开销),但安全性稍低(内核漏洞可能影响所有容器)。容器适合微服务和 DevOps,而 VM 更适合运行不同 OS 的场景。
    • 与 VPS(Virtual Private Server)的区别:VPS 通常基于虚拟机技术,提供一个完整的虚拟服务器环境,用户有 root 权限。容器更像是应用级隔离,不提供完整的服务器访问,通常用于部署单个应用或服务栈。VPS 像租用一台远程服务器,而容器像打包好的软件包。
    • 与商家推出的平台服务(Game Platform Services)的区别:商家推出的平台服务(如游戏平台)是专注于数字内容分发、在线游戏和社区的云端服务,通常不涉及底层虚拟化隔离,而是提供 API 和用户界面。容器是通用软件虚拟化技术,没有特定于游戏的生态;平台服务可能使用容器作为后端,但用户端是订阅或购买模式。

    详细阐述

    • 优点:高效、可移植(镜像可以在任何支持容器的环境中运行)、易于扩展(通过编排工具实现自动缩放)。
    • 缺点:依赖宿主机内核(通常 Linux),无法运行 Windows-only 应用;隔离不如 VM 强。
    • 常见用例:Web 应用部署、CI/CD 管道、微服务架构。例如,在 Docker 中,你可以创建一个 Nginx 容器的镜像,并快速部署到生产环境。
    • 架构:容器引擎管理镜像(只读模板)和容器(运行实例)。镜像基于分层文件系统(如 AUFS),允许高效存储和更新。

    可以用在其上的语言/脚本

    容器支持几乎所有编程语言,只要它们能在容器化的 OS(如 Ubuntu 或 Alpine Linux)上运行。常见包括:

    • 脚本语言:Bash/Sh(用于自动化脚本,如 Dockerfile 中的 ENTRYPOINT)、Python(用于 Web 框架如 Flask/Django,在容器中运行脚本如 python app.py)、Node.js(JavaScript/TypeScript,用于后端服务,如 Express.js)。
    • 编译语言:Go(高效的容器化应用,如 Kubernetes 本身用 Go 写)、Java(通过 JVM 在容器中运行 JAR 文件)。
    • 其他:Ruby、PHP、Perl 等。容器常用 Dockerfile 来定义构建脚本,例如:textFROM ubuntu:22.04 RUN apt-get update && apt-get install -y python3 COPY app.py /app/ CMD ["python3", "/app/app.py"]这是一个简单的 Python 脚本容器化示例。你可以用 docker build 和 docker run 来执行。

    虚拟机(Virtual Machines)的定义与特点

    虚拟机是通过 hypervisor 在物理硬件上模拟完整计算机系统的技术。它包括虚拟 CPU、内存、存储和独立的操作系统内核,用户感觉像在使用一台独立的物理机。

    具体产品实例

    典型代表包括 VMware vSphere(企业级 hypervisor,用于数据中心虚拟化)、VirtualBox(免费桌面虚拟化工具,由 Oracle 提供)、KVM(Linux 内核内置的开源 hypervisor,常用于云环境如 Proxmox)。

    如何区分虚拟机与其他技术

    • 与容器的区别:VM 有完整 OS 内核,资源开销大,但隔离更强(适合多租户环境)。容器更轻量,但共享内核。
    • 与 VPS 的区别:VPS 通常是基于 VM 的托管服务,提供远程访问(如 SSH)。VM 是底层技术,而 VPS 是商业产品。
    • 与商家推出的平台服务(Game Platform Services)的区别:平台服务是云端游戏分发和订阅服务,VM 是通用虚拟化;平台服务可能在后端使用 VM 来托管服务器,但前端是用户订阅模式,如在线游戏流媒体。

    详细阐述

    • 优点:强隔离(不同 VM 可以运行不同 OS,如 Windows 和 Linux)、灵活性高(迁移容易)、安全性好(内核隔离)。
    • 缺点:启动慢、资源消耗高(每个 VM 需要 GB 级内存)。
    • 常见用例:测试不同 OS、云服务器、桌面虚拟化。例如,在 VirtualBox 上运行一个 Windows VM 来测试软件兼容性。
    • 架构:Type-1 hypervisor(如 VMware ESXi)直接运行在硬件上,Type-2(如 VirtualBox)运行在宿主 OS 上。VM 使用虚拟磁盘(如 VMDK 文件)存储数据。

    可以用在其上的语言/脚本

    VM 可以运行任何 OS,因此支持所有语言:

    • 脚本语言:PowerShell(Windows VM)、Bash(Linux VM)、Python(跨平台脚本,如自动化任务)。
    • 编译语言:C/C++(编译后运行二进制)、Rust(系统级编程)。
    • 其他:任何语言,只要 OS 支持。例如,在 Linux VM 上用 Bash 脚本管理服务:text#!/bin/bash sudo apt update sudo apt install nginx sudo systemctl start nginx或在 Windows VM 上用 PowerShell:textInstall-Package -Name SomePackage Start-Process -FilePath "app.exe"

    VPS(Virtual Private Server)的定义与特点

    VPS 是一种托管服务,使用虚拟化技术(通常 VM)为用户提供一个专属的虚拟服务器环境。用户获得 root/管理员权限,可以安装软件、管理文件,像拥有物理服务器一样,但实际共享底层硬件。

    具体产品实例

    典型代表包括 AWS EC2(亚马逊的弹性计算云,提供可扩展 VPS)、DigitalOcean Droplet(简单易用的 VPS 托管,针对开发者)、Linode(Akamai 的 VPS 服务,强调性能和全球数据中心)、Vultr(高性能 VPS,支持自定义 ISO)。

    如何区分 VPS 与其他技术

    • 与容器的区别:容器是应用隔离,VPS 是服务器级隔离。容器常运行在 VPS 上(如在 VPS 中部署 Docker)。
    • 与虚拟机的区别:VPS 是基于 VM 的产品化形式,通常由提供商管理 hypervisor,用户只需管理 OS 以上部分。
    • 与商家推出的平台服务(Game Platform Services)的区别:VPS 是通用服务器托管,平台服务是专为游戏设计的云服务(如游戏库订阅);VPS 可以用于自建游戏服务器,而平台服务提供现成生态和 DRM。

    详细阐述

    • 优点:成本低(比专用服务器便宜)、可扩展(升级 CPU/内存)、隔离好(比共享主机强)。
    • 缺点:性能依赖提供商、可能有资源争用。
    • 常见用例:网站托管、数据库服务器、VPN。
    • 架构:基于 OpenVZ(容器式)或 KVM/Xen(VM 式)。用户通过 SSH/RDP 访问。

    可以用在其上的语言/脚本

    与 VM 类似,支持所有语言:

    • 脚本语言:Bash(Linux VPS,用于服务器管理脚本)、Python(自动化运维,如 Ansible 脚本)。
    • 编译语言:Java(运行 Tomcat 服务器)、Go(构建 API 服务)。
    • 其他:PHP(Web 脚本)、Node.js。示例:VPS 上部署 Web 应用的 Bash 脚本:text#!/bin/bash yum install -y httpd systemctl start httpd echo "Hello World" > /var/www/html/index.html

    商家推出的平台服务(Game Platform Services)的定义与特点

    商家推出的平台服务是指游戏公司或科技巨头提供的数字平台,通常包括游戏分发、在线订阅、云游戏流媒体和社区功能。这些服务通过云端或客户端提供访问游戏内容的生态系统,而不是物理硬件。

    具体产品实例

    典型代表包括 Steam(Valve 的 PC 游戏平台,提供游戏购买和多人联机)、Xbox Game Pass(Microsoft 的订阅服务,包含云游戏和跨设备访问)、PlayStation Plus(Sony 的平台服务,支持在线多人游戏和游戏库订阅)、NVIDIA GeForce Now(云游戏流媒体服务,利用 GPU 渲染游戏)。

    如何区分商家推出的平台服务与其他技术

    • 与容器的区别:容器是软件虚拟化,平台服务是端到端游戏生态;平台服务可能在后端使用容器来部署游戏服务器。
    • 与虚拟机的区别:VM 模拟通用计算机,平台服务是专用游戏分发;VM 可以用于自建平台服务后端。
    • 与 VPS 的区别:VPS 是远程服务器托管,平台服务是消费者导向的游戏订阅;VPS 可以托管自定义游戏服务器,而平台服务提供托管内容。

    详细阐述

    • 优点:便利性高(无需高配硬件,通过流媒体玩游戏)、跨平台支持、社区集成(如成就系统)。
    • 缺点:依赖互联网(延迟问题)、订阅费用、内容受限于商家库。
    • 常见用例:在线游戏订阅、云游戏、数字分发。例如,通过 Xbox Game Pass 在手机上流媒体玩 console 游戏。
    • 架构:基于云基础设施(如 AWS 或 Azure),前端是 App/网页,后端使用 VM/容器托管游戏实例。

    可以用在其上的语言/脚本

    平台服务支持有限的自定义,通常通过 SDK 或 API:

    • 开发语言:C#(Xbox 支持 .NET 和 Unity)、C++(Steam SDK 用于游戏集成)。
    • 脚本:Python(用于自动化工具,如 Steam API 脚本)、JavaScript(网页端 mod)。官方开发需 SDK,例如 Steamworks API(C++ 重)。示例:Unity 脚本(C#)用于集成平台服务:textusing UnityEngine; public class GameService : MonoBehaviour { void Start() { // 示例:连接到平台 API Debug.Log("Connecting to Game Pass..."); } }注意:普通用户主要通过界面交互;开发者需认证工具。
  • 关于应用程序接口

    一个手机号码对应一个GT的api_id 和api_hash值。根据官方文档,目前每个手机号码只能连接一个 API ID(及其对应的 Hash 值)。如果您使用不同的手机号码登录开发者门户,则会获得与该号码关联的另一个 API ID 和 Hash。因此,一旦你自己申请了api_id和api_hash值,就要妥善保管起来。因为如果有了些,是能够通过其访问你的app的。跟丢了自己的账号一样。当然,你可以通过自己的手机号码要找回。但是,风险依然存在!而TG_SESSION_STR 是 GT 脚本中用于身份认证的环境变量。它本质上是 Telethon 库中 StringSession 的字符串表示形式,用于存储 GT 账户的会话数据(如授权密钥、数据中心信息等),允许程序在无需每次手动登录的情况下,以特定用户身份访问 GT- API。这种变量代表了一个单一的 GT 用户会话身份,可以在多个脚本或程序中复用,但它绑定于生成时使用的账户(手机号码),不可随意分享以防账户安全风险。

  • 未实现cf托管的免费二级域名

    最近几天免费的二级域名越来越多的出现在群里,其中不乏已经申请进入PSL的域名。就等cloudflare拉取这些已经被审批的域名后,就能被托管在cf上了。但有个问题是,这里面有几个域名注册说明上规定如果注册域名后没有及时挂在自己的网站或者博客上(就是闲置没有使用)几天后就会被清理。咨询ai 后提供了几个方法,其中就是通过在cloudflare 和域名注册商的域名管理中添加cname 记录,用以绑定在cf 上能够访问的一个域名上,从而解决了这个新域名闲置的问题。待cloudflare拉取psl成功后就再一次托管到其上就行了。

    那么,如果简介的托管在CF上呢?下面提供一个具体思路:

    登录cf上,找到自己的一个pages项目进入后,点击绑定–添加域名—将申请的域名(带上前缀成为三级域名)添加进去—继续–添加我的dns域名提供商下面的“开始cname设置”按钮。出现名称、目标项目,把“目标”中的值复制后,来到域名注册的界面。添加cname记录。这个条目会看到自己刚注册的域名出现在名称位置,将在cloudflare上设置cname的时候添加的域名前缀写到这里,然后目标位置将cf 添加cname的时候出现的目标(前面已经复制了)填到这个目标位置。这样设置后,基本上申请的域名基本上就可以在cf上使用了。

  • 代理加速:“套”CDN

    “套CDN” 是中文网络社区(尤其是VPS、代理、建站圈子如V2EX、Hostloc、Linux.do等)里的一个常用俚语,意思是将网站、服务器或代理服务接入CDN(内容分发网络)服务,让流量先经过CDN节点中转,再回源到原始服务器(origin)。

    为什么叫“套”?

    • 形象地说,就像给服务器“套上一层外衣”或“戴一套护具”。
    • 通过修改域名DNS解析(通常加CNAME记录指向CDN提供的地址),把CDN“套”在你的域名和服务前面。
    • 常见操作:用Cloudflare(CF)、阿里云CDN、腾讯云CDN等,把域名托管到CDN上,开启代理(橙色云图标)。

    主要用途:

    1. 网站加速
      • CDN把静态内容(如图片、JS、CSS)缓存到全球节点,用户就近访问,加载更快。
      • 动态内容也可中转,减轻源站压力,防DDoS。
    2. 隐藏/保护源站IP(尤其是VPS圈常见):
      • 直接暴露服务器IP容易被封禁(墙、投诉、攻击)。
      • 套CDN后,用户看到的是CDN的IP(大量共享,不易封),源站IP隐藏。
      • 特别在自建代理/VPN(如V2Ray、Xray、Trojan、Shadowsocks + WS + TLS)时,用来“救活被墙的IP”——IP被封了,套Cloudflare CDN就能继续用(流量走CDN节点)。
    3. 其他好处
      • 免费SSL证书(一键开启)。
      • 防攻击(CDN有WAF、率限等)。
      • 对于NAT VPS(共享IP的廉价“小鸡”),套CDN能绕过端口限制、IP共享问题。

    常见例子:

    • 用Cloudflare套CDN:免费、简单,但免费版对国内有时减速(流量绕道国外),需要优选IP或用Spectrum(付费)提升。
    • NAT小鸡上跑多个服务:直接暴露共享IP易被封,套CDN后子域名走代理,安全多了。
    • 缺点:有时会增加延迟、限速(尤其免费CDN),或不适合某些协议(如纯QUIC的Hysteria不支持套CDN)。

    总之,在建站/VPS社区,“套CDN”基本等于“用CDN加速+防护”,尤其是指用Cloudflare免费套一层来隐藏IP、防封禁。如果是在折腾代理或网站,推荐先试Cloudflare免费版,教程到处都是。

  • 这只“小鸡”

    进入这个“甲骨文”小鸡的面板,看到配置很低,听人说这是甲骨文arm免费机器切割出的小鸡,就是说一个免费的arm,切成多个共享ip的网内容器。属于nat vps(共享ip的容器)

    因此:我使用的不是一台拥有独立公网 IP 的完整虚拟机(VPS),而是一台 NAT VPS(共享 IP 的容器)

    这意味着:

    一切都要靠“映射”:就像我必须映射 22 端口才能 SSH 连进去一样,我的 VLESS、Hysteria 等节点想要通,当然也必须在网页端做端口映射

    没有公网 IP 的直接控制权:公网 IP 是挂在宿主机上的,而我只有一个内网 IP。

    没有内核权限:所以无法运行 iptables 或 ufw,也无法修改系统底层的防火墙(因为那是宿主机管理的)。

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

    前几天在群里逛,赶上抽奖,奖品是甲骨文小鸡。这个“小鸡”的称呼来源于网络,其实就是指代那些配置低,功能简陋,设置单一的轻量服务器(容器)。我抽中的就是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’)

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