显示标签为“P2P”的博文。显示所有博文
显示标签为“P2P”的博文。显示所有博文

如何将Twitter同步到Twister

Twister 发帖还多有不便,如果能将推特同步到 Twister 可能就会方便很多。基于之前在树莓派上搭建的节点,我们可以做一个每小时同步一次的自动软件(bot)。

@vegos在 Twister 平台上创建了很多自动发帖账号。我打算也使用同样的方法来同步我自己的推文——使用 feed2twitter 工具。
feed2twister 是一个可以将 RSS/ATOM 订阅流推送到 Twister 的脚本。按照开发者的说法,要使用这个脚本,你需要:



安装/更新 python-bitcoinrpc


pip install python-bitcoinrpc
git submodule update --init


安装 feedparser


cd ~/twister 
git clone https://github.com/kurtmckee/feedparser.git
cd ~/twister/feedparser
python setup.py install


配置同步


cd ~/twister 
git clone https://github.com/black-puppydog/feed2twister.git


然后将 feed2twister.conf.example 重命名为 feed2twister.conf,按照提示配置好参数:MYTWISTERUSERNAME 替换成自己的用户名,MYRPCUSER:MYRPCPASSWORD 替换成自己的 本地用户:密码。feeds 参数后面换上要同步的 RSS 链接。对于 Twitter,可以使用免费的 TwitRSS.me获取特定用户的公开推文的订阅链接。然后可执行 feed2twister.py 测试一下。


设置脚本每小时执行一次


因为我是在树莓派上运行 Twister,每分钟运行也没必要,所以设置每小时同步运行一次。假设在每个小时的第 23 分钟执行:


crontab -e
23 * * * * python home/pi/twister/feed2twister/feed2twister.py


保存,完成。


其它


为了不在同步的推文中加上 Twitter 的链接,可给 do_not_include_link 赋值 Ture。

如何在手机上使用Twister:使用VNC访问树莓派桌面

现在的社交网络平台越来越不好用了。国内的就不说了,就是个“莫谈国事”的娱乐场;国外平台稍好一点,但在中心化的监管下也时有删贴的事情发生;当然需要翻墙也或许是个麻烦事。所以我们可能需要 Twister 这样的平台。Twister 是一个分布式的类微博社交平台,不受任何中心监管,虽然目前用户体验不佳,但总归比其它中心化平台更好。


首先说明我并不是一个开发者,我之前也是直接使用的是已经编译好的 Windows 安装包。我也曾试图使用已有的安卓安装包,但遗憾的是没能成功运行。为了能在手机上使用 Twister,我思考了几种方法。


  1. 使用远程桌面操作 Windows 平台上的客户端;我试了 Chrome 的远程桌面,速度太慢,体验太差,就放弃了。
  2. 购买 VPS 搭建远程服务器进行访问。我一直在用基于 VPS 的 Shadowsocks 作为翻墙工具,但因为我本身不是开发者,没有足够的技术能力,也没找到足够的资源,就没能实现。另外我看到有资料说某些 VPS 提供商会屏蔽 P2P 应用,不知道是不是真的。
  3. 借助树莓派进行访问。这是我最后采用的方法,主要的原因是能够从已有的资料中拼凑出解决方案。具体的方式是在树莓派上运行 Twister,然后通过 VNC 远程桌面访问。和 Chrome 的远程桌面不一样,VNC 的速度至少在可接受的范围内。(不使用树莓派直接作为远程主机是因为安全配置有点麻烦。)

这里我打算介绍一下我配置树莓派 Twister 的全过程。


1 树莓派基础配置


首先是硬件配置。我仅买了块树莓派和足够的配套组件。因为我只打算用其做为远程服务器,所以屏幕就没必要了。我只买了树莓派开发板(Raspberry Pi 3 Model B,外加官方保护壳)、电源、16G 存储卡和一条 1 米长的网线。


然后操作系统。下载 Raspbian,然后使用 Etcher 烧写到 TF 卡上。因为没有屏幕,所以我需要先开通 SSH 访问。方法很简单。烧写完成后,将 TF 卡重新插入到电脑上,在安装系统后可供 Windows 读取的目录下新建一个名为 ssh.txt 空白文件即可。


然后将装好系统的 TF 卡插入到树莓派上,连接电源并使用网线连接路由器。(我没花功夫去研究无线连接)


在电脑上访问路由器配置页面(一般是 192.168.1.1 或 192.168.0.1),找到分配给树莓派的 IP 地址,比如 192.168.0.109


现在进入树莓派的命令行。打开 PuTTY,在 Host Name(or IP Address)下填入上述 IP 地址,然后点击 Open。


然后输入你的树莓派用户名和密码(默认分别是 pi 和 raspberry)进行系统,但你也可通过 sudo raspi-config 修改密码。


2 配置 VNC Server


接下来配置 VNC Server 和 VNC Viewer。


VNC Server 安装在树莓派上。VNC Viewer 则用于访问树莓派。支持多种平台,这里不多介绍,请看官网


配置过程在树莓派官网有详细解释。我选择了其中的命令行方法。


sudo apt-get update
sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer


然后输入 sudo raspi-config,选择 Interfacing Options ,启用 VNC。


树莓派上配置好了以后,因为我希望能远程访问它,所以需要云支持。为此需要在 RealVNC 注册一个账户。个人用户免费,NICE!


有了帐户之后,我们需要配置远程访问方式。我先下载了 VNC Viewer 的 Windows 客户端,然后通过本地方式连接了树莓派,然后在树莓派的图形界面登录了 VNC 账号。之后我又在安卓客户端上登录了 VNC 账号,手机访问就成功建立了!


3 安装 Twister


这一部分花了我一些时间,因为官网上的在 Debian 上编译的教程不能直接在树莓派上使用,但摸索之后总算找到了解决办法。


增加交换空间


这一步是必需的,不然编译无法完成,试了好几次才发现这个问题。


sudo fallocate --length 1GiB /home/pi/swapfile

sudo mkswap ~pi/swapfile

sudo swapon ~pi/swapfile


配置工具环境


sudo apt-get update

sudo apt-get install build-essential libboost-all-dev \
libdb++-dev libminiupnpc-dev libtool libssl-dev autoconf git


安装 Twister


mkdir ~/twister

cd ~/twister

git clone https://github.com/miguelfreitas/twister-core.git

git clone https://github.com/miguelfreitas/twister-html.git 

cd twister-core

./autotool.sh

./configure --enable-sse2=no --with-boost-libdir=/usr/lib/arm-linux-gnueabihf

make


编译需要较长时间。


Twister 页面


mkdir ~/.twister

cd ~/.twister

git clone https://github.com/miguelfreitas/twister-html.git html


配置


echo -e "rpcuser=user\nrpcpassword=pwd" > ~/.twister/twister.conf

chmod 600 ~/.twister/twister.conf


启动 Twister deamon


cd ~/twister/twister-core
./twisterd -daemon -rpcallowip=127.0.0.1


4 开始使用


用浏览器访问 http://127.0.0.1:28332/index.html,等待同步完成(可能需要比较长的时间),之后就可以开始使用了。欢迎关注 @czyouge

三个值得一试的P2P网络与社交平台

最近我们人民的国家发生了一些值得删贴的事情。不过也没什么值得惊讶的,我们也大概早就习惯了吧,毕竟从秦始皇焚书坑儒算起也有两千多年了,删贴不耐受基因也多半早被筛选出去了。
活在中国,难免会遇到一些因为无人明示的“相关法律法规和政策”而被删帖和帖子被隐藏(有时候你甚至不知道你的帖子被隐藏了)的情况,而且我们通常对此也无能为力,也没办法起诉,我们甚至也不拥有我们发布在这些平台上的内容。为此我们可以采用的解决方案包括使用不受中国当局管辖的网络服务(比如Reddit和Twitter等)、使用私密的网络服务(比如邮件和即时消息等)以及坚持游击战——不断在国内的平台上创建账号发帖然后被删除。
这些方法都有弊端或额外的成本,比如好的 VPN 肯定需要花钱而且也仍然可能被切断(我就曾因此不得不购买新的服务,从而进一步花钱);私密服务的受众更少而且国内服务对此也仍然有监控;至于游击战嘛,新建账号又需要重新聚集粉丝,这种费时费力的工作不是每个人都能承受的。有没有什么方法能克服这些困难,让我们能免费、自由、无视高墙、不受监管地分享信息呢?
答案是:P2P
对等式网络(peer-to-peer, 简称P2P),又称点对点技术,是无中心服务器、依靠用户群(peers)交换信息的互联网体系,它的作用在于减低以往网络传输中的节点,以降低数据丢失的风险。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,任何一个节点无法直接找到其它节点,必须依靠其用户群进行信息交流。
——维基百科

最近单价突破 10000 美元的比特币就是一种采用了 P2P 技术的应用。这种技术不受任何“中央”的控制,所以无法通过切断到特定 IP 地址的连接来阻断用户之间的通信。
下面我会介绍三个我最近亲测有效的基于 P2P 技术的社交/网络平台,希望你也能一起加入这些网络,尤其是已经无法容忍删贴环境或想自由发声的读者更是如此。虽然这些平台用起来稍微麻烦一点,但却是完全值得的。而且每增加一个用户就会给这些网络增加一个节点,节点越多,网络的速度就越快。而且我相信用户增多能够激励开发者或贡献者更投入地持续改进这些平台,从而为用户带来更好更安全的使用体验。总之,希望你能够加入!

ZeroNet


ZeroNet 是一个基于 P2P 网络的网站平台,目前已经包含了论坛、博客、邮件、社交网络等服务,用户也可以在上面免费创建自己的网站。由于无法被任何监管方审查,所以上面包含了一些用户创建的显然处于审查范围内的内容——所以也很容易想到上面会有较多的政治、色情、怪异的内容。从使用体验上看,ZeroNet 是目前这三个平台中体验最好、功能最强大的。该平台有很好的中文支持,只需要下载一个客户端并备份你的配置文件(很重要)就能放心地使用了。

上面是 ZeroNet 主界面的部分截图,可以看到我曾经访问过草榴节点。当我成功访问了某个网站后,上面的内容就会在我的计算机上保留一个备份(你也可以选择删除),并会协助进一步分发其中的内容。之后就算我的计算机断网,我也能继续访问这个网站。当你再次联网后,其它更新的节点会更新你的计算机上的备份。

Twister


Twister 是一个 P2P 微博平台,基于区块链和 BitTorrent 技术。同样,下载一个客户端就可以使用了,初次使用或隔一段时间没联网就需要更新区块链,这会需要一定的时间。从体验上看,这个平台基本文本内容发布与订阅功能已经很完善,但搜索等功能还很粗糙。支持中文,但有些地方还是有些生涩。2014 年左右的时候这个平台上有不少中文用户,后来基本上都停止使用了。另外,在这个平台上发布的内容是无法删除的。


Twister可以设置不同的主题,默认主题的风格和 Twitter很像。另外最近有开发者另外做了一个 Twister 内容的搜索网站 https://twistnik.ru/。如果你也打算使用这个平台,欢迎关注 @czyouge

AKASHA


AKASHA是一个基于以太坊和 IPFS 技术的社交网络。目前还是 Alpha 版本,但体验感觉还不错(感觉适合发布新闻和博客)。你可以在官网登记体验 Beta 测试版。目前还没有中文版。

你可以在该该平台上发布、分享和投票(包含投反对票),而且有意思的是你的每次操作都会消耗AETH,你的得到的支持、分享也会帮你赚取 AETH。如果该项目能取得进一步成功,相信 AETH 也能成长为一种有价值的数字加密货币。据称这种机制能促进人们创作有价值的内容以及防控虚假内容的传播。类似 AKASHA的平台还有 steemit.com。不过 steemit.com 虽然自称是基于区块链的,但不需要下载客户端,通过浏览器就能直接访问,应该无法满足我们 P2P 的需求。

结语

第三十五条 中华人民共和国公民有言论、出版、集会、结社、游行、示威的自由。
——《中华人民共和国宪法
你还能继续忍受现在“根据相关法律法规和政策,本文不予显示”的网络和社交环境吗?如果你像我一样希望行驶《宪法》赋予我们的权利,就加入 P2P 网络成为一个连接世界的节点吧。
节点越多,速度就越快,就越难被封锁。