遇到个莫名其妙的问题，我整了个WordPress站点，明明已经开启了HTTPS，但是一旦用手机访问，就无法使用https。使用SSL检测，提示我引用了不安全的HTTP资源，降级为B。手机进入站点，就提示不安全。但实际上，已经使用了https，并且部署好了SSL证书。最后是进入网站查看网页源码，发现确实引用了一个http资源。是WP模板的一个link标签，具体功能可以自己去搜索看看。我使用的是Argon主题，所以直接在主题文件夹中的header.php修改一下即可。在此处将http修改为https即可。修改好后，再检测一下看看。手机打开也能正常显示一把小锁了。总结：这是WP模板里的一个link标签引起的错误，只需要将http修改为https即可。
写了个小脚本，方便家宽ipv6配合CDN建站。（失控CDN）
因为家庭宽带的ipv6会不停变动，所以即便是使用CDN搭配建站，也要很频繁的修改CDN控制台里的IPV6地址。所有为了方便，写了个py脚本，自动检测ipv6地址是否有变化，如果有就自动提交到CDN控制台。需要使用python3，所以需要安装好。sudo apt install python3 root@astarry:/# python3 --version Python 3.8.10 #就OK了。记得先开启失控CDN的api功能。1、脚本import requests import json import requests import time url = 'https://user.cdn1.vip/v1/sites/****' ##***填入CDN的网站ID def getIPv6Address(): text = requests.get('https://v6.ident.me').text return text if __name__ == "__main__": print(getIPv6Address()) lastAddress="" while True: ipAddress = getIPv6Address() data = { "backend": [{"index": 0, "state": "up", "addr": ipAddress, "weight": "1"}] } headers={ "api-key": "", ##填入自己的api key "api-secret": "" ##填入自己的api secret } if lastAddress!=ipAddress: response = requests.put(url, data=json.dumps(data),headers=headers) print(response.json()) lastAddress=ipAddress time.sleep(60) else: print("IP地址未发生变化") time.sleep(60) ps:此脚本只会修改CDN的源站IP地址，且只能用于IPV6。2、使用systemd作为服务运使用文本编辑器（如vim）在 /etc/systemd/system 目录下创建一个 cdn.service 文件，用于配置此脚本服务。sudo vim /etc/systemd/system/cdn.service写入内容：[Unit] Description=cdn server Afteer=network.target Wants=network.target [Service] Type=simple #启动脚本的命令，需要替换成脚本的存放位置。 ExecStart=/usr/bin/python3 /home/astarry/123/cdn.py Restart=always [Install] WantedBy=multi-user.target 保存退出即可。#启动 systemctl start cdn #重启 systemctl restart cdn #查看cdn状态 systemctl status cdn 3、将cdn.service设置开机自启systemctl enable cdn这样就不用担心光猫重启，或者断网重连导致ipv6变动，CDN无法访问到源站的情况了。
最近在市面上看到好多NAT服务器，在同等配置下NAT服务器价格相比起普通云服务器会便宜很多。因为通常云服务器都是拥有独立IPV4的，而NAT服务器却是共享IP只有数个或者数十个转发端口。今天就来玩一下NAT服务器搭配CDN创建halo个人博客网站。说明：halo博客系统支持docker、docker-compose、jar等等方式部署。本文使用ar方式部署。一台NAT服务器ssh工具java环境mysql数据库1、配置环境由于使用jar方式部署halo需要使用到java环境，所以需要安装java环境。第一步，先使用ssh工具连接NAT服务器。注意：由于NAT服务器是共享IP，所以会有端口转发，需要看清楚自己的NT服务器地址和端口分别是什么。比如我的就是63982连上服务器之后，先安装java环境。由于halo博客系统需要的最低的JDK版本是17，所以我们最低也要安装openjdk-17才行。输入命令：sudo apt install openjdk-17-jre-headless -y E: Unable to locate package openjdk-17-jre-headless #若是出现如上错误则代表需要更换一下Ubuntu的镜像源 #先备份当前镜像源 cp /etc/apt/sources.list #使用vim修改镜像源 vim /etc/apt/sources.list #添加镜像源 此为Ubuntu20.04 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse apt-get update #更新，然后重新输入安装JDK命令即可。安装完成后，输入：java -version出现版本号就是安装成功。下一步，安装MySQL数据库。如果你不打算使用MySQL或者就想使用默认的H2数据库，那么可以跳过这一步。安装MySQL，输入命令：apt install mysql-server -y #在输入 apt install mysql-server在此处连按两下‘TAB’键，就会出现可选的版本。 #halo博客对mysql数据库的版本要求是5.7以上。查看一下MySQL数据库是否正常运行。systemctl status mysql接下来，创建halo数据库。输入命令：mysql -uroot -p #隐藏式输入密码，密码为root账户的密码。输入命令创建数据库。create database halo2 character set utf8mb4 collate utf8mb4_bin; #创建一个名为halo2的数据库 exit #退出mysql到此，环境配置结束。2、安装halo博客系统先创建一个./halo2文件夹mkdir ~/.halo2 #在指定目录创建文件夹 如mkdir /home/.halo2 就是在home目录中创建一个名为.halo2的文件夹 cd ~/.halo2 #进入目录 vim application.yaml #创建halo的配置文件。将配置文件修改并保存好。server: # 运行端口 port: 8090 spring: # 数据库配置，支持 MySQL、MariaDB、PostgreSQL、H2 Database，具体配置方式可以参考下面的数据库配置 r2dbc: url: r2dbc::pool:mysql://127.0.0.1:3306/halo2 username: root password: 123456 #密码 sql: init: mode: always # 需要配合 r2dbc 的配置进行改动 platform: mysql halo: caches: page: # 是否禁用页面缓存 disabled: true # 工作目录位置 work-dir: ${user.home}/.halo2 #例如/home/.halo2 # 外部访问地址 external-url: http://localhost:8090 # 附件映射配置，通常用于迁移场景 attachment: resource-mappings: - pathPattern: /upload/** locations: - migrate-from-1.x如果没有安装和配置数据库，那么使用默认即可。server: # 运行端口 port: 8090 spring: # 数据库配置，支持 MySQL、MariaDB、PostgreSQL、H2 Database，具体配置方式可以参考下面的数据库配置 r2dbc: url: r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE username: admin password: 123456 sql: init: mode: always # 需要配合 r2dbc 的配置进行改动 platform: h2 halo: caches: page: # 是否禁用页面缓存 disabled: true # 工作目录位置 work-dir: ${user.home}/.halo2 #例如/home/.halo2 # 外部访问地址 external-url: http://localhost:8090 # 附件映射配置，通常用于迁移场景 attachment: resource-mappings: - pathPattern: /upload/** locations: - migrate-from-1.x接下来创建一个存放halo运行包的文件夹。mkdir ~/halo cd ~/halo #可指定目录不必非要当前用户目录。 wget https://dl.halo.run/release/halo-2.16.0-rc.2.jar -O halo.jar3、测试运行halo博客先在NAT服务器管理面板中添加端口转发。我们要转发的内部端口为8090。进入halo目录运行halo.jar。cd ~/halo java -jar halo.jar --spring.config.additional-location=optional:file:XXX #注意 XXX为你的.halo2文件目录 如 /home/.halo2 #如果提示权限不足，那使用chmod 赋予halo.jar运行权限即可。然后在浏览器输入ip+转发端口号。由于这是测试运行的命令，所以断开ssh连接时，halo也会被关闭，所以我们需要使用Systemd让其作为服务运行。vim /etc/systemd/system/halo.service[Unit] Description=Halo Service Documentation=https://docs.halo.run After=network-online.target Wants=network-online.target [Service] Type=simple User=USER ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar JAR_PATH --spring.config.additional-location=optional:file:/home/halo/.halo2/ ExecStop=/bin/kill -s QUIT $MAINPID Restart=always StandOutput=syslog #JAR_PATH为halo运行包的绝对路径。 StandError=inherit [Install] WantedBy=multi-user.target配置完后保存退出即可。重新加载Systemdsystemctl daemon-reload运行服务systemctl start halo现在halo就作为服务在后台运行了，即便断开ssh也能正常运行。4、配置CDN使用域名访问博客由于我们没有使用Nginx一类的反代理工具，所以我们这里使用CDN来进行解析。进入CDN控制台新增网站填好源IP和端口，如果你的NAT服务器是域名地址，也可以直接填写域名地址和端口。由于我们是使用了非标准端口，所以回源协议只能选择http，不可以选择https或者跟随协议。将CDN服务商提供给我们的CNAME解析到我们的域名中。现在就可以直接通过域名访问我们的halo博客了。至此，博客就顺利搭建完毕了。5、给网站开启HTTPS由于我们是NAT服务器，所以无法走443端口。但是我们可以利用CDN来开启HTTPS。原站不开启HTTPS，CDN节点开启HTTPS。在CDN控制台中，上传我们域名的SSL证书。然后开启https监听，选择我们上传的证书。回源协议依旧使用http。我们就成功给网站开启了https。
[腾讯云]4月25将结束免费的一年期SSL证书！
腾讯云在3月21号发布公告：关于免费 SSL 证书策略调整通知1、免费SSL证书有效期由12个月缩短至3个月在4月25日之后，在腾讯云申请免费的SSL证书有效期将会从12个月缩短至3个月，但在4月25号前申请的证书有效期依旧是12个月。有必要说明的是，只要你在4月25号00:00之前提交证书审核，那么在审核通过之后，证书的有效期仍为12个月。当然，如果审核未通过，再次审核才通过，那有效期也只有3个月。2、免费证书取消腾讯云域名额度和全网域名额度限制4月25号以后，腾讯云免费证书可以绑定任意域名，不再区分腾讯云域名额度和全网域名额度。有想申请免费SSL证书的，赶紧在4月25号前申请吧！不然就只能获得有效期为3个月的SSL证书了。
1、前言最近看到一个好玩的Docker项目【chinese-dos-games】80、90后的回忆杀。利用Dokcer快速搭建一个在线的中文dos游戏网站，目前共有1898款dos游戏。项目地址：https://github.com/rwv/chinese-dos-games这个项目的作者估计曾经是一位DOS游戏狂热爱好者，直接收集了1898款 DOS 游戏，不仅支持直接在线游玩，还可以通过Docker让我们一键部署在自己的NAS、云服务器上。由于1898个DOS游戏的容量大小已经达到了36G，这么大的容量完全做成镜像并不现实，所以默认的Docker镜像只保留了40多个经典的DOS游戏。2、搭建先创建好安装目录mkdir /root/dosgame cd /root/dosgamevim docker-compose.yml进入vim编辑器后在英文键盘下按i键即可进入编辑状态。有两种方案，一种是安装默认的40款游戏：version: '3.3' services: dosgame-web-docker: container_name: dosgame ports: - '8090:262' #8090可以改成其他服务器没被占用的端口 # volumes: # - '/root/data/docker_data/games/chinese-dos-games:/app/static/games' image: 'oldiy/dosgame-web-docker:latest'修改好后按一下esc，然后输入 wq保存退出即可。如果你的NAS或者云服务器硬盘大于36G且带宽较大又想把所有1898款游戏全都下载可以用第二种方法：version: '3.3' services: dosgame-web-docker: container_name: dosgame ports: - '8090:262' #8090可以改成其他服务器没被占用的端口 volumes: - '/root/data/docker_data/games/chinese-dos-games:/app/static/games' image: 'oldiy/dosgame-web-docker:latest'修改好后按一下esc，然后输入 wq保存退出即可。接下来cd /root/dosgame git clone https://github.com/rwv/chinese-dos-games.git cd /root/dosgame/chinese-dos-games/ python3 download_data.py将会开始下载，下载默认的40款游戏大概600M左右，如果需要下载全部1898款游戏，需要36G。下载完毕后就可以运行cd /root/dosgame #与docker-compose.yml在同一目录 docker-compose up -d如果是新版本的dockercd /root/dosgame docekr compose up -d3、结束到此，这个Docker项目就已经运行了起来，打开浏览器在地址栏输入IP+端口就能访问，如果不想使用IP+端口的模式，可以自己进行域名解析和反向代理即可。下面将会列出在部署过程中容易出现的问题如果出现： -bash: git: command not foundDebian/Ubuntusudo apt install git -yCentossudo yum install git -y再重新运行git clone https://github.com/rwv/chinese-dos-games.git如果出现： -bash: python: command not found说明没有安装pythonDebian/Ubuntusudo apt install python3Centossudo yum install python34然后重新执行python3 download_data.py就OK了。
自带web管理的轻量级内网穿透工具，多平台支持X86、ARM、MIPS。NPS介绍nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发，可支持任何tcp、udp上层协议（访问内网网站、本地支付接口调试、ssh访问、远程桌面，内网dns解析等等……），此外还支持内网http代理、内网socks5代理、p2p等，并带有功能强大的web管理端。安装准备一台拥有公网IP的云服务器或者VPS。推荐选择大一点的带宽，内网穿透到你家内网的带宽就取决于你NPS服务器的带宽，越大越好。Github：https://github.com/ehang-io/nps/releases由于GitHub最近被污染了，很多地方都进不去，所以我把所需要的文件放在下面。这里服务端安装NPS如果服务端安装了ftp工具，那直接使用ftp将linux_amd64_server.tar.gz上传至服务器。使用SSH连接服务器，进入存放Linux_amd64_server.tar.gz的目录。# 使用下列命令将压缩包解压。 tar -zxvf linux_amd64_server.tar.gz# 修改配置文件 vi /xx/conf/nps.conf # 将你自己的目录替换xx即可需要更改web管理的用户和密码也可以更改默认端口（可选）修改完毕后进行安装# 安装nps ./nps install # 启动nps nps # 后台执行启动或停止 nps start nps stop 启动完后，打开浏览器在url栏中输入IP:端口，进入nps的web管理页面，输入刚才你修改的账号密码。至此，nps的服务端已经安装完毕。客户端安装NPS点击客户端，选择新增。看自己的需求更改。客户端连接在客户端使用此命令就能连上服务器。如果需要后台运行在命令后加个&就行（注意&前需要空格）安装完成至此就完成了NPS内网穿透服务器的安装，之后需要穿透什么自己选择即可。有疑问，或者过程有问题，可以在下方留言，我会帮忙解答的。
主要盈利方式是依靠用户上传，游客开通VIP下载，盈利与用户分成。环境部署：Nginx；PHP7.1；MySql5.5；phpMyAdmin5.0支持多个服务器部署，支持阿里云、腾讯云oss 。大文件分片上传、下载限速、用户组管理、存储策略管理、文件回收站、默认对接易支付接口、用户提现管理、文件举报管理、找回密码邮件发送、用户文件收益走势图、新增 vip 专属标志 个人中心 分享页 标签 、VIP功能等等...下载源码：仿蓝奏云该源码只能服务器安装，虚拟主机无法安装。1、将源码上传到服务器中并解压。2、将PHP7.1设置伪静态think，且将网站目录邦定至public。3、在浏览器的url中输入phpMyAdmin的地址（ip:888）。4、开始创建数据库创建完之后点击刚创建的数据库开始创建用户权限。用户名和密码需要记下来，其他不用改动直接点击右下角执行即可。接下来只需要导入数据库文件就行了。点击选择文件，选择“数据库”文件夹中的“pan.sql”然后执行就行了。最后，我们只需要修改一下“config”文件夹中的“database.php”文件。将数据库名、用户名、密码修改成自己的就好，接下来保存就行了。后台地址：你绑定的域名/admin.php 账号和密码都是admin，自己进去修改一下。有问题的话可以留言。