切换到个人域名

之前立的 flag, 保留之前的 github.io 域名的同时,增加部署到个人域名,也就是在 https://whyouare.federarks.xyz/。

1.复制了一份工程,创建了一个软链接,在新的工程目录下维护好 _config.icarus.yml

1
2
3
4
5
plugins:
webmention:
baseUrl: https://webmention.io
link: https://webmention.io/whyouare.federarks.xyz/webmention
pingbackLink: https://webmention.io/whyouare.federarks.xyz/xmlrpc

_config.yml

1
2
3
4
5
6
7
8
url: https://whyouare.federarks.xyz
root: /
deploy:
type: git
repo: git@whyouare111.github.com:whyouare111/f_blog.git
branch: main
name: WhyYouAre
email: whyouare556@protonmail.com

然后去 GitHub 在 Bio 里加上这个站点的链接,https://webmention.iohttps://telegraph.p3k.io/ 等 IndieWeb 服务就可以用域名登录了。

TODO 尝试装配 brid.gy 相关服务

回复《Shoka:+Webmention》

感谢 Shoka:+Webmention 的提及。
其实周日就在 RSS Fead Reader 里确认到这个消息了,忙于其他事第三天才回复。
webmention 能自动发送在改善使用体验上是必要的,之前尝试和 Mastodon 整合的时候用了 Huginn, 订阅 Feed 然后发到 Mastodon 和 Webmention API 的方式。
不过 Huginn 失修之后这个流程就坏掉了,记得是跑着跑着把 VPS 拉挂了,当时也没太在意就先关了再说。

逐渐开始有 webmention 往来的话还是打算抽空恢复起来。https://www.webmention.app/ 里基本概括了能用的方案和取舍。考虑到之前主要用的是 https://telegraph.p3k.io/ 的服务,感觉如果切换服务 + 根据 Feed 自动发送 webmention 可能会导致重复提及,这篇依然手动操作。
不太想用 IFTTT 而是继续这些,果然还是看有没开源是否可以自部署吧。虽然懒癌发作的话自己没好好维护服务就会导致服务质量根本比不上用那些别人部署的,从这个角度说用稳定的镜像+容器服务也是个路子。

立个 Flag 抽个时间把这个站配个自定义域名,也不带 path,更符合 IndieWeb 相关实践, 更好地使用相关服务,比如 https://fed.brid.gy/

回复《webmention 实现参考》

webmention 实现参考
几年前的探索被搜到总结了这么好的文章,感觉挺惊喜的。
如果是用 webmention.io 的服务的话,订阅其 RSS Feed 接受 Webmention 提醒这个实践看来确实还是能工作的,配合 FreshRSS 等服务可做到多端同步。
Feed 突然有提示也算惊喜了。

NFT 嵌入示例1

测试 NFTE 嵌入 NFT 的效果。注意脚本和容器要紧挨着。这里展现的是 Zora 的 NFT

likey-memo

Arweave^1 生态的 爱发电^2
链接创作者和粉丝

基本构成

  • Likey Contract^3 : 智能合约部分。用 SmartWeave 编写
    • Likey Contract (main data)
    • Likey PST[^4] Contract for Creator (creator data)

初步评估

可以说是纯 Arweave 生态的产物,从媒体到锁到代币到智能合约

[^4]: Profit-Sharing Tokens, or PSTs, are a new incentivization mechanism for the open web that allow developers to earn a stream of micro-dividends for the duration their application is used. https://arweave.medium.com/profit-sharing-tokens-a-new-incentivization-mechanism-for-an-open-web-1f2532411d6e

社交代币 800

备忘

对 Fan 票的想法

初期建议

DAPP 形态的卡片盒笔记法实践,以及在这个基建之上的内容生产消费体系。
相对于具有比较完整体系的文章,卡片这个粒度更细碎,内容生产的阻抗会更小,也适合像 [Drafts] (https://getdrafts.com) 这样的终端快速的思维捕捉。

草稿通过采集、过滤、编辑、润色等过程后形成更高质量的卡片,汇入可流通、分发、复制、演绎、链接、分叉的海洋。这种情况下卡片之间的双向链接,多个链接形成的提纲、思维导图应该也是一种内容的创作了,再借助一些多媒体挂件,加上合适的模板引擎,卡片链接的图状元数据可以比较容易地渲染出一篇完整的、可读的、排版良好的文章。

基于同一片卡片之海,从不同的视点、做不同的取舍、演绎也能得出大相径庭的成品,甚至都能做到逻辑自洽。借由对这些内容的同时观测,或许能得到更立体的视角吧。这也是对某些wiki页的修改大战、某些论坛“冲水”,某些“覆盖”来争夺对“仅有一个的真实”的话语权的感慨。
这种范式下卡片的生产者、链接者、过滤者、聚合者都可以是不同的人,应该也有办法在一定程度上做到各自的版权来保护各自思考的结晶;围绕中间产品和成品的引用、演绎、分叉、联合、竞争、合并、溯源、仲裁等等,感觉都有 Fan 票应用的点。
像是提供一个信息生命体 / MEME 生命体 的演化环境,其成长性映射到其来源的 Token 的成长性上。从这个角度看电子宠物也好、手游网游的号和角色卡也好、甚至上溯到集换式卡片游戏都是有类似的性质。

对 Loopss 的想法

人际关系之映射。

知识图谱之映射。

链上和链下
网上和网下
和更专业的“上链”服务比反而就是这样简易而通用的,在初期不需要付出太高成本

对 Social Token 可能形态的想法

“三位一体”

令牌 + 货币 + 证券

是否是个不可能三角?

注重不同的侧面,就会有不同的形态,相对地运营策略也不同

勋章

完全去掉货币属性和证券属性,把令牌属性拉到极致,会变成什么样呢?

打个比方把“奥运会金牌得主”这样的资质/成就奖牌 NFT 化,完全不流动是否还有社交性质呢?应该是有的。配合社交媒体,作为资质/身份/成就/能力的证明,仅仅是 show 出来就能对人脑产生作用。
原因恐怕是 PoW 门槛非常高。

介绍信 -> 通行证

高信用实体铸造的签给特定对象的Token形态, 可能以拍卖的形式产生流动性。
最符合“通行令牌”的原本含义。

门票

依然是通行证性质的使用价值做底的,但是流动性可以拉到相当高。
足够刚需的通行证会产生通货和证券属性。

付费墙应该可以算这个形态的衍生。

会员证

门票一般是一次性的,会员证可以说是加上时间维度的通行证

商品

可能的运营策略

独立Blog+Mastodon个人笔记

基本思路

基本流程参照现成的教程就可以了,各种服务尽量选用粘性小的。越是要求大量个人信息、越是用大量脚本跟踪行为分析的就越粘。
大量参考 IndieWeb社会 的选型

服务选型

邮箱

域名提供商

  • Namecheap
  • Freenom 在这里可以找到免费使用1年的域名,还没实际试过,可以尝试

Blog

Hexo

生态足够好,静态站点能部署在很多地方

  • 托管
    • Github。 可以用 hexo-deploy-sftp 先从这里开始,积累足够经验之后可以参考其他方案。
    • 自己建站的 VPS。可以用 hexo-deploy-sftp 等插件来发布
    • IPFS。可以用hexo-deploy-ipfs 插件来发布
    • Arweave。用 hexo g 生成 public 目录, 用 arweave-deploy 来发布。需要一定的 AR 。参考 Arweave 储存网站

WordPress

动态 Blog 方案中这个应该是最流行的了,生态也是非常强大,有服务端可以很简单地做资源的动态权限控制。 由于有后端,在探索 Web3 方面会有对客户来说是黑盒的部分,需要信任网络支持。

不过,独立个站 + Web 基建 本来就符合去中心化的宗旨, 信任线上身份和信任 Blog 是相辅相成的。 Web3 部分起到 Web2 中经济的那一部分也能发挥巨大作用, 简单理解就是让创作者得到回报、生态成长的机制。

Bot

Huginn

目前在用的方案。理论上不需要会编程,但是要自定义场景还是需要熟悉各种基本概念。不过编写好之后可以分享,这种情况下直接用别人写好的场景配置替换关键的KEY就可以了。

试用阶段这样就可以了。用久了数据不好管理就是

1
docker run -it -p 3000:3000 huginn/huginn

有个数据卷至少可以备份了

1
docker run -it -p 3000:3000 -v /home/huginn/mysql-data:/var/lib/mysql huginn/huginn

分拆两个容器管理起来会正规不少

1
2
3
4
5
6
7
8
9
10
11
12
13
docker run --rm --name huginn_mysql \
-e MYSQL_DATABASE=huginn \
-e MYSQL_USER=huginn \
-e MYSQL_PASSWORD=somethingsecret \
-e MYSQL_ROOT_PASSWORD=somethingevenmoresecret \
mysql
docker run --rm --name huginn \
--link huginn_mysql:mysql \
-p 3000:3000 \
-e HUGINN_DATABASE_NAME=huginn \
-e HUGINN_DATABASE_USERNAME=huginn \
-e HUGINN_DATABASE_PASSWORD=somethingsecret \
huginn/huginn

订阅博客发送嘟文并发送 webmention 的配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
{
"schema_version": 1,
"name": "blog2toot+webmention",
"description": "No description provided",
"source_url": false,
"guid": "daf1ad9a561dfff6d09e15d610e081b2",
"tag_fg_color": "#ffffff",
"tag_bg_color": "#5bc0de",
"icon": "gear",
"exported_at": "2021-03-09T06:53:33Z",
"agents": [
{
"type": "Agents::JsonParseAgent",
"name": "parse-mastodon-status-response",
"disabled": false,
"guid": "51b17c5aa5cf78e22edbe8d2d40776be",
"options": {
"data": "{{ body }}",
"data_key": "mastodonResponse",
"mode": "merge"
},
"keep_events_for": 0,
"propagate_immediately": false
},
{
"type": "Agents::DataOutputAgent",
"name": "generate-blog-mastodon-link-rss",
"disabled": false,
"guid": "6dce7c9785814969d3a727c753a4ae18",
"options": {
"secrets": [
"link-mapping"
],
"expected_receive_period_in_days": 2,
"template": {
"title": "blog-mastodon-links",
"description": "links",
"item": {
"title": "{{mastodonResponse.id}}",
"description": "{{mastodonResponse.content}}",
"link": "{{url}}"
}
},
"ns_media": "true"
},
"propagate_immediately": false
},
{
"type": "Agents::PostAgent",
"name": "send-mastodon-webmention-to-blog",
"disabled": false,
"guid": "81a44c52bc5ead38491a061acd35295d",
"options": {
"post_url": "https://telegraph.p3k.io/webmention",
"expected_receive_period_in_days": "1",
"content_type": "form",
"method": "post",
"payload": {
"source": "https://YOUR_MASTODON_DOMAIN/interact/{{mastodonResponse.id}}?type=reply",
"target": "{{url}}",
"token": "YOUR_TELEGRAPH_TOKEN"
},
"headers": {
},
"emit_events": "true",
"no_merge": "false",
"output_mode": "merge"
},
"schedule": "never",
"keep_events_for": 0,
"propagate_immediately": true
},
{
"type": "Agents::PostAgent",
"name": "post-blog-link-to-mastodon",
"disabled": false,
"guid": "8600d78626699e2e893aae0e5d92f3f5",
"options": {
"post_url": "https://YOUR_MASTODON_DOMAIN/api/v1/statuses",
"expected_receive_period_in_days": "1",
"content_type": "json",
"method": "post",
"payload": {
"status": "我发表了博客文章: {{title}} {{url}}",
"visibility": "public"
},
"headers": {
"Authorization": "Bearer YOUR_MASTODON_TOKEN"
},
"emit_events": "true",
"no_merge": "false",
"output_mode": "merge"
},
"schedule": "never",
"keep_events_for": 0,
"propagate_immediately": false
},
{
"type": "Agents::RssAgent",
"name": "fetch-blog-rss-feed",
"disabled": false,
"guid": "d6a2c7990ff91071302cb204a0df2b98",
"options": {
"expected_update_period_in_days": "5",
"clean": "false",
"url": "YOUR_BLOG_FEED_URL"
},
"schedule": "every_10m",
"keep_events_for": 0
}
],
"links": [
{
"source": 0,
"receiver": 1
},
{
"source": 0,
"receiver": 2
},
{
"source": 3,
"receiver": 0
},
{
"source": 4,
"receiver": 3
}
],
"control_links": [

]
}

需要替换几个配置参数

  • YOUR_BLOG_FEED_URL 替换成 Blog RSS Feed 链接
  • YOUR_MASTODON_DOMAIN 替换成 Mastodon 账号所在 Instance 的域名 比如 mstdn.jp
  • YOUR_MASTODON_TOKEN 替换成 Mastodon 首选项>开发>你的应用 下创建的应用的 token 。 请千万保密,不要分享出去了
  • YOUR_TELEGRAPH_TOKEN 这里用了发送 Webmention 的服务 https://telegraph.p3k.io/ 搭建好Blog之后用 Blog 的 url 就可以注册。注册成功之后就能得到一个 token
本地环境

不需要对外提供服务,所以在本地跑也是可以的,上 docker

Heroku

提供了一键部署,但是有很多影响使用的限制,见Huginn官方文档的 Deploy to Heroku
主要问题点在:

  • 1天的总运行时间不能超过18小时,所以要定时休眠
  • 需要定期 ping 一下,否则就偷懒了
  • 数据库上限10000,所以不能保留太多日志
  • 512MB 还是太勉强,超额使用可能会停止工作

虽然勉强可用,但是吧…… 比起处理这些细节学会用 docker 灵活多了啊,个人用的也没有对负载均衡之类有要求,稳定提供服务的意义见仁见智

VPS

一月5美元左右的 VPS 能干不少,用 docker 跑能省心很多。装上 portainer ,做成模板之后还能分享

路由器/盒子/ NAS

比如 N1,刷 OpenWrt 或者小钢炮固件, 同样可以用 portainer 降低使用门槛
群晖之类的本身体验就足够好,干这类事绰绰有余

TG Bot

//TODO

参考资料

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment