标签: proxy

  • NAS玩家必备:Lucky实现域名解析、自动证书与安全反代全攻略

    Lucky是@古大羊开发的一款家庭公网利器,专为NAS、软路由等内网设备打造的全能网络工具,集成动态域名解析(DDNS)、反向代理、SSL证书自动续签、端口转发、内网穿透等核心功能,支持IPv4/IPv6双栈访问,是2025年NAS玩家必备的免费实用神器。

    对于国内的家庭网络环境,Lucky尤其适合搭建在 NAS(如威联通 QNAP)、软路由或轻量级 Linux 服务器上,用于实现外网访问(内网穿透和反向代理)家庭设备或服务,简单易用稳定也基本不需要怎么折腾。

     前言 

    多家DNS服务商(阿里云、腾讯云、Cloudflare等),可自动将动态公网IP与固定域名绑定,实现域名访问NAS。配置时需获取域名服务商的API密钥(AccessKey ID和Secret),填写主域名和泛域名(如example.com和*.example.com),Lucky会自动同步解析记录,

    通过ACME协议自动申请Let’s Encrypt免费SSL证书,支持泛域名证书,证书到期前约36天自动续签,无需手动操作。配置时选择ACME方式,填写域名列表和DNS服务商Token,开启DNS查询强制IPv4和仅使用TCP通道即可。

    支持HTTP/HTTPS反向代理,可将不同服务统一到单一入口端口,通过二级域名区分访问(如movie.example.com → Jellyfin服务)。监听端口可自定义(如443、8443等),需在路由器中设置端口转发。支持TLS加密,可隐藏真实端口,提升安全性。

    配置流程

    1. 设置DDNS:添加DDNS任务,选择服务商并填写API密钥,配置域名解析
    2. 申请SSL证书:选择ACME方式,关联DNS服务商,申请泛域名证书
    3. 配置反向代理:添加Web服务规则,设置监听端口和TLS,添加子规则指定前端域名和后端服务地址
    4. 端口转发:在路由器中将监听端口转发到NAS内网IP

    部署平台:威联通NAS TS-673A

    Lucky版本:2.17.3 linux(x86_64)

    部署方式:Docker Compose

    网络状况:默认已经折腾好公网IP

    另外还需要我们提前准备Token,这个可从域名托管商处获得,我们以DNSPod为例。

    将ID和Token复制下来备用。

     部署方式 

    打开威联通的Container Station,创建新的应用程序。部署代码如下:

    services:

       lucky:
          image: gdy666/lucky
          container_name: lucky
          restart: always
          volumes:
             -'/share/Container/lucky:/goodluck'# 这步必须做,否则重启配置会消失,可直接照抄配置。
          network_mode: host
    # host模式, 同时支持IPv4/IPv6, Liunx系统推荐
    # 桥接模式, 只支持IPv4,windows 不推荐使用docker版本
    # 我仍然不建议使用默认的桥接模式,如作者所说很容易出问题,已经试验过

     修改基础配置 

    内网环境下,输入NAS_IP:16601即可访问管理界面。默认的账户密码为 666/666

    但如果像我一样,远程折腾,可以利用威联通自带的Browser Station。也可将16601端口通过路由器转发到公网,通过外网访问(公网IP:16601)进行配置。

    从版本2.13.9开始,在默认配置中,外网访问开关处于关闭状态。然而,在 lucky_base.lkcf 配置初始化后的十分钟内,系统允许外网访问。如果在这十分钟内执行了配置保存操作,则外网访问开关的设置将优先生效。如果错过了这个时间,您需要通过删除 lucky_base.lkcf 配置文件并重启 Lucky 进程的方式,使 lucky_base.lkcf 配置再次初始化。

    登入后如下图所示进行设置,除了登陆验证修改默认账号密码外,其他凭大家需求。

    安全入口部分为了安全考虑能改则改,比如若修改为/ydxian,则内外网无论那个想要访问Lucky的登陆面板,最后都要在完整的访问地址后加上/ydxian。如果不加,会得到如下结果。

     动态域名(DDNS) 

    这里需要使用到上文域名托管商所获的Token。

    左侧栏第三项「动态域名」,点击「添加任务」。

    选择托管商,我这里选择的是DnspodCN(如果你的DNS服务商不在列表当中,则使用万能的自定义Callback模式),粘贴ID与Token。根据你的网络情况选择启用同步类型(IPv4或IPv6),我的为IPv4公网。

    接着下拉界面,点击「添加同步记录」。

    记录栏中先填写主域名(二级域名),回车换到下一行,再填写通配符域名(所有三级子域名),如果你有更多需求则回车另起一行再继续添加即可。

    点击「添加任务」,Lucky就会自动保存并自动进行同步。成功后的界面如下。

     SSL/TLS证书 

    这里依然需要使用到上文域名托管商所获的Token。

    左侧栏点击「SSL/TLS证书」,接着点击「添加证书」。

    对证书进行备注,添加方式选择ACEM,ACME类型证书会在到期前约36天自动续签。证书颁发机构选择Let’s Encrypt。验证方式要与上文动态域名解析的保持一致。粘贴ID和Token,补充域名列表,这里同样与上文一致。更多设置勾选DNS查询强制IPv4和DNS查询仅使用TCP。搞定后直接点击「添加」。

    如果你有其他证书需求,也可自行上传或指定证书路径。

    稍等一会儿,成功的结果界面如下。

     Web服务 

    这里开始配置反向代理相关。

    左侧栏点击「Web服务」,点击「添加Web服务规则」。

    对服务规则进行命名。监听类型同样根据实际网络情况选择。监听端口自定(我预设为7086,但IPv6可忽略这项),要是未被占用的可用端口,后面还要对这个端口进行转发,可惜国内IPv4的443基本不能用。我们已然申请证书要通过HTTPS访问,TLS需要开启。

    接着是默认规则,选择关闭链接,会对下面的子规则生效。就是如果访问的地址与子规则的配置不符,不会返回任何响应(如 403、404、503 等),而是直接丢弃请求。这里其实完全没必要管,官方文档也有提示。

    最后添加子规则。现在的Lucky支持批量修改前端域名,如果我们实行域名年抛策略会非常方便。

    以上一篇部署的TR下载器为例,服务类型选择反向代理。前端地址填写纯粹的域名,不要带杂七杂八内容,域名前缀自定义即可。后端地址则要填写内网完整的访问地址,如下图所示。

    确认无误后,右下角点击「添加/修改子规则」即可。如下图的红色框标注部分便是以后外网访问TR的地址。

    最后还差一步,就是IPv4用户需要对监听端口进行转发。

    来到路由器,设置端口转发/映射,内网地址填写为NAS内网IP,端口则为上文设置的监听端口,最后保存即可。

    至此已经实现家庭NAS外网访问方案。后续也可以将Lucky本身以及其他服务都加入进去。

     情况补充 

    当时写Lucky流程试验后碰到的问题:

    在手机浏览器输入域名+监听端口时,会连接失败,必须要手动再补上https://。

    因此我们要添加 HTTP → HTTPS 的自动跳转规则。

    继续点击「添加Web服务规则」。

    配置如下。

    监听端口和前面的保持一致。TLS不要开。

    接着下拉界面编辑默认规则。

    服务类型选择重定向。

    默认目标地址填写https://{host}:{port}。

    修改/保存即可。

    Lucky特别适合家庭NAS环境,可将Jellyfin、Emby、qBittorrent等各类服务通过二级域名统一访问,实现”一个域名+N个服务”的便捷管理。相比传统方案(DDNS-GO + Nginx Proxy Manager),Lucky将多个工具功能整合到一个界面,操作更简单,配置更直观,适合新手玩家快速上手。

    安全建议:首次使用后务必修改默认密码,设置安全入口路径,关闭外网访问开关,定期备份配置文件。对于公网IPv4用户,建议在路由器中设置端口转发;IPv6用户需确保光猫和路由器开启IPv6桥接模式。

  • 告别网络限制!利用Cloudflare免费服务,在国内稳定调用Gemini API

    告别网络限制!利用Cloudflare免费服务,在国内稳定调用Gemini API

    兄弟们,是不是被Gemini API那堵“墙”给整烦了?想用个最新的AI模型,还得各种折腾网络环境,代码动不动就给你报个400、403?别慌,今天李哥就带你玩个花的——直接白嫖Cloudflare的全球网络,给Gemini API搭个免费、高速还稳得一匹的“国内专线”!咱不整那些虚头巴脑的理论,就讲究一个实战落地。核心思路非常简单:利用 Cloudflare Workers​ 这个“神器”做个反向代理,让它帮你跑腿去访问Gemini,你再从国内直接调用这个代理地址就完事了。

    一、核心原理:反向代理(Reverse Proxy)

    简单来说,就是把 Cloudflare 当作一个“中转站”。

    我们遇到的问题是:我们的设备(电脑、服务器)无法直接访问 Google Gemini 的 API 服务器地址 generativelanguage.googleapis.com

    Cloudflare 的作用就是:

    1. 你访问 Cloudflare:你将本来要发送给 Gemini API 的请求,发送到一个由你控制的、Cloudflare 提供的域名上(例如 xxx.yourname.workers.dev)。

    2. Cloudflare 访问 Gemini:Cloudflare 的服务器遍布全球,它会从一个可以正常访问 Google 的海外节点,去请求真正的 Gemini API 地址 generativelanguage.googleapis.com

    3. Cloudflare 返回结果:Cloudflare 拿到 Gemini API 的返回结果后,再通过那个你可以访问的域名,原封不动地返回给你。

    在这个过程中,Cloudflare 就像一个中间人,帮你完成了“出海”访问的步骤。你的设备始终只和 Cloudflare 通信,从而绕过了直接访问的限制。

    Image

    二、实现方法:Cloudflare Workers (最常用、最灵活)

    Cloudflare Workers 是一个无服务器(Serverless)计算平台,允许你在 Cloudflare 的全球网络边缘上运行 JavaScript 代码。用它来做反向代理非常完美。

    准备工作:

    1. 一个 Cloudflare 账户(免费版即可)。

    2. 一个 Cloudflaret 托管的域名。

    3. 一个 Google Gemini API 密钥。


    三、操作步骤:

    1. 登录Cloudflare,点击左侧菜单Workers和Pages,点击创建应用程序

    https://dash.cloudflare.com/

    Image

    2. 选择从Hello World!开始,点击开始使用
    Image

    3. 给worker起个自己中意的名称,这里叫gemini-proxy;然后点击下方部署按钮。
    Image

    点击访问,打开页面就能看到Hello World了,说明部署成功。


    Image

     4点击编辑代码按钮。

    Image

    5. 将下列代码覆盖贴入左侧代码栏中,点击部署

    exportdefault {
    asyncfetch(request, env) {
        // 1. 解析原始 URL
        const url = newURL(request.url);

        // 2. 仅替换主机名(协议、路径、查询都保留)
        url.hostname = 'generativelanguage.googleapis.com';
        url.port   = '';          // 443 默认
        url.protocol = 'https:';  // 向外走 HTTPS

        // 3. 构造新请求:把 method、headers、body 原样带过去
        const newReq = newRequest(url.toString(), {
          method  : request.method,
          headers : request.headers,
          body    : request.body
        });

        // 4. 发出去并直接把响应返回给浏览器
        returnfetch(newReq);
      }
    };

    Image

    因为被封了这个域名后缀,这时需要梯子去访问你的worker地址。


    接下来我们进一步设置,就是用自己的域名去访问。


    Image

    6. 开始DNS解析记录操作,依次点击主页>DNS记录>添加记录
    Image

    Tips:

    • 代理状态关闭(仅DNS)。

    • DNS可以添加多个IP,选用以下即可,也可网上自行查找可用IP。

    • 点击查看支持的区域:https://ai.google.dev/available_regions


    #IP属地不对,使用时会报错


    Connection failed!
    {
      "error": {
        "code"400,
        "message""User location is not supported for the API use.",
        "status""FAILED_PRECONDITION"
      }
    }



    #可用IP

    104.23.240.1      # 美西 151 ms
    104.16.123.1      # 美西 140 ms
    172.64.32.1       # 美西 135 ms


    这里名称填写gemini,并指向可用的IP


    Image

    7. 左侧菜单Workers路由,点击添加路由按钮

    • Image
    • 设置的域名和worker的路由关系,填写如下:

    • gemini.chinapmcc.com/*

    • gemini-proxy

    • Image
    •  

    8. 生成Google AI的API密钥,需要梯子。 Gemini Pro的api key获取地址:https://makersuite.google.com/app/apikey
    Image

    9. 验证并应用,配置时用到两个东西:API KEY、API 地址 经过上述配置,就可以使用Gemini了,下面通过两个应用例子验证,在其他应用中使用也是一样的方法。 

    官方Gemini API 调用地址https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent?key={key}
    将前面地址替换成 
    https://gemini.chinapmcc.com/v1beta/models/{model}:generateContent?key={key}

    • 沉浸式翻译 API配置 API KEY,API 地址贴入,点击测试服务,绿色勾代表成功

      Image

      打开外文网站时,点击沉浸式翻译图标,翻译服务选择设置好的Gemini API,点击翻译即可翻译网站。

      Image


    • Chatbox API配置 https://web.chatboxai.app/settings API KEY,API 地址贴入,点击Check,Connection successful!代表成功,点击右上ESC返回 General Settings中可设置中文语言
      Image

      OK~现在可以在chatbox中免费使用Gemeni了

      Image


    Previous Posts
    往期推荐
    💡你的免费建站好搭档(Cloudflare R2):零成本享受云储服务,全球加速访问文件库

     

     

  • 一键部署ZeroNews:无公网IP远程访问NAS的国内备选方案

    一键部署ZeroNews:无公网IP远程访问NAS的国内备选方案

    在当今数字化时代,无论是个人用户还是企业团队,都越来越依赖本地网络中的资源,例如家庭NAS中的珍贵数据、公司内网的办公系统,或是正在开发中的Web项目。然而,一个普遍的困境横亘在面前:当我们离开本地网络(如家庭或公司)时,由于缺乏公网IP地址,直接访问这些内网资源变得异常困难。
    传统的解决方案,如申请公网IP、配置复杂的端口映射或搭建FRP服务器,不仅技术门槛高、过程繁琐,且其稳定性和安全性也往往难以保障。有没有一种方法,能让我们像访问公共网站一样,轻松、安全地从任何地方连接回内网服务?
    答案是肯定的。ZeroNews(零讯)作为一款创新的国产内网穿透平台,正是为解决这一痛点而生。它通过自研的高性能加密隧道技术,为用户提供了一个无需公网IP、无需配置路由器、即开即用的远程访问方案。本文将带您深入了解ZeroNews,从其在威联通、群晖等主流NAS上的Docker一键部署,到如何安全地访问Web服务与管理远程桌面,并客观分析其作为免费基础服务的优势与限制,旨在为您提供一份详实的参考,帮助您高效、安全地将内网服务带入公网视野。

    这个项目目前提供的免费基础服务,没条件外网访问设备的朋友,可以当成个备选方案,建议白嫖


    特别说明

    Nginx Proxy Manager(NPM) 本质上是对 Nginx 的图形化封装,方便用户管理反向代理、虚拟主机与 SSL 证书。但它依然属于本地部署方案,需要配合公网 IP、端口映射或 DDNS 才能实现外网访问。

    相较之下,ZeroNews 是一款内网穿透与远程访问平台,通过云端隧道让外网能够直接访问内网服务,无需公网 IP 或端口映射。即便它支持云端自动签发 SSL,实现加密访问,但 ZeroNews 的核心并不是反代,而是穿透。

    因此,这两者并不存在谁更优的问题,而是针对不同网络环境与使用需求的两种工具。

     

    ZeroNews(整理自官网)

    ZeroNews(中文名“零讯”)是一款创新的边缘云内网穿透平台,旨在帮助用户在无需公网 IP 或 V*N 的情况下,实现外网对内网资源的安全访问。它通过自研的 ZeroNews Tunnel 高性能加密隧道协议,在云端与本地 Agent 之间建立 TLS 加密连接,从而让 NAS、服务器或 IoT 设备可被远程安全访问。

    ZeroNews 的 Agent 程序免安装、轻量级,支持 Windows、macOS、Linux、OpenWRT 及 ARM 设备。常见应用包括远程访问 NAS 文件、进行开发测试、跨网段管理主机、集中 RDP/SSH 连接等。它支持多 Agent 与多隧道连接,配置存储于云端,可在新设备上一键恢复,真正实现“即开即用、无感穿透”。


    部署流程

    大家应该知道,隧道穿透类服务基本都是需要「握手」,ZeroNews也不例外。

    首先要获取一个Token,这个需要到官方网站注册账户才可获取。

    注册流程就不啰嗦了,非常简单。不过要注意的是,想长期使用需要进行实名认证。

    如下图所示,点击快速开始。会自动生成部署代码,其中环境变量中的Token每个人都不一样,可在顶部栏的「Token」中查看和管理。我们仅需要复制红框中的内容,Token也单独复制备用。

    接着打开威联通的Container Station,创建新的应用程序。将代码复制进去并创建。ZeroNews 还提供了官方镜像仓库,拉取失败的朋友可以用那个!

    部署代码就不放了,大家自己复制~

    部署完毕后,在观望的控制台,「Agent」中便可看到设备了~


    使用介绍

    接上文。

    威联通NAS的默认局域网端口一般为5000,旧系统为8080。(反正默认就这俩)

    在官网控制台,顶部栏点击「映射」-「添加映射」。免费版没办法自定义域名之类,跟花生壳一样,官方会提供一个随机生成的,图中为「公网访问地址」,勾选就行。

    添加完毕后如下图所示。

    接着就能通过这个 公网访问地址 访问局域网的这台NAS了。

    威联通官方移动应用 Qfile Pro 接入也没问题。输入地址,勾选SSL访问,输入账户密码即可。

    Docker等其他应用使用方法都差不多。


    最后

    太一般了。

    类似ZeroNews的三方穿透服务(花生壳等)其实也都一个样,想要获得接近或等同于公网的体验,免费版几乎是不行的,限制相当多~。没有公网且有外网大文件传输需求的朋友,得+钱获取更大服务带宽,企业版我看也就 10Mbps。

    个人观点:不如买个国内VPS自己玩,69一年的阿里云FRP映射,现在教程也满天飞了,大家可以搜一搜了解下。

     

     

     

     

  • 通过宝塔粗浅的解释一下“反向代理”

    通过宝塔粗浅的解释一下“反向代理”

    讲反向代理之前,我们需要先来熟悉一下正向代理,正向代理代理(forward proxy):是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端(比如我们访问Google,就是用的这个技术)
    反向代理(reverse proxy):是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务,因为向代理中多出一个可以重定向解析的功能操作,导致反代理出的站点指向和真实应用毫无关系
    这么说可能有些晦涩难懂,可以从以下几个角度来比较:

    • 正向代理和反向代理都是解决访问不可达的问题
    • 正向代理是在A端(客户端)设置,A通过B访问C,对于C来说,不知道A的存在
    • 反向代理是在B端(服务端)设置,A访问B,B返回C的结果,对于A来说,不知道C的存在

    接下来我们通过宝塔来演示一下反向代理
    1.打开宝塔,创建一个网站

    通过宝塔粗浅的解释一下“反向代理”

    2.添加解析记录到该服务器中

    通过宝塔粗浅的解释一下“反向代理”

    3.此时访问dl.zhangjia.pro,即可看到我们的网站,此时是没有添加任何代理的

    通过宝塔粗浅的解释一下“反向代理”

    4.打开宝塔设置,添加反向代理设置

    通过宝塔粗浅的解释一下“反向代理”

    5.此时访问dl.zhangjia.pro,打开的网站却是zhangjia.io,反向代理成功