添加示例文章
This commit is contained in:
parent
d116e8fcd1
commit
88271e27e6
14
.gitignore
vendored
14
.gitignore
vendored
@ -27,7 +27,19 @@ test/
|
||||
/public/MineWeb
|
||||
/public/other
|
||||
/src/content/blog/*
|
||||
!/src/content/blog/
|
||||
!/src/content/blog
|
||||
/src/content/blog/2024/*
|
||||
!/src/content/blog/2024
|
||||
/src/content/blog/2024/07/*
|
||||
!/src/content/blog/2024/07
|
||||
/src/content/blog/2024/08/*
|
||||
!/src/content/blog/2024/08
|
||||
/src/content/blog/2024/09/*
|
||||
!/src/content/blog/2024/09
|
||||
/src/content/blog/2024/11/*
|
||||
!/src/content/blog/2024/11
|
||||
/src/content/blog/2024/12/*
|
||||
!/src/content/blog/2024/12
|
||||
!/src/content/blog/2024/07/【开源】骤雨重山无限存储图床托管于(Cloudflare Pages).md
|
||||
!/src/content/blog/2024/08/Cloudflare优选IP➕DnsPod的DDNS自动切换.md
|
||||
!/src/content/blog/2024/09/【开源】HanAnalytics访问分析Web统计托管于(Cloudflare Pages).md
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
---
|
||||
title: 【开源】骤雨重山无限存储图床托管于(Cloudflare Pages)
|
||||
date: 2024-07-22 18:11:06
|
||||
categories: Code
|
||||
tags:
|
||||
- Cloudflare Pages
|
||||
- telegraph
|
||||
- Imgur
|
||||
- 免费图床
|
||||
|
||||
id: "zycs-img-cloud-from-cloudflare-pages"
|
||||
cover: "https://i0.wp.com/uxiaohan.github.io/v2/2024/07/1721643791.png"
|
||||
recommend: true
|
||||
---
|
||||
|
||||
:::note
|
||||
在现代互联网环境中,快速稳定的图片访问是提升用户体验的重要因素之一。本文将介绍如何利用Cloudflare Pages部署稳定的无限图床Imgur,实现图片上传和访问,并进一步通过WordPress的WP.COM全球图片缓存进行加速,提高图片加载速度。可用于免费图片托管解决方案,Flickr 等替代品。
|
||||
:::
|
||||
|
||||
## 简介
|
||||
|
||||
- [Cloudflare Pages](https://pages.cloudflare.com/) 是一个强大的静态网站托管服务,结合了 Cloudflare 的全球 CDN(内容分发网络)优势。
|
||||
- [Imgur](https://imgur.com/) 是一个免费优质的图床。
|
||||
- [WordPress 的全球图片缓存](https://01.wp.com/) 是一个高效的 CDN 服务,专门用于加速 WordPress 托管的图片内容。它利用全球分布的节点,将图片缓存并提供快速访问。
|
||||
- [Cloudflare CDN(内容分发网络)](https://www.cloudflare.com/zh-cn/application-services/products/cdn/)是由Cloudflare提供的服务,旨在加速和保护和加速全球网络应用程序。
|
||||
|
||||
### 页面
|
||||
|
||||

|
||||
|
||||
::btn[点击体验]{link="https://wp-cdn.4ce.cn/"}
|
||||
|
||||
### 项目地址
|
||||
|
||||
::btn[ZYCS-IMG - Github]{link="https://github.com/uxiaohan/ZYCS-IMG"}
|
||||
|
||||
## 如何部署
|
||||
|
||||
- 1、准备一个 Cloudflare 账户
|
||||
- 2、Fork 本仓库,自由修改`App.vue`和`index.html`文件中的文案
|
||||
- 3、登录`Cloudflare Dashboard`打开`Workers 和 Pages`创建`Pages`
|
||||
- 4、`连接到Git`选择`Github`或`Gitlab`中你刚刚Fork的项目,点击开始设置
|
||||
- 5、只需要修改`框架预设`为`Vue`即可,点击保存并部署,即可部署成功并投入使用
|
||||
|
||||
**图片步骤**
|
||||
|
||||
:::picture
|
||||

|
||||

|
||||

|
||||
:::
|
||||
|
||||
### 特点
|
||||
|
||||
- 无限图片储存数量,你可以上传不限数量的图片到`Imgur`
|
||||
- 无需购买服务器,托管于`Cloudflare Pages`上,每天10万次的请求
|
||||
- 无需购买域名,可以使用`Cloudflare Pages` 提供的`*.pages.dev`的免费二级域名,同时也支持绑定自定义域名
|
||||
95
src/content/blog/2024/08/Cloudflare优选IP➕DnsPod的DDNS自动切换.md
Normal file
95
src/content/blog/2024/08/Cloudflare优选IP➕DnsPod的DDNS自动切换.md
Normal file
@ -0,0 +1,95 @@
|
||||
---
|
||||
title: 【开源】Cloudflare优选IP➕DnsPod的DDNS自动切换
|
||||
date: 2024-08-27 15:24:10
|
||||
categories: Code
|
||||
tags:
|
||||
- Cloudflare
|
||||
- 优选IP
|
||||
- DnsPod
|
||||
- DDNS
|
||||
|
||||
id: cloudflare-ip-dnspod-ddns
|
||||
cover: https://i0.wp.com/uxiaohan.github.io/v2/2024/08/1724744026.webp
|
||||
recommend: true
|
||||
---
|
||||
|
||||
:::note
|
||||
CloudFlare是一个非常优秀的CDN服务,但是CloudFlare也有一个大的毛病——大陆访问速度很慢。国外很多网站都在使用 Cloudflare CDN,但分配给中国内地访客的IP并不友好(延迟高、丢包多、速度慢)。
|
||||
虽然Cloudflare公开了所有IP段,但想要在这么多IP中找到适合自己的,怕是要累死,于是就有了这个脚本。
|
||||
:::
|
||||
|
||||
## Cloudflare优选IP 每隔15分钟更新(IPv6+IPv4)
|
||||
|
||||
### 项目地址
|
||||
|
||||
::btn[CloudflareIP-dnspod-ddns]{link="https://github.com/uxiaohan/CloudflareIP-dnspod-ddns"}
|
||||
|
||||
### 优化后示例站点
|
||||
|
||||
::btn[点击体验]{link="https://cf.vvhan.com/"}
|
||||
|
||||
## 实现逻辑及局部代码
|
||||
|
||||
### 获取优选IP
|
||||
|
||||
```js
|
||||
const res = await fetch("https://api.vvhan.com/tool/cf_ip");
|
||||
const data = await res.json();
|
||||
// 数据格式
|
||||
// {
|
||||
// "success": true,
|
||||
// "data": {
|
||||
// "v4": {
|
||||
// "CM": [],
|
||||
// "CU": [],
|
||||
// "CT": []
|
||||
// },
|
||||
// "v6": {
|
||||
// "CM": [],
|
||||
// "CU": [],
|
||||
// "CT": []
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
```
|
||||
|
||||
### 取优选IP中的最优选 (延迟比较)
|
||||
|
||||
```js
|
||||
// 取最优选IP IPv4
|
||||
const CM_IP_V4 = data.v4.CM.reduce((minItem, currentItem) => {
|
||||
return currentItem.latency < minItem.latency ? currentItem : minItem;
|
||||
}, data.v4.CM[0]);
|
||||
const CU_IP_V4 = data.v4.CU.reduce((minItem, currentItem) => {
|
||||
return currentItem.latency < minItem.latency ? currentItem : minItem;
|
||||
}, data.v4.CU[0]);
|
||||
const CT_IP_V4 = data.v4.CT.reduce((minItem, currentItem) => {
|
||||
return currentItem.latency < minItem.latency ? currentItem : minItem;
|
||||
}, data.v4.CT[0]);
|
||||
const DNS_DATA_V4 = { 移动: CM_IP_V4.ip, 联通: CM_IP_V4.ip, 电信: CU_IP_V4.ip, 默认: CT_IP_V4.ip };
|
||||
|
||||
// 取最优选IP IPv6
|
||||
const CM_IP_V6 = data.v6.CM.reduce((minItem, currentItem) => {
|
||||
return currentItem.latency < minItem.latency ? currentItem : minItem;
|
||||
}, data.v6.CM[0]);
|
||||
const CU_IP_V6 = data.v6.CU.reduce((minItem, currentItem) => {
|
||||
return currentItem.latency < minItem.latency ? currentItem : minItem;
|
||||
}, data.v6.CU[0]);
|
||||
const CT_IP_V6 = data.v6.CT.reduce((minItem, currentItem) => {
|
||||
return currentItem.latency < minItem.latency ? currentItem : minItem;
|
||||
}, data.v6.CT[0]);
|
||||
const DNS_DATA_V6 = { 移动: CM_IP_V6.ip, 联通: CM_IP_V6.ip, 电信: CU_IP_V6.ip, 默认: CT_IP_V6.ip };
|
||||
```
|
||||
|
||||
### 循环替换优选IP
|
||||
|
||||
```js
|
||||
DnsPodDomainList.forEach(async i => {
|
||||
try {
|
||||
const res = await client.ModifyRecord({ Domain, RecordType: i.Type, RecordLine: "", RecordLineId: i.LineId, Value: i.Type == "A" ? DNS_DATA_V4[i.Line] : DNS_DATA_V6[i.Line], RecordId: i.RecordId, SubDomain });
|
||||
console.log(res);
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
});
|
||||
```
|
||||
@ -0,0 +1,96 @@
|
||||
---
|
||||
title: 【开源】HanAnalytics访问分析Web统计托管于(Cloudflare Pages)
|
||||
date: 2024-09-22 20:20:13
|
||||
categories: Code
|
||||
tags:
|
||||
- HanAnalytics
|
||||
- Cloudflare Pages
|
||||
- umami
|
||||
- Analytics Engine
|
||||
- 网站分析
|
||||
|
||||
id: "han-analytics"
|
||||
cover: "https://i0.wp.com/uxiaohan.github.io/v2/2024/09/1727007937.webp"
|
||||
recommend: true
|
||||
---
|
||||
|
||||
:::note
|
||||
Han-Analytics 是一个简单的网络分析跟踪器和仪表板,托管在被称为赛博菩萨的 Cloudflare 上,无成本稳定运行,每天可达10万次免费统计。
|
||||
域名、服务器、数据库 通通都不用! 托管在 Cloudflare Pages 上即可快速部署网站分析仪表板。
|
||||
:::
|
||||
|
||||
### 页面截图
|
||||
|
||||

|
||||
|
||||
::btn[点击体验]{link="https://analytics.vvhan.com/"}
|
||||
|
||||
### 项目地址
|
||||
|
||||
::btn[HanAnalytics - Github]{link="https://github.com/uxiaohan/HanAnalytics" type="success"}
|
||||
|
||||
### 部署
|
||||
|
||||
- 登录到 [Cloudflare Login](https://dash.cloudflare.com/sign-up),没有的注册一个 [Cloudflare SignUp](https://dash.cloudflare.com/sign-up)
|
||||
- 点击 Workers 和 Pages 随便创建一个 workers 并开启 分析引擎,然后复制 workers ID 备用。
|
||||
- 创建一个 [Cloudflare API token](https://dash.cloudflare.com/profile/api-tokens) 备用。
|
||||
- Fork 项目到自己的 Github 账户备用。
|
||||
- 登录 Cloudflare 并创建 Pages 项目 ,链接Github仓库,选择刚刚 Fork 的项目,架构选择Vue,填入环境变量(环境变量含义如下),部署即可。
|
||||
- Cloudflare pages 部署完成后,在项目的`设置`中配置`绑定`,添加`Analytics Engine`,变量名称填写`AnalyticsBinding`,数据集填写`AnalyticsDataset`并保存,重新部署!。
|
||||
- 重新部署完成后,访问 `https://xxxxxx.pages.dev` 即可访问网站分析仪表板。(注意:首次部署生成的域名可能需要几分钟时间生效,请耐心等待)
|
||||
- 部署成功后,首次打开页面没有数据,请尽快集成到自己的网站并出现有效访问后,再次打开页面即可看到数据!
|
||||
- 新增 `密码访问` 及 `网站白名单`,开启密码后,输入密码可访问(默认无需密码),网站白名单功能,加白的网站才可计入统计(默认任意网站都可统计)
|
||||
|
||||
### 环境变量说明
|
||||
```shell
|
||||
# Cloudflare Workers ID
|
||||
CLOUDFLARE_ACCOUNT_ID = 你的 Cloudflare Workers ID
|
||||
|
||||
# 你的 Cloudflare API token
|
||||
CLOUDFLARE_API_TOKEN = 你的 Cloudflare API token
|
||||
|
||||
# 网站访问密码 (不设置即无需密码访问)
|
||||
CLOUDFLARE_WEBSITE_PWD =
|
||||
|
||||
# 可统计的白名单 格式: 域名,WebSite|域名,WebSite,多个站点使用|分隔 例如:api.vvhan.com,Hello-Han-Api|www.vvhan.com,Hello-HanHexoBlog (不设置即允许任何统计)
|
||||
CLOUDFLARE_WEBSITE_WHITELIST =
|
||||
```
|
||||
|
||||
### 绑定
|
||||
```shell
|
||||
# 变量名
|
||||
AnalyticsBinding
|
||||
# 数据集
|
||||
AnalyticsDataset
|
||||
```
|
||||
|
||||
:::picture
|
||||

|
||||

|
||||

|
||||
:::
|
||||
|
||||
:::picture
|
||||

|
||||

|
||||

|
||||
:::
|
||||
|
||||
:::picture
|
||||

|
||||

|
||||

|
||||
:::
|
||||
|
||||
### 集成使用
|
||||
|
||||
```js
|
||||
// 在网站底部插入以下代码即可集成网站分析仪表板
|
||||
<script defer src="https://xxxxxx.pages.dev/tracker.min.js" data-website-id="自定义网站唯一标识"></script>
|
||||
```
|
||||
|
||||
:::note
|
||||
数据问题一般是由于 Cloudflare Analytics Engine 无法访问网站导致的,请确保网站可以正常访问,并且 Cloudflare Analytics Engine 已经开启。
|
||||
使用 Cloudflare Analytics Engine 数据集,它完全通过 HTTP 使用 Cloudflare 的 API 进行通信,数据完全来源于 Cloudflare Analaytics Engine 数据集中读取
|
||||
Cloudflare Analytics Engine 使用抽样技术,以可承受的规模化方式实现大量数据提取/查询(这类似于大多数其他分析工具,请参阅Google Analytics 上的抽样)。您可以在此处详细了解抽样技术如何与 CF AE 配合使用。
|
||||
:::
|
||||
60
src/content/blog/2024/09/基于AI的微博动态心情分析【开源】.md
Normal file
60
src/content/blog/2024/09/基于AI的微博动态心情分析【开源】.md
Normal file
@ -0,0 +1,60 @@
|
||||
---
|
||||
title: 基于AI的微博动态心情分析【开源】
|
||||
date: 2024-09-04 15:59:05
|
||||
categories: Daily
|
||||
tags:
|
||||
- 微博动态
|
||||
- 心情分析
|
||||
- AI
|
||||
|
||||
id: "weibo-dynamic-emotion-analysis-open-source"
|
||||
cover: "https://i0.wp.com/uxiaohan.github.io/v2/2024/09/1725437035.webp"
|
||||
recommend: true
|
||||
---
|
||||
|
||||
:::note
|
||||
实时关注 Ta 的微博,并了解 Ta 微博动态的情绪心情,通过 Bark 或 PushDeer 进行通知的,基于 Nodejs 的 AI的微博动态心情分析 脚本
|
||||
:::
|
||||
|
||||
### 开源地址
|
||||
|
||||
[WeiBo-Mood](https://github.com/uxiaohan/WeiBo-Mood)
|
||||
|
||||
[免费AI注册](https://cloud.siliconflow.cn/i/R83F9xkI)
|
||||
|
||||
### 配置 config.js 文件
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
// AI API接口地址
|
||||
chatApi: "https://api.siliconflow.cn/v1/chat/completions",
|
||||
// AI 大模型 (可根据文档更换)
|
||||
chatModel: "internlm/internlm2_5-7b-chat",
|
||||
// AI Token
|
||||
chatToken: "",
|
||||
// 微博ID https://m.weibo.cn/u/1840274303
|
||||
WB_UID: "1840274303",
|
||||
// 获取最新微博频率 每间隔16分钟更新一次 (Cron 表达式)
|
||||
CRON_TIME: "*/16 * * * *",
|
||||
// Bark通知Token 不填写即不通知 https://bark.day.app/
|
||||
BARK_TOKEN: "",
|
||||
// PushDeer通知Token 不填写即不通知 https://www.pushdeer.com/
|
||||
PUSH_DEER_TOKEN: ""
|
||||
};
|
||||
```
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```js
|
||||
npm install
|
||||
```
|
||||
|
||||
### 运行脚本
|
||||
|
||||
```js
|
||||
npm start
|
||||
```
|
||||
|
||||
### 效果图片
|
||||
|
||||

|
||||
27
src/content/blog/2024/11/推荐一个开源项目WebWatermark图片添加水印在线小助手.md
Normal file
27
src/content/blog/2024/11/推荐一个开源项目WebWatermark图片添加水印在线小助手.md
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
title: 【开源】Web Watermark 图片添加水印在线小助手
|
||||
categories: Daily
|
||||
tags:
|
||||
- 开源
|
||||
- 水印
|
||||
- WebWatermark
|
||||
|
||||
id: Web-Watermark
|
||||
cover: "https://i0.wp.com/uxiaohan.github.io/v2/2025/02/1739241633608.webp"
|
||||
date: 2024-11-21 15:32:51
|
||||
recommend: true
|
||||
---
|
||||
|
||||
:::note
|
||||
Web Watermark是一款在线的网页版可离线使用的安全的图片添加水印项目
|
||||
:::
|
||||
|
||||
### 页面截图
|
||||
|
||||

|
||||
|
||||
::btn[点击体验]{link="https://watermark.vvhan.com/"}
|
||||
|
||||
### 项目地址
|
||||
|
||||
::btn[WebWatermark - Github]{link="https://github.com/uxiaohan/WebWatermark"}
|
||||
42
src/content/blog/2024/12/【开源】Tarot-塔罗牌占卜.md
Normal file
42
src/content/blog/2024/12/【开源】Tarot-塔罗牌占卜.md
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
title: 【开源】Tarot-塔罗牌占卜
|
||||
categories: Code
|
||||
tags:
|
||||
- 开源
|
||||
- Tarot
|
||||
- 塔罗牌占卜
|
||||
- Tarot-Web
|
||||
id: kaiyuan-tarot
|
||||
cover: https://i0.wp.com/uxiaohan.github.io/v2/2024/12/1733449691.png
|
||||
date: 2024-12-06 09:37:11
|
||||
---
|
||||
|
||||
:::note
|
||||
塔罗牌占卜作为一种深受人们喜爱的心理探索工具,已经成为许多人自我反思与探索人生的方式之一。Tarot-Web是一款基于Web的塔罗牌占卜应用,它提供了22种不同的塔罗牌,每一张卡片都融合了传统塔罗的象征意义与AI的独特解读能力。
|
||||
:::
|
||||
|
||||
### 页面截图
|
||||
|
||||

|
||||
|
||||
::btn[点击体验]{link="https://tarot.4ce.cn/"}
|
||||
|
||||
### 项目地址
|
||||
|
||||
::btn[Tarot-Web - Github]{link="https://github.com/uxiaohan/Tarot-Web"}
|
||||
|
||||
## 如何部署
|
||||
|
||||
- 1、准备一个 Cloudflare 账户
|
||||
- 2、Fork 本仓库,自由修改`App.vue`和`index.html`文件中的文案
|
||||
- 3、登录`Cloudflare Dashboard`打开`Workers 和 Pages`创建`Pages`
|
||||
- 4、`连接到Git`选择`Github`或`Gitlab`中你刚刚Fork的项目,点击开始设置
|
||||
- 5、只需要修改`框架预设`为`Vue`即可,点击保存并部署,即可部署成功并投入使用
|
||||
|
||||
**图片步骤**
|
||||
|
||||
:::picture
|
||||

|
||||

|
||||

|
||||
:::
|
||||
Loading…
x
Reference in New Issue
Block a user