自建RSS信息聚合服务

1. RSS现状

RSS介绍,摘自WIKI百科:

RSS(全称:RDF Site Summary;Really Simple Syndication),中文译作简易信息聚合,也称聚合内容,是一种消息来源格式规范,用以聚合经常发布更新资料的网站,例如博客文章、新闻、音频或视频的网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到频道)包含全文或是节录的文字,再加上发布者所订阅之网摘资料和授权的元数据。简单来说 RSS 能够让用户订阅个人网站个人博客,当订阅的网站有新文章时能够获得通知。

RSS摘要可以借由RSS阅读器、feed reader或是aggregator等网页或以桌面为架构的软件来阅读。标准的XML档式可允许信息在一次发布后透过不同的程序阅览。用户借由将网摘输入RSS阅读器或是用鼠标点取浏览器上指向订阅程序的RSS小图标之URI(非通常称为URL)来订阅网摘。RSS阅读器定期检阅是否有更新,然后下载给监看用户界面。

RSS的黄金年代早已随着2013年Google Reader的下线而逝去,随之而来的是各种聚合类新闻APP,它们利用实时推送提高了信息传递的速度,利用推荐算法实现了信息传递的精准度。然而在这个信息爆炸的时代,良莠不齐的内容、低俗偏激的评论,大数据+人工智能精心打造的信息茧房真的适合人们去阅读去思考吗?

对信息来源、信息内容、信息实时性有要求,希望操作界面简单、适合阅读、跨平台。在2021年,利用RSS打造这样一个信息聚合服务,依然是小众之选,但却可以获得更纯粹的阅读体验。

阅读更多

自建云相册PhotoPrism

前言

记得我是2016年开始用Office365,家庭版一年229,6个人拼车,人均40。除了可以畅享正版Office外,还有1T的OneDrive空间。从那时候开始,就把存放在电脑里10多年的老照片都放到了OneDrive里。此外使用OneDrive的APP,还可以把手机里面的照片同步到OneDrive上。最重要的是,OneDrive提供了基于AI的照片Tag,可以按地理位置或者Tag进行照片分类,极大方便了照片备份和管理。

然而,2020年不知道什么时间开始,OneDrive的Tag功能消失了。经过多方面了解,得知微软官方确实下线了Tag的功能,但理由众说纷纭。有说功能会被转移到Bing上,但目前没有任何进展;有说因为数据隐私的原因;还有说牵扯三星的相关专利问题。具体可以在Microsoft Community上查看 “Edit Tags” option missing in One Drive & existing tags not visible. 同时希望Tag功能回归的请愿已经放到了UserVoice上,里面有来自用户的各种吐槽,但官方没有任何表示。而在OneDrive的support页面,关于Tag的功能描述依然存在。

阅读更多

Teambition网盘内测试用评测

最近阿里云盘和Teambition网盘同时出现在市面上,两款产品都来自阿里云智能事业群,据说定位略有不同。其中阿里云盘侧重个人应用,偏生活娱乐,如相册功能,类似百度网盘。而Teambition网盘定位办公协同,类似OneDrive。两套产品都基于阿里云OSS,目前都处于测试阶段。

差不多在今年9月左右,就在Teambition官网看到Wiki和网盘出现在导航页,并标记了Beta。直到11月,有幸在阿里云MVP群拿到Teambition网盘内测资格,才一睹真容。

首先当然是“至尊身份象征”,一封内测邀请邮件外加金闪闪徽章。这个徽章为什么不做在产品里呢?

目前Teambition网盘提供网页端和移动端,先看网页版,可以进入Teambition官网或者通过 pan.aliyun.com 跳转到Teambition网盘。

阅读更多

Hexo远程部署Vultr

1. 本地操作

  • Hexo安装完成

  • Git安装完成

  • Git配置(Git Bash)

    1
    2
    git config --global user.name "你的用户名"
    git config --global user.email "你的电子邮箱"
  • Git SSH Keys(Git Bash)

    1
    2
    3
    4
    cd ~
    mkdir .ssh
    cd .ssh
    ssh-keygen -t rsa
  • Hexo安装hexo-deployer-git插件

2. Vultr配置

  • 新建用户

    1
    useradd git
  • 创建authorized_keys

    1
    2
    3
    4
    5
    6
    7
    8
    9
    su git
    cd ~
    mkdir .ssh
    cd .ssh
    vi authorized_keys
    # 复制本机 ~/.ssh/id_rsa.pub 内容到此
    su #切换root
    chmod 600 /home/git/.ssh/authorized_keys
    chmod 700 /home/git/.ssh
  • 安装Git和Nginx

    1
    2
    3
    su #切换root
    yum -y update
    yum install -y nginx git-core
  • 创建Git仓库目录

    1
    2
    3
    4
    5
    su git
    cd ~
    mkdir hexo.git
    cd hexo.git
    git init --bare
  • 创建网站目录

    1
    2
    3
    su # 切换root
    mkdir -p /home/wwwroot/hexo
    chown git:git -R /home/wwwroot/hexo # 变更所有人
  • 配置Git Hook

    1
    2
    3
    su git
    cd ~/hexo.git/hooks
    vi post-receive # 内容如下
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
    GIT_REPO=/home/git/hexo.git # git 仓库
    TMP_GIT_CLONE=/tmp/hexo
    PUBLIC_WWW=/home/wwwroot/hexo #网站目录
    rm -rf ${TMP_GIT_CLONE}
    git clone $GIT_REPO $TMP_GIT_CLONE
    rm -rf ${PUBLIC_WWW}/*
    cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}
  • 赋予执行权限

    1
    chmod +x post-receive
  • 禁止Git用户登陆控制台

    1
    2
    3
    su //切换root
    vi /etc/passwd
    #找到 git:x:1000:1000::/home/git:/bin/bash 把 /bin.bash 改成 /usr/bin/git-shell
  • 配置Nginx

    1
    vi /etc/nginx/conf.d/hexo.conf #内容如下
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    server {
    listen 80 ;
    root /home/wwwroot/hexo;
    server_name XX.XX.com; # 域名
    access_log /var/log/nginx/hexo_access.log;
    error_log /var/log/nginx/hexo_error.log;
    location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
    root /home/wwwroot/hexo;
    access_log off;
    expires 1d;
    }
    location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
    root /home/wwwroot/hexo;
    access_log off;
    expires 10m;
    }
    location / {
    root /home/wwwroot/hexo;
    if (-f $request_filename) {
    rewrite ^/(.*)$ /$1 break;
    }
    }
    }
  • 重启Nginx

    1
    systemctl restart nginx

3. Hexo配置

阅读更多

Jekyll建站后简单的SEO

Jekyll在Github上建站之后发现即使提交给搜索引擎,也很难被收录或者能被搜索到。如果使用JekyllBootstrapper,已经做了相关的SEO,所以问题不大。但如果是使用其他主题分享或者自己写一个theme,那么就不得不考虑一下SEO的相关问题了。虽然我也从未接触过SEO,不过查阅一些资料,折腾一番还是有收获的。

其中受益于掌心的这篇文章,特别感谢。


提示:为了文章正常显示,取消了代码中解析site或page属性的双大括号,以及if语句中的大括号加百分号。


阅读更多

Jekyll站内搜索:jekyll-lunr-js-search使用说明

jekyll-lunr-js-search是一款适用于Jekyll的站内搜索插件,相关介绍和使用方法在github中已经有简单说明,不过我却在使用这个插件上耽误了很多时间,现在整理一番:

【安装】

1.clone “jekyll-lunr-js-search”到本地

2.将clone后的jekyll-lunr-js-search项目中的

build/jekyll_lunr_js_search.rb

阅读更多

Windows平台下使用Jekyll遇到的问题

本机操作环境为win8.1 64bit,在使用Jekyll搭建主页过程中遇到了一些问题,整理如下:

1.安装nokogiri

使用jekyll lunr js search等插件时需要用到nokogiri,用

gem install nokogiri json

安装时出现错误libxml2.dll is missing. 经过排查,发现使用的ruby2.0 64bit对nokogiri 32bit不兼容,卸载ruby2.0 安装1.9.3 32bit版本即可正常使用。

阅读更多

玩转IPv6

前段时间小结了一下 IPv6的相关设置和用途,比如免费上网,下载IPv6资源等。经过近一年的使用,对于IPv6有了更进一步的认识,恰逢csdn学习心得活动,所以特意整理一番,针对使用IPv6做一个全面的介绍。不足之处还请大家提出宝贵意见。

一、引导篇

1. 什么是IPv6

互联网协议版本6(IPv6)是被指定为IPv4继任者的下一代互联网协议版本,互联网中最先出现的应用到现在依然占有优势。这是个用于分组交换互联网络的网络层协议。驱使重新设计互联网协议的主要原因是,IPv4地址在可预见的未来中即将被耗尽。IPv6在1998年12月被互联网工程任务小组(Internet Engineering Task Force,简称IETF)通过公布互联网标准规范(RFC 2460)的方式定义出台。

IPv6具有比IPv4大得多的地址空间。这是因为IPv6使用了128比特的地址,而IPv4只用32比特。因此新增的地址空间支持2128(约3.4 ×1038)个地址。这一扩展提供了灵活的地址分配以及路由转发,并消除了对网络地址转换(NAT)的依赖。NAT是获得了广泛部署的减缓IPv4地址耗尽的最有效的方式。

阅读更多