最近换上了Follow,但是Xing同学的博客不能通过境外IP访问,导致Follow订阅不了。综上所述,我选择做一个转发。
实际上非常简单。
- 写脚本
得益于GPT4.0的帮助和一点点点点Linux基础,我们可以得到以下代码。我将其存放在目录下的update_rss.sh文件里。经测试,可以抓取rss.xml和/feed。
记得替换文件目录成你自己的!
#!/bin/bash
# RSS源
RSS_URL="目标RSS地址"
# 本地文件路径
LOCAL_PATH="/文件目录/rss.xml"
# 替换文件目录成你自己的!
# 使用curl下载文件,添加重试和错误输出日志
curl -L --retry 3 -o "$LOCAL_PATH" "$RSS_URL" 2>> /文件目录/rss_update.log
# 检查下载是否成功
if [ $? -eq 0 ]; then
echo "$(date): RSS feed updated successfully." >> /文件目录/rss_update.log
else
echo "$(date): Failed to update RSS feed." >> /文件目录/rss_update.log
fi
每当这个脚本被执行,服务器就会向RSS源Curl得到RSS数据,并写入到本地目录的rss.xml里,只需要请求服务器转发后的rss.xml即可。每次请求RSS数据的大小,时间,是否成功等信息都会被存到log文件里。
- 定时脚本
在目标目录下执行这个:
crontab -e
可能会让你选择目标编辑器,这里我输入1并Enter,选择了Nano。
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]:
接下来填入以下内容:(下面的是实例)
0 0,1,11,12,18 * * * /文件目录/update_rss.sh
第一个 0 表示每个小时的第0分钟。
0,1,11,12,18 表示在每天的 0点、1点、11点、12点和18点运行。可以自己更改。
3个“*”号分别表示每一天、每个月、每周的任意天。
- 其他事项
记得让目标RSS源放行你的服务器IP,以及,最好申请授权并征得博主同意。
现在在Follow里可以搜到“往日信笺”了,转发出去的订阅地址在https://media.duckxu.com/xingmail_cn.xml。
"Any problem in computer science can be solved by another layer of indirection."
Chlorine 2024-11-16 10:03
小氯每次的回复都很富有哲学和文采;总是想不到这么好的句子。
DuckXu 2024-11-16 23:26
不敢不敢,这句话应该是来自 David Wheeler,我只是引用了一下。
Chlorine 2024-11-17 08:46
其实我用 RSS 订阅都是自己手动刷新的,一般都是我写完日记看看有没有博友更新了。因为大部分博友更新没有这么频繁,所以我也一直没上自动订阅。
(也是没有时间吧,空的时间都拿去睡觉了,我本来想弄 moonlight 串流的,但是到现在都没有开始弄。Windows 的远程桌面在移动端又不是不能用,虽然说搭配键盘的体验不怎么样吧,但是至少能用。)
Xing 2024-11-11 00:15
我会看的博客还蛮多的,再加上Follow确实好用,才上的这个,实在是不太方便一个一个去查看。
DuckXu 2024-11-11 00:46
这个方法很妙,也算是曲线救国了 ∠( ᐛ 」∠)_
喵二 2024-12-05 22:17