首页
文章分类
逆向网安
中英演讲
杂类教程
学习笔记
前端开发
汇编
数据库
.NET
服务器
Python
Java
PHP
Git
算法
安卓开发
生活记录
读书笔记
作品发布
人体健康
网上邻居
留言板
关于我
Search
登录
1
浅尝Restful Fast Request插件,一句话完成 逆向过程
6,191 阅读
2
利用AList搭建家庭个人影音库
5,566 阅读
3
完美破解The Economist付费墙
4,065 阅读
4
i茅台app接口自动化csharp wpf实现,挂机windows服务器每日自动预约
3,695 阅读
5
青龙面板基本使用并添加修改微信/支付宝步数脚本
3,233 阅读
Search
标签搜索
PHP
Laravel
Python
前端
csharp
安卓逆向
JavaScript
Java
爬虫
抓包
Git
winform
android
Fiddler
Vue
selenium
LeetCode
每日一题
简单题
docker
Hygge
累计撰写
113
篇文章
累计收到
456
条评论
首页
栏目
逆向网安
中英演讲
杂类教程
学习笔记
前端开发
汇编
数据库
.NET
服务器
Python
Java
PHP
Git
算法
安卓开发
生活记录
读书笔记
作品发布
人体健康
页面
网上邻居
留言板
关于我
用户登录
搜索到
9
篇与
的结果
2026-06-04
甲骨云永久免费 VPS 注册实战:每一步截图带你避坑
大家好,我是Hygge先说清楚,Hygge今天不是带大家来“薅甲骨文羊毛”的。我们注册甲骨云 VPS,不是为了注册而注册,更不是为了进控制台看一眼机器,然后感叹一句:“哇,我也有服务器了。”真正的目的,是为了后面把 Hermes Agent、OpenClaw、自建站、知识库服务、AI 自动化工作流 这些东西跑起来。VPS 可以理解成放在云端的一台小电脑。它 24 小时在线,能帮你跑服务、挂工具、建网站、折腾 Agent。这就是为什么Hygge要专门做这一期。因为你的 AI 工作流,不能永远只跑在自己电脑上。电脑一关机,服务就停;网络一抽风,流程就断;教程看着都懂,一实操全是报错。所以,第 01 期我们先不聊宏大叙事,也不聊 AGI 改变世界。今天就干一件具体的事:把甲骨云 VPS 注册成功。甲骨云注册不是玄学,更像一道流程题。邮箱、网络、浏览器、信用卡、地址信息,只要前面准备对了,后面就少踩很多坑。先把服务器这块地基打下来,后面 Hermes、OpenClaw、自建站和 AI 自动化工作流,才有地方往上搭。甲骨云 VPS 注册前准备清单很多人注册甲骨文云失败,不是因为这件事有多玄学,而是注册前的环境、资料、支付工具没有准备对。真正影响成功率的,不是你点按钮的速度,而是下面这几件事。邮箱准备建议使用中国大陆常用邮箱,例如:QQ 邮箱、网易 163 邮箱、搜狐邮箱等。不太建议一上来就用 Gmail。原因很简单:Gmail 收信经常需要切换网络环境,一旦注册过程中网络从国内环境切到代理环境,就容易触发风控。核心原则:邮箱能稳定收验证码,不要因为收邮件来回切网络。网络环境准备这是最关键的一项。注册过程中建议使用:纯净、稳定、不挂代理的国内网络。注册时尽量做到:不要开 VPN;不要开代理;不要一会儿切节点,一会儿换网络;不要注册到一半突然切换网络环境。甲骨云注册要的不是“能访问”,而是“网络环境稳定、连续、干净”。浏览器环境准备建议使用 Chrome 浏览器,并开启无痕模式。注册前最好关闭无关插件,不要在一堆账号登录状态、插件环境复杂的浏览器里操作。推荐配置:Chrome 浏览器;无痕模式;不装乱七八糟插件;不要同时开太多网页;注册过程保持浏览器环境简单干净。信用卡准备这是中国大陆用户注册时最容易卡住的地方。建议准备:中国大陆银行发行的信用卡;支持国际支付;最好是 Visa 或 Mastercard;最好是本人信用卡;卡内有少量可用额度;境外支付功能没有关闭。我使用的是招商银行 Visa 信用卡。注册过程中甲骨云会进行一笔小额预授权验证,字幕里提到大约是 1.38 新加坡元,通常验证后会退回。这里最重要的是:信用卡信息、姓名信息、账单信息尽量保持一致。身份与地址信息准备所有信息建议使用拼音填写。包括:姓名;备用姓名;账单地址;城市、省份、邮编;信用卡持卡人姓名。姓名最好和信用卡表面信息保持一致。地址信息也不要乱写,尽量使用真实、可解释的账单地址。手机号准备手机号不用过度焦虑。中国大陆手机号正常填写即可,区号选择 +86。主区域选择准备主区域非常重要,因为注册后基本无法更改。建议优先考虑离中国大陆较近的区域,比如:大阪;新加坡;韩国;东京。但要注意,东京、首尔这类热门区域可能资源紧张,后续开免费机器不一定顺利。更推荐尝试大阪。这里还有一个表述要注意:4核24G 免费高配实例通常应理解为 ARM/Ampere A1 实例,不建议写成 AMD。AMD 免费机器通常是低配 E2 Micro;ARM 才是大家常说的 4核 24G。甲骨云 VPS 详细注册步骤第一步:进入甲骨文云注册页面打开甲骨文云官网,进入免费试用注册页面。建议不要通过来路不明的链接注册,尽量使用官方入口。链接地址:https://www.oracle.com/cn/cloud/free/Start for Free / 点击立即免费使用进入注册流程。第二步:填写基础信息国家选择:China / 中国姓名使用拼音,不要写中文汉字。邮箱填写提前准备好的国内邮箱。填写完成后,点击:验证我的电子邮件 / Verify email然后去邮箱收取验证邮件。第三步:完成邮箱验证进入邮箱,找到甲骨文云发送的验证邮件。点击邮件里的:Verify email验证成功后,会跳回注册页面。这一步不要切换网络,不要开代理,不要换浏览器。第四步:设置账号密码密码至少 8 位以上,并且要包含:大写字母;小写字母;数字;特殊符号。建议提前准备一个复杂密码,并妥善保存。第五步:选择客户类型客户类型选择:Individual / 个人不要选企业账户,普通个人注册 VPS 选择个人即可。第六步:选择 Home Region 主区域这是注册中非常关键的一步。主区域就是你这个甲骨云账号未来的核心区域,注册后基本不能更改。建议选择:大阪、新加坡、韩国等离中国大陆较近的区域。第七步:填写地址信息地址信息全部用拼音填写。包括:地址;全拼音填写与信用卡账单一致地址城市;省份;邮编;手机号。手机号填写自己的中国大陆手机号即可。这里的地址可以理解为账单地址,尽量和信用卡信息保持一致。第八步:添加付款验证方式点击:Add Credit Card / 添加信用卡填写信用卡信息:卡号;有效期;安全码;持卡人姓名;账单地址。持卡人姓名继续用拼音,最好和信用卡表面一致。填写完成后点击完成。第九步:完成信用卡预授权验证甲骨云会发起小额预授权验证。字幕中提到会出现大约 1.38 新加坡元 的验证扣款,随后退回。这一步失败,通常和以下问题有关:信用卡不支持国际支付;境外支付被银行关闭;卡片余额或额度不足;姓名、地址、卡信息不一致;网络环境异常。第十步:勾选协议,开始免费试用确认信息无误后,勾选条款。点击:Start my free trial / 开始我的免费试用如果页面出现蓝色跑道加载图标,说明账号正在初始化。等收到开通邮件后,就可以登录甲骨文云控制台。注册成功后的关键步骤设置 MFA 身份验证第一次登录后,甲骨云会要求设置安全验证。根据提示下载:Oracle Mobile Authenticator然后选择移动应用,扫描页面二维码,完成绑定。这一步很重要,关系到账号安全。至此,我们整个甲骨云大板区的账号就全部开立成功了啊升级账户接下来我们来升级这个账号升级账户的目的:是为了防止甲骨云来封我们好不容易申请的号,同时也方便大家去开立四核心24G内存的ARM高性能服务器,有些朋友可能担心被反撸,那我的建议是只要你在自己的甲骨云主区域里面来做免费的VPS的使用,正常情况下你一个月有10T的流量,你根本用不完啊。也不会去触发他的收费项目。片刻,你会收到一封邮件,这是证明你已完全升级成功创建第一台免费 VPS接下来我们来创建第一个免费的一核心1G内存的AMD服务器进入控制台后,路径大致是:菜单 → Compute / 计算 → Instances / 实例 → Create Instance / 创建实例第一次安装要创建一个新的网络环境切记保存私钥我们是选择的是建议先创建一台低配 AMD 免费机器练手。可选配置参考:系统镜像:Ubuntu;实例规格:VM.Standard.E2.1.Micro;网络:首次创建时自动创建 VCN;硬盘:可以设置 50GB;因为要考虑到后面4核心24G内存那台服务器,然后把加密的这个硬盘取消掉,然后点击create当出现这个界面的时候,说明我们的创建没有问题,等片刻,就正常运行了登录方式:SSH 密钥登录。重点提醒:SSH 私钥一定要保存好。这个私钥就是你后面远程登录服务器的钥匙,丢了会非常麻烦。注意公网 IPv4创建 VPS 时要特别注意:是否分配公网 IPv4;安全组/入站规则是否允许 SSH;SSH 密钥是否正确;系统用户名是否正确。Ubuntu 系统一般使用:`ubuntu`作为默认登录用户名。关于升级 PAYG 账户升级的目的不是为了花钱,而是为了:降低账号被回收的概率;提高后续开 ARM 资源的成功率;更方便申请 4核 24G 的 ARM 实例。但这里一定要谨慎:升级时依然要保持注册时的网络环境;不要突然挂代理;系统语言最好和注册时环境保持一致;信用卡资料要和注册时一致;不要创建超出免费额度的资源。注册避坑点总结坑 1:注册过程中开代理这是高风险操作。注册甲骨云时,不是越“国际网络”越好,而是越稳定、越干净越好。尤其不要出现:注册页面用国内网络;邮箱验证时开代理;支付验证时换节点;注册成功后立刻挂代理升级。这种网络轨迹很容易异常。坑 2:使用 Gmail 收验证邮件Gmail 本身不是不能用,而是对中国大陆用户来说,Gmail 往往意味着你要切换网络才能收信。一旦注册过程中切换网络,风险就上来了。坑 3:浏览器环境太复杂浏览器插件过多、账号登录复杂、缓存历史混乱,都可能增加不确定性。建议直接用 Chrome 无痕模式。简单、干净、少变量。坑 4:信用卡不支持国际支付很多失败都卡在付款验证。你需要确认:信用卡支持 Visa/Mastercard;开通了境外支付;不是单纯的银联卡;卡片状态正常;有少量额度;银行没有拦截境外验证交易。坑 5:姓名、地址、信用卡信息不一致注册资料和支付资料越统一,越容易通过。不要一会儿中文,一会儿英文;不要姓名乱填;不要地址乱编;不要信用卡不是本人,资料又对不上。统一使用拼音,是最稳的方式。坑 6:主区域随便选Home Region 不是随便选的。它会影响后续你在哪个区域创建资源,也会影响免费机器资源是否好抢。东京、首尔热门,但资源可能紧张。大阪、新加坡等区域可以结合自己的需求考虑。坑 7:把 AMD 和 ARM 搞混这个点特别适合你在文章里提醒读者。甲骨云免费 VPS 里常见两类:AMD E2 Micro:低配免费机器,适合先练手。ARM Ampere A1:大家常说的 4核 24G 高配免费实例。所以我建议写清楚:“先用 AMD 小机器完成基础连接测试,后续再尝试申请 ARM 4核24G 实例。”这样更准确。坑 8:SSH 私钥没保存创建 VPS 时下载的私钥非常重要。没有私钥,就无法正常 SSH 登录服务器。建议保存到固定文件夹,并备份一份。不要截图,不要随便发给别人。坑 9:创建实例时没分配公网 IP没有公网 IP,你本地电脑就无法直接通过 SSH 连接 VPS。创建实例时要检查网络设置,确认实例有公网 IPv4。坑 10:升级 PAYG 后误用收费资源升级 PAYG 不代表你一定会花钱,但如果你创建了收费资源,就可能产生费用。建议新手牢记:只创建标有 Always Free 的资源;不要乱开付费数据库、负载均衡、额外硬盘;不要跨区域乱建机器;定期检查 Billing / 账单页面。Hygge版总结金句甲骨文云注册不是玄学。它本质上拼的是四件事:干净邮箱、干净网络、干净浏览器、可验证的国际信用卡。好啦,记得点赞收藏关注。下次第02期再见啦~~ var first_sceen__time = (+new Date()); if ("" == 1 && document.getElementById('js_content')) { document.getElementById('js_content').addEventListener("selectstart",function(e){ e.preventDefault(); }); } 预览时标签不可点 <div id="js_temp_bottom_area" class="
2026年06月04日
33 阅读
0 评论
0 点赞
2026-06-04
云服务器自建代理服务:基于 3x-ui 面板搭建 xray 代理服务及配置 clash 代理的方法
声明: 本文内容仅基于技术交流目的,请遵守当地法律法规,勿用于任何违法用途。在使用此教程过程中,若因违反以上声明使用规则而产生的一切后果由使用者自负。如果你购买了云服务器用于网站部署等需求,则也可以在它上面搭建一个代理服务,并使用 clash、sing-box、Shadowrocket 等客户端工具实现通过云服务代理访问互联网。由此可以达到隐藏真实 IP、绕过网络封锁、访问境外网站等需求。本文将介绍如何使用 3x-ui 面板搭建 xray 代理服务器和创建订阅链接,并使用 clash 客户端工具实现外网访问。目录1. 3x-ui:支持多协议多用户的 xray 面板2. 安装 3x-ui 面板2.1 Linux 一键安装2.2 基于 docker-compose 安装2.3 配置 nginx 使用 https 访问3. 3x-ui 面板配置4. 添加入站节点和订阅链接4.1 新建入站节点4.2 新建客户端5. 客户端订阅软件参考6. 生成适用于 clash 的订阅文件7. 扩展参考1. 3x-ui:支持多协议多用户的 xray 面板xray 是一款轻量级网络代理工具,支持多种协议,包括 vmess、vless、trojan、shadowsocks 等。3x-ui 则是一个基于 xray 的管理面板,支持多协议多用户。2. 安装 3x-ui 面板2.1 Linux 一键安装 3x-ui 面板执行如下命令一键安装或升级 3x-ui:bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)安装过程中会提示输入端口号,安装完成后会给出面板访问地址以及随机生成的用户名和密码。然后可以使用浏览器访问面板地址,使用用户名和密码登录。后续也可以通过 x-ui 命令行工具进行管理:x-ui --help # 启用面板 x-ui start2.2 基于 docker-compose 安装 3x-ui 面板使用 docker 安装较为省心省事,基本不会遇到不可预知的意外报错等问题。推荐基于 docker-compose.yaml 安装。mkdir /root/3x-ui cd /root/3x-ui vi docker-compose.yaml然后参考写入如下内容配置:version: "3" services: 3x-ui: image: ghcr.io/mhsanaei/3x-ui:latest container_name: 3x-ui hostname: 3x-ui.lzw.me volumes: - /root/3x-ui/db/:/etc/x-ui/ - /root/3x-ui/cert/:/root/cert/ environment: XRAY_VMESS_AEAD_FORCED: false X_UI_ENABLE_FAIL2BAN: true tty: true network_mode: host restart: unless-stopped注意:这里配置了目录映射:/etc/x-ui/ 用于存放数据库文件,/root/cert/ 用于存放网站域名证书(后续配置 SSL 会用到)。hostname 配置需要绑定的域名,若不配置域名可移除。network_mode: host 配置为使用主机网络,这样 3x-ui 面板和 xray 代理服务会共享同一网络,方便后续配置。# 启动容器 docker compose up -d # 停止并删除容器 docker compose down # 如果需要更新,可执行如下命令更新容器镜像后并重启 docker pull ghcr.io/mhsanaei/3x-ui:latestDocker 方式部署的相关默认设置如下:用户名:admin密码:admin端口:2053应在登录后修改它们,以免被互联网安全扫描工具获取利用。2.3 配置 nginx 使用 https 访问 3x-ui 面板通过 nginx 配置代理的方式,可以实现使用 https 协议配置域名访问。当然 nginx 配置这一步不是必须的,你也可以使用 公网IP + 端口 的方式直接访问。在 nginx/conf/init.d 目录下新建 3xui.conf 文件。内容参考:server { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; # 这里是域名证书的配置,具体应修改为你实际的路径 ssl_certificate /root/3x-ui/cert/fullchain.pem; ssl_certificate_key /root/3x-ui/cert/privkey.pem; # 修改为你自己的面板访问域名 server_name 3x-ui.lzw.me; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; 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; # 3x-ui 面板访问端口。对应3x-ui配置:面板设置 - 常规 - 面板监听端口 proxy_pass https://127.0.0.1:54321; } # 反代 websocket location /xray { proxy_redirect off; proxy_pass http://127.0.0.1:10001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Y-Real-IP $realip_remote_addr; } # 反代订阅。sub 路径可在 3x-ui 中自定义修改:面板设置 - 订阅设置 - URI 路径 location /sub/ { # 这里 3009 是 3x-ui面板配置的订阅监听端口。查看和自定义:面板设置 - 订阅设置 - 监听端口 proxy_pass http://127.0.0.1:3009; proxy_redirect off; proxy_http_version 1.1; set $diy_connection_upgrade "upgrade"; if ( $http_upgrade = '' ) { set $diy_connection_upgrade $connection; } proxy_set_header Connection $diy_connection_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Y-Real-IP $realip_remote_addr; } access_log /home/wwwlogs/3xui.log main; error_log /home/wwwlogs/3xui_error.log; }然后执行:# 测试配置是否正确 nginx -t # 重新加载配置 nginx -s reload3. 3x-ui 面板配置为了更为安全起见,建议将一些默认设置进行修改。登录安全:建议设置较为复杂的登录密码,以防止被别有用心者扫描工具暴力猜解到。依次点击 面板设置 - 安全设定,设置足够复杂的登录名和密码,并启用安全令牌。可以用工具生成长文本密码,如随机密码生成器,并备忘在个人电子密码簿中。自定义订阅设置:自定义监听端口。面板设置 - 常规 - 面板监听端口,若为 docker 部署会使用默认端口 54321,这里建议修改为自定义端口。自定义面板访问 URL 根路径。可选,修改后面板访问地址需附加该路径。设置路径:面板设置 - 常规 - 面板 url 根路径自定义订阅服务监听端口。修改后记得同时修改 nginx 配置中的代理转发端口。设置路径:面板设置 - 订阅设置 - 监听端口自定义订阅服务使用的 URI 路径。可选,安全起见建议修改一下。需同时修改 nginx 代理配置对应的部分。设置路径:面板设置 - 订阅设置 - URI 路径4. 添加入站节点和订阅链接4.1 新建入站节点首先新建一个支持 reality 的入站节点。操作路径:入站列表 - 添加入站。主要填写内容:协议:vless监听端口:使用默认随机生成的或自定义均可传输:TCP(RAW)安全:选中 reality点击 Get New Cert 按钮随机生成私钥和公钥其他配置项默认即可然后关于私钥和公钥,点一下下面的 Get New Cert 按钮就可以随机获取私钥和公钥。然后点击右下角的添加,就完成了一个 reality 节点的搭建。4.2 新建客户端在入站节点配置完成后,需要生成一个订阅链接,以便客户端可以通过该链接连接到节点。在刚创建的入站节点行的菜单列单击,弹出菜单中点击 新建客户端,基本按默认配置即可,然后点 添加客户端 按钮。最后即可在客户端列表中获取订阅链接,用于客户端订阅使用。可以用客户端的扫码功能快速添加。需要注意的是,如果多人使用,建议分别建立独立的入站节点以使用独立的端口。不要将同一个客户端链接分享给多人同时使用,这可能会因为被检测到而导致节点被封。5. 客户端订阅软件参考安卓Sing-Box(免费)v2rayNG:谷歌应用市场 或 GitHub ReleasesNekoBox:GitHub ReleasesHiddifySurfboardiOS小火箭 Shadowrocket(收费,3.99美元,可找免费账号下载)Karing(免费)Potatso(免费且简单)Sing-Box(免费)Hiddify(支持下载 ipa 自签名安装)QuantumultX(不支持 hysteria2 和 reality)FoXray(收费)Loon(收费)Stash(收费)Surge(收费)支持 Windows / iOS / LinuxClash-verge-rev:GitHub ReleasesSing-Box:官方客户端Hiddify:GitHub ReleasesV2rayN:GitHub Releasesmihomo-party:GitHub ReleasesNekoray:官网FLClash:GitHub ReleasesGUI.for.Singbox:GitHubMac OSClashX:官网下载Surge(收费)软路由OpenWrt 可使用 PassWall、openwrt-passwall2、OpenClash6. 生成适用于 clash 的订阅文件clash 客户端推荐使用 Clash-verge-rev。clash 通过配置文件形式管理节点和订阅链接,因此需要将 3x-ui 生成的订阅链接转换为 clash 配置文件。subconverter 是一个开源的订阅转换工具,支持多种订阅格式。subweb 是一个基于 subconverter 的在线转换工具,本质上是一个静态服务网页。通过搭建 SUBWEB 和 subconverter 服务,可以构建一个私有的在线转换服务。基于 docker-compose 快速搭建参考:version: '3' services: subconverter: image: tindy2013/subconverter:latest container_name: subconverter ports: - "25000:25500" restart: always subweb: image: careywong/subweb:latest container_name: subweb ports: - "58080:80" restart: always然后执行 docker-compose up -d 即可。接着使用浏览器访问 http://<ip>:58080 即可使用 SUBWEB 服务。私有化部署可以避免订阅链接泄露的风险。如果你不在意这个并会随时关注可能的泄露现象,也可以直接使用第三方提供的在线转换服务,例如:https://sub-web.netlify.apphttps://sub.cmliussss.comhttps://acl4ssr-sub.github.io将订阅链接粘贴到 订阅链接 输入框中,然后点击 生成订阅链接 按钮,则会生成一个适用于 clash 的订阅链接,并自动复制。最后,可以新开一个窗口打开该地址,将其内容复制并保存至本地文件中,如 D:\clash-config.yaml,然后在 clash 的 订阅 - 新建 中导入该文件即可。当然,也可以直接在 clash 中粘贴该链接并导入以快速添加。上面介绍了 clash 订阅链接的转换生成方法,其他如 sing-box、Surge、Loon 等客户端的转换方法类似。7. 扩展参考3x-ui 官方中文文档3x-ui 配置教程sub-webSUBWEB
2026年06月04日
35 阅读
0 评论
0 点赞
2025-09-02
发现个小技巧, 本地开发配置域名不用再修改hosts了
由于 windows hosts 文件配置域名只能一个个手动配置,不支持泛解析 (没有通配符)所以每次在本地新建个站点都需要打开 hosts 文件添加一条记录尝试搜索 windows hosts 通配符 , 没有找到解决方案,却无意间找到这么个曲线救国的办法~先说结论使用 .localhost 后缀的域名比如: my-site.localhost owladmin.localhost demo.shop.localhost …为什么要用,以及为什么能用本地搭建站点,配个域名更方便访问,更方便的管理多个不同的站点docker 容器运行起来后没法动态映射端口,部分程序需要通过 nginx 反向代理才能在本机访问.localhost 后缀的域名,会默认指向本地无需写入 hosts————————————————原文作者:slowlyo转自链接:https://learnku.com/articles/86228?order_by=created_at&版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。
2025年09月02日
94 阅读
0 评论
0 点赞
2024-12-18
ddns-go实现域名动态解析公网IP+公网访问虚拟机内多项目
ddns-go: GitHub - jeessy2/ddns-go: Simple and easy to use DDNS. Support Aliyun, Tencent Cloud, Dnspod, Cloudflare, Callback, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, NameSilo...前言公司买了一台服务器后需要将原先阿里云的测试机上部署的站点迁移到公司内,正好有公网IP,只不过是动态的需要借助技术实现域名动态dns解析。内容实现效果:主机开放380作为http协议端口,转发端口到虚拟机的80。主机开放3443作为https协议端口,转发端口到虚拟机的443。通过域名http://A.com:380或https://A.com:3443访问虚拟机的项目A通过域名http://B.com:380或https://B.com:3443访问虚拟机的项目B直接通过文件运行的方式比docker方便的多。./ddns-go -s install -f 600 -c /Users/name/.ddns_go_config.yaml运行后访问虚拟机的http://192.168.99.48:9876/进入ddns-go的控制面板,配置一下信息。配置完事使用Itdog进行ping域名测试域名已经成功解析到公司的公网IP上了。虚拟机内使用宝塔配置一下域名即可。域名描述https://xxx:3443/HTTPS协议http://xxx:380/HTTP协议
2024年12月18日
70 阅读
0 评论
0 点赞
2023-10-06
服务器无法通过SSH连接Clone项目
给仓库部署了服务器上的SSH之后仍然无法Clone项目如下命令测试:ssh -T git@github.com也无法正常响应可能22端口出问题了,然后进入~/.ssh/目录下修改config文件,建议直接在终端中输入vim ~/.ssh/config,使用vim编辑器打开此文件,一般是为空,然后加上以下代码:# Default github user self Host github.com port 443 # 默认是22端口 HostName ssh.github.com IdentityFile ~/.ssh/id_rsa这样的话,github22端口超时的问题就解决了,证明ssh连接是没有问题的,这样github的项目可以正常的push和pull了。引用1."ssh:connect to host github.com port 22: Connection timed out"问题的解决:https://blog.csdn.net/qq_38330148/article/details/109371362
2023年10月06日
507 阅读
0 评论
1 点赞
2023-07-07
使用Frp实现内网穿透便于外网访问本机JavaWeb项目
使用Frp实现内网穿透便于外网访问本机JavaWeb项目背景在微信开发者工具里调用uni.getLocation调试没有效果,笔记本没有对应的传感器真机调试需要勾选微信小程序位置接口权限,由于后端部署在本机上,真机调试无法链接,所以进行一下内网穿透准备工作搭建一个完整的frp服务链,我们需要VPS一台(也可以是具有公网IP的实体机)访问目标设备(就是你最终要访问的设备)简单的Linux基础(会用cp等几个简单命令即可)文章中用到的端口别忘记设置安全组和宝塔防火墙!服务端设置SSH连接到VPS之后运行如下命令查看处理器架构,根据架构下载不同版本的frparch查看结果,如果是“X86_64“即可选择”amd64”,运行如下命令,根据架构不同,选择相应版本并进行下载wget https://github.com/fatedier/frp/releases/download/v0.51.0/frp_0.51.0_linux_amd64.tar.gz然后解压tar -zxvf frp_0.51.0_linux_amd64.tar.gz文件夹改个名,方便使用cp -r frp_0.51.0_linux_amd64 frp把解压出来的文件夹复制到你想要的目录下,为了方便我直接放在用户目录下了,进入该目录cd frp查看一下文件ls -a我们只需要关注如下几个文件frpsfrps.inifrpcfrpc.ini前两个文件(s结尾代表server)分别是服务端程序和服务端配置文件,后两个文件(c结尾代表client)分别是客户端程序和客户端配置文件。因为我们正在配置服务端,可以删除客户端的两个文件rm frpc rm frpc.ini然后修改frps.ini文件vim frps.ini这个文件应有如下格式[common] bind_port = 7000 dashboard_port = 7500 token = 12345678 dashboard_user = admin dashboard_pwd = admin vhost_http_port = 7880 vhost_https_port = 7843 subdomain_host = lisok.cn 如果没有必要,端口均可使用默认值,token、user和password项请自行设置。“bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。“dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。“token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。“dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。“vhost_http_port”和“vhost_https_port”用于反向代理HTTP主机时使用。"subdomain_host"自定义二级域名,后续在客户端会配置一个"subdomain",部署完成后将通过{subdomain}.{subdomain_host}:{vhost_http_port} 来访问自己的 web 服务。本来想通过ip来访问,但是不设置域名的话会出错 官方文档:https://gofrp.org/docs/features/http-https/subdomain/编辑完成后保存(vim保存如果不会请自行搜索)。之后我们就可以运行frps的服务端了./frps -c frps.ini如果看到屏幕输出这样一段内容,即表示运行正常,如果出现错误提示,请检查上面的步骤。2023/07/07 15:22:39 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000 2023/07/07 15:22:39 [I] [service.go:172] http service listen on 0.0.0.0:7880 2023/07/07 15:22:39 [I] [service.go:193] https service listen on 0.0.0.0:7843 2023/07/07 15:22:39 [I] [service.go:216] Dashboard listen on 0.0.0.0:7500 2023/07/07 15:22:39 [I] [root.go:210] Start frps success此时访问 x.x.x.x:7500 并使用自己设置的用户名密码登录,即可看到仪表板界面服务端后台运行至此,我们的服务端仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frps均会停止运行,因而我们使用 nohup命令将其运行在后台。nohup后台程序管理或关闭相关命令可自行查询资料,上面这个连接中也有所提及。nohup ./frps -c frps.ini &输出如下内容即表示正常运行nohup: ignoring input and appending output to 'nohup.out'此时可先使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs 或者 ps -aux | grep frps命令查看后台运行的程序在结果中我们可以看到frps正在后台正常运行[1]+ Running nohup ./frps -c frps.ini &此时访问 x.x.x.x:7500 依然可以打开仪表板界面,至此,服务端即设置完成,你可以关闭SSH窗口了。客户端设置frp的客户端就是我们想要真正进行访问的那台设备,大多数情况下应该会是一台Windows主机,因而本文使用Windows主机做例子;Linux配置方法类似,不再赘述。同样地,根据客户端设备的情况选择相应的frp程序进行下载,Windows下下载和解压等步骤不再描述。假定你下载了“frp_0.51.0_windows_amd64.zip”,将其解压在了C盘根目录下,并且将文件夹重命名为“frp”,可以删除其中的frps和frps.ini文件。用文本编辑器打开frpc.ini,与服务端类似,内容如下。[common] server_addr=116.xxx.xxx.xxx server_port=7000 token=12345678 [web] type=http local_port=8085 remote_port=7880 subdomain=nwys # 仅仅复制以上即可,以下是其他协议的例子,不必复制 [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 7001 [smb] type = tcp local_ip = 127.0.0.1 local_port = 445 remote_port = 7002其中common字段下的三项即为服务端的设置。“server_addr”为服务端IP地址,填入即可。“server_port”为服务器端口,填入你设置的端口号即可,如果未改变就是7000“token”是你在服务器上设置的连接口令,原样填入即可。自定义规则frp实际使用时,会按照端口号进行对应的转发,原理如下图所示。上面frpc.ini的rdp、smb字段都是自己定义的规则,自定义端口对应时格式如下。“[xxx]”表示一个规则名称,自己定义,便于查询即可。“type”表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。“local_port”是本地应用的端口号,按照实际应用工作在本机的端口号填写即可。“remote_port”是该条规则在服务端开放的端口号,自己填写并记录即可。RDP,即Remote Desktop 远程桌面,Windows的RDP默认端口是3389,协议为TCP,建议使用frp远程连接前,在局域网中测试好,能够成功连接后再使用frp穿透连接。SMB,即Windows文件共享所使用的协议,默认端口号445,协议TCP,本条规则可实现远程文件访问。配置完成frpc.ini后,就可以运行frpc了frpc程序不能直接双击运行!使用命令提示符或Powershell进入该目录下cd C:\frp并执行./frpc -c frpc.ini运行frpc程序,窗口中输出如下内容表示运行正常。2023/07/07 16:14:56 [I] [service.go:205] login to server success, get run id [2b65b4e58a5917ac], server udp port [0] 2023/07/07 16:14:56 [I] [proxy_manager.go:136] [2b65b4e58a5917ac] proxy added: [rdp smb] 2023/07/07 16:14:56 [I] [control.go:143] [smb] start proxy success 2023/07/07 16:14:56 [I] [control.go:143] [rdp] start proxy success不要关闭命令行窗口,此时可以在局域网外使用相应程序访问 x.x.x.x:xxxx (IP为VPS的IP,端口为自定义的remote_port)即可访问到相应服务。工具使用参考引用7的地址软件设置中的参数不包含域名设置,所以建议手动编辑一下配置文件再使用软件托管。引用frp官网-简单、高效的内网穿透工具:https://gofrp.org/frp github release:https://github.com/fatedier/frp/releasesfrp document:https://gofrp.org/docs/overview/使用frp进行内网穿透:https://sspai.com/post/52523使用frp进行内网穿透:https://blog.csdn.net/qq_41743601/article/details/127461156新手入门 - 详解 frp 内网穿透 frpc.ini 配置:https://www.ioiox.com/archives/79.htmlCnFRP控制台-内网映射外网访问的工具 : [https://www.52pojie.cn/thread-1647522-1-1.html]
2023年07月07日
403 阅读
0 评论
0 点赞
2023-02-17
homestead中如何切换某应用环境变量对应的版本?
在Homestead中切换PHP环境变量对应的版本可以通过以下步骤完成:登录到Homestead虚拟机中,可以使用如下命令登录:vagrant ssh执行以下命令查看Homestead中已经安装的PHP版本:update-alternatives --display php执行后,会列出Homestead中已经安装的PHP版本以及它们的路径。执行以下命令来切换PHP环境变量对应的版本:sudo update-alternatives --set php /usr/bin/phpX.X其中,X.X是你想要切换到的PHP版本号,比如如果你想切换到PHP 7.4版本,命令应该是:sudo update-alternatives --set php /usr/bin/php7.4切换成功后,执行以下命令查看PHP版本是否已经切换:php -v执行后,会显示当前PHP版本号,如果版本号是你想要的版本,则切换成功。
2023年02月17日
389 阅读
0 评论
0 点赞
2022-07-04
使用Nginx反向代理接入欣赏小姐姐视频站点
前言最近网上冲浪发现了这种欣赏小姐姐的视频站点 ::(你懂的) ,于是想整一个集成到blog里。源站点: 欣赏小姐姐:https://xjiejie.vip/ 成果展示: 欣赏小姐姐:https://www.lisok.cn/online-tiktok.html1.先抓包拿接口😋 对方的反扒意识蛮强的 1.屏蔽了页面上的右键 2.F12打开开发者工具,页面会自动关闭 3.若可以成功打开开发者工具,那么页面在请求数据的时候还会再次检测,若被发现页面会自动关闭。于是干脆放弃用开发者工具了,直接上Fiddler成功拿到接口:URL:https://xjiejie.vip/zb_users/theme/lanyexvideo/include/video.php Param: # 随机值,防止懒请求: t:xxx Header: # 模拟请求的过程中发现有防盗链,校验Referer请求头 Referer:https://xjiejie.vip/ 2.页面请求博客的网络请求用的JQuery,那请求就由Ajax负责:index.html$(".getUrl").click(function () { let url = "https://xjiejie.vip/zb_users/theme/lanyexvideo/include/video.php?t=" + Math.random(); $.ajax({ url: url, type: "GET", dataType: "json", success: function (data) { console.log(data); $("#video").attr("src", data.playurl); }, }); });遇到了跨域问题,意料之中,这肯定不能让对方服务器去加响应头,只得我们自己去做一个代理访问。3.PHP代理流程:由原来的前端直接访问对方服务器 变成了 前端访问自己的代理PHP文件,再由PHP去向对方服务器发起请求返回结果。proc.php<?php // 对方的响应有gzip压缩,需要解压缩 function gunzip($zipped) { $offset = 0; if (substr($zipped, 0, 2) == "\x1f\x8b") $offset = 2; if (substr($zipped, $offset, 1) == "\x08") { return gzinflate(substr($zipped, $offset + 8)); } return "Unknown Format"; } // 发起网络请求 $url = 'https://xjiejie.vip/zb_users/theme/lanyexvideo/include/video.php?t=' . time(); // 发起GET请求 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 设置请求头 curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Accept: application/json', 'Referer: https://xjiejie.vip/', 'Accept-Encoding: gzip, deflate, br', )); // 关闭ssl curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLINFO_HEADER_OUT, 0); curl_setopt($ch, CURLOPT_HEADER, 0); $output = curl_exec($ch); // 若有错误,则抛出异常 if (curl_errno($ch)) { echo 'Error:' . curl_error($ch); exit; } curl_close($ch); // 输出结果 $arr = []; // 获取请求头的Referer $arr = json_decode(gunzip($output), true); $arr['referer'] = $_SERVER['HTTP_REFERER']; $arr['host'] = $_SERVER['HTTP_HOST']; // 输出json header('Content-Type: application/json'); echo json_encode($arr);对应的前端的请求路径也要修改index.htmllet url = "/proc.php" + Math.random();4.Nginx代理最近刚开始学习Nginx,边查资料边测试,实现了这个功能4.1 编写配置文件直接在网站的配置文件中做如下修改:lisok.cn.... location /xjiejie/video/ { proxy_pass https://xjiejie.vip/zb_users/theme/lanyexvideo/include/video.php; proxy_set_header Referer "https://xjiejie.vip/"; proxy_set_header Content-Type "application/json"; proxy_set_header Accept-Encoding "gzip, deflate, br"; proxy_set_header User-Agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"; proxy_set_header Accept "application/json"; proxy_set_header Host "xjiejie.vip"; } location / { # !!!原先下三行的内容是没有在 location / 中的!!! #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/lisok.cn.conf; #REWRITE-END } ....index.htmllet url = "/xjiejie/video?t=" + Math.random(); $.ajax({ url: url, type: "GET", dataType: "json", success: function (data) { console.log(data); $("#video").attr("src", data.playurl); }, }); });更新:2022.9.8 更新接口今天访问的时候发现不能播放视频了,查看接口发现对方更换了域名nginx配置文件也进行同步更新即可 location /xjiejie/video { proxy_pass https://xjiejie.co/zb_users/theme/lanyexvideo/include/video.php; proxy_set_header Referer "https://xjiejie.co/"; proxy_set_header Content-Type "application/json"; proxy_set_header Accept-Encoding "gzip, deflate, br"; proxy_set_header User-Agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"; proxy_set_header Accept "application/json"; proxy_set_header Host "xjiejie.co"; }5.注意事项PHPStudy集成的是Nginx v1.15.11,这版本使用中会有问题,即使修改了Referer后,反向代理访问对方的站点还是会返回404,后面升级到Nginx v1.16.1就好了。typecho会有伪静态的配置,若先加载的伪静态配置会导致访问接口时候返回页面未找到的404错误,所以nginx的配置项要先于伪静态的配置项。
2022年07月04日
970 阅读
0 评论
4 点赞
2022-06-16
【转载】linux screen的用法
1.前言大家在初次接触linux时,会发现linux操作和windows操作太不相同的,windows都是图形操作界面,而linux一般是命令行操作.当然,linux也有图形操作界面,但是我们在将vps作为网络生产环境时,安装图形界面不光费时费力,更费vps那少的可怜的系统资源,所以,还是命令行吧,可是命令行只有一个,linux下编译命令一般执行也比较慢,如编译军哥的lnmp,少则半小时二十分钟,多则三小时五小时,一旦断开,正在编译的软件也就完了,这很不符合偶们的折腾精神,难道就木有个解决方法?当然有,那就是screen。一、神马是screen?Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念,用户可以在一个会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。通俗的讲,screen命令用于新建一个或多个“命令行窗口”,在新建的这“窗口”中,可以执行命令;每个“窗口”都是独立并行的。二、安装screen要想使用screen,当然得有screen了,不是所有的linux系统都安装了screen,如果木有安装,可以使用一下命令安装:# centos: yum install screen # debian / ubuntu: sudo apt-get install screen安装也就分分钟的事情,中途需要输入y并按回车执行;三、使用screen1.创建会话:最简单的就是直接输入screen回车,一个新会话就完成了(debian下会有提示,再按一次回车就可以了),但偶还是推荐用下面的命令来创建会话:screen -S php上面命令的意思就是新创建一个名为php的会话,这时你可以继续输入其它命令,如编译php,费时很长,不用管它,喝杯茶先;2.离开会话,按住键盘上的ctrl,然后依次按a和d,好了,又回到主会话了,这时你可以继续创建其它会话或者执行其它命令,对我们创建的会话内容没有任何影响,你甚至可以退出会话;3.恢复创建的会话:如果还记得会话名称,可以输入命令:screen -r php上面命令的意思就是恢复名为php的会话,如果你只创建了一个会话,直接如入命令screen -r就可以恢复了,如果不记得会话名称或者我直接输入screen创建的会话,怎么办呢,那就要用到下面的命令;4.查看已经创建的会话:screen -ls上面的命令的意思就是查看本机已经创建的会话,可以查看会话的名称和id,恢复时可以使用id代替名称;5.有时在恢复screen时会出现There is no screen to be resumed matching **,遇到这种情况咋办呢?输入命令screen -d ****然后再使用恢复命令恢复就ok了6.退出screen,使用screen会耗费一定的系统资源,所以当screen中的命令执行完毕之后,最好退出screen,直接输入命令exit就可以退出了。7.其它命令Ctrl + a,d #暂离当前会话 Ctrl + a,c #在当前screen会话中创建一个子会话 Ctrl + a,w #子会话列表 Ctrl + a,p #上一个子会话 Ctrl + a,n #下一个子会话 Ctrl + a,0-9 #在第0窗口至第9子会话间切换四、补充我使用screen是由于后台的python项目用到了selenium,这就要求不管是前台运行或者是后台运行 都必须保持ssh的稳定连接,一旦断开项目就会崩溃。这时候screen的作用就体现了,screen生成新的虚拟终端,将程序与当前终端的相关性剥离,当前终端断开连接,不影响程序的继续运行。五、文章来源作者:IT小C链接:https://www.jianshu.com/p/e91746ef4058来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2022年06月16日
526 阅读
0 评论
0 点赞