technopower

To introduce just a few tips about free software.

本文是 peertube 上的中文视频博主 Metternich&Guizot 的同名视频的文案。

大家好,今天我来给大家介绍一下 peertube 。Peertube 是一个去中心化的视频网站,用户们可以在上面观看视频、写评论、上传自己的视频,就像油管或者抖音一样,但是 peertube 与这些网站的根本区别之一就在于,peertube 是一个自由的视频平台。

展开全文

自由软件

自由软件(英语:free software),是一类可以不受限制地自由使用、复制、研究、修改和分发的,尊重用户自由的软件。这意味着自由软件一定是公开源代码的,也就是开源软件。但是开源软件不意味着自由软件,因为有的软件公司选择开源,只是为了想找用户帮它调试、吸收社区贡献的功能,这样子会破坏了自由软件的原意。值得注意的是,自由软件不意味着免费(虽然大部分自由软件是免费的),自由软件也不拒绝提供商业服务。

与自由软件相对的是私有软件(英语:proprietary software),也被称为专有软件、封闭软件,这些软件出于盈利目的限制人们对其自由使用的权力,典型的如 Windows、Photoshop 等。

而知名的自由软件有:GNU/Linux、MySQL、Notepad++、Firefox、OpenCV、等。 事实上,与大部分人想象的不同,peertube 实际上并不是一个网站,Peertube 是一套自由的视频服务器系统,因此所有人都可以使用 peertube 的源代码去构建自己的 peertube 网站。比如说我就可以去建立一个自己的 peertube 网站(知乎上有教程),而我建立的这个新视频网站就被称为一个 peertube 的实例(instance)。在这个 peertube 的新实例当中,我可以自己设定各种权限和事项,比如在这个实例中,用户上传的视频是否需要审核等等。虽然有很多 peertube 的实例的域名包含 peertube 字样(如 peertube.su),但事实上并非所有的 peertube 实例都如此。比如我来到了peertube的官网https://joinpeertube.org,我们可以选择这个 “See the instances list” 选项,这样就可以看到许多peertube的实例了。如果我们选择中文的筛选项,就可以看到中文的 peertube 实例了。我们也可以来到这个网址https://instances.joinpeertube.org,在这里我们可以看到各种 peertube 实例的统计结果,很显然绝大多数 peertube 实例的域名和 peertube 这个字段没有什么关系。我们可以看到列表一共有890页,这说明目前所有的 peertube 实例有接近九千个,而 peertube 的第一个稳定版本则是2018年10月才发布的。

这里不得不提一点,那就是 peertube 主要是由法国人开发的。虽然某国媒体喜欢渲染所谓“世界著名科技公司只在中美两国”的论调,但这很显然只是某种价值观判断下的产物。

如果我们把本地视频数从高到低进行排列,可以看到前20大 peertube 实例中,法国有9个,德国有2个,美国有2个。

如果按总视频数排列,则前20大 peertube 实例中,法国有7个,德国有6个,美国有3个。如果按用户数排列,则前20大 peertube 实例中,法国有7个,德国有7个,美国有1个。革命老区不愧是革命老区。

有细心的朋友可能就会问了,本地视频和总视频有什么区别呢?别急,一会我会讲。值得一提的是,我现在使用的 peertube.su 实例,本地视频数排第一,但用户数仅仅第十,另外,su 这个域名后缀,代表的是苏联。

邦联宇宙

邦联宇宙的英语叫做 Fediverse ,是“邦联”(Federation)和“宇宙”(Universe)的混成词。不同的实例相互链接,共同提供网络发布或文件托管功能,比如我在A网站上可以直接看到B网站上的内容,那么这些实例就共同组成了一个邦联宇宙。假如许多 peertube 实例链接在一起,那这就构成了一个邦联宇宙。

任何一个 peertube 实例的管理者都有一个权力,那就是决定自己的实例是否关注(follow)另一个实例,而他们同样也有权力拒绝其它实例的关注(注:这里采用“关注”一词主要考虑到B站用户的习惯)。

通过关注其它实例,一个 peertube 实例的用户便可以在自己的实例上看到其它实例上的视频了。比如我有一个 peertube 实例叫梅特涅.at,这时,我发现还有另外一个 peertube 实例叫<基佐.fr>,如果我向<基佐.fr>申请关注并获得批准的话,那我就可以在梅特涅.at上不只看到本地的梅特涅的视频,而是看到梅特涅和基佐的视频了。这也就是我们刚才提到的本地视频和总视频的区别了。

所以,为什么我们将 peertube 称之为去中心化的视频网站系统呢?虽然每个 peertube 实例的管理者都对自己的网站有足够的权限,但因为任何人都可以创建自己的 peertube 实例,同时可以直接从邦联宇宙中获得大量资源,因此避免了一个超级管理者的存在。接下来的一个问题在于,如何保证邦联宇宙中的各个实例可以很好地链接呢?

这是因为各个实例上运行的软件支持一种或多种遵循开放标准的通信协议(protocol),而其中最主要的通信协议则是 ActivityPub。

ActivityPub

2018年1月,万维网联盟(W3C)发布了 ActivityPub 标准。同样由万维网联盟发布的标准还包括:HTML、XML、CSS 等。ActivityPub 是一个专门用于去中心化社交网络的协议,而 peertube 正是使用的 ActivityPub。在由 ActivityPub 构建起来的邦联宇宙中,不仅有 peertube,还有很多其它好用的成员。比如 Mastodon,它是一个去中心化的社交媒体网站,功能类似于微博或推特;再比如 WriteFreely,这是一个去中心化的可以写长篇文字的平台。事实上几乎所有私有软件和私有平台覆盖的功能,在自由软件和邦联宇宙中都可以找到对应的内容,也许下一步邦联宇宙就该推出去中心化打车、去中心化外卖了。

所有这些 ActivityPub 成员的逻辑和 peertube 都是一样的,自由的服务器系统,没有统一的网址,各个实例相互链接成邦联宇宙。甚至不同 ActivityPub 成员之间也可以再进一步相连,形成更大的邦联宇宙。比如我可以在 Mastodon 上注册一个账号发涩图,用这个账号去 WriteFreely 键政,之后再用这个账号去 Peertube 关注梅特涅和基佐并留下恶意评论。

说起来2018年真的发生了很多未来回看具有历史性意义的事情啊,可惜的是大部分人对此却浑然不觉。 那么今天和大家的分享就到这里,假如朋友们对 Peertube 或 ActivityPub 相关内容有更多兴趣的话,欢迎到其官网和维基上进一步查阅资料。让我们下一期再见。

百度贴吧也曾红极一时,国外的 reddit 也拥有庞大的用户群体。百度贴吧和 reddit 这种在用户讨论的话题的组织模式上相对去中心化的社区,很大程度上允许用户根据自己的需要自行创建讨论社区,于是它们都能吸引各种各样的爱好者,发展出各种各样的社区文化。所以尽管百度贴吧和 reddit 的服务器仍然是私有的集中制的,但却也是用户最为活跃,讨论内容最为丰富的社区(今天百度贴吧的凋敝并非贴吧的模式存在问题,而是国内的言论管制政策排斥去中心化的社区)。

那么话说回来,如果有这么一个讨论社区,不仅和百度贴吧、reddit 一样有着去中心化的用户讨论的组织模式,甚至其底层的服务器之间也是通过邦联制沟通起来的,它又会如何呢?这并不是一个畅想出来的赛博乌托邦,事实上类似的讨论社区已经出现并已获得了很大的发展,只是在国内还不够知名。这个讨论社区就是 lemmy 。

展开全文

邦联制在 lemmy 上的表现

那么我将如何“访问”lemmy 呢?是否需要下载什么 app?它的网址又是什么呢?别着急索要这些,因为你想要的那些东西在 lemmy 这里并不存在,或者说它们不会统一在一个网站或 app 里。

在 lemmy 内没有一个统一的“lemmy 首页”,每一个 lemmy 服务器都能通过浏览器访问,用户可以通过每一个 lemmy 服务器的网站浏览到这个 lemmy 服务器上的,以及其他 lemmy 服务器上的内容。比如目前最大的 lemmy 服务器是 lemmy.ml ,我们可以在浏览器里输入https://lemmy.ml打开它,点击“All”即可看到其他服务器上的内容。其他的服务器也有类似的界面,但具体会表现成什么样则由各个服务器的主人自行决定,比如虽然 lemmy.ml 是一个讨论内容综合的 lemmy 服务器,但规模略小于它的 lemmygrad.ml 就几乎只讨论左派有关的话题。

我们使用浏览器即可访问各 lemmy 社区,但部分开发者也照顾到了那些喜欢使用客户端(它们也通常被习惯性统称为“app”)的用户,在手机上,有lemmurJerboa for Lemmy两款 lemmy 客户端可用,它们均可在f-droid里下载。lemmur 客户端功能较为完善,而 Jearboa for Lemmy 则主打轻量级(安装包大小不足2.5MB)。

lemmy 的邦联制体现为各个服务器虽然能互联互通,但却又都是独立自主的,它们能通过 lemmy 这一个大的平台联系起来,但也能选择保持独立,不与其他服务器互联互认。而访问它们所使用的软件工具也同样不是专用的,用户完全可以选择自己喜欢的浏览器或 app 来访问这些 lemmy 服务器。

找到 lemmy 服务器

没有一个统一的 lemmy 首页是否意味着我们只能道听途说地了解到具体的 lemmy 服务器,而很难高效地得到各个 lemmy 服务器的网址呢?当然不是这样。实际上互联网上有很多邦联制社交媒体的目录网站,其中大多收录了各种各样的邦联制社交媒体项目的各种实例,其中也包括 lemmy 。

在此我们首先推荐的是https://fedidb.org/network,在这个网站里我们可以找到诸如 mastodon、writefreely、peertube 在内的各种邦联制社交媒体的实例,我们只需要在“software”处将要找到的邦联制社交媒体类型由“ALL”改为“Lemmy”,即可精准找寻 lemmy 服务器。此外 lemmy 项目自身也提供了一个 lemmy 服务器的推荐页面https://join-lemmy.org/instances,虽然不如专门的邦联制社交媒体目录页搜集得多,但每一个推荐的服务器都列出了推荐理由,方便大家参考。

lemmy 的访问工具、服务器以及目录页各司其职,各自只负责好自己负责的事务,而不是像私有的社交媒体那样,集访问工具、服务器、目录页于一体,高度垄断不仅限制了它们的专业化水平(当然他们的目的是赚钱不是把服务打磨好),更方便了他们对用户为所欲为。

注册 lemmy 帐号

如果我们不只要“看 lemmy ”,还要“发 lemmy ”,就需要找到一个 lemmy 服务器来注册帐号,遗憾的是虽然大部分 lemmy 服务器都支持注册,但那些用户最多、知名度最高的 lemmy 服务器,比如 lemmy.ml 、 lemmygrad.ml 往往限制新用户注册,用户不仅需要认真回答管理员设置的问题,还要等待管理员审核,审核通过才算注册成功,因此我们要想注册 lemmy 帐号应该首先不去考虑这些服务器。为了找到一个合适的 lemmy 服务器,我们可以利用前文提到的邦联社交媒体目录页和 lemmy 自身的推荐页。在 lemmy 推荐页https://join-lemmy.org/instances中十分简单,仅需选择那些写有“Join”而不是“Apply to Join”的服务器注册。或者在https://fedidb.org/network里仔细挑选 Lemmy 服务器。因为根据实际调查,在https://fedidb.org/network中为“Open Registration”的 lemmy 服务器包含那些注册十分麻烦,审核十分严格的服务器,而开启此选项甚至有可能将部分允许注册的 lemmy 服务器排除在外。但此目录的强项在于列出的 lemmy 服务器更多。

是要快速找到能便捷注册的服务器,还是希望能找到更多服务器。这个就看大家的取舍。

虽然用户必须要找一个特定的 lemmy 服务器注册帐号,但是只要其他 lemmy 服务器与用户注册帐号的服务器之间能互联互认,用户就能关注其他服务器的社区并在在其他 lemmy 服务器的社区里发表内容。

创建和关注 lemmy 的社区

仅仅满足前文所列出的特点,只能说明 Lemmy 是邦联制的社交媒体,而要说到它类似于贴吧、reddit 的地方就得提到 lemmy 的社区。每一个 lemmy 服务器上都有各种各样的社区,除了那些服务器主人不允许用户自行创建社区的除外,用户可根据自己的需要在注册帐号的服务器上创建社区。需要注意的是,用户在哪个服务器上注册了帐号就只能在哪个服务器上创建社区,不能跨服务器创建社区,如用 lemmy.ml 的帐号在 lemmygrad.ml 上创建社区就是办不到的。

虽然跨服务器创建社区无法实现,但跨服务器关注社区、管理社区却没有问题——这一点才是 lemmy 作为自由的邦联制的“贴吧”的核心要点。但就目前来说,仍然不是随意拿出来两个服务器,其上的帐号都能互相关注对方服务器上的社区。这是因为某一服务器上的用户是否能关注另外一服务器上的社区,取决于这两个服务器之间的互联互认程度,如果它们的互认程度不高,就无法关注彼此的社区。

为了关注一个服务器上的社区,最简单粗暴的方法就是在这个社区所在的服务器上注册帐号来关注,但是正如前面所说的,不是所有的 lemmy 服务器都开放注册,也不是所有开放注册的 lemmy 服务器都容易注册,更别提有趣的社区很可能分散在不同的服务器上,为了关注这些社区分别在这些服务器上注册帐号,管理众多的 lemmy 帐号又提高了使用成本。

更为重要的是,如果用户为了关注某一社区就跑到社区所在的服务器上注册,一个两个用户如此,三个四个,乃至几万几十万的用户都如此,邦联制的社交媒体就将不复存在,而这个社区所在的服务器又成了一个集中制的社交媒体。害处从小的方面来说会让单一服务器不堪重负,大的方面来说就是促进新的私有社交媒体诞生。

因此无论是从便利性还是从正确性上来说,我们都不推荐您直接在您想关注的社区所在服务上直接注册帐号。

我们还是应当充分发挥邦联制的特点,把我们各自的帐号分散在不同的服务器上,避免在一个服务器上过度集中。

验证不同 lemmy 服务器之间的互联互认

服务器和服务器之间互认关系的问题我们可以用一些小方法来验证。

比如您想知道某服务器是否能关注我们位于https://exploding-heads.com/上的hackerfederation社区,您可以输入如下的网址格式: 欲测试的服务器的地址/c/我们的社区名称@社区所在服务器,比如,您可以输入https://community.hackliberty.org/c/[email protected]来看看是否能从服务器https://community.hackliberty.org/访问到我们的社区,如果能访问,便可看到我们社区的内容,进而可以选择在这个服务器上注册自己的账号;如果不能访问,就会提示“404: couldntfindcommunity”。比如访问https://lemmy.ml/c/[email protected]的结果就提示“404: couldntfindcommunity”,这说明 lemmy.ml 上的帐号不能关注我们位于 exploding-heads.com 上的社区。

需要注意的是,在您当前的服务器而不是我们社区所在的服务器上输入的我们的社区的名称必须加上后缀 @exploding-heads.com ,此后缀意为我们名为“hackerfederation”的社区位于 exploding-heads.com 服务器上。而如果您不加此后缀,您当前的服务器会默认在当前服务器上找寻是否有名为“hackerfederation”的社区,无论是否能找到,都不可能是我们的社区。其他服务器上的其他社区也是如此,在此不再赘述。

虽然目前 lemmy 还不为中文用户所熟知,但我们相信,未来使用 lemmy 的中文用户会越来越多。由互联网管制所摧毁的整个中文互联网社群将在自由软件平台上重建。

字幕组安全指南,也适用于任何希望逃避State Apparatus的人

展开全文

出发点:

你的对面是State Apparatus(不特指任何特定国家!),那就得用对付State Apparatus的法子进行自我保护。

本国政府和本国的盟国政府(比如,你身处以美国为首的西方资本主义国家联合当中的任何一个国家)天生是你的敌人;敌国政府(例如前例中,俄罗斯可以视为敌国)天生是你的朋友。

抛砖引玉,欢迎大家补充、完善。

避免在线抓包:

在上传国家境外租用服务器,片源做好之后先加密(建议PGP),然后用VPN、酸酸(乳)等协议通过sftp/https等上传到私有服务器(这里还可以配合多层跳板,且片源只能直接操作第一层跳板),再由第三人取回发布目标国境内解密发布。

在线交流一定要挂双层以上跳板加密RDP/SSH到境外服务器操作(如为Windows,建议架设远程桌面网关,走RDP over HTTPS,避免协议特征审查)。如果网络条件比较好,还可以加一层Tor/i2P。

以上各服务器不定期更换,不要在服务器长期存放片源等文件,并且可以选择俄罗斯等与发布国和片源国都无关,甚至有地缘政治矛盾的国家的服务器。

尽量避免用有实名制要求的服务器,防止被配合跨国执法合作。

避免离线取证:

能开Bitlocker(在大陆之外请使用在大陆购买的主板的自带TPM模块、在大陆请使用其他国家购买的独立TPM模块或其他国家购买的主板的自带TPM模块)/VeraCrypt(请善用后者的双重加密卷功能)的就打开,虚拟机本身的加密功能也要打开。不要再使用TrueCrypt。

宿主机内存要足够大,关闭虚拟内存,最好设置内存盘。

每次打开虚拟机的时候把虚拟机(尤其是其临时内存文件!)复制到内存盘再执行。

虚拟机一定要设置快照自动还原,不要存放任何登录状态、保存任何密码,并且定期更改mac地址等信息。

可以进行双重虚拟机处理,毕竟现在的电脑都支持vt-x。

片源录制、压制时产生的中间文件一定要在加密磁盘放置,发布完毕之后最好进行随机抹除处理。

避免社会工程学导致信息泄露:

使用非实名的境外虚拟号码注册各种服务。需要使用法律上有实名制要求的服务时,想办法购买假身份和预先他人身份实名的电话卡。考虑使用加密货币进行支付。

封住嘴巴,别到处宣传“我是字幕组的”:别人看着虎口躲得老远,你反而拉着其他人往下跳送人头,是几个意思?

小心身边人!不要让别人轻易知道你在干嘛。如果经济状况允许,请考虑独立房间居住。

学学各国情报机关,别同他人共享身份证、银行账号、电话号码等强实名信息。单线联系,避免一锅端。

建议所有汉化组、字幕组、非正版数字产品提供者都去认真看看http://bit.ly/1MvweYg。你可以不认同他的政治立场,但是如果在个人信息保护上有他三分之一的注意力,都不至于让废柴日本警察抓现行。

如今的社交媒体多是私有厂商垄断了所有服务器和所有渠道的集中制社交媒体,用户在这些社交媒体上发表的任何内容都可以被私有厂商随意抹除,用户的内容发布受到私有厂商的控制。

那么是否有能充分实现用户自由的社交媒体平台呢?有的,支持 ActivityPub 协议的各社交媒体平台由志愿者搭建的无数个实例组成,实例和实例之间允许互联,哪怕是不同项目的实例。用户也可以自己搭建相关实例。

以下是对常见的支持 ActivityPub 协议的社交媒体项目的简要介绍:

展开全文

一、微博客类:

  1. mastodon,最主流的基于 ActivityPub 的邦联制社交平台,其上实例(每个实例都可以和别的实例互联,甚至还可以和别的项目互联,下同)众多,各种语言都有,实例基本上都需要邮箱注册。文档和部分实例请参考 mastdon 项目的官网
  2. pleroma,另一个社交类邦联实例,热度在社交类里仅次于 mastodon ,其上实例的界面风格往往比起 mastodon 来说更加柔和,且不一定需要邮箱注册。其项目官网
  3. Misskey,这个项目上的实例多为东亚人使用,几乎很难见到英文实例,反而中文实例和日文实例很多。同样不一定需要邮箱注册。项目官网
  4. hubzilla,同样是邦联制社交平台,需要邮箱注册,资料不多。项目官网
  5. friendica,邦联制社交平台,资料不多。项目官网
  6. diaspora*,据说是最早的邦联社交平台,在它之下才诞生了 hubzilla 和 friendica 。项目官网
  7. GNU socoial,邦联制社交平台,特色是支持通过 xmpp 客户端更新消息。项目官网

二、影音类

  1. peertube,邦联制视频分享平台,可与其他本项目实例或其他项目的实例如 mastodon 的实例共通,下同。项目官网
  2. Funkwhale,邦联制音乐分享平台。项目官网
  3. PixelFed,邦联制图片分享平台。项目官网

三、博客类

  1. wirtefreely,简洁邦联制博客平台,虽然不可以直接通过某一实例看见其他实例的内容,但是实例和实例之间的数据迁移很容易实现,社交类邦联制平台甚至可以直接订阅其实例。项目官网
  2. plume,功能更加完善的邦联制博客平台,和writefreely一样不可以直接通过某一实例访问其他实例,但实例间的数据迁移也很容易。项目官网

四、网站建立类

wordpress,该项目可以用来建网站。项目官网

详情请参考: https://the-federation.info/或者https://fedidb.org/network?s=All这些邦联制社交媒体目录网站收录了各邦联制项目,也收集了它们的实例。需要找某项目的实例注册,可参考这些目录网站。

展开全文

一、什么是XMPP以及我们为什么要使用XMPP

简而言之,XMPP(又称为Jabber)是一种开放的互联网实时通讯协议。很多流行的聊天软件都是XMPP的封装应用,比如Google Hangout、Facebook Message、AOLChat、米聊、人人桌面和陌陌等。很多网络游戏的内部聊天用的也是XMPP协议。

与通常我们使用的集中式架构的通讯软件(如QQ、微信)不同,采取邦联式架构的XMPP客户端与服务器、服务器之间的通信使用的是公开而标准化的协议——这保证了任何人都可以参考这些标准开发出可以和系统中其他组件互操作的组件,甚至可以自己搭建服务器,为自己提供服务。通过XMPP所支持的“不留记录即时通讯协议(Off-the-Record Messaging,缩写为OTR,原理见网址),可以实现端到端通讯的加密,从而保障“私聊”的真正“私密”性质和通讯的安全性。

我们推广XMPP是希望推动这种开放的聊天协议和自由软件的使用,用XMPP配合OTR或OMEMO的端对端加密聊天,替代传统封闭的、有隐私泄漏风险的私权软件。

二、安装客户端

支持 XMPP 的客户端有很多,这里仅选取经过 BLUG 成员测试挑选之后,最适合自由软件社群的。以下所列均为自由软件。

PC 客户端:推荐使用 Pidgin,GNU/Linux 发行版可通过包管理器搜索“pidgin”来安装,也可以从 https://pidgin.im 下载源码包编译安装。Windows 可前往 https://pidgin.im 网站下载二进制安装包,但 Windows 作为私有系统存在安全隐患,且Pidgin 的 otr 插件和消息反馈插件需要额外下载。最好的做法是把它换成 GNU/Linux,并在 GNU/Linux 安装 pidgin。Pidgin 支持通过额外插件拓展功能,实现完整 otr 加密,pidgin 使用的 otr 插件—— pidgin-otr 也可以在通过 GNU/Linux 发行版的包管理器下载安装。

移动客户端:Android 系统强烈推荐 blabber.im,支持 omemo 加密。可以直接访问 https://f-droid.org/en/packages/de.pixart.messenger/ 下载 blabber.im, 这样只能安装到网页提供的 blabber.im 版本,不能及时更新 blabber.im。更推荐的做法是先下载 f-droid 的客户端,并通过 f-droid 客户端下载 blabber.im。首先前往 https://f-droid.org 下载安装 F-Droid 市场,然后更新包缓存,之后就可以搜索并安装 blabber.im 了,这样能及时更新 blabber.im。f-droid 是提供自由软件的自由的应用商店,强烈推荐在手机上安装一个。有余力的可以尝试使用 xabber 2.0.1 版本实现比较完整的 otr 功能。

对于苹果设备来说,iOS 系统上的 chatsecure 的 iOS 版勉强可用,macOS 也可暂且使用 Adium,可以从 https://adium.im 网站下载到。不过它们都不好用,往往会丢消息,只有越狱并设法禁止自动挂起网络才能彻底解决这个问题。烂苹果这个自诩比用户自己还懂用户的需求的暴君,通过一系列恶心的设计,把为 iOS 用户提供邦联化的即时通信服务变得难如登天,而这个工作本应仅仅需要一条持久 TCP 连接和客户端断线时重连。基本上想为 iOS 实现即时通信服务就必须在一定程度上放弃邦联化,开发者还必须接受烂苹果的盘剥才能保证其用户能及时收到消息,这使得 iOS 能用的即时通信服务基本上都是圆形监狱。因此最好的办法是换掉苹果设备。

三、注册XMPP账号

常使用的还是通过客户端直接注册。注册时需要选定一台服务器、填写用户名和密码后,就可以得到形式和电子邮件地址类似——“用户名@服务器”的身份标识——JID了。

电脑端的 pidgin 使用同一个界面来操作“创建新账号”和“添加现有账号”的功能,仅仅通过类似“在服务器上创建此账号”的选项来区分。

手机端的 blabber.im 可以在初次登录时,在登录界面的右下角点击“创建新帐号”,然后写上用户名,并通过“选择您的 jabber 提供商”来选择服务器。如果 blabber.im 默认提供的注册服务器没有您喜欢的,也可以选中“使用自己的服务器”,然后在填写用户名处以“用户名@服务器”的格式填写您需要的 JID 实现注册。密码需要在下一界面填写。

互联网上有很多开放的 XMPP 服务, 在正式尝试在服务器上注册帐号之前建议用 xmpp 观测站服务(https://xmpp.net/https://check.messaging.one/ )检查一下服务器的特性,然后顺着 xmpp 观测站服务提供的 xmpp 服务器官网链接在官网上注册。

不建议在少数几个服务器上扎堆,这样会丧失邦联制的优势,容易被针对封锁服务器,同时信息大规模泄漏的风险也会更大。

四、基本设置及登录使用

###(1)blabber.im 的使用

登录

初次登录时,在登录界面的右下角点击“我已有帐号”,然后输入 JID 和密码后点击下一步,昵称和头像设置可保持默认。登陆时如果失败,请检查JID是否完整,一个完整的JID应是 xxx@xxx,例如 [email protected] ,检查登录时是否正确输入。

设置

需要在“开始会话”界面(左上角会显示这四个字),点击右上角的三个竖点,找到“设置”。

blabber.im 设置中建议进行的操作有:

I.打开“专家模式”中的“启用多个账户”; II.打开“专家模式”中的“使用 DNSSEC 验证主机名”; III.关闭“安全和数据保护”中的“显示位置预览”; IV.打开“用户界面”里的“彩色名称显示对方状态”(如果不选择“隐藏联系人”)。

如果您已经“启用多个帐号”,那么点击右上角的三个竖点,会出现“管理账户”,在“管理账户”界面,点击右上角带“+”的小人进入一个新界面,以“用户名@服务器”的格式填写您需要的 JID ,输入您需要的密码,选中或不选中“在服务器上注册新账户”,可进行注册或者多用户登录。

(2)pidgin

pidgin 使用插件架构支持各种协议及其扩展,将插件文件(主体部分为动态链接库)放入插件所在的目录(pidgin 的安装目录下的一个叫 plugins 的子目录),重新启动程序,即可在“工具”菜单下的“插件”对话框中启用并配置。

使用pidgin之前,需要先安装两个插件:

OTR 插件

用于实现上文所述的 OTR 加密协议。

GNU/Linux 可可以在通过 GNU/Linux 发行版的包管理器下载安装 pidgin-otr 。

windows 可下载 https://otr.cypherpunks.ca/index.php#downloads 中的 https://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.2.zip ,并将其全部内容放入 pidgin 的插件目录,插件名为 Off-the-Record Messaging,有额外选项。

消息反馈插件

用于得知消息成功送达对方(以及成功解密,在使用 OTR时),启用后成功送达的消息后面会出现对勾。

遗憾的是 Debian 的软件源中并未收录 pidgin-xmpp-receipts 插件,最好的方法是通过源代码从头编译它。

先通过 GNU/Linux 发行版的包管理器下载安装 git,然后打开终端模拟器,输入$ git clone https://github.com/noonien-d/pidgin-xmpp-receipts获得 pidgin-xmpp-receipts 的源代码。之后输入$ cd pidgin-xmpp-receipts,进入源代码所在的目录。然后输入$cat README.md,会显示 pidgin-xmpp-recipts 的编译和安装流程:

pidgin-xmpp-receipts
====================


This pidgin-plugin implements xmpp message delivery receipts ([XEP-0184 v1.2](https://xmpp.org/extensions/xep-0184.html)).


When no delivering confirmation is displayed, it is also possible that the 
receiver doesn't support the extension.


Compiling
---------

To compile the plugin, run

>	$ make

You will need pidgin development packages
(link in ubuntu: libpurple-dev and pidgin-dev).


Installation
------------

To copy the extension to your personal plugin folder (~/.purple/plugins)
run:

>	$ make install

Now you may activate the extension within the pidgin settings.

认真阅读 READ.md ,严格按照它的提示进行安装操作。

对于 Debian GNU/Linux 用户来说,需要先检查是否安装了 libpurple-dev 和 pidgin-dev ,不安装它们后续的编译工作将无法完成。在确认安装了 libpurple-dev 和 pidgin-dev 的情况下,按照 READ.md 的操作,先输入$ make,后输入$ make install 即可完成 pidgin-xmpp-recipts 插件的安装操作。

当然也可从可信的渠道得到编译过的 pidgin-xmpp-recipts.so 二进制文件,将它放入 ~/.purple/plugins 中,注意 .purple 是隐藏目录。

windows 可下载 https://app.assembla.com/spaces/pidgin-xmpp-receipts/documents 中的 xmpp-receipts.dll 放入 pidgin 的插件目录即可,插件名为 XMPP Receipts,无额外选项。

pidgin 的登录

Pidgin 支持很多协议。如欲添加 xmpp 账号,请在“管理账号”对话框中点“添加”,“协议”选 xmpp、“用户名”填@之前的部分,“域”填@之后的部分,再输入密码。

注册新账号和添加已有账号靠下方的“在服务器上创建此账号”选项区分。

设置

强烈建议将账户配置的“高级”选项卡中的“连接安全性”选项设置为“需要加密”。并启用上述两个插件。

添加好友和聊天

在最基本的情况下,知道对方的 JID 就可以和对方用 XMPP 通信了,当然更方便的做法是将对方添加为自己的联系人。不过对方有可能不在线,因此你往往需要向对方提出申请,让他的客户端主动告知你他的在线状态(虽然大部分客户端都可以在将对方添加为联系人时自动向对方提出申请,同时自动向对方启用告知自身的在线状态,但还是有少数场景需要手动提出申请)。

聊天时,在 pidgin 上,请在开启 OTR 插件后,于聊天页面最上面一栏最右侧点击小人头像启动私密聊天。blabber.im 的 omemo 加密是默认开启的。

注意,pidgin 上的 OTR 启用后,默认的自动聊天记录归档会对该会话禁用(可通过插件的选项配置)。如仍需对该会话归档,请使用“对话”菜单中的“另存为”功能。

加密聊天建立后,还可以通过保密问题或直接验证指纹的方式对对方身份进行验证。