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

痛骂程序员

已建站者不在攻击范围之内
测试终于能留言,逼都装碎了

主页提醒已跟踪

按时间索引
按标签索引

Latest comments:

测试在线视频直播/Testing P2P streaming(18x)

on Jun 01, 2016 · 1 min read ·
66 comments
最后修改: on Jun 09, 2016
标签: 尚未分类

本视频内容需要下载安装universal_p2p播放程序
You need to download following p2p helper to view video in current page

点我阅读全文

打怪升级

on May 26, 2016 · less than 1 min read ·
9 comments
最后修改: on May 27, 2016
标签: 尚未分类

希望通过以下训练关卡让那些对Demo网站感兴趣但又无从下手的人升级

点我阅读全文

P2P整合计划------universal_p2p

on May 24, 2016 · less than 1 min read ·
24 comments
最后修改: on Jun 03, 2016
标签: 尚未分类

ZeroNet,i2p,freenat,twister为p2p互联网提供了参考, 他们或多或少实现了现有http的基本协议框架,但是这些网络似乎在设计之初考虑的仅仅是自包含性,也就是自己搞定所需的一切问题。在我看来,这些网络共通的缺点就是缺乏大文件的嵌入能力(比如视频直播)。缺乏这一点,这些网络就永远不可能步入普通人的视线,注定成为小众玩具

令人难以理解的是,超大文件的p2p分享功能早就已经发展的非常成熟了,从最早的bittorrent到后续的ed2k,btsync,syncthing,ipfs,webtorrent,世界上存在着这么多的p2p工具,任何一个都是超大文件的处理好手,为什么不将这些现有的资源整合在一起?

ipfs提供了一个很好的思路:一切ipfs资源都可以从客户端进行http访问,这就为传统http整合提供了一个最简便的方式:无需任何新协议即可融入到现有的架构当中。那么,这一思想为何不扩展到所有的p2p资源中呢?bt视频的边下边播早就不是什么新技术,为何不为这些超大文件分享协议设计一个http的前端,从而让ZeroNet,i2p,freenat,twister的任一个网络都可以充分利用p2p已有的庞大资源和成熟网络呢?

在此我准备开始一项计划:创建p2p共享技术的统一的http前端,让ZeroNet,i2p,freenat,twister这些网络架构都可以直接以http方式访问ipfs,bittorrent,syncthing中的资源。

点我阅读全文

需要想象力

on May 24, 2016 · less than 1 min read ·
6 comments
最后修改: on May 26, 2016
标签: 撕逼

前一段时间一直忙着来实践自己的想法,很多人的留言也没有回复,实在是抱歉。今天回到博客的主题,撕一个逼。

点我阅读全文

twitter同步实现

on May 24, 2016 最后修改: on Jun 08, 2016
标签: 尚未分类
点我阅读全文

代理网站测试

on May 24, 2016 · less than 1 min read ·
5 comments
最后修改: on May 24, 2016
标签: 尚未分类

一个简单的ZeroNet代理网站,实现前文提到的全动态网站的逻辑。后台程序监听用户数据中包含的网络请求,访问之后再将实际网站的响应作为用户数据发布。访问者的前台js脚本在收到响应结果后区分出自己访问的网站,并将结果渲染在屏幕上。

点我阅读全文

MUD坑爹

on May 23, 2016 · less than 1 min read ·
8 comments
最后修改: on May 23, 2016
标签: 尚未分类

这两天尝试搭建一个完全ZeroNet版的MUD游戏,发现MUD实在太TMD坑爹了。

点我阅读全文

ZeroNet结构解析/全动态网站/无限制网站

on May 18, 2016 · 3 min read ·
12 comments
最后修改: on May 20, 2016
标签: 后台网站

本文面向对ZeroNet全动态网站/无限制网站开发有兴趣的爱好者

点我阅读全文

telegram bot

on May 16, 2016 · less than 1 min read 最后修改: on May 24, 2016
标签: 后台网站

zeronet里有没有人使用telegram呢?zeronet不便之一就是没有移动客户端,现在大家可以添加telegram 中的@zeronet_bot与其对话,或者将此bot添加到群聊中,所有的聊天将会被同步至telegram同步聊天室

点我阅读全文

建站所感

on May 10, 2016 · less than 1 min read ·
5 comments
最后修改: on May 10, 2016
标签: 尚未分类

感谢网络时代,感谢那些在中国不遗余力普及常识的博主们。我无以为报,只能尽我之力,在ZeroNet里让更多人知道你们的存在。

点我阅读全文

希望各位读者自己建站

on May 03, 2016 ·
5 comments
最后修改: on May 03, 2016
标签: 尚未分类

因为时间缘故,没有太多时间和各位来捧场的读者互动,并非装逼实在抱歉。希望各位读者都来建站,到时必然去留言扯淡。

点我阅读全文

为ZeroBlog添加最近更改提醒,挖坑再填有提示

on May 02, 2016 · 3 min read ·
6 comments
最后修改: on May 02, 2016
标签: 尚未分类

ZeroBlog不方便的一点是Blog写完之后只会在主页有一次提醒,之后的修补就没有通知了,这个修改可以在左侧的订阅栏中添加跟踪最近修改的功能,这样每次填坑都会有提醒。直接覆盖index.html,js/all.js,dbschema.json即可。或者拿下面的补丁

diff --git a/dbschema.json b/dbschema.json
index b400d06..7955ef5 100644
--- a/dbschema.json
+++ b/dbschema.json
@@ -46,6 +46,7 @@
                 ["title", "TEXT"],
                 ["body", "TEXT"],
                 ["date_published", "INTEGER"],
+        ["date_modified","INTEGER"],
                 ["json_id", "INTEGER REFERENCES json (json_id)"]
             ],
             "indexes": ["CREATE UNIQUE INDEX post_uri ON post(json_id, post_id)", "CREATE INDEX post_id ON post(post_id)"],
@@ -72,6 +73,8 @@
     },
     "feeds": {
         "Comments": "SELECT 'comment' AS type, date_added, post.title AS title, keyvalue.value || ': ' || comment.body AS body, '?Post:' || comment.post_id || '#Comments' AS url FROM comment LEFT JOIN json USING (json_id) LEFT JOIN json AS json_content ON (json_content.directory = json.directory AND json_content.file_name='content.json') LEFT JOIN keyvalue ON (keyvalue.json_id = json_content.json_id AND key = 'cert_user_id') LEFT JOIN post ON (comment.post_id = post.post_id)",
-        "Posts": "SELECT post_id AS event_uri, 'post' AS type, date_published AS date_added, title AS title, body AS body, '?Post:' || post_id AS url FROM post"
+        "Posts": "SELECT post_id AS event_uri, 'post' AS type, date_published AS date_added, title AS title, body AS body, '?Post:' || post_id AS url FROM post",
+    "Changes":"SELECT post_id AS event_uri, 'post' AS type, date_modified AS date_added, title AS title, body AS body, '?Post:' || post_id AS url FROM post"
+
     }
 }
\ No newline at end of file
diff --git a/index.html b/index.html
index 3f9746c..c0cbff2 100644
--- a/index.html
+++ b/index.html
@@ -93,6 +93,7 @@
     <span class="published" data-editable="date_published" data-editable-mode="timestamp">21 hours ago &middot; 2 min read</span>
     <a href="?Post:23:title" class="comments-num">&middot; <div class="icon-comment"></div> <span class="num">3 comments</span></a>
     <a href="#Like" class="like" title="Like this post"><div class="icon-heart"></div><div class="icon-heart icon-heart-anim"></div> <span class="num"></span></a>
+    <span class="modified">1 hours ago</span>
     <!--<a class="score" href="#Upvote">
      <span class="score-inactive"> <span class="icon-up">^</span><span class="score-num">0</span> </span>
      <span class="score-active"> <span class="icon-up">^</span><span class="score-num">1</span> </span>
@@ -114,6 +115,7 @@
   <div class="details">
    <span class="published" data-editable="date_published" data-editable-mode="timestamp">21 hours ago &middot; 2 min read</span>
    <a href="#Like" class="like" title="Like this post"><div class="icon-heart"></div><div class="icon-heart icon-heart-anim"></div> <span class="num"></span></a>
+   <span class="modified">1 hours ago</span>
    <br>
       <span class="tag" data-editable="tag" data-editable-mode="simple">tag: </span>
   </div>
diff --git a/js/ZeroBlog.coffee b/js/ZeroBlog.coffee
index 6e67691..390b3cc 100644
--- a/js/ZeroBlog.coffee
+++ b/js/ZeroBlog.coffee
@@ -81,6 +81,15 @@ class ZeroBlog extends ZeroFrame
       LEFT JOIN keyvalue ON
       (keyvalue.json_id = json_content.json_id AND key = 'cert_user_id')
       LEFT JOIN post ON (comment.post_id = post.post_id)")
+
+    @follow.addFeed("Changes", "
+      SELECT
+       'changes' AS type,
+       date_modified AS date_added,
+       title AS title,
+       body AS body,
+       '?Post:' || post_id AS url
+      FROM post", true)
     @follow.init()


@@ -470,7 +479,9 @@ class ZeroBlog extends ZeroFrame
     query = """
       SELECT COUNT(*) as post_id,
         NULL as title,NULL as body,NULL as date_published,
-        NULL as json_id, NULL as comments,NULL as votes
+        NULL as date_modified,NULL as json_id, NULL as comments,
+        NULL as votes
+        
       FROM post
       UNION ALL
       SELECT * FROM (
@@ -645,6 +656,14 @@ class ZeroBlog extends ZeroFrame
     $(".details .published", elem).html(date_published)
         .data("content", post.date_published)

+    if post.date_modified
+      date_modified = "last modified: " + Time.since(post.date_modified)
+      $(".details .modified", elem).html(date_modified)
+    else
+      $(".details .modified", elem).html("last modified: " +
+        Time.since(post.date_published))
+
+   

     $(".details .tag",elem).append(tagToHtml(tag))

@@ -766,6 +785,7 @@ class ZeroBlog extends ZeroFrame
         #so must exclude tag property changes.
         if changeKey != "tag"
           post = (post for post in data.post when post.post_id == id)[0]
+          post.date_modified= new Date().getTime()/1000

           if elem.data("editable-mode") == "timestamp" # Time parse to timestamp
             content = Time.timestamp(content)
点我阅读全文

ZeroNet发展规划

on Apr 30, 2016 ·
15 comments
最后修改: on May 24, 2016
标签: 尚未分类

写给那些看到ZeroNet优势,希望ZeroNet发展壮大但又不知如何下手的人。

来ZeroNet看到的第一个博客可能是NextBlog,内容大意是:ZeroNet还未找到自己的流量发展方向。实际上现在任何传统互联网之外的"网络",都不会在世界上引发大规模的替代行为,你想想老外想扯淡看黄图可以上twitter,看视频可以上youtube,netflex,需求已经得到满足的他们为什么非要去用一个不受审查和监管的ZeroNet?只有那些非法买卖毒品枪支什么的才去Tor暗网。所以ZeroNet这些玩意在国外注定是小众玩具而不会是大众需求。

但任何一个坚定在ZeroNet里混的人都应该理解这玩意唯独对中国人有特殊的意义。

问题在于,如何让那些已经满足于墙内互联网的人,认识到ZeroNet能做到但是墙内互联网做不到的事情。人是由目的驱动的,不是说你能理解ZeroNet的意义,别人就会跟着你用。你必须站在一个满足于传统互联网的人的角度去看待ZeroNet,去思考究竟什么才能吸引你。

想象一下,作为一个天天刷微博看朋友圈上知乎的人,有什么才是ZeroNet中独有的?说来无非是两类:不受审查的自由讨论,和不受监管的内容分享。但是对于一个长时间在墙内的人来说,也许根本体会不到不受审查的自由讨论的意义,甚至即使有这样的环境,他们也未必就会因此去尝试ZeroNet。所以不受监管的内容分享,是吸引普通人来ZeroNet的最大特点。

根据ZeroNet代理bit.no.com 2016-5-9的显示数据,节点第一多的是种子分享站play,说明即使是老外,也对盗版电影最感兴趣,中文网方面,GFWTalk以1141个节点雄踞榜首,接下来节点最多的分别是ShadowsocksR网,GanXingQu网,东先生的ZeroBlog网,BDSM小说,jav库,浮生网志,编程随想的博客镜像。除去论坛类型的网站之外,两个黄网的节点数竟然比编程随想的博客镜像的还要多,虽然不排除很多人已经看过编程随想博客这一情况,但也说明即使在ZeroNet这样一个仍然很不完善的环境中,上网的宅男中仍然有很大一部分人就是想去看色情内容。接下来的排名是,中文聊天室,杨深锐的博客,零网教学wiki,各种福利blog,绅士本子网和推女郎。最能说明问题就是推女郎网,这一网站建立才有几天,但是凭借几张美女裸图,节点数马上超越了很多个人博客。

个人页面吸引人数能超过黄网的,只有ShadowsocksR网和东先生的ZeroBlog网。衷心欢迎那些看不上用黄网来吸引用户的人,能建出ShadowsocksR和东先生一样节点众多的网站。如果你们建不出来,那对不起,我要专门写一篇博文来嘲笑你们的无能

除去色情内容外,ZeroNet还能做什么来吸引用户:

MUD站:ZeroNet目前的问题之一是人气不够集中,很难有强烈吸引人参与交流的内容,实时性不高,但是可以满足文字(甚至是全图形化)MUD站的需求。只要把用户的评论当作输入指令,在Blog中用javascript实现一个简单的MUD是完全可以的(并不是生成一个实时的游戏,而是生成一长段类似于武侠小说般的文字)。每个人同步网站后,游戏状态都要根据全部评论重新生成,在未来可能成为瓶颈,可以考虑按Blog切分,一篇Blog的评论达到上限时,由网站发布者将当前章节的最终状态保存,作为下一篇的起始状态,即可解决此问题

视频直播网: 不论是色情内容还是最新电影,视频直播都绝对是吸引用户的重要手段,但限于ZeroNet大文件支持的不完善,并不适合直接发布视频本身。剩下的选择就是ipfs或者webtorrent。我个人并不太看好ipfs,主要是还要捆绑ipfs的程序,如果不捆绑,则要依赖gateway。假如ipfs的js客户端足够完善,那么可以考虑使用。webtorrent的尝试实际上在ZeroNet里面已经有了fastcast,尽管有些小问题,但已经达到了实用状态。完全可以作为研究的方向。

热点同步网:利用爬虫实时将新闻,八卦,微博,推特热点信息同步至ZeroNet。Telegram开放了机器人API,可以使用机器人API将telegram和ZeroNet连接起来

翻墙代理:ZeroNet本身并不是为翻墙而设计,但是完全可以设计一个自动应答网站,自动将用户评论中的网址内容当作ZeroNet的内容发布出来,成为一个翻墙网站。

点我阅读全文

友站链接

on Apr 29, 2016 ·
1 comment
最后修改: on Apr 29, 2016
标签: 尚未分类
点我阅读全文

Markdown中插入任意javascript的测试页面

on Apr 29, 2016 · less than 1 min read ·
14 comments
最后修改: on Apr 29, 2016
标签: 尚未分类

本文用于测试,仅在打开此完整页面后才会执行markdown中嵌入的javascript脚本并跳出对话框 。测试chrome,firefox,IE10,edge, tor browser 5.5.5可用。如果未跳出内容,请检查浏览器是否开启包含广告过滤功能

点我阅读全文
Add new post

Title

21 hours ago · 2 min read ·
3 comments
1 hours ago
标签:
Body
点我阅读全文

Title

21 hours ago · 2 min read 1 hours ago
标签:

0 Comments:

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