世界,你好!平行世界

一、与互联网平行的世界 ZeroNet

本文是从实际出发,通过具体操作实现个人博客,团队知识库。zeronet,btsync,twister,riot-matrix等等去中心化的应用:

zeronet不需要翻墙也能看到墙外内容,你也可以自己在上面建立一个网站,btsync(现在叫 resilio sync)能够用bt下载的方式分享大量资源,而且可以随时取消,取消后别人手中的副本也消失,twister是没有审查的微博,发言无法删除,riot-matrix是加密聊天。

Zeronet实际操作:

1、Zeronet注册:

ZeroID 注册: http://127.0.0.1:43110/zeroid.bit,点击获取认证证书请求认证证书提示下面的用户名栏,输入用户名zhangqihui。点击发送请求
等待一会,会提示授权为web/zhangqihui@zeroid.bit现在你可以与每个接受zeroid.bit的站点交互了!,页面右上角提示New certificate added web/zhangqihui@zeroid.bit.就表示注册成功了!

注1:输入用户名时,下面提示或使用比特信是另一种用法,如何使用?
注2:在公司内网也可以正常注册,说明zeronet确实是可以穿透内网的,因为目前的局域网限制策略还没有跟上吗,哈哈!
注3:zeronet软件的readme文件竟然是markdow格式,很符合潮流吗,喜欢。

2、搭建网站:

参考创建新的 ZeroNet 站点,注册好zeronet ID后,点页面右上方的圆圈,进入页面http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D/,点击左栏上方的三个点,选择新建空站点,出现提示页面http://127.0.0.1:43110/17HNnyoFmpHGLkoa3L2jSPTGJ8uwFir1oY

Page address: 17HNnyoFmpHGLkoa3L2jSPTGJ8uwFir1oY
- Peers: 2
- Size: 4495
- Modified: Wed Jul 05 2017 15:10:14 GMT+0800 (中国标准时间)
查看`data/17HNnyoFmpHGLkoa3L2jSPTGJ8uwFir1oY`目录下的`content.json`:
{
 "address": "17HNnyoFmpHGLkoa3L2jSPTGJ8uwFir1oY",
 "address_index": 11526748,
 "background-color": "#FFF",
 "clone_root": "template-new",
 "cloned_from": "1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D",
 "description": "",
 "files": {
  "index.html": {
   "sha512": "542f7724432a22ceb8821b4241af4d36cfd81e101b72d425c6c59e148856537e",
   "size": 1114
  },
  "js/ZeroFrame.js": {
   "sha512": "090a43d18dcd1aa836b0d160631fe958f9fabd761af712e8eed6f7e010c0dd76",
   "size": 2409
  }
 },
 "ignore": "",
 "inner_path": "content.json",
 "modified": 1499238614,
 "postmessage_nonce_security": true,
 "signers_sign": "HIvQpm17CgG7HeNtBHmXhNlyYpJJDPMTsxvK4C9gY4gieszsP5kyeKy0FGKXY1b+ZMOxt9Apmvg8FWrKOIHDw+Q=",
 "signs": {
  "17HNnyoFmpHGLkoa3L2jSPTGJ8uwFir1oY": "G/5X0jjSMehzB3eEpj4etk+C2KGpdDaERexsXvNopgINP0tZRLQkUheQKLCTKXIlhV1grxMqtDrYcKnv1TOhuIM="
 },
 "signs_required": 1,
 "title": "my new site",
 "translate": ["js/all.js"],
 "zeronet_version": "0.5.6"
}
注:个人主页可以创建多个吗? #### 3、域名解析: #### 4、配置文件: 在家里注册zhangqihui的users.json:
{
  "1DJNdmNgZExSYDN7ppBMEUgTd4GbheE9HW": {
    "certs": {
      "zeroid.bit": {
        "auth_address": "1EGxDyvtXY4U2V8yCJes25kpvorb4wqLT1", 
        "auth_privatekey": "5K6T2mNfaCwG1G6FvbvmEmmP6acKkGMkdTsTdFwVe6ZjEBmy1q8", 
        "auth_type": "web", 
        "auth_user_name": "zhangqihui", 
        "cert_sign": "Gx/htEkzAAZ4GPDeaQ/oVc7/M3CqI7GjA9tU6IX71SB+aYj/n0N9rBYIdB6CQ/5F+QPFsAVlYKqZd2brsXTuZZw="
      }
    }, 
    "master_seed": "59156c6ea7625fc07089350137d7551f5aab40171747eb54a18be851d29130cb", 
    "sites": {
      "19BPUZYAdCMxExKHoVSG3cG95wfUfFTEC9": {
        "auth_address": "1MUU82xLyNJkTpTeK4e5W4S9JTobqi7RdP", 
        "auth_privatekey": "5K77muVDaEPDVf8cUnN4ptzneGaofqAsEVrGXM9bjdxFYDTqbJX"
      }, 
      "1GUwoyRUxHWkUik5o4BBKgjrpbeCMXFj9z": {
        "auth_address": "1MAfaGNhGqoD48bAsJ468KtHYcZhHgZA6c", 
        "auth_privatekey": "5JXPcyXUUK8K92BwiwgA7g46kxUYhJcxJF14d7rLsqQ94CXu3bD"
      }, 
      "1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D": {
        "auth_address": "1N4VKJqqZThrPGsrHFsoYibS7beZSaExhJ", 
        "auth_privatekey": "5KQuP4rKPe5RxxSeRdoEMFJgRuqtLTMXaupCfHnymcabLtQzp3y"
      }, 
      "1ML1BufvU2A1KPeg57LPgXSbX7j9gTUEuC": {
        "auth_address": "1HuxHNf82YRmxrixWreiS6DUp13nH1tGwF", 
        "auth_privatekey": "5JLH3xny4frrbcYi6pXeoZKYw4sbAEuaAPD59DMBcMgBAGppjBs"
      }, 
      "1NCezLP8aXjABVreBB1CKGPub2tKTtyhWU": {
        "auth_address": "14HBfNdi9E4T76DaaNDvpfR7TKicWXLV9i", 
        "auth_privatekey": "5JMp92V2HCC5kbnS4Y2do6Y83wGGPkBHBPhNpbVzttQ1qjYrP7B"
      }, 
      "1Name2NXVi1RDPDgf5617UoW7xA6YrhM9F": {
        "auth_address": "1LFYaurYdAgSRkxCcyGiSJX1sRbFJVw2CV", 
        "auth_privatekey": "5K1JC7ea7QjC7oPDuU1cHd9SdA1H3XaT5cwW9hnZtuU8JczAZYH"
      }, 
      "1Nse6WcodQ5Mj6ZwvZvuyCVvQESwuxbCUy": {
        "auth_address": "1DA2yawo3cPa6De2r9afW7fxhJXegDtqMe", 
        "auth_privatekey": "5KNnW95zE5S7bdMn5XVPTJSkwLyuAxRuK3hUcQVgxUXuMjsXD21"
      }, 
      "1PLAYgDQboKojowD3kwdb3CtWmWaokXvfp": {
        "auth_address": "1Nd59wBVTkFxhAXL4nNbzFQa3RgmcuTyR2", 
        "auth_privatekey": "5K5zdN1L6pQWQUNgnvPEQAXmtVkY6C2feBL1Fx562RYjTUZWzVu"
      }, 
      "1iD5ZQJMNXu43w1qLB8sfdHVKppVMduGz": {
        "auth_address": "1EGxDyvtXY4U2V8yCJes25kpvorb4wqLT1", 
        "auth_privatekey": "5K6T2mNfaCwG1G6FvbvmEmmP6acKkGMkdTsTdFwVe6ZjEBmy1q8", 
        "cert": "zeroid.bit"
      }
    }
  }
}
在公司启动zeronet.exe后的user.json
{
  "1LJXuxFHT6N7B7UkJ71vdpv8eNoL24BHcx": {
    "certs": {}, 
    "master_seed": "3a7afaca8df045d5c52589ed391fb908758bc33ec6077c7d3f9383f60c6b9f6c", 
    "sites": {
      "1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D": {
        "auth_address": "1PexhqrCaiFjBeX5TBLX5yDfJM9GVxKXhj", 
        "auth_privatekey": "5Jik9fqQE5V19Ye9mvfMnVEuBTxdhjfmgXZjnKeD1asugmvJBJ4"
      }, 
      "1Name2NXVi1RDPDgf5617UoW7xA6YrhM9F": {
        "auth_address": "15p5opBAdseFKdXRt8teTLxyvK439rVNPd", 
        "auth_privatekey": "5JG4v8J9axTRLBcNHmcfU83hXBxc8GtwNsyy4NErVqc5Xj8y1v6"
      }
    }
  }
}
在公司注册greydesign的user.json
{
  "1LJXuxFHT6N7B7UkJ71vdpv8eNoL24BHcx": {
    "certs": {
      "zeroid.bit": {
        "auth_address": "1MDXsocvYNBzrnYpnuLrfLfXPziBMxU6AZ", 
        "auth_privatekey": "5J9wnxAbbCS3y1ZBqkhnnsH9uCzCWHwMjSSqAdPpQayL94XucZC", 
        "auth_type": "web", 
        "auth_user_name": "greydesign", 
        "cert_sign": "HOT1HDTmejcDSPC/9XVreKcCghIv1pyhDqHaIAq3FdrLMSPSouQpU2Iq1GVmi5k85oNRF35xpdSpyFqPoYakVEM="
      }
    }, 
    "master_seed": "3a7afaca8df045d5c52589ed391fb908758bc33ec6077c7d3f9383f60c6b9f6c", 
    "sites": {
      "1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D": {
        "auth_address": "1PexhqrCaiFjBeX5TBLX5yDfJM9GVxKXhj", 
        "auth_privatekey": "5Jik9fqQE5V19Ye9mvfMnVEuBTxdhjfmgXZjnKeD1asugmvJBJ4"
      }, 
      "1MeFqFfFFGQfa1J3gJyYYUvb5Lksczq7nH": {
        "auth_address": "12bECWzSGo8mmFbEUxuTKN618S22rsRtZS", 
        "auth_privatekey": "5JJybGD8Y3qfpnwW2GHYpxaeWN76obTeT85sYRpMvjgskNyiKhf"
      }, 
      "1Name2NXVi1RDPDgf5617UoW7xA6YrhM9F": {
        "auth_address": "15p5opBAdseFKdXRt8teTLxyvK439rVNPd", 
        "auth_privatekey": "5JG4v8J9axTRLBcNHmcfU83hXBxc8GtwNsyy4NErVqc5Xj8y1v6"
      }, 
      "1iD5ZQJMNXu43w1qLB8sfdHVKppVMduGz": {
        "auth_address": "1MDXsocvYNBzrnYpnuLrfLfXPziBMxU6AZ", 
        "auth_privatekey": "5J9wnxAbbCS3y1ZBqkhnnsH9uCzCWHwMjSSqAdPpQayL94XucZC", 
        "cert": "zeroid.bit"
      }
    }
  }
}

应用:

对于没有安装zeronet的用户,可以通过zeronet代理服务器浏览,其实就是服务器把zeronet网络的内容转发到代理服务器上浏览。

参考网页:

P2P 网络 ZeroNet 初体验
利用ZeroNet轻松免费搭建P2P全球网站
品尝去中心化的滋味:比特币,山寨币以及Zeronet
zeronet常见问题

二、与Android平行的世界

就是目前还处于beta版的Island,官方安装步骤

2、建立Island用户

adb -d shell

setprop fw.max_users 10 #开启多用户

pm create-user –profileOf 0 –managed Island #Error: couldn’t create User.为啥?

多用户问题:

参考: Multi-user选项在Lollipop更新后不能在Android中使用

Island:为设备开辟一座密岛

三、VPS或树莓派的平行世界Docker

Docker入门:http://www.docker.org.cn/book/docker.mhtml

Docker分CE与EE两个版本,EE是商业版,所以个人选用CE版本

1、树莓派

参考:关于Docker在树莓派上的5件事 | 树莓派的 Docker 之旅 有tf卡加速内容,今后实施一下啊 | 树莓派上搭建个人博客

树莓派安装Docker实践:

sudo curl -sSL get.docker.com | sh #在树莓派上采用官方脚本安装docker,会自动判断系统并安装对应版本的Docker。是不是需要先sudo apt-get update?因为安装过程似乎伴随update。
安装过程的最后提示:

+ sudo -E sh -c docker version

Client:
Version:17.05.0-ce
API version:1.29
Go version:go1.7.5
Git commit:89658be
Built:Thu May 4 22:30:54 2017
OS/Arch:linux/arm

Server:
Version:1.29(minimum version 1.12)
Go version:go1.7.5
Git commit:89658be
Built:Thu May 4 22:30:54 2017
OS/Arch:linux/arm
Experimental:false

If you would like to use Docker as a non-root user,you should now consider adding your user to the “docker” group with something like:
sudo usermod -gG docker pi

Remember that you will have to log out and back in for this to take effect!

WARNING:Adding a user to the “docker” group will grant the ability to run containers which can be used to obtain root privilegers on the docker host.
Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface for more information.

问题:
1、sh是shell命令语言解释器 sh命令 | ubuntu下source、sh、bash、./执行脚本的区别
2、curl是linux下的命令行文件传输工具: curl命令(似乎缺少了-L自动跳转) | curl网站开发指南
3、ubuntu与debian、centos安装软件的基本命令有啥区别?参考 软件包管理基础知识:贴切,Yum,DNF,PKG

2、VPS Centos

使用DOCKER來建立WORDPRESS網站 | 在 Vultr 上搭建 Shadowsocks 服务端 | Docker + Vultr + Shadowsocks 5分钟科学上网 | 利用Docker搭建一个自己的Shadowsocks | 基于 Docker 的 shadowsocks 容器最佳实践 | Docker 学习后记

实践、在Vultr上采用Docker搭建SS服务(详见本博客博文 通过VPS看这美丽的世界

四、与国内外云存储平行的世界

「玩物志」Syncthing的安装与使用

简单!安全加密!如何搭建个人网盘-BitTorrent Sync

如何利用 BTSync 在VPS上搭建私有云储存