首页
关于
Search
1
AdGuardHome 安装及部署教程
46,521 阅读
2
关于微软Azure学生白嫖指南
11,865 阅读
3
Oracle开放全部端口并关闭防火墙
11,668 阅读
4
搭建基于telegram的无限网盘
11,275 阅读
5
最新Cloudflare免费自选IP教程(非Partner)
10,061 阅读
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
登录
找到
120
篇与
admin
相关的结果
- 第 3 页
2024-10-04
最全冰川地貌知识
图片 在高山和高纬地区,气候严寒,年平均温度在 0℃以下,常年积雪,当降雪的积累大于消融时,地表积雪逐年增厚,积雪逐渐变成粒雪,再由粒雪变成微蓝色的冰川冰。冰川冰受自身重力作用或冰层压力作用沿斜坡缓慢运动,就形成冰川。 地表经受过冰川强烈的塑造,形成一系列冰川地貌。 一、冰川和冰川作用 1、雪线 雪线:在高山和高纬地区,地表年降雪的积累量和年消融量相等的界线。(常年积雪区的下界) 图片 山区的积雪面积和高度随季节变化,冬季积雪区扩大,积雪高度下降。夏季积雪区缩小,积雪高度上升。 在雪线以上为多年积雪区,雪线以下为季节积雪区。(雪线的高度是寒冷气候地貌的一条重要界线,冰川形成在雪线以上,一个地方的高度如果低于该区的雪线高度,就不能形成冰川。) 决定雪线高度的主要因素: 温度 形成多年积雪,首先取决于近地面空气层的温度是否长期保持在 0℃以下。 气温影响雪线高低示意图图片 气温随高度和纬度而变化,低纬雪线位置较高,高纬雪线位置较低。从低纬向高纬的雪线高度变化并不是一条直线,还受降水量多少的影响。 降水量 地球上雪线位置最高不在赤道,而在南北半球的副热带高压带。 降水影响雪线高低示意图图片 迎风坡降水多、雪线低;背风坡降水少,雪线高 赤道附近降水量多,副热带高压带降水量较少,但这两个地区的温度对雪线的影响不如降水量影响大,所以赤道附近的雪线高度要比副热带高压带低。 南美洲赤道与回归线附件雪线高低示意图图片 地形(坡形、坡向) 在同一朝向的山坡,缓坡较陡坡更易积雪而雪线降低。 不同坡度积雪示意图图片 坡向主要影响降水和日照而使雪线高度变化。 如喜马拉雅山南坡雪线高度为 4400-4600m,北坡为 5800-5900m,这是因为高大的山体阻挡了从印度洋来的气流,在南坡降水量多,雪线位置低,北坡降水量少,雪线位置高。 喜马拉雅山南北坡雪线高度示意图图片 另外,在北半球大陆性较强的地区,南北山坡降水量变化不大的山地,南坡雪线比北坡雪线要高,因为南坡向阳,融雪快,雪线位置高,北坡背阳,融雪慢,雪线位置低。 天山的南坡雪线高于北坡示意图图片 2、冰川形成过程 积雪变成冰川:是先由新雪变成粒雪,再由粒雪变成冰川冰,最后形成冰川。 冰川冰形成示意图图片 高纬、极地区:气候严寒,新雪降落地表后,在升华再结晶作用下,雪花棱角很快消失、变圆,成为粒雪,并使粒雪层发生沉陷作用。随雪盖厚度的增加,下部粒雪层受压加大,重结晶作用,致使各晶体相互紧密地结合起来,形成块状冰川冰。(这种成冰过程速度缓慢,南极中央 200 余米深处的冰体,已经历了近千年的历史。匠心地理) 中低纬度高山区:夏季气温高,冰雪融水的渗透再冻结作用,加速了粒雪化和成冰作用过程,甚至当年就有成冰作用的条件,形成的冰川冰。一般比极地区冰川的密度大、透明度高。 冰川冰:是冰晶的聚合体。它在低温条件下,冰晶体相互之间结合十分紧密。 当接近熔点时,冰川冰就显得不稳定,呈现冰、水、汽三相并存局面,这是冰川之所以能实现塑性变形的原因。因此,只要一定厚度的冰川冰结合地表或冰面具有适当的坡度,在压力与重力的作用下,冰体就能向雪线以下地区缓慢流动,伸出冰舌,形成冰川。 3、冰川的类型 1、按冰川发育的气候条件和冰川温度状况分为: 海洋性气候冰川(暖冰川)我国西藏东南部和阿尔卑斯山的现代冰川都属于这种类型。 大陆性气候冰川(冷冰川)发育在降水较少、气温低的大陆性气候地区,我国西部大陆内部和中亚的一些现代冰川属这种类型。 2、按冰川的形态、规模和所处的地形条件分: 山岳冰川:是发育在高山上的冰川,主要分布在中纬和低纬高山地区。 大陆冰川:是在两极地区发育的冰川,它面积广,厚度大。如冰川中心凸起形似盾形的,叫冰盾。还有一种规模更大的、表面有起伏的大陆冰体,叫冰盖。(格陵兰冰盖和南极冰盖是目前世界上最大的两个冰盖。) 南极大冰盖图片 平顶冰川:是发育在起伏和缓高地上的冰面平坦的冰川。冰川的周围伸出许多冰舌。如冰川规模较大,覆盖在整个穹形山顶上,又称冰帽。这类冰川发育于雪线以上。 平顶冰川图片 山麓冰川:是山谷冰川从山地流出,在山麓带扩展或汇合成一片广阔的冰原。 阿拉斯加 · 马拉斯平冰川图片 4、冰川的运动 冰川运动速度比河流水流流速要小得多,一年只前进数十米至数百米,即使有一些突然性的快速运动冰川,其运动速度也不及河流水流速度。冰川运动由冰川的厚度、冰川下伏地形坡度和冰川表面坡度等因素控制。 图片 冰川运动速度随季节有变化。在消融区冰川运动的趋势是夏天快,冬天慢。(一般夏季运动速度要大于年平均流速,冬季则小于年平均速度。因为夏季冰川表面消融,融水对润滑冰床和冰体起着很大作用,这样就加强了滑动过程) 冰川运动速度还与冰川冰的补给量和消融量有关。(补给量大于消融量,冰川厚度增加,流速加快,冰川尾端向前推进;补给量小于消融量,冰川厚度减薄,流速减慢,冰川尾端往后退缩。补给量等于消融量,冰川就处于稳定状态,匠心地理公众号整理。) 不管冰川属于上述哪种状态,冰川始终向前运动。 5、冰川的侵蚀、搬运和堆积作用 1、冰川的侵蚀作用 冰川有很强的侵蚀力。冰川的侵蚀方式可分:拔蚀作用和磨蚀作用。 拔蚀作用:是冰床底部或冰斗后背的基岩,沿节理反复冻融而松动,松动的基岩再与冰川冻结在一起时,冰川运动时就把岩块拔起带走。冰川拔蚀作用可拔起很大的岩块。 磨蚀作用:是冰川运动时形成底部滑动,使冻结在冰川底部的碎石突出冰外,像锉刀一样,不断地对冰川底床进行削磨和刻蚀。冰川磨蚀作用可在基岩上形成擦痕和磨光面。 图片 2、冰川的搬运作用 冰川侵蚀产生的大量松散碎石和由山坡上崩落下来的石块,进入冰川体后,随冰川运动向下游搬运,这些被搬运的岩屑叫冰碛物。 根据冰碛物在冰川体内的不同位置,可分为不同的搬运类型。 出露在冰川表面的叫表碛,夹在冰内的叫内碛,位于冰川底部的叫底碛,分布在冰川边缘的叫侧碛,两条冰川汇合后,侧合并构成中,随着冰川向前推进,在冰川末端围中确绕冰舌前端的冰碛物,叫终碛(尾碛)。 山谷冰川(依据:自然地理学)图片 山谷冰川运动图片 冰川搬运能力极强,它不仅能将冰碛物搬运很远的距离,而且还能将巨大的岩块搬运到很高的部位。 3、冰川的堆积作用 冰川消融以后,不同形式搬运的物质,堆积下来形成冰川堆积物。冰川堆积物分选差,大小混杂,砾石磨圆度低。 二、冰川地貌 冰川地貌分为冰蚀地貌、冰碛地貌和冰水堆积地貌三部分。 1、冰蚀地貌 (1)冰斗、刃脊和角峰 冰斗:是山地冰川重要的冰蚀地貌之一,它位于冰川的源头。典型的冰斗是一个围椅状洼地,三面是陡峭的岩壁,底部是磨光的岩石斗底,向下坡有一开口,开口处常有一高起的岩槛。冰川消退后,冰斗内往往积水成湖,叫冰斗湖。 相邻冰斗之间的刀刃状,称为刃脊。 几个冰斗后壁所交汇的山峰,峰高顶尖,称为角峰。 角峰、冰斗、刃脊、U 型谷示意图图片 (2)冰川谷和峡湾 冰川谷的横剖面形似 “U” 形,故称 “U” 形谷,也称槽谷。槽谷的两侧有明显的谷肩,谷肩以下的谷壁平直而陡立,冰川谷两侧山嘴被侵蚀削平形成冰蚀三角面。 槽谷的形成是冰川下蚀和展宽的结果。冰川冰的厚度越大,下蚀力越强,有些槽谷可深达千米。美国加利福尼亚州的约斯迈特槽谷深 900-1200m,冰川下蚀量有 450m,槽谷底还有 300m 厚的松散堆积物。 在高纬地区,大陆冰川和岛状冰盖能伸入海洋,由于冰川很厚,当冰体入海尚未漂离之前, 在岸边侵蚀成一些很深的槽谷,冰退以后,槽谷被海水侵入,称为峡湾。挪威海岸峡湾的长度达 220km,深 1308m。(匠心地理公众号整理) 南美巴塔哥尼亚山脉沿岸的峡湾,深达 1288m。 峡湾示意图图片 (3)羊背石、冰川磨光面和冰川擦痕 羊背石:是冰川基床上的一种侵蚀地形,它是由基岩组成的小丘,远望犹如伏地的羊群,称这些小丘为羊背石。 图片 图片 羊背石的平面为椭圆形,长轴方向与冰流方向一致,朝向冰川上游的坡由于受冰川的磨蚀作用,坡面较平,坡度较缓,并有许多擦痕。冰川下游方的一坡受冰川的侵蚀作用,被挖掘得坎坷不平,坡度较陡。大陆冰川常形成规模较大的成群羊背石,山地冰川槽岩中也可形成规模较小的孤立羊背石。 在羊背石上或冰川槽谷谷壁上以及在大漂砾上常因冰川作用形成磨光面和擦痕。 当冰川搬运物是砂和粉砂时,在比较致密的岩石上,磨光面更为发育。如果冰川搬运物多是碎石,则在谷壁基岩上常刻蚀成条痕或刻槽,称为冰川擦痕。(冰川擦痕一般长数厘米至 1m,深为数毫米,成钉形,擦痕的一端粗,另一端细,细的一端指向冰川下游) 2、冰碛地貌 由冰川侵蚀搬运的砂砾堆积形成的地貌,称冰碛地貌。有以下几种类型: 冰碛地貌图片 (1)冰碛丘陵 冰川消融后,原来的表碛、内碛和中碛沉落到冰川谷底,和底一起形成波状起伏的丘陵,称冰碛丘陵。 大陆冰川区的冰碛丘陵规模较大,高度可达数十米至数百米。(例如北美的冰丘陵高 400m。山岳冰川也能形成冰丘陵,但规模要小得多,如西藏东南部波密,在冰川槽谷内的冰碛丘陵,高度只有几米到数十米。匠心地理公众号整理) 冰碛丘陵之间的洼地透水性很低,常能积水成池。 (2)侧碛堤 侧碛堤是由侧碛在冰川退缩以后共同堆积而成。它在冰川谷的两侧堆积成堤状,向下游方向常和冰舌前端的终碛堤相连,向上游方向可一直延伸到雪线附近。 (3)中碛堤 两条冰川汇合后,其侧碛合并成中碛,冰川融化后,在冰川谷中部沿谷地延伸方向堆积成垅状砂砾堤,称为碛堤。 (4)终破堤(尾碛堤) 当冰川的补给和消融处于相对平衡状态时,冰川的末端较长时期地停留在某一位置,这时由冰川上游搬运来的物质,在冰川尾端堆积成弧形的堤,称终碛堤。 (5)鼓丘 鼓丘是由一个基岩核心和冰砾泥组成的一种小丘,也是冰川再接近末端,对冰床中凸起基岩进行侵蚀,底碛翻越凸起的基岩时,搬运能力减弱,发生堆积而形成的。 迎冰面(向冰川上游的一侧)——由于凸起的基岩阻挡,冰碛物在基岩前向高处不断堆积,形成坡面较陡的丘体。 背冰面(向冰川下游的一侧)——冰碛物越过基岩后,沿背冰坡缓慢堆积,形成坡度较缓的丘体。 图片 微信图片_20241004153503.jpg图片 三、冰水堆积地貌 冰水堆积地貌:冰川融水具有一定的侵蚀搬运能力,能将冰碛物再搬运堆积,形成冰水堆积物,在冰川边缘由冰水堆积物组成的各种地貌。 冰砾阜阶地、冰砾阜和蛇形丘图片 根据冰水堆积地貌的分布位置、形态特征和物质结构可分为以下几种类型: (1)冰水扇和外冲平原 冰川的冰融水,常形成冰川河道,它可携带大量砂砾从冰川末端排出,在终碛堤的外围堆积成扇形地,叫冰水扇。几个冰水扇相连就形成冰水冲积平原,又名外冲平原。 (2)冰水湖 冰融水流到冰川外围注地中形成冰水湖泊。 (3)冰砾阜阶地 在冰川两侧,由于岩壁和侧碛吸热较多,附近冰体融化较快,又由于冰川两侧冰面较中部要低,所以冰融水就汇集在这里,形成冰川两侧的冰面河流,并带来大量冰水物质。当冰川全部融化后,这些冰水物质就堆积在冰川谷的两侧,形成冰砾阜阶地。它只发育在山地冰川谷中。 (4)冰砾阜 冰砾阜是一些圆形的或不规则的小丘,由一些有层理的并经分选的细粉砂组成,通常在冰砾阜的下部有一层冰碛层,冰砾阜是冰面上小湖或小河的沉积物,在冰川消融后沉落到底床堆积而成。 (5)锅穴 冰水平原上常有一种圆形洼地,深数米,直径十余米至数十米,称为锅穴。锅穴是埋在砂砾中的死冰块融化引起的塌陷而成。 锅穴示意图图片 (6)蛇形丘 蛇形丘是一种狭长而曲折的垄岗地形,由于它蜿蜒伸展如蛇,故称蛇形丘。(它的长度约数千米至数十千米,高 10-30m,有时可达 70-80m,底宽几十米至几百米,丘顶较狭窄,仅数米,顶部平缓,两侧坡度约 10-20°) 蛇形丘的延伸方向大致与冰川的流向一致。 END
教学设计
# 地理知识
# 冰川
# 备课
admin
1年前
0
282
1
2024-09-26
彩虹聚合DNS管理系统部署
聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有: 阿里云 腾讯云 华为云 西部数码 DNSLA CloudFlare 功能特性 多用户管理,可为每个用户可分配不同的域名解析权限 提供API接口,可获取域名单独的登录链接,方便各种IDC系统对接 容灾切换功能,支持ping、tcp、http(s)检测协议并自动暂停/修改域名解析,并支持邮件、微信公众号通知 CF优选IP功能,支持获取最新的Cloudflare优选IP,并自动更新到解析记录 演示截图 添加域名账户 图片 域名管理列表 图片 域名DNS解析管理,支持解析批量操作 图片 用户管理添加用户,支持为用户开启API接口 图片 CF优选IP功能,添加优选IP任务 图片 部署方法 从Release页面下载安装包 运行环境要求PHP7.4+,MySQL5.6+ 设置网站运行目录为public 设置伪静态为ThinkPHP 如果是下载的Source code包,还需Composer安装依赖(Release页面下载的安装包不需要) composer install --no-dev 访问网站,会自动跳转到安装页面,根据提示安装完成 访问首页登录控制面板 伪静态规则 Nginx location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } } Apache <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>Docker部署方法 首先需要安装Docker,然后执行以下命令拉取镜像并启动(启动后监听8081端口): docker run --name dnsmgr -dit -p 8081:80 -v /var/dnsmgr:/app/www netcccyun/dnsmgr访问并安装好后如果容灾切换未自动启动,重启容器即可: docker restart dnsmgr
技术搬砖
# PHP
# DNS
# 彩虹
admin
1年前
0
246
0
2024-09-25
在PrivateBin中使用YOURLS短链接服务
简介 搭建了一个PrivateBin这个加密剪贴板服务,但保存后生成的链接往往太长了,看起来太复杂,就像是这样: 图片 暂时我们还是没有上面的那个缩短链接按钮,接下来我们就来配置,使之出现这个按钮来缩短链接。 部署YOURLS YOURLS是一款使用 PHP+MySQL 开发的开源短链接管理系统,可以创建公开或私有的短链接,允许随机或自定义关键字,拥有强大的数据统计分析功能,文档齐全,插件丰富,支持开放 API 扩展。项目:https://github.com/YOURLS/YOURLS 官网:http://yourls.org/ 下载:https://github.com/YOURLS/YOURLS/archive/master.zip 准备 VPS 主机 短域名 宝塔面板 环境 YOURLS的安装环境要求如下: Nginx 1.20 PHP 7.2.0+ (PHP8.1 会出现排版问题,需要修改主题文件) MySQL 5+ 开始搭建 首先用宝塔新建站点,选择好 php 和 mysql 然后进入该站点目录点击宝塔的远程下载输入 Yourls 的下载地址 目前嗯最新版本是 1.92 https://github.com/YOURLS/YOURLS/archive/refs/tags/1.9.2.zip下载好后解压,并把文件夹内的所有文件剪切到网站根目录 将程序自带的一些默认文件改名,可以使用宝塔直接修改,具体修改如下: cp user/config-sample.php user/config.php # 配置文件 cp sample-public-front-page.txt index.php # 网站首页,如果不对外提供短链服务,可以不改 cp sample-robots.txt robots.txt编辑/www/wwwroot/你的域名/user/config.php文件,按照自己的情况配置。 /** MySQL 数据库用户名 */ define( 'YOURLS_DB_USER', 'your db user name' ); /** MySQL 数据库密码 */ define( 'YOURLS_DB_PASS', 'your db password' ); /** 用来存储 YOURLS 数据的数据库名 */ define( 'YOURLS_DB_NAME', 'yourls' ); /** 数据库主机ip '127.0.0.1:666' ** 如果你正在使用一个非标准断口,指定为'主机名:端口',例如'本地主机:9999'或'127.0.0.1:666' */ define( 'YOURLS_DB_HOST', 'localhost' ); /** MySQL 表前缀字符 */ define( 'YOURLS_DB_PREFIX', 'yourls_' ); /** YOURLS 安装 URL -- 字母小写,并且结尾不带斜线 ** 如果你把它定义为“http://iyideng.vip“,不要使用”http://www.iyideng.vip“在浏览器中(反之亦然) */ define( 'YOURLS_SITE', 'http://your-own-domain-here.com' ); /** 服务器时区 GMT 值,北京时间 +8 */ define( 'YOURLS_HOURS_OFFSET', 0 ); /** YOURLS 语言 **更改此设置以使用您的语言的翻译文件,而不是默认的英语。 **翻译文件 (a .mo file) 必须被安装在 user/language 目录中。 **更多信息,请访问 http://yourls.org/translations **请访问 https://github.com/ZvonimirSun/YOURLS-zh_CN/archive/master.zip 下载YOURLS汉化包,然后将包中的zh_CN.mo和zh_CN.po文件放到 /user/languages 目录下,然后在下面填入zh_CN */ define( 'YOURLS_LANG', '' ); /** 允许多个短链接对应同一原链接 ** 设置为 true 则表示短链接和原链接一一对应(默认 Yourls 设置) ** 设置为 false 则允许多个短链接对应同一原链接(类似 bit.ly 表现) */ define( 'YOURLS_UNIQUE_URLS', true ); /** Private 表示后台管理需要密码登陆作为默认手段来实现管理 ** 设置为 false 意味着对公众开放模式(例如在内网配置或者测试安装) ** 查看 http://yourls.org/privatepublic 获取更多细节 */ define( 'YOURLS_PRIVATE', true ); /** 用来加密 cookies 的一串随机哈希值,并不需要记住这个,要让它尽量长而复杂,可以从 http://yourls.org/cookie 来获取随机哈希值 **/ define( 'YOURLS_COOKIEKEY', 'modify this text with something random' ); /** 允许访问网站的用户名和密码。密码为纯文本或加密哈希 ** YOURLS将自动加密此文件中的纯文本密码 ** 阅读 http://yourls.org/userpassword 了解更多信息 */ $yourls_user_passwords = array( 'username' => 'password', // 'username2' => 'password2', // 你可以使用 'login'=>'password' 这种格式来添加更多行 ); /** 调试模式,用来输出一些内部信息 ** 对于运行中的站点默认是 false,在编码或者获取提交信息时才会启用 */ define( 'YOURLS_DEBUG', false ); /** 链接缩短方式:36 或者 62 **/ define( 'YOURLS_URL_CONVERT', 36 ); /* * 36: 生成数字和小写字母组成的短链接关键字(例如:13jkm) * 62: 生成数字大小写混合的短链接关键字(例如:13jKm 或者 13JKm) * 选择一个来设置,你开始创建连接之后最好别再更改 */ /** * 保留关键字(这样子在创建链接时就会屏蔽这些关键字) * 这里会填上负面、潜在误导性的词语 */ $yourls_reserved_URL = array( 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick', ); /* ** 自定义的个人设置项可以写在下面 */编辑index.php文件,将$page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ;,如果不需要访问网站首页,可以不修改。 设置伪静态,网站 -> 设置 -> 伪静态,输入以下代码并保存: location / { try_files $uri $uri/ /yourls-loader.php?$args; }访问你的域名开始安装,安装界面如下: image.png图片 点击install yourls开始安装,完成后如图所示: image.png图片 打开你的域名就可以看到首页了,输入一个网址,如果能正确生成短网址,就没问题了。 image.png图片 设置中文 前面我们修改user/config.php时设置了中文,不过安装后并不是中文,所以我们还需要安装汉化包。 访问 [yourls-zh_CN]() 下载汉化包,并解压到user/languages目录。 image.png图片 image.png图片 安装好之后,刷新一下就发现已经是中文了。 使用插件 在页面上点击” 管理界面”,使用配置文件填写的用户名和密码登录。 输入管理员账号密码登录后如果出现“Could not auto-encrypt passwords. Error was: “cannot write file”.”报错,请将user/config.php文件的权限改为666,然后刷新网页,再把权限改回644,因为你刚才填写密码时用的是明文,这样很危险,所以程序需要对其加密。 点击左上角的 “管理插件”,这里便能管理和激活插件,将鼠标移到插件右侧的“动作” 那一栏,会出现激活 / 取消激活菜单,点击便可开启 / 关闭插件。 先激活自带的Random SHortURLs插件,它可以让短链末尾生成随机的字符串。 图片 另外,推荐安装 reCaptcha,可以在登录页面增加谷歌验证码,安装和使用方法见下方【启用谷歌 recaptcha】。 申请谷歌 recaptcha 到 https://www.google.com/recaptcha/admin/create 申请 recaptcha 标签随便填,类型选择 V3 并将你的 yourls 域名添加上去 image.png图片 打开网站根目录下 / frontend 里的 config.php 将 define("enableRecaptcha", false);里的 false 修改成 true,然后填入你申请到的密匙 define("recaptchaV3SiteKey", '填入sitekey'); // reCAPTCHA V3 Secret Key define("recaptchaV3SecretKey", '填入密匙');如果是国内主机安装,或是需要国内用户正常使用 reCaptcha 服务。 只要把插件源码中 reCaptcha 服务接口域名由google.com替换成recaptcha.net即可。 找到reCaptcha的安装目录/www/wwwroot/你的域名/user/plugins/Admin-reCaptcha,打开recaptchalib.php文件,将 private static $_siteVerifyUrl = "https://www.google.com/recaptcha/api/siteverify?";替换成 private static $_siteVerifyUrl = "https://www.recaptcha.net/recaptcha/api/siteverify?";打开plugin.php文件,将 $.getScript( "https://www.google.com/recaptcha/api.js?onload=loadCaptcha&render=explicit");替换成 $.getScript( "https://www.recaptcha.net/recaptcha/api.js?onload=loadCaptcha&render=explicit");访问 https://github.com/YOURLS/awesome-yourls 可以获得更多插件。 使用主题 YOURLS默认的界面比较简陋,推荐安装更好看的主题。 目前有三款主题:Sleeky、Infinity Squared 和 Air 666。 推荐使用 Sleeky 这款主题。 以同样的方法下载 Sleeky 主题 目前版本是 2.5 https://github.com/Flynntes/Sleeky/archive/refs/tags/v2.5.0.zip将 Sleeky 主题前段文件夹里的所有文件(frontend 和 index.php)放到网站根目录,将 sleeky-backend 文件夹放入 user/plugins / 目录。然后到插件页,激活主题即可。 图片 图片 注意:如果使用的是 PHP 8.1 及以上,将会导致主题无法正常显示。只需要在前端主题文件夹内找到 header.php 文件,删除第 15 行:<?php echo $YOURLS_SITE ?>,保存后,刷新即可。 图片 更换主题后,管理员无法登录 对/root/yourls/yourls_data/user/plugins/sleeky-backend/plugin.php进行修改,if (yourls_is_valid_user() != 1) {修改为if( defined( 'YOURLS_USER' ) ) {,如下图所示: 图片 后端演示: image.png图片 前端演示: image.png图片 部署PrivateBin 添加网站&绑定域名 上传文件 前往github下载PrivateBin最新文件(https://github.com/PrivateBin/PrivateBin),下载完成后上传到网站根目录,解压后顺便授予对应的读写权限。 部署&配置PrivateBin 上传完成压缩包并解压后就可以通过域名访问PrivateBin,但是此时PrivateBin还是默认的配置,所以还需要修改配置文件,不然有些功能是无法使用。 进入PrivateBin对应的文件夹,再进入cfg文件夹,复制"conf.sample.php"这个文件,粘贴到原位置并重命名为"conf.php",然后打开这个文件,编辑配置文件。 1.启用讨论 如果需要讨论功能,就可以在配置文件中找到"discussion",更改为”true“。如果不需要讨论功能就不用打开;如果还需要讨论的时候显示发言时间,也可以把下面的”discussiondatedisplay“一并打开。 图片 2.启用上传文件 PrivateBin默认禁止上传文件,但从实用性角度而言本人还是建议启用,在配置文件中找到”fileupload“,更改为”true“。默认上传文件大小限制为10MB,如果需要上传更大文件,可以修改”sizelimit“大小,但是不建议改太大,建议别想不开用这个来传文件,需要上传文件的话可以用第三期搭建的alist来,或者使用其他的方式,而且谁会有很大的文件需要阅后即焚啊。 图片 图片 3.配置数据库 其实数据库也是可以不用配置的,PrivateBin可以不用数据库,但是吧,这样会把所有内容直接存在本地,而且serv00本来性能就不行,还不如用数据库把相关数据独立出去。 在配置文件夹找到”model“项,可以看到有很多配置信息,但是除去第一项都是注释掉了(不生效),在配置mysql之前需要先注释掉原本配置信息,把第一项”model“全部注释掉(注释就是前面加个;符号,或者直接删掉这一项也行)。 然后往下拉,在其中一个”model“项中找到“mysql”的内容,先删去注释(删掉前面;符号),然后依次配置数据库地址、名称、用户信息等内容。 图片 (可选)4.忽略http错误 先说一下,并不建议忽略http错误,默认情况下PrivateBin只会接收https的请求,如果是http请求会报错,serv00配置ssl证书有点麻烦,但是可以用cloudflare来实现https并加速访问,所以忽略这个错误完全没必要,而且使用http访问就摒弃了避免隐私泄漏的宗旨,当然如果就是想用http访问,可以在配置文件中修改“httpwarning”对应内容。 缩短链接 获取YOURLS 的signature token YOURLS关于signature token的介绍是: YOURLS允许使用老方法进行API调用,即使用username和password参数。 如果你担心这有潜在的风险,你也可以不使用你的用户名或密码进行API调用,而使用一个 secret signature token。 所以选择signature token是个更安全的选项。 获取signature token方法如下: 打开你的YOURLS管理界面的网页,点击上方菜单中的工具选项,然后滑到界面底部就能看见安全的API调用一栏,在那里就写着: 你的 secret signature token:XXXXX (请保存好,勿泄露)。然后复制XXXXX的内容。 修改PrivateBin配置文件 - YOURLS内配置 首先官方文档内说如果您选择自托管解决方案,您必须启用CORS支持。以Nginx为例,可以通过在YOURLS的Nginx配置文件中设置PHP相关字段的头部来实现,比如宝塔面板内的URL rewrite: location ~ \.php$ { add_header Access-Control-Allow-Origin "https://your.privatebin.domain" always; }- PrivateBin配置 进入PrivateBin对应的文件夹,再进入cfg文件夹,然后打开"conf.php"文件,编辑配置文件 我们可以在里面找到这样一段配置: ; (optional) URL shortener address to offer after a new paste is created. ; It is suggested to only use this with self-hosted shorteners as this will leak ; the pastes encryption key. ; urlshortener = "https://shortener.example.com/api?link="我们要删除urlshortener前面的 ";" 使这个配置生效,然后将引号内的内容改为${basepath}shortenviayourls?link= 就像这样: ; (optional) URL shortener address to offer after a new paste is created. ; It is suggested to only use this with self-hosted shorteners as this will leak ; the pastes encryption key. urlshortener = "${basepath}shortenviayourls?link="然后翻到配置文件最底部有如下段落: [yourls] ; When using YOURLS as a "urlshortener" config item: ; - By default, "urlshortener" will point to the YOURLS API URL, with or without ; credentials, and will be visible in public on the PrivateBin web page. ; Only use this if you allow short URL creation without credentials. ; - Alternatively, using the parameters in this section ("signature" and ; "apiurl"), "urlshortener" needs to point to the base URL of your PrivateBin ; instance with "shortenviayourls?link=" appended. For example: ; urlshortener = "${basepath}shortenviayourls?link=" ; This URL will in turn call YOURLS on the server side, using the URL from ; "apiurl" and the "access signature" from the "signature" parameters below. ; (optional) the "signature" (access key) issued by YOURLS for the using account ; signature = "" ; (optional) the URL of the YOURLS API, called to shorten a PrivateBin URL ; apiurl = "https://yourls.example.com/yourls-api.php"我们要修改的是最后一段的signature和apiurl,同样的,删除前面的 ";" 然后填入你的signature和apiurl signature:刚刚我们已经在YOURLS管理面板获取 apiurl :https://你的yourls地址/yourls-api.php 另外注意[yourls]中的urlshortener,也需要删除前面的 ";",填入下面的值 修改后如下: [yourls] ; When using YOURLS as a "urlshortener" config item: ; - By default, "urlshortener" will point to the YOURLS API URL, with or without ; credentials, and will be visible in public on the PrivateBin web page. ; Only use this if you allow short URL creation without credentials. ; - Alternatively, using the parameters in this section ("signature" and ; "apiurl"), "urlshortener" needs to point to the base URL of your PrivateBin ; instance with "shortenviayourls?link=" appended. For example: urlshortener = "${apiurl}?signature=${signature}&action=shorturl&format=json&url=" ; This URL will in turn call YOURLS on the server side, using the URL from ; "apiurl" and the "access signature" from the "signature" parameters below. ; (optional) the "signature" (access key) issued by YOURLS for the using account signature = "XXXXXX" ; (optional) the URL of the YOURLS API, called to shorten a PrivateBin URL apiurl = "https://example.com/yourls-api.php"
技术搬砖
# PHP
# YOURLS
# PrivateBin
# 短链
# 阅后即焚
admin
1年前
0
218
0
2024-09-13
windows11 WSA 安卓子系统设置代理
第一步:安装 Android SDK Platform Tools 该工具可用于调试、安装和卸载应用程序、更新固件和执行其他类似的操作。安装该工具主要是为了启用 adb 以便后续操作 WSA 。 下载链接:https://dl.google.com/android/repository/platform-tools-latest-windows.zip (似乎不需要魔法就能下?) 下完ZIP包解压至方便的位置。强烈建议文件夹名称之间不应该有任何空格(以及非ASCII字符) 第二步:使用 adb shell 设置 打开wsa开发者模式,之后会显示一个IP 在第一步解压缩的文件夹中,Shift+鼠标右键,打开cmd 输入 ./adb.exe connect 127.0.0.1:58526第三步:设置代理 将你的代理工具设置 “允许局域网连接”,或点击“Allow LAN”之类的开关 ./adb.exe shell settings put global http_proxy ip:端口ip是本机ipv4,是个内网ip,端口是你的工具默认的端口 第四步:关闭代理(无需重启) ./adb.exe shell settings put global http_proxy :0
技术搬砖
# 代理
# WSA
admin
1年前
0
529
0
2024-09-09
Debian 设置时区与同步网络时间
首先设置 Debian 的时区,一般全自动安装好的 Debian 是 UTC 时间,与北京时间差 8 小时,所以我们最好将时区设置为常用的时区,方便使用与阅读。 timedatectl 是一个新工具,它作为 systemd 系统和服务管理器的一部分,代替旧的传统的用在基于 Linux 分布式系统的 sysvinit 守护进程的 date 命令。 timedatectl 命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程 NTP 服务器的自动系统时钟同步。 timedatectl set-timezone "Asia/Shanghai"要查看所有可用的时区,运行以下命令: timedatectl list-timezones一般重新设置时区以后,时间会与本地时间有差距,这时候建议使用同步来解决时间差异的问题。 注意:timedatectl 并不兼容 ntpd 等组件,请不要安装 ntpd 等组件,以免时间同步失效。 在一部分发行版里并没有内置 systemd-timesyncd 相关工具,这时候我们需要安装它: apt install systemd-timesyncd要增加 NTP 服务器,则需要修改 /etc/systemd/timesyncd.conf vim /etc/systemd/timesyncd.conf[Time]#NTP=#FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org#RootDistanceMaxSec=5#PollIntervalMinSec=32#PollIntervalMaxSec=2048添加服务器需要取消 NTP= 这一行的注释,并填入 NTP 服务器地址。 例如: NTP=pool.ntp.org 0.asia.pool.ntp.org 1.asia.pool.ntp.org 2.asia.pool.ntp.org多服务器间用空格分割。 保存更改后,重启 systemd-timesyncd 服务 systemctl restart systemd-timesyncd之后验证配置可以使用 timedatectl show-timesync --all 要启用并运行: timedatectl set-ntp true同步需要一点时间,可能会卡住。 查看状态使用: timedatectl timesync-status参考: https://askubuntu.com/questions/1338764/cant-start-enable-timesyncd-on-20-04-lts https://www.cnblogs.com/zhi-leaf/p/6282301.html https://pan-xiao.gitbook.io/debian/config/ntp
技术搬砖
# 时区
# 同步
admin
1年前
0
172
0
2024-09-09
自建电子邮件管理程序Cypht
关于Cypht Cypht是一款免费开源的Web电子邮件客户端管理程序,它在不牺牲隐私和安全性的前提下,汇聚了个电子邮件账户,让用户仅需一个网页就能轻松管理多个电子邮件账户,包括查看、发送邮件,以及还提供了邮箱常用的过滤、标签、搜索等功能,从而提高了多个邮箱同时使用的效率与便捷。 image.png图片 image.png图片 它的亮点特性如下: 自托管 :Cypht 支持自托管,你可以选择自己部署服务器,完全掌控自己的数据。 端到端加密: 所有通信均在发送者和接收者之间进行加密,即使数据通过不安全的网络,也无需担忧信息泄漏。 插件系统 : 通过插件,你可以连接到不同的邮件服务提供商,或扩展其他功能。 隐私优先 :Cypht 不存储用户的私钥,确保只有消息的收发双方才能解密信息。 它的功能与用途包括: 安全的电子邮件: Cypht 提供了一种方法,可以在发送邮件时自动加密消息内容,防止未经授权的第三方阅读。 跨平台 :不论你是 Windows 用户、Mac 用户还是 Linux 爱好者,或者更倾向于使用智能手机,Cypht 都可以无缝适配你的设备。 易于使用 :尽管加密听起来复杂,但 Cypht 的设计原则之一就是易用性,使得即便是对技术不太了解的用户也能轻松上手。 透明度与审计 :开源代码意味着任何人都可以查看其内部工作原理,增强用户对安全性的信心。Cypht部署 需要说明的是,一般涉及到安全方面的Docker容器,基本都会需要稳定的数据库作为支撑,今天介绍的这个Cypht也是一样,所以在部署之前,咱们需要先搞定数据库。 第一步:创建数据库 先打开数据库管理工具phpMyAdmin,然后在“账户”里面“新增用户账户”。 image.png图片 填入新增用户账户的信息: 用户名:cypht 主机名:任意主机( % ) 密码:随意(我这里演示就设为了“123456”) 然后勾选下面的“创建与用户同名的数据库并授予所有权限”,最后别忘了点页面下方的“执行”按钮 image.png图片 image.png图片 第二步:Cypht部署 1.任意位置新建文件夹 2.新建docker-compose.yaml文件 3.复制下面的 80端口被占用可改为其他端口 version: '3' services: cypht: image: sailfrog/cypht-docker:latest volumes: - ./cypht/users:/var/lib/hm3/users ports: - "80:80" environment: - CYPHT_AUTH_USERNAME=admin - CYPHT_AUTH_PASSWORD=admin_password - CYPHT_DB_CONNECTION_TYPE=host - CYPHT_DB_HOST=172.17.0.1:3306 - CYPHT_DB_HOST=db - CYPHT_DB_NAME=cypht - CYPHT_DB_USER=cypht - CYPHT_DB_PASS=123456 - CYPHT_SESSION_TYPE=DB CYPHT_AUTH_USERNAME 后台管理员账号,自己随意设置 CYPHT_AUTH_PASSWORD 后台管理员密码,自己随意设置 CYPHT_DB_CONNECTION_TYPE 数据库连接类型,默认为 host CYPHT_DB_HOST 填写数据库主机地址+端口,默认为 宿主机在Docker内网IP:3306 CYPHT_DB_NAME 数据库名称,我前面设置的为cypht CYPHT_DB_USER 数据库用户,我前面设置的为cypht CYPHT_DB_PASS 数据库密码,我前面设置的为123456 CYPHT_SESSION_TYPE 保持登录状态,默认的 DB 即可 cd进docker-compose.yaml文件目录,启动 docker-compose up -d宿主机在Docker内网IP docker在运行时就建立了虚拟网卡,并命名为docker0,在宿主机ifconfig可以看到网桥的ip是172.17.0.1 image.png图片 设置宿主机mysql允许docker0的虚拟网卡ip访问 宿主机mysql设置允许用户cypht通过172.19.0.2访问cypht数据库的任意表 mysql -uroot -pmysql>GRANT ALL PRIVILEGES ON cypht.* TO 'cypht'@'172.19.0.2' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql>flush privileges;Cypht体验 直接在浏览器中输入 【 IP:端口号】 就能看到登录界面了 首次打开需要登录。登录的账号和密码就是我们部署时环境变量中设置的管理员账号和密码 image.png图片 登录成功后的主界面,程序默认为英文界面。 不过程序是可以通过如上图所示的操作设置为简体中文的 时区默认也不是咱们内地,我们也可以通过设置更改 image.png图片 image.png图片 接着咱们先来添加一个邮箱。直接在首页位置点击“添加电子邮件账户” image.png图片 image.png图片 然后输入对应的密码。请注意:如果你的Gmail开启了两步验证,这里的密码是谷歌“应用专用密码”,而不是你实际的谷歌账号密码!!! Gmail应用密码 image.png图片 登录进来后就能直接看到自己所有的邮箱信息了 image.png图片 可以直接点开邮件,并对邮件进行回复或者转发等操作,和谷歌自己的邮箱操作差不多 image.png图片 如果说官方服务列表中没有我们需要的邮箱服务商,我们也可以通过SMTP/IMAP服务器的方式添加,具体的大家自己研究下吧 image.png图片 同时,该项目还支持添加 RSS 订阅 image.png图片 image.png图片 最后的最后,你的设置变动都需要点击保存,否则下次在别的地方登陆都是没有任何数据的 image.png图片 image.png图片
技术搬砖
# docker
# cypht
# 邮件
admin
1年前
0
305
0
2024-09-01
serv00切换php版本
今天想着吧自己的常用网址搬到 serv00 但是转移过程发现 php 版本过高 (不要问为什么不支持 8.0 我也不知道问我用来当做常用网址的程序作者去吧~) image.png图片 查阅资料发现也是很简单只需要在 /domains/DOMAIN/.htaccess 文件里面添加. htaccess 文件最后一行 或第一行 或 伪静态规则之外,加入其中 74 可以改成自己想要的 php 版本 AddType application/x-httpd-php74 .php其他版本配置: AddType application/x-httpd-php56 .php AddType application/x-httpd-php70 .php AddType application/x-httpd-php71 .php AddType application/x-httpd-php72 .php AddType application/x-httpd-php73 .php
技术搬砖
# PHP
# serv00
admin
1年前
0
450
0
2024-08-30
全新的Telegraph图床
介绍 基于Cloudflare Workers的Telegraph图床目前提供D1和KV两个版本,二者的主要区别在于存储位置 D1版本使用Cloudflare D1数据库进行存储,访问后台管理更流畅 KV版本则使用Cloudflare KV空间,数据多的情况下,加载后台页面需要的时间长一点 源码:https://github.com/0-RTT/telegraph 成品:https://545040.xyz/(使用D1数据库进行部署) 效果图 image.png图片 image.png图片 功能 支持上传大于5MB的图片。 在图床界面中可以直接粘贴上传。 选择图片后会自动上传,使用方便。 管理界面支持查看和播放MP4文件。 显示上传时间,并支持按上传时间排序。 支持修改后台路径为 /admin,可在代码的第二行进行调整。 图片管理功能可通过访问域名 /admin 实现,且图片支持懒加载。 仅允许代理自己上传的图片,无法访问通过其他TG图床上传的链接。 支持JPEG、JPG、PNG、GIF和MP4格式,GIF和MP4的大小需≤5MB。 支持URL、BBCode和Markdown格式,点击对应按钮可自动复制相应格式的链接。 选择图片后会自动压缩,以节省Cloudflare和Telegraph的存储空间,同时加快上传速度。 对于需要自定义UI的用户,可以自行修改HTML代码,在修改html代码时能够保留项目开源地址。 D1版本部署 D1数据库限制 D1数据库限制详情 对于个人用户,500MB的免费存储空间足够用于储存图片链接使用。 类别限制数据库数量50,000 (付费用户) beta / 10 (免费用户)最大数据库大小2 GB (付费用户) beta / 500 MB (免费用户)每个帐户的最大存储空间50 GB (付费用户) beta / 5 GB (免费用户)Time Travel 间隔时间 (时间点恢复)30 days (付费用户) / 7 days (免费用户)最大 Time Travel 还原操作数每 10 分钟 10 次还原(每个数据库)每个工作线程调用的查询数(读取子请求限制)50 (Bundled) / 1000 (Unbound)每个表的最大列数100每个表的最大行数无限制(不包括每个数据库的存储限制)最大字符串或 BLOB 表行大小1,000,000 bytes (1 MB)最大 SQL 语句长度100,000 bytes (100 KB)每个查询的最大绑定参数数100每个 SQL 函数的最大参数数32LIKE 或 GLOB 模式中的最大字符数(字节)50 bytes每个工作线程脚本的最大绑定数约5,000 人图片教程 1、 创建D1数据库 图片 2、 数据库初始化 图片 数据库初始化命令 CREATE TABLE media ( key TEXT PRIMARY KEY, timestamp INTEGER NOT NULL, url TEXT NOT NULL );图片 图片 图片 图片 3、创建Worker程序 图片 图片 图片 图片 image.png图片 4、设置自定义域名或路由设置优选域名 图片 图片 图片 图片 如果需要加速cf worker,并且域名托管在CF 只需要将自定义域的解析记录删除,然后重新添加新的cname记录到任意优选CNAME域名即可(不要勾选小云朵,选择仅DNS) 优质优选cname地址如下 https://monitor.gacjie.cn/page/cloudflare/cname.html image.png图片 进入该管理域名内,左侧有个worker路由,将刚刚优选的二级域名(后面最好加/*)填入这个路由中,然后worker选择指向,选择刚刚创建的,最后手动访问一次网站即可 image.png图片 5、设置后台管理环境变量 图片 环境变量设置账号USERNAME 环境变量设置密码PASSWORD 图片 数据库绑定变量DATABASE 图片 图片 KV版本部署 KV限制 KV键值限制详情 对于个人用户,免费额度足够用于储存图片链接使用。 类别免费用户付费用户读每天 100,000 次读取无限写入不同的键每天 1,000 次写入无限写入同一密钥每秒 1 次每秒 1 次操作/worker调用10001000命名空间100100存储/帐户1 GB无限存储/命名空间1 GB无限键/命名空间无限无限键大小512 bytes512 bytes键元数据1024 bytes1024 bytes值大小25 MiB25 MiB使用方法 将代码部署到 Cloudflare Worker,设置自定义域和变量(需要设置环境变量并绑定 KV 命名空间)。 步骤 1: 创建 KV 命名空间 点击 Workers 和 Pages。 点击 KV。 点击 创建命名空间。 填写命名空间名称(可随意命名)。 点击 添加。 步骤 2: 创建 Worker 点击 Workers 和 Pages。 点击 创建。 填写 Worker 名称(可随意命名)。 点击 部署。 步骤 3: 添加自定义域 点击刚刚创建的 Worker 名称。 点击 设置。 点击 触发器。 点击 添加自定义域。 步骤 4: 添加环境变量 点击刚刚创建的 Worker 名称。 点击 设置。 点击 变量。 点击 添加环境变量。 填写两个环境变量:USERNAME和PASSWORD,分别对应的值为账号和密码。 步骤 5: 绑定 KV 命名空间 点击刚刚创建的 Worker 名称。 点击 设置。 点击 变量。 点击 KV 命名空间绑定。 点击 编辑变量。 填写变量名称 imgurl,并选择前面设置的 KV 命名空间。 步骤 6: 编辑 Worker 代码 点击刚刚创建的 Worker 名称。 点击 编辑代码。 清除 Worker 原本的代码。 复制粘贴 worker.js 中的代码。 将代码第一行中的example.com改为你的自定义域。 点击 部署。 访问自定义域名即可访问图床。 参考链接 1、利用D1数据库储存Telegraph图床链接 ,超详细的图片教程 2、分享一下我个人使用CF优选的经验和方法
技术搬砖
# 图床
# telegraph
# cf_workers
admin
1年前
0
256
0
2024-08-26
Virmach的ipv6设置方法分享
Virmach东京配置了ipv6,用脚本重装Debian 12 之后,控制台点击Reconfigure Networking后无法连接ssh控制台登录VNC,用root账户登录,使用ip a查不到ip地址 image.png图片 解决办法:执行以下命令 sudo /sbin/dhclient接下来再执行ip a,就能显示ip信息了,那如何添加ipv6访问呢? 进入并编辑/etc/network/interfaces文件 vi /etc/network/interfaces自行替换XXX等关键信息 # Generated by SolusVM auto lo iface lo inet loopback # `ip a`显示的网卡信息 auto ens3 iface ens3 inet static address 45.66.222.XXX gateway 45.66.222.1 netmask 255.255.255.0 dns-nameservers 8.8.8.8 8.8.4.4 iface ens3 inet6 static address 2a12:a301:0:X::XXX:XXX netmask 64 gateway 2a12:a300:0::1 dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844加完保存,reboot重启下就ok了
技术搬砖
# ipv6
# virmach
admin
1年前
0
231
0
2024-08-13
使用阿里云 OSS 存储服务 + CloudFlare 配置图床
image.png图片 前言 带宽联盟是 Cloudflare 推出的一项服务,由一群具有前瞻性思维的云服务和网络公司组成,致力于为共同客户降低或免除数据传输(带宽)费用。为什么能做到非常低甚至能免除成本呢?云厂商跟 Cloudflare 直接的数据传输,是通过专用网络接口 (PNI) 或专用互连的,中间不经过任何网络提供商(比如电信),既然是直连,那么就不存在 PNI 的增量成本了,自然也就便宜了。虽然阿里云不是第一批加入带宽联盟的,但是到现在为止也加入一年多了(我白嫖也一年多了),并推出了 Cloudflare+Alibaba Cloud OSS 的解决方案。这点还是非常良心的,虽然腾讯云后来也加入了,但是我觉得不够“清晰透明”,就一直没试过。 虽然有时候 Cloudflare 是“减速 CDN”,但是既然咱选择了白嫖,那么就要贯彻到底了,对于有海外业务的小伙伴来说,这样反而能省下不少的开销 存储费用 根据存储费用文档,我们可以了解到,在海外(部分)区域,标准存储(本地冗余)容量支持使用5 GB/月的免费额度(即每月标准存储(本地冗余)容量≤5 GB时,不收取标准存储(本地冗余)容量费用)。 虽然不支持中国大陆免费 5GB 存储,不过并没有关系,支持的话我也不推荐你用,往下看就明白了。 流量费用 根据流量费用文档,我们可以了解到,在海外(部分)区域,外网流出流量(oss_flow_out)支持使用5 GB/月的免费额度(即每月外网流出流量≤5 GB时,不收取外网流出流量费用)。 有的小伙伴可能会好奇,既然可以免流,那这 5GB 外网流出流量还有什么用呢?看我上面那张图,你会发现,外网流出流量,无法做到完全没有。我每个月都有几 KB 的漏网之鱼,这还是我用量少的情况下,用的多自然就可能漏的多。原因就是你无法把缓存命中率做到 100%,可能我设置方式不是最优,但是能做到接近 100% 也就够了。但我们还需要防范直接打到源站的流量,这 5GB 相当于一个缓冲,如何防范打到源站,我下面也会讲。 请求费用 根据请求费用文档,算了没必要看了,请求费用是需要收费滴,不过好在便宜,几乎可以忽略不计。 想必有经验的小伙伴已经察觉到了,这套方案防 D 不防 C,不过方案是有平替的,只是各有优劣。但对于本身有这个需求的用户来说,确实能省钱。 最后,是 Cloudflare 这边的费用 对于阿里云来说,传输到 Cloudflare 是零出口费用。 有一点需要特别注意:出口传输费优惠或豁免可能需要与托管服务提供商注册,不适用于源于中国大陆的数据传输。也就是说,OSS 源站必须是海外节点,所以大陆节点没有免费 5GB 存储,其实无所谓的啦!主要操作流程 创建 Bucket:开通 OSS 并创建 Bucket。创建 Bucket 时选择海外的地域(如果在别的地域没有服务器的话,建议使用香港),存储类型选择标准存储即可,读写权限一定要选择私有,其余的附加服务按需启用(有的得加钱)。 image.png图片 但为了让图床正常使用,需要设置让Cloudflare的ip能够访问。 Cloudflare的ip官方已经给出了: IP Ranges 简单处理一下, 173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/13,104.24.0.0/14,172.64.0.0/13,131.0.72.0/22 配置访问权限:进入权限控制 -> Bucket 授权策略面板,添加授权,配置如下图。 image.png图片 配置 CDN:在 CloudFlare 的 DNS 管理面板添加 CNAME 记录,目标设为 Bucket 的域名(可以在 Bucket 的概览界面找到),代理状态设为已代理,否则 CDN 不起作用。 image.png图片 image.png图片 绑定域名:在阿里云的 Bucket 配置 -> 域名管理界面绑定你刚设置的域名,这时阿里云需要验证域名的所有权,按照其所说的在 CloudFlare 的 DNS 管理处添加指定 TXT 记录即可。 image.png图片 创建并添加证书:在 CloudFlare 的配置面板的 SSL/TLS -> 源服务器处,选择创建证书。创建之后会告诉你源证书与私钥,这个界面暂时不要动。打开刚才在阿里云控制台绑定证书的界面,选择证书托管,并上传 SSL 证书,这时会打开 SSL 证书的界面,选择上传证书,并将 CloudFlare 给出的源证书和密钥复制到上传证书的对应字段处(证书名字随便设),然后确定。这时切换回上传 SSL 证书,应该就能在证书名称处看到刚刚设置的证书名字了(看不到的话重开一下这个界面试试),选中,然后点下方的上传即可。 然后我们查看域名绑定配置,发现已经绑定上了。然后我们去上传一张照片。 image.png图片 image.png图片 自有域名选择自己配置好的解析域名,我们就可以看到 URL 已经变成咱们自定义的啦! 安全性配置 跨域设置:在阿里云 OSS 的数据安全 -> 跨域设置中创建跨域规则,来源设置为你的网站的地址。为了能让网站在本地测试时也能正常展示图片,建议同时添加localhost:*与127.0.0.1:*。 防盗链设置:和跨域设置类似。不同之处在于 Referer 是包含请求协议的,所以类似于example.org或localhost:*等不包括协议的配置是无效的,需要改为https://example.com或*://localhost:*;需要注意的是*.example.org虽然是有效的,但是没有指定 https 协议,安全起见最好改为https://*.example.org。 设置错误页:S3协议的bucket在公开读的权限下会默认展示桶内文件列表和路径,特征明显而且并不友好。绝大多数的对象存储都支持设置静态网站index.html和错误页404.html的设置,比如阿里云OSS在【基础设置】-【静态页面】下。这里随手找了两个单页供选择和参考 image.png图片 CloudFlare安全规则: image.png图片 PicGo 配置 PicGo 是一款快速上传图片到图床,并自动复制图片 URL 到剪贴板的工具,你可以在 Github 的 release 页获取该程序。 权限设置:在阿里云的权限控制 -> Bucket 授权策略面板新增授权,配置如下: image.png图片 如果当前没有 RAM 子帐号,请点击右上角头像 -> 访问控制,然后在左侧的身份管理 -> 用户处创建一个子帐号。创建完成后在子帐号的详情页创建 AccessKey,得到 AccessKey 的 KeyID 与 KeySecret,保留备用。 上传配置:打开 PicGo 主界面,在图床设置 -> 阿里云 OSS 内填写对应的表单项。“KeyID” 与 “KeySecret” 即刚才获取的子帐号 AccessKey 的 KeyID 与 KeySecret,“设定 Bucket” 为 Bucket 的名称,“存储区域” 为 Bucket 所在区域(与 Bucket 域名内的值统一,例如oss-cn-hongkong),自定义域名填写你设置的域名,其余两项按需填写即可。配置完成后点击确定并设为默认图床。 参考网站: https://blog.furffisite.link/p/imagebed-oss-conf https://blog.besscroft.com/articles/2022/distributed-storage-oss/
技术搬砖
# Cloudflare
# oss
admin
1年前
0
518
1
上一页
1
2
3
4
...
12
下一页