Skip to content

Instantly share code, notes, and snippets.

@jacobjiangwei
Last active August 26, 2023 04:01
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jacobjiangwei/591d46388f60823938f2 to your computer and use it in GitHub Desktop.
Save jacobjiangwei/591d46388f60823938f2 to your computer and use it in GitHub Desktop.
OpenP2P
OpenP2P产品半路夭折之思考 经过痛苦的挣扎,还是选择不上架这个APP。
理由如下,这是一个从技术向产品的逆向产品,没有用户需求,我凭空创造需求,拿着这个技术,指望能够产生创新性、革命性的产品。事实上,失败了。虽然说乔布斯创造了触摸屏的需求,但是他实际的解决了人机沟通的问题。本质上还是有需求的。我这个匿名BBS,只是解决了吐槽、匿名、负能量、反政府组织的需求,实际上真正用户又有多少呢?用户又关心你什么无服务器么?
所以,屌丝程序猿的思维还是离社会有差距,我还得不断努力的挣扎,调整思维方式,不能拿着锤子,去找钉子的应用场景。找不到就死了。
尽管如此,技术上倒是学习了不少,CORE DATA用得很熟练了吧,网络通信也很溜了,写代码规范程度更好了,自动化脚本也搞起来了。总的来说,还是学习了不少,总结了不少教训。期待以后有机会再次爆发。
Open P2P开源库介绍 Open P2P Library
https://github.com/organizations/OpenP2P
这是我近期正在开发的其中一个开源项目,思考这个项目很久了,应该有数年,经过时代的发展、技术的发展,想法渐渐越来越成熟,近期的一些技术突破也让我有了冲动可以彻底完成这个项目。
先说说时代的背景吧。 我是从02年开始接触互联网的,腾讯、迅雷、WINAMP,雅虎,猫扑,西祠等等,并且跟随着时代发展从互联网时代发展到移动互联网,并且从业于移动互联网7年。从一个傻乎乎的愤青发展到理性思考青年的地步。 那时候的互联网还处于满足人类基本需求,野蛮粗放式爆发增长,有下载的,有听歌的,看论坛的,有盗版游戏的,基本电脑就意味着娱乐,与工作没任何关系。 渐渐的互联网开始举报贪污腐败,匿名的好处是不言而喻的,但是网络暴力的劣势也体现出来。渐渐的开始有实名制,开始有人专门删帖,网络渐渐的跟真实社会一样,有购物,吃饭点评,有各种各种业务来往,再过渡到移动互联网。
我特别关心过的一个软件便是,迅雷。他的P2P的下载方式,简直速度快到爆。继而深入了解后,我知道是bitcommet第一个把这类软件做出名的,也有emule电驴网络,而这一切的一切,都是基于DHT网络的几个变种版本。为此工作后学会了QT编码,第一次通过QT版的Torrent客户端,看懂了大概原理。 简单的来说,便是把共享的文件制作成种子,包含文件信息HASH值,源服务器公网IP,发布几十K的种子到论坛。其他人通过打开种子,连接公网源服务器,源服务器把所有曾经下载过此文件的客户端地址列表告诉你,让你优先从这些已经下载过的人里面分段下载。 但是找到那些躲在层层路由器后面的客户端谈何容易?要NAT穿透,要服务器帮忙打洞,对方还必须得在线。第一版设计,还发生过泛洪风暴的危险,给网络负载带来极大的压力。 后来的几个版本,Kademlia协议由美国一个大学教授提出来,可以快速的找到彼此客户端,并且类似真实距离接近,会自动优先寻找身边的较近的客户端,网络负载大大降低。 再后来的EMULE甚至不需要公网任何服务器,就能通过算法匹配搜索文件,直接下载。 这是多么伟大的一个P2P网络,多么的接近真实社会里借DVD观看,不受任何组织控制,就能免费的享受共享的喜悦。
说了一大堆废话,可以切入正题了。我在想,如果这个共享的文件,是一个本地数据库文件,里面记录了各种论坛的帖子,那岂不是我不需要服务器也能开一个猫扑、天涯??多好的降低成本方式啊,而且不受任何管理监管,就算我想管,我也管不了呀! 这不,研究了半天QT的TORRENT客户端,居然无从下手,不知道怎么改又能保持HASH值一样,又能增加数据内容,还有同步的问题。一大堆问题咧!于是作罢,想法默默留在心中。
这一晃,就是5年,互联网时代过去了,我刚刚工作渐入佳境,错过了像张朝阳、丁磊这批人暴富的机会。没关系,这波机会没逮住,还有下一波移动互联网。 移动互联网也就是App store刚开始搞的时候,我没有选择创业。因为我知道,势单力薄,逮住机会发财了,最终还会像PC时代的些软件,诸如“千千静听”“驱动鲁大师”等等,因为没有形成完整的产业链和商业配套模式,最终被商业巨头大公司收买,或者销声匿迹。事实的确这样,APP STORE已经有几十万的APP,大伙儿玩的90%都是大公司作品,个人想扳倒公司?恐怕不现实,尤其是国内的近乎于零的知识版权保护环境。
随着对移动产品的理解,产品设计也渐渐实践起来。那个隐藏心头的P2P论坛也浮出脑海。 实际讨论出来这个产品思路,也是在一次茶吧聊天中讨论出来。几个程序猿拿着格瓦斯、冰淇淋、可乐,聊着怎么做一个好东西产品发财。我们都渴望一夜暴富好久了! 我们产品设计原型是,手机APP局域网发帖子,bonjour服务找到其他手机,共享一下,手机带回家继续分享给其他人,实现信息的交换,流通,继而实现完全不受政府控制,不用像新浪微博天天删微博。 一个人说,我可以天天在里面发帖,求约炮,QQ多少。。。 大家都乐了,于是我便实际开始了研究。
用NSNetservice的确无需额外代码就能找到对方,用同样的IP和端口建立本地http服务器,找到对方就通过HTTP互相分享信息。存储信息用CoreData,帖子可以按照指定的格式包装,导出或导入。为了防止帖子重复、发出来再转回来,帖子加入了唯一ID和时间,可以像微博一样按照时间排序。评论可以像新浪微博转发一样,删掉之前的信息,替换为新的转发带评论的信息。
很兴奋,说做就做,不到一周,就调试好了,实现了2个手机在局域网下帖子会自动分享,自动查看。手机带回家,又能跟其他局域网下分享。
一周后,我被无数人浇了冷水。我也知道,APP起始阶段就是最重要的,怎样保证第一次打开手机APP的时候就有人陪他玩这个分享信息呢? 微博、QZONE邀请?现在早没人兴这个了。 我想到了Game Center的P2P功能,可以实现16人同时在线分享信息,可是邮件跟苹果客服确认后,他们确认非游戏APP不能使用此服务。这也否定了通过苹果免费的多人对战游戏服务把信息流通打通,本来我指望通过这个功能,只要有2个人在玩这个APP就能跑通。 几个设计师,把我的想法说得一文不值,他们问我,这个APP提供什么内容?发动言论?这并不是我的初衷。那与微博有什么差异化?怎么保证用户安装5分钟后不删除?我心中有个答案,那就是这是个自由的工具。可是却不知道如何回答这个问题。
后来突然想,如果这个可以与服务器请求信息,而这个服务器就是所有连接的客户端的信息汇总,岂不是类似DHT初期版本实现了超级节点–小节点的模式? 如果把服务器协议作为一个开源的协议,就像FTP可以添加站点,把协议开放出去,岂不是跟VPN一样,谁都可以搭建,让管理成本超高,最终不了了之。这个想法让我的信念更加坚定!
几经冷静的思考,我还是坚持想做下去。毛泽东选集中说,科学分两种。一种是生产科学,是为了提高生产力的;一种是社会科学,是领导社会的。 生产科学再牛逼,也不过是为了提高生活质量的。社会科学,则是真正领导社会人民,指引前进路线的。 那么我们这么多APP,有几个是真正的社会科学方面的APP呢?
那么APP可以在社会科学上帮助我们做些什么呢? 自由。通过APP,可以任何说你想说的话,匿名分享出去。大家可以追加评论,继续扩散出去,可以通过摇一摇面对面分享,可以在WIFI局域网中自动共享交换更新信息,也可以通过中央节点服务器列表中选择几个自动更新。为了防止垃圾信息泛滥,最后一次回帖的时间如果超过了5天,也就是一周都没人搭理这条信息,那信息会自动删除。 那我们为什么需要这样的自由?我们在微博发帖不一样是自由的吗?有什么区别呢? 微博是监管下的自由,说白了,你只能在“可选范围”内自由。超越了这个话题范畴,就会被删帖,警察上门了。微博发的帖子,只会被关注你的人关注,如果没人关注你,你只能求关注。如果你是黑煤矿的矿工,你又有几个粉丝呢?你发帖@一下官媒,他们会理会你吗?你控诉有人理会你吗?很可惜,被关注的都是极少数幸运的部分,其他的被“选择性”看不到了。
平等。因为你的一句话跟任何名人的一句话,都实现了等值,都是匿名,没有“关注”“粉丝”的概念,让您的一句话,传播不存在任何障碍。只要信息在流通,你跟任何人的一句话被看到的几率是均等的。传播的远近,完全在乎这个内容的有价值与否。 现在美国的twitter/facebook,实现了真正的平等了吗?你发言一句话,可以跟大V号,达到同样的分量吗?显然不是。至少这个APP,让一人一句话都是等价值的,不因为你的身份而产生差别。不会因为你是奥巴马,你就一言九鼎。而我们的现状是,每天看各种大V,所谓的公知的狗屁言论,左派右派的城头戏。这个APP要营造的感觉是,每个人都很重要,一个都不能少,everybody matters! 当然了,一人一句话,不适合打仗,不适合用来投票,但是适合用来发出你的声音,让其他人知道真正普通大众的声音,而不是让我们的声音被代表,被强奸。在这一点上,虽然国内做得不怎么样,美国同样做得很糟糕。每个人都被利益集团绑架,听着不想听的,看着不想看的。
自由之不存, 民主之焉附。这是在《民主的细节》一书中看到的,诚然民主不是少数服从多数,不是一人一票,但至少有了自由,就有各种“扒粪者”记者,开始去调查,举报,在安全的环境下去举报,就能让社会的正义打败邪恶,而不是要求每个内心存“邪恶”的人保持清廉。用制度去管理,而不是用人去管理。 我说的这个制度,仅仅是讨论自由、平等的制度,这些与社会主义制度并不冲突,实际上可以融合的非常好。只有一个共产党可以选择,与只有一批资产阶级党可以选,其实都是半斤八两,都没啥区别,无非就是剥削程度。 但是保证了自由、平等,就可以确保这些党的权力都在阳光下被关进笼子里。其实我们可以这样想,党以一种开放、虚心的心态,面对种种质疑,用实际行动做事,并且接受各种有益的指正,往往是有益无害的。
说回现实,在互联网、移动互联网时代,无一例外的都是C/S,B/S架构,千变万变不离其宗。那就是Server服务器,怎么看是呈现形式,怎么管理就是Server的事情。 那么任何一个管理层,都会抓住Server就能抓住了一切。 这一切在P2P下载上,政府显得软弱不堪。是的,没有任何技术能抓一片的客户端呀,这得上千万的人在用呢!敢断网吗?断网了我也不怕,只要有局域网,我的信息就能传播!何况法不责众!就算美国所谓的海盗湾被判刑,也只是第一个上传视频的主人,还得官司打个几十年,实际上多少人已经享受到了便利了。而且海盗湾还涉及盗版的侵权的问题,而这个问题在论坛上不存在。
是的,这就是Open P2P Library,提供了平等、自由交流信息、分享信息的开源库。 它可以发帖、回帖(你可以叫发微博、发话题等等),会自动寻找局域网支持此协议的其他客户端,自动交换信息。 它支持通过服务器中转信息,欢迎按照协议开发第三方超级节点。 它可以集成进任何APP,甚至PC也可以按照协议集成进电脑客户端。 最基础的协议,包含了数据库的设计原则和信息交换的网络协议。
至于上层展现,正在开发中,但是呈现方式多种多样,欢迎第三方定制。
Open P2P中自由度的思考 埃及的困局,摆在眼前; 党媒说,这是民主不适应综合征。人家几百年的民主经验,生搬硬套不适应。
我思考了一下Open P2P带来的自由化言论的利弊。 当一群人发现这个什么话都能说,而且管不住,那他们会说什么呢?反政府?煽动性言论?约炮?变成一个阵营的工具?发泄工具?短时间很有可能发生。 不得不承认,党媒体说的没错,一个国民的知识水平、思维健全度的确很重要,否则在国内强推这个工具,就会带来混乱,带来”民主不适应综合征“,而军队干预则是最直接的结果,就像当年64风波一样。 试想,一个20多岁初入社会的愤青,他拿到了这个工具,他会做什么?看到煽动性言论,如果他没有辨别能力,他会不会堕落?
但是我又回想起当年看猫扑,很多揭露政府贪污腐败,潜规则,利用权势泡女人的社会的黑暗的一面。看多了,厌世,愤恨社会。曾经很长一段时间,一直看猫扑,学他们骂人;但是,真理往往在辩论中慢慢澄清,理解透彻。再好的诡辩术,也经不起人民的反复推敲。 诸如方舟子,骂人家不对,人家拿出证据自己清白,一环套一环,层层推进,直至事情真相大白,水落石出。刚开始很容易听一方之词,渐渐的学会自己辨别真相的本领。 我说这些的意思是,我也没有因为看低俗、反动言论就成为,相反,领略过黑夜的黑,才更加懂得珍惜白天的光明。 这些跟《民主的细节》说美国电视段子类似,说有个低俗电视节目,虽然很烂,体现了”资产阶级生活腐败堕落“,收视率也非常高,但是看烂节目的人也不是天天看烂节目,这些也没妨碍他们的审美,他们依然可以高雅,懂得美。 你可以说在资本主义社会,人民堕落得如何如何,或者说,人民再堕落也不过如此,人间还是有真善美为主导方向。
尽管说了这么多,但是我依然觉得必须有所行动,不能让所有人一下子就能接触到这么多生猛的信息!
App Store的23+岁以上人才能使用这个APP,或许是第一道防线。 信息内容提供分类,提供像三国杀一样的等级概念,阅读/评论达到一定阶段才能发言,重复评论发言频率有控制。 要有纯反动、叛国、反人类等等内置垃圾过滤。但是要智能,不能简单的词语过滤。 还有很多需要慢慢做。
//追加 最近微博好多名人给抓起来了,连带着一些说“真相”的人。 典型的属于秦火火,胡说八道,诋毁我国各种人物、事情。利用的手法也很简单,就是利用群众对政府的不信任。 关于这一点,堵住秦火火的嘴,固然有效。然而疏导群众对政府的不信任则更有必要。扪心自问,到底是什么让人民不信任政府?是心理学?群体性效应?到处都有敌对分子散播谣言?这是政府值得思考的问题。 堵秦火火的嘴,依然要严格执法。至少他不是每句话都是谣言吧,又如“作业本”,这些人除了“反政府”违法言论该依法定罪处罚外,其他部分更应该批评、教育、引导,远不是直接一封了事,恐怕指不定还引起逆反心理,更加让一个个刁民更加刁钻。 这让我内心很矛盾,这个无限自由的工具能给人带来什么呢?会不会是灾难? 我说个一直以来内心的想法,那就是政府越来越信不过普通群众,以为不管住,群众就会兴风作浪,殊不知群众有了浪的高点,也有浪的低点,综合来看,越是信任群众,群众越是不容易做出格的事情。 这一点就如同夫妻一样,越是怀疑对方行为,越是内心恐慌,因为知道自己对另一半不够真爱,配不上他,于是拼了命的诋毁、不信任他。 这也是民主、平等的精神,那就是包容心。容得下别人说你不好,你才有权利去说别人不好。容得下别人做任何不违法的事情,而不是武断的关闭一些维权账号。
昨天看了个IT报导,说媒体UGC的1%定律。1%写高质量内容,其他人附和就可以了,就足够繁荣了。但是大家互动性非常差。 一些6秒视频,带有强烈的主题性、互动性的东西,给我带来了深刻的思考。大家看了6秒视频后,很自然的也想回复他一些内容。 6秒视频,意味着他露脸了,他的真实性就有了证据,敢于视频里发表反动言论的人恐怕不多,也利于留下证据追踪,很容易把话题引导向真实的互动。但是,这也有可能把一切带向黄色内容,譬如露阴癖,暴露狂,视频做爱等等,这又是一个棘手的难碰的问题。 尽管如此,声音、视频的好处是不言而喻的,”邻友“就是语音陌生人聊天,互动性还是非常好的。大伙儿也没用一遇到对方,就开始讲反动、反政府的信息,也不会开门见山聊色情信息,因为对方会轻易挂断电话。 ”挂断电话“,很让我收到启发。如果你觉得很坏的信息,你很讨厌这样的内容,那你如果选择拒绝传播,就切断了P2P信息从这个节点进一步传播的渠道,继而限制了信息的扩散空间,也达到了目的。如果这么限制的话,那么全民都喜爱的信息,往往会得到猖獗的传播,诸如仇日,爱国,民族主义,这也是不太好的趋势。这一点先加上,应该是不错的选择。 我想,期望中的APP生态该是这样,大家讨论自己的生活,诉说着生活中的酸甜苦辣,有一些段子扩散范围很广,有些政治内幕被爆出,有些潜规则得以光明正大的讨论,有种全民记者的感觉,但是这里不应该会有太正式的、博客性质的高品质内容,也不会有些煽动性很强、诱惑性、心灵控制性的信息,这就是平凡的生活状态。
//今天,很多大V被抓,被用一些蹩脚但是正当的理由给抓起来了。 对右派的打击是不言而喻的。但是我更希望国家用一些正当的理由来批评、教育这些人,甚至来一场旷日持久的TV电视辩论也好啊。咱都既往不咎,好好研究一下为什么右派的宪政是错的呢?我想,光明正大的理论,是不怕任何诽谤的,是经得起时间考量的,而不是通过这种方法来做。 当然,我也怀疑,中央的意思是批评教育,结果执行层的思维僵化严重,导致起了反作用。 我们再怀念一下微博曾经的自由时代,我们爱自由的微博,我们享受过一段自由言论的时代,虽然他们骂政府,他们呼唤一些宪政,甚至有些编造谣言,粗俗的段子,但是人民看完了这些,看久了,也觉得疲劳了,最终我们还是喜欢看红色演出,我们喜欢高雅、正义、光明的代表,我们也不过而已,党真的是高估了反动言论。你想想,每次游行的时候,人家还不是搬出来毛泽东的画像么,人家没搬着奥巴马的头像在走路吧? 唉。所以,某种程度上,我坚决了加快开发的步骤,这个工具务必要尽早放出来!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment