? Editing: Post:21.body Save Delete Cancel
Content changed Sign & Publish new content

TechZero

ZeroNet爱好者

Follow in NewsfeedFollowing

Latest comments:

ZeroNet框架(ZeroFrame)API参考

on Jun 04, 2016 ·
1 comment

水平有限,翻译错误的地方还望网友斧正


Wrapper 封装

这些命令可以控制wrapper框架,不用使用websocket发送到UiServer。

wrapperConfirm message,[button_caption]
显示一个带确认按钮的通知框。
|参数|描述|
|:----------|:------------------------|
|message|你要显示的消息|
|button_caption(可选)|确认的按钮的文字(默认:OK)|

返回:确认返回Ture

例子:
# Delete site siteDelete: (address) -> site = @sites[address] title = site.content.title if title.length > 40 title = title.substring(0, 15)+"..."+title.substring(title.length-10) @cmd "wrapperConfirm", ["Are you sure you sure? <b>#{title}</b>", "Delete"], (confirmed) => @log "Deleting #{site.address}...", confirmed if confirmed $(".site-#{site.address}").addClass("deleted") @cmd "siteDelete", {"address": address}


wrapperGetLocalStorage

返回:浏览器站点本地存储
例子:
@cmd "wrapperGetLocalStorage", [], (res) => res ?= {} @log "Local storage value:", res


wrapperSetLocalStorage data
设置站点在本地浏览器中存储的数据
返回:None
例子:
Page.local_storage["topic.#{@topic_id}_#{@topic_user_id}.visited"] = Time.timestamp() Page.cmd "wrapperSetLocalStorage", Page.local_storage


wrapperNotification type, message, [timeout]
显示一个通知
|参数|描述|
|:----------|:------------------------|
|type|可能的值:info,error,done|
|message|你要显示的消息|
|timeout(可选)|消失的时间(毫秒ms)|
返回:None
例子:
@cmd "wrapperNotification", ["done", "Your registration has been sent!", 10000]


wrapperPrompt message, [type]
显示一个可以输入文字的提示框。
|参数|描述|
|:----------|:------------------------|
|message|你要显示的消息|
|type(可选)|输入的类型(默认:text)|
返回:输入的文字
例子:
`# Prompt the private key
@cmd "wrapperPrompt", ["Enter your private key:", "password"], (privatekey) =>
$(".publishbar .button").addClass("loading")

# Send sign content.json and publish request to server
@cmd "sitePublish", [privatekey], (res) =>
    $(".publishbar .button").removeClass("loading")
    @log "Publish result:", res`

wrapperSetViewport viewport
设置站点viewport元标签内容(移动站点会用到)
|参数|描述|
|:----------|:------------------------|
|viewport|viewport元标签的内容|
返回:None
例子:
# Prompt the private key @cmd "wrapperSetViewport", "width=device-width, initial-scale=1.0"


UiServer

UiServer对于ZeroNet就像LAMP设置的站点。
UiServer会完成所有的“后台”工作(比如:查询数据库,访问文件,诸如此类)。你可以调用这些API搭建动态网站。

certAdd domain, auth_type, auth_user_name, cert
为当前的用户添加一个证书
|参数|描述|
|:----------|:------------------------|
|domain|认证所有者的域名|
|auth_type|注册的验证类型|
|auth_user_name|注册的用户名|
|cert|证书内容:将字段auth_address#auth_type/auth_user_name签给站点的所有者|
返回:"ok","Not changed"或者{"error":error_message}
例子:
@cmd "certAdd", ["zeroid.bit", auth_type, user_name, cert_sign], (res) => $(".ui").removeClass("flipped") if res.error @cmd "wrapperNotification", ["error", "#{res.error}"]


certSelect accepted_domains
显示证书选择器
|参数|描述|
|:----------|:------------------------|
|accpeted_domains|接受认证的列表|
返回:None
例子:
@cmd "certSelect", {"accepted_domains": ["zeroid.bit"]}


channelJoin channel
关于站点事件的请求通知
|参数|描述|
|:----------|:------------------------|
|channel|加入频道|
返回:None
Channels:

  • siteChanged(默认加入)
    Event:peers_added,file_started,file_done,file_failed

例子:
# Wrapper websocket connection ready onOpenWebsocket: (e) => @cmd "channelJoinAllsite", {"channel": "siteChanged"} route: (cmd, data) -> if cmd == "setSiteInfo" @log "Site changed", data else @log "Unknown command", cmd, data

例子event data:
{ "tasks":0, "size_limit":10, "address":"1RivERqttrjFqwp9YH1FviduBosQPtdBN", "next_size_limit":10, "event":[ "file_done", "index.html" ], [...] # Same as siteInfo return dict }


dbQuey query

引用
ZeroNet 官方文档 http://zeronet.readthedocs.org/en/latest/

Read more

ZeroNet网站开发指南(未完待续)

on May 29, 2016 ·
3 comments

大部分都是对官方文档翻译。个人水平有限,如有错误地方请斧正。

概述

ZeroNet 允许你推送静态和动态的网站。

尽管ZeroNet不能运行脚本语言,如PHP 或者Ruby,但是你可以用ZeroNet的Zero框架 API(ZeroFrame)、JavaScript(或者CoffeeScript)、built-in SQL创建一个动态的网站。

ZeroNet调试模式

用调试模式启动会让开发变得更容易。

使用命令python zeronet.py --debug运行即可。

调试模式功能:

  • 自动转换 CoffeeScript -> JavaScript.(本文档写的例子皆来自 CoffeeScript.org)
  • 调试的消息显示在控制台上。
  • 自动重载一些源文件(UiRequest、UiWebsocket、FileRequest),无需每次改变文件后都要重新启动才生效(GNU/Linux需要请求PyFilesystem)。
  • [http://127.0.0.1:43110/Debug](http://127.0.0.1:43110/Debug) 跟踪和交互Python 控制台最后出错位置。(使用神奇的Werkzeug debugger
  • http://127.0.0.1:43110/Console 生成一个可以和Python交互的控制台。(使用神奇的Werkzeug debugger

    附加功能(仅在你自己的网站上生效)

  • 合成CSS文件:所有在网站文件夹的CSS文件都会被合成一个文件,叫all.css 你可以选择只包含这个文件到你的网站。如果你想保留其它CSS文件让开发更加轻松点。你可以添加一个ignore键到你的content.json。这样,它们就不会被推送到你的站点了。(等于你添加"ignore": "(js|css)/(?!all.(js|css))"content.json 后,就会忽略所有的CSS和JS文件,除了all.jsall.css
  • 合成JS文件:所有在网站文件夹的JS文件都会被合成一个文件,叫all.js。CoffeeScript编译器会提前将 .coffee转换成.js
  • 为了每个文件合成 all.css/all.js ,文件首先在子目录 js/css文件夹被命名为01_a.css, 02_a.css,之类

ZeroNet网站开发指南

第一部分

  • 网站创建
  • Zero框架 API(ZeroFrame)

第二部分

  • 用户登录
  • 推送新的内容到网络
  • SQL数据库插入和查询
  • 实时更新的你网站

我的ZeroNet博客 http://127.0.0.1:43110/TechZero.bit
(欢迎访问,并点Follow关注,我随时更新)
ZeroNet交流论坛 https://www.reddit.com/r/zeronet/

Read more

Chrome ZeroNet 插件让你访问ZeroNet更轻松

on May 06, 2016 · less than 1 min read ·
4 comments

下载地址: https://chrome.google.com/webstore/detail/cpkpdcdljfbnepgfejplkhdnopniieop

可以实现 http://zero/ 访问 你的http://127.0.0.1:43110/你的主页

同时对已经申请了bit域名的博客,可以直接输入访问,如本博客。

http://TechZero.bit
Chrome ZeroNet插件

经过本人测试,这个插件和Shadowsocks冲突,会导致Shadowsocks无法正常作用在Chrome


我的ZeroNet博客 http://127.0.0.1:43110/TechZero.bit
(欢迎访问,并点Follow关注,我随时更新)
ZeroNet交流论坛 https://www.reddit.com/r/zeronet/

Read more

通过克隆创建一个ZeroNet Blog或者论坛

on May 01, 2016 ·
3 comments

首先克隆可以这样,如官方图片所示:
Zeronet克隆博客动图

克隆完毕,可以移动鼠标去网站名和签名那里。会出现一个小铅笔的图标,点击即可修改自己的网站名和签名。

修改完毕注意点右下角那里的 Sign & Publish new content 将修改推送出去。

一般新建的站点,peers比较少的时候,可能你发送给你朋友并不会很快生效。等等吧。论坛同理。

我的ZeroNet博客 http://127.0.0.1:43110/TechZero.bit
(欢迎访问,并点Follow关注,我随时更新)
ZeroNet交流论坛 https://www.reddit.com/r/zeronet/

引用:
ZeroNet 官方文档 http://zeronet.readthedocs.org/en/latest/

Read more

如何安装ZeroNet

on Apr 25, 2016

首先下载ZeroBundle。地址:https://github.com/HelloZeroNet/ZeroBundle/releases
快捷下载通道
Microsoft Windows :
https://github.com/HelloZeroNet/ZeroBundle/releases/download/0.1.1/ZeroBundle-v0.1.1.zip
Apple OS X:
https://github.com/HelloZeroNet/ZeroBundle/releases/download/0.1.1/ZeroBundle-mac-osx-10.8-v0.1.1.zip
Linux 64bit:
https://github.com/HelloZeroNet/ZeroBundle/releases/download/0.1.1/ZeroBundle-linux64-v0.1.1.tar.gz
Linux 32bit:
https://github.com/HelloZeroNet/ZeroBundle/releases/download/0.1.1/ZeroBundle-linux32-v0.1.1.tar.gz
解压后, (win用户)运行 ZeroNet.cmd, (osx用户)运行ZeroNet(.app) , (linux)运行 ZeroNet.sh
运行后,能访问 http://127.0.0.1:43110/ 就大功告成了。

Debian Linux用户可以采取以下安装方法

sudo apt-get update
sudo apt-get install msgpack-python python-gevent
wget https://github.com/HelloZeroNet/ZeroNet/archive/master.tar.gz
tar xvpfz master.tar.gz
cd ZeroNet-master
Start with python zeronet.py
访问 http://127.0.0.1:43110/

我的ZeroNet博客 http://127.0.0.1:43110/17DCyNgnWJ8Vsdp4myiSMryPvPmVGXnxY/ (欢迎访问,并点Follow关注,我随时更新)
ZeroNet交流论坛 https://www.reddit.com/r/zeronet/

引用:
ZeroNet 官方文档 http://zeronet.readthedocs.org/en/latest/

Read more

如何快速发布并推送文章

on Apr 24, 2016 ·
6 comments

每次编辑完文章点保存后,注意右下角。有个“Sign & Publish new content”按钮,点一下,就很快将内容推送出去了。

Read more

New blog post

on Apr 24, 2016

thanks everybody

Read more

Congratulations!

on May 31, 2015

Your zeronet blog has been successfully created!

Read more
Add new post

Title

21 hours ago · 2 min read ·
3 comments
Body
Read more

Title

21 hours ago · 2 min read

0 Comments:

user_name1 day ago
Reply
Body
This page is a snapshot of ZeroNet. Start your own ZeroNet for complete experience. Learn More