Skip to content

分享站/网站监控/memos/uPic&Cloudflare R2/MTPROTO

Published: at 08:00

⚠️ 以下部分内容可能已过期。

Table of contents

Open Table of contents

首先是做了一个分享站,这样再写博客和 newsletter 的时候,有一些需要分享的内容(比如视频、文件)就可以直接放到这个分享站里了。

这个分享站的部署非常简单,首先在宝塔面板上新建一个网站并设置好 DNS 解析和 SSL 证书,然后在 PHP 环境中安装 fileinfoexif ,最后到网站的文件目录中上传一个从 File Gallery 官网 下载的 index.php 文件就行了。

index.php 中的一些参数随时可以修改,列出了一些常用的供参考:

// 根目录配置
'root' => '', // 相对路径或者绝对路径,不填代表当前目录,二级目录无需 / 符号
'start_path' => false, // 分配加载到视图中的第一个目录,默认情况下,该目录与root目录相同

// 授权登录
'username' => '', // 用户账号(留空关闭)
'password' => '', // 用户密码(留空关闭)

// 排除文件或者目录
'files_exclude' => '', // '/\.(png|jpe?g)$/i'   / 解释:排除后缀png.jpeg.jpg
    'dirs_exclude' => '',    // '/\/AAA|\/doc|\/222(\/|$)/i' / 解释:排除目录AAA.doc.222

// 菜单
'menu_enabled' => true // 启用或禁用左侧文件夹菜单
'menu_show' => true // 文件夹菜单展开或折叠
'menu_sort' => 'name_asc' // 左侧文件夹菜单排序 / name_asc,name_desc,date_asc,date_desc

// 布局
'layout' => 'rows' // 主视图区域布局,包括选项 列表,块,网格,行和列
'sort' => 'name_asc' // 主视图区域默认排序 / name_asc,name_desc,date_asc,date_desc

二、Website Status

之后,我又在 GitHub 上看到了 uptime-status 这个项目,可以监控部署的各个站点的运行情况。

这个项目所调用的是 UptimeRobot 的 API,所以先要去这个网站上注册一下,免费版的用户可以添加 50 个网站进行监控,对于绝大多数人来说足够了。

步骤一:注册完成后点击 + Add New Monitor,然后在 Monitor Type 选择 HTTP(s) 并填写网站名称和域名就行了。

步骤二:添加完需要监控的网站后,将鼠标移动到用户邮箱处,选择 My Settings,然后找到 API Settings,在 Monitor-Specific API Keys 中选择 Show/hide it,之后在搜索栏中输入刚刚添加的网站名称来获取 API Key。

步骤三:在宝塔面板中新建网站,并设置好 DNS 解析和 SSL 证书;然后到网站目录中上传并解压从 uptime-status 下载的 uptime-status.zip

步骤四:修改 config.js 文件:

三、Memos

Flomo 是一款非常好的 app,用过的都说好。然而,flomo 因为其不好进行输出和整理的缺点,一直不能融入我的工作流中。那为什么还要部署 memos 呢?

首先,我觉得有很多内容不一定要写在博客里,但又需要分享出来。

其次,之前是用的 Montaigne (详见:利用 Montaigne 将备忘录变为博客)直接在苹果的备忘录中写,可是最近发现我还分享了几个备忘录给 C总和朋友,管理起来容易和 Montaigne 搞混。

于是,我就部署了一个高仿 flomo 的开源项目 memos

相比于 flomo,我觉得 memos 的好处在除了开源和自托管外,也在 iOSmacOS 上有第三方开发的 app,另外还有许多有趣的玩法,除了比较老套的如快捷指令Raycast Extension,还可以部署成静态展示站点静态图片站点

通过 Docker 部署十分方便。在 SSH 中连接服务器,然后输入代码:

docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos ghcr.io/usememos/memos:latest

然后在宝塔上创建一个网站,到网站设置中设置反向代理 http://127.0.0.1:5230 $host 就可以了。

四、Cloudflare R2

今天我才注意到 Cloudflare 推出的对象存储 R2 已经可以设置公开访问,这也就意味着我可以将 memos 站点的数据存储在 R2,还可以在 uPic 上将 R2 设置为图床。

我一直在使用的是腾讯云 COS,对比起来似乎 R2 的价格优势并不大,但是和 AWS S3 比起来,R2 的价格优势就明显了,具体的对比可以看这篇文章

Cloudflare R2腾讯云 COS
标准存储费用每月前 10GB 免费,超出后 $0.015/GB/月每月前 10GB 免费,超出后按照不同存储类型和地域收费
请求费用每月前1000万次免费,超出后 A 类操作 $4.50/百万次,B 类操作 $0.36/百万次每月前1000万次免费,超出部分按照不同的请求类型和地域收费
下载流量费用每月前10GB免费,超出部分按照不同的地域和流量类型收费
上传流量费用每月前10GB免费,超出部分按照不同的地域和流量类型收费
资源包抵扣

虽然 R2 目前与腾讯云 COS 相比,价格优势并不明显,但每个月白嫖 10GB 的免费额度,也不错啊。具体的开通过程和 R2 API 令牌的获取方式就不说了。

因为 R2 直接兼容 S3 所以在 uPic 可以直接在图床选项中增加 Amazon S3,然后选择自定义。服务端 URL 填写 R2 中格式为 https://xxx.r2.cloudflarestorage.com/yourbucketname 的 URL,可以在存储桶名称下方找到。空间名称就是存储桶的名称,Access Key 和 Secret Key 就是 R2 API 令牌中的访问密钥 ID机密访问密钥,域名就是自定义的存储桶域名。

依次填写之后,点击验证,uPic 会自动上传一张图片,在 R2 中如果看到了图片文件,就表示配置成功,点击保存后就可以愉快地使用了。

五、MTPROTO

最近在 Tg 上需要关注一些信息,但手机又不想一直开着 Surge,干脆就在 VPS 上使用 Sunpma 大佬的绿色一键脚本部署了 MTPROTO。

## 新建目录
mkdir /home/mtproxy && cd /home/mtproxy

## 开始安装
curl -s -o mtproxy.sh https://raw.githubusercontent.com/sunpma/mtp/master/mtproxy.sh && chmod +x mtproxy.sh && bash mtproxy.sh
## 运行服务
bash mtproxy.sh start

## 调试运行
bash mtproxy.sh debug

## 停止服务
bash mtproxy.sh stop

## 重启服务
bash mtproxy.sh restart

## 一键卸载
rm -rf /home/mtproxy
## 开机启动
chmod 755 /home/mtproxy/mtproxy.sh

vi /etc/crontab

## 加入下面这条命令后保存即可

@reboot root nohup bash /home/mtproxy/mtproxy.sh start > /dev/null 2>&1 &