-
方舟子揭假:钟南山的历史问题
youtu.be/aqatM0s5b0k -
【重要】10月23日故障通告
美西时间10月23日周五上午,本站合作机房因线路施工,在一部分实例上造成了10秒短暂断电,断电后服务立即恢复,但导致RocksDB数据库文件部分损坏,且无法通过传统方式修复。
目前本站应急处置小组正在进行数据修复工作(有大概一周的数据需要修复)。
在数据修复完成以前,本站将不会显示10月13日至10月23日发表的内容。
在此期间用户可如常使用本站,包括发布和回复内容。修复后的数据将合并至当前数据库中,不会影响用户已经发表的内容。
为此给本站用户带来诸多不便,深表歉意。
公司内部已经大范围检讨,往后数据备份频率会增加至每小时一次,以避免类似事件再次造成服务中断。
本次故障未导致数据泄露。用户的非公开数据(私信、密码等)仍是安全的。
北京市五道口计算机技术有限公司 2020年10月24日
-
按赞排序存在的问题
目前主页是赞-时间综合排序,同时间发表,较高赞的内容会较靠前(回复和主贴取高者)
现在问题已经非常明显,偏立场而缺乏实质内容的post,赞数总是比讨论问题实质的post要高。
这是一个普遍问题:在任何社交网络里,涉黄涉猫涉八卦的关注度,都会比那些具有现实意义的讨论内容的关注度高。按赞数排序,和按照最后回复排序一样,都是比谁声音大。
个人时间线看来是非做不可了。
-
既然品葱注定药丸,为什么还要
因为胜者名留青史。
-
关于本站帖子的浏览数的备忘
作者本人登录状态是刷不出来的
其他无脑刷,比如疯狂F5也是无效的
爬虫刷、脚本刷也是无效的
总之,本站帖子的浏览数约等于被人实际点开的次数
-
code syntax highlight
直接拿
highlight.js来用# python def add(a,b): return a+b// javascript function add(a,b){ return a+b }// c int add(int a, int b){ return a+b; } -
(已废除)《管理细则》已通过并纳入《服务条款》
《管理细则》正文见 t8055。将作为今后日常违规处理依据。
《服务条款》已相应更新。
感谢所有参与《细则》制定及修订工作的网友。
-
上面下达指示,说要做豆瓣海外版
理论依据:https://tech.qq.com/a/20161229/007995.htm 《人民日报海外版:自信国度应该容下无数个豆瓣》
书记跟我说,新华社的意思是现在中国要N个自信,而自信的中国必须有超过一个豆瓣,上面希望你们单位来抓这个工作
我跟书记说,搞一个豆瓣2,技术上是没有问题的,钱怎么办
书记看了我一眼,说,钱你们自己想办法,你们五道口不是办网络社区很有一套嘛,这个工作你们如果不做,就真是辜负了党和国家对你们的栽培。
昨晚刚做了一个todolist
- 复制豆瓣,尤其是豆瓣最近被砍了很多功能
- 拿下豆瓣域名
- 批量引入豆瓣被封号的高质量用户
- 拿下豆瓣备案号
现在只做了一项,难受
-
我亲自教大家做网站(3)
第一节课讲了HTML和CSS,第二节课讲了TCP/IP,本节我们继续讲TCP,以及HTTP。
上课之前先给大家打预防针,这个做网站系列教程注重的是原理,将来不管是做一个网络留言板,还是做一个google/facebook,都能派上用场。
现在网上很多所谓教程,敲几下键盘就搭好一个wordpress/nodebb,虽然快速地实现了目标,但是遇到问题的时候没办法灵活变通。授人以鱼,不如授人以渔;授人以渔,不如授人与海洋生物学。
除此之外你可能会觉得,讲这么多原理性的东西不如直接看教材。其实这点我是同意的,我也希望人手一本《计算机网络》《操作系统原理》,从此人间不再有饥饿和痛苦。
言归正传。如第二课所说,要通过TCP协议通信,一个应用程序首先要“占用”本地操作系统的一个“端口”,然后:
- 如果你要连接别人,就向别人的IP地址和端口,发起一个TCP连接请求
- 如果你要等别人来连接你,就“监听”(等待)其他人向你发起的TCP连接请求
这些功能(发起TCP请求、监听TCP请求)都是由操作系统提供,我们只需要在编写程序的时候,“调用”操作系统的这些功能。至于具体怎么与网卡沟通、怎么按照端口号分发数据包,都是操作系统的工作,不需要我们插手。
Socket(套接字)
我们的应用程序需要与操作系统沟通,告诉操作系统我们需要占用端口、监听TCP连接。那具体怎么沟通呢(有哪些系统功能可以调用、调用参数分别是什么、代码怎么写)?
伯克利在他们自研的BSD操作系统中,提出了一套“沟通方式”,或者叫“API(应用程序编程操作界面,‘如何用C语言告诉操作系统你想干嘛’)”,用来做“TCP/UDP通信”这件事,他们把这种沟通方式称为socket(s),后世一般称为Berkeley Sockets https://en.wikipedia.org/wiki/Berkeley_sockets 或者BSD Sockets。
由于Berkeley Sockets实在太好用(相比其他API而言),它最终成为了行业标准,包括在Windows上也可以用sockets进行TCP/UDP通信。
大实验(期末成绩40%)
下面我就通过一个简单的python程序,演示如何通过编程调用系统的socket API,实现占用、监听TCP端口,并向所有连接者返回HTML网页。
import socket # socket一般译为“套接字”,意思是“通过编程调用操作系统网络通信功能的界面”HOST = '0.0.0.0'
# 全零地址表示“所有IP地址”,意思是我们要监听所有人向我们发来的连接(不论在他看来,我的IP地址是什么) PORT = 80
# 我们要占用本机的80端口with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: # 创建一个socket,类型为IP/TCP
s.bind((HOST, PORT)) <span class="hljs-comment"># 向系统申请占用本机的80端口,占用IP地址范围为“所有IP地址”</span> s.listen() <span class="hljs-comment"># 向系统申请开始监听到达本机80端口的连接</span> print(<span class="hljs-string">'listening on'</span>, HOST, PORT) <span class="hljs-keyword">while</span> <span class="hljs-literal">True</span>: <span class="hljs-comment"># 循环接收到达的每一个连接</span> conn, addr = s.accept() <span class="hljs-comment"># 从系统收到一个连接。系统向我们提供:连接对象(socket)本身,</span> <span class="hljs-comment"># 以及对方的IP地址和端口号</span> print(<span class="hljs-string">'connected from'</span>, addr) <span class="hljs-comment"># 在命令行终端输出“connected from <连接者的IP地址和端口号>”</span> received = <span class="hljs-string">b''</span> <span class="hljs-comment"># 收到的所有字节</span> <span class="hljs-keyword">while</span> <span class="hljs-literal">True</span>: <span class="hljs-comment"># 循环读取对方发来的数据</span> data = conn.recv(<span class="hljs-number">1</span>) <span class="hljs-comment"># 每次读取一个字节</span> <span class="hljs-keyword">if</span> data: <span class="hljs-comment"># 如果读取到字节,就把字节合并到收到的所有字节中</span> received = received + data <span class="hljs-keyword">if</span> received[<span class="hljs-number">-4</span>:]==<span class="hljs-string">b'\r\n\r\n'</span>: <span class="hljs-keyword">break</span> <span class="hljs-comment"># 如果收到的最后四个字节是“回车换行回车换行(表示HTTP请求结束)”,就停止读取</span> print(<span class="hljs-string">'received:'</span>, received.decode(<span class="hljs-string">'utf-8'</span>)) <span class="hljs-comment"># 在终端输出对方发来的数据(以UTF-8解码)</span> response = ( <span class="hljs-string">'HTTP/1.0 200 OK\r\n'</span> <span class="hljs-string">'Content-Type: text/html; charset=utf-8\r\n\r\n'</span> <span class="hljs-string">'<h1>习近平必须下台</h1>'</span>) <span class="hljs-comment"># 我们准备发回给对方的回复</span> print(<span class="hljs-string">'send response:'</span>, response) <span class="hljs-comment"># 终端输出我们的回复</span> conn.sendall(response.encode(<span class="hljs-string">'utf-8'</span>)) <span class="hljs-comment"># 把回复内容以UTF-8编码,发回给请求方</span> conn.close() <span class="hljs-comment"># 关闭连接(让对方知道我们已经发完回复了)</span>FAQ:为什么要用python编程语言
因为python在语法上非常简洁。
补充一些题外话。这几年python热度逐渐增加,有很多人说python适合初学者。我认为初学者可以通过python了解编程的一些基本概念,但是如果真的打算做大事,还是应该老老实实学计算机专业的基础课,尤其是操作系统(C语言),然后再回来使用python,才能真正得心应手。
为了运行上面这个python程序,首先我们把代码保存到一个叫做
a.py的文本文件里面,然后让python读取并运行这个文件。如果你的电脑上没有python,可以去python官网下载安装python3.7版本。安装python之后,请在windows命令行或者mac终端, 以管理员权限 (通常出于安全考虑,1024以下的端口都需要系统权限才可以占用)运行
python a.py。运行命令后,你应该会看到:listening on 0.0.0.0 80表示我们已经占用了本机的80端口(HTTP协议默认端口),监听来自所有IP地址的连接(上节课讲过,一台机器可以拥有超过一个IP地址,比如公网IP和内网IP)。
然后我们打开浏览器,访问
http://127.0.0.1/(这个地址指向本机),会看到一个网页,上面写着:习近平必须下台
这个时候命令行会显示:
connected from ('127.0.0.1', 64663) # 意思就是收到本机64663端口发起的TCP连接 # 收到对方发来的内容如下 received: GET / HTTP/1.1 Host: 127.0.0.1 Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate# 我们给对方的回复如下 send response: HTTP/1.0 200 OK Content-Type: text/html; charset=utf-8
<h1>习近平必须下台</h1>
通过这个实验,我们就知道,浏览器访问一个网站的步骤是:
- 随机挑选一个端口(在这个例子中是64663端口),占用这个端口,然后向对应网站的IP地址(这个例子中是本机127.0.0.1)的80端口,发起一个TCP连接
-
TCP连接建立后,向对方发送
GET / HTTP/1.1...这样一条信息,意思是我要获取路径 / 的内容,我的协议版本是HTTP1.1版,其他附加信息如下…… -
等待对方回复。我们的回复是
HTTP/1.0 200 OK...意思是我的协议版本是HTTP1.0版,状态码200(返回数据),其他附加信息如下,网页内容如下…… - 浏览器收到我们的回复,把HTML内容显示在屏幕上。
要停止这个(无限循环运行的)python程序,需要在命令行/终端,按下键盘的
ctrl+c。在上面的实验过程中,我们占用了80端口,而占用80端口需要系统管理员权限,如果我们占用一个数字比较大的端口(比如56789),就不需要管理员权限。
小实验1
将上面代码中的80修改为56789,然后再运行一次
python a.py。这个时候我们用浏览器就无法访问
http://127.0.0.1/了,但我们可以访问http://127.0.0.1:56789/。这个实验说明,建网站不一定要占用80端口,只不过因为80端口是HTTP默认端口,浏览器在输入网址的时候,可以省略这个端口号不写。如果用其他端口就必须写明端口号。
小实验2
你家不止一台电脑吧?
如果你的电脑的内网IP地址是192.168.1.35,而你妈妈的电脑(或者手机)跟你连接的是同一个WiFi/路由器,那么她就可以通过你的内网IP地址,来访问你的网站。
假设你已经做完了上面的小实验1,现在用你妈妈的电脑(或者手机)的浏览器访问
http://192.168.1.35:56789/,就能看到主席同志的问候了。如果提示不能访问,请把你电脑上的Windows防火墙完全关掉。
至此,我们就成功地在内网架设了一个可以让内网的其他用户访问的、涉嫌煽动颠覆国家政权的网站啦。
HTTP协议
刚才我提了很多次HTTP,但是没有解释HTTP是什么。
浏览器和服务器之间,可以通过TCP连接通信,这个我们刚才实验已经做过了。但是通信总得有个协议,或者叫规范、标准,比如说你发过来的信息必须是什么格式,我发回去的东西是什么格式,大家都按照格式来,不能随便乱发。细心的同学肯定注意到了,我在刚才的python程序里面,就用到了一些这样的格式,比如
HTTP/1.0 200 OK这行字,就是按照HTTP协议规定的格式。如果不按这个格式,浏览器就没办法接收的,不信你可以改几个字再试一下。HTTP协议是一个既简单又复杂的协议,它的简单体现在它是通过英语表达意思,人类可以很容易看懂。它的复杂体现在它规定的功能和实现细节非常丰富(各位可以去翻一下HTTP协议的文档)。
如果一个TCP连接,双方都遵守HTTP协议,我们就称这个连接为HTTP连接。一个网页浏览器,访问一个网站,从旁观者的角度来看,就是浏览器通过无数个HTTP连接,从网站获得了许多资源(比如HTML/CSS/JS/图片/视频),最后把这些资源组合成一个网页,显示到计算机屏幕上。
小实验3
在电脑浏览器(比如Chrome Firefox TorBrowser)里打开2047主页,然后在页面上空白地方,点右键,在菜单中点“检查(Inspect)”,打开开发者面板。
在开发者面板中选择“网络(Network)”选项卡,然后刷新页面,可以看到下面这样的提示:
左下角显示,总共发起了53个request(HTTP请求),其中绝大多数是各位的头像图片,总共通过网络传输了22.9kB的内容。右下角可以看到HTTP的请求和响应的具体内容,跟我们刚才python程序收到的非常相似。
通过这个实验我们知道,办网站的本质,就是通过一个计算机程序,以响应外部HTTP连接的方式,向位于其他IP地址上的计算机返回各种资源。
作为2047站长,我的工作的本质,也就是写一个python程序,接收各位浏览器发过来的HTTP连接,并返回相应的资源。
前三节课小结
IP协议解决的是,一个网络里面,计算机之间怎样才能互相发数据且互不干扰。
TCP协议是建立在IP协议之上的,它解决的是,如果一台计算机有很多应用程序、需要发出很多网络连接,怎样让这些连接之间互不干扰。
HTTP协议是建立在TCP协议之上的,它解决的是,如果计算机上的程序,想要通过TCP连接获取另一台计算机上的资源(比如网页和图片之类的),应该遵守怎样的一个通信格式,以确保全世界的浏览器、服务器都能互相兼容。同一个网站之所以能用不同的浏览器打开,正是因为所有浏览器都(某种程度上)遵守HTTP协议。
HTML是一种用来描述网页的语言,CSS是用来辅助排版上色的语言,它们解决的是,一个网页在用户屏幕上究竟要显示成什么样子的问题。它们也有相应的标准,这就是为什么不同的浏览器,显示同一个网页,会有相同(或者近似相同)的效果。
python是一种编程语言,它跟C语言(以及绝大多数编程语言)一样,可以通过代码调用操作系统的功能(API);这些API里面就包括了socket,我们用socket可以告诉操作系统我们想要占用端口、发起或监听TCP连接。
下一节课我会介绍建设HTTP服务器最常见的方案(不是python也不是C,而是Apache/Nginx),以及如何解决内网地址无法从公网访问的问题。
-
我亲自教大家做网站(2)
在第一课中,我向大家介绍了HTML和CSS两种语言,教大家做自己的第一个网页。
今天我要介绍的是,怎样让别人通过网络,查看/浏览你做好的网页。
假设我现在有一个网页
a.html,内容如下:<h1>习近平必须下台</h1>这个网页我自己可以用浏览器打开,但是我最终的目的是让全世界网民都能看到这个网页。要实现这个目标,有几个概念是必须要了解的。下面我就跟大家讲讲这几个一般人容易搞混的概念。
IP地址
网络上的每个设备,都必须有一个地址,包括你的电脑和手机也是这样,如果没有地址的话,就没有办法互相发送数据,就好比如果你家没有地址,别人就没办法把快递寄到你家。在计算机世界,这个地址叫IP地址,它是一个32位的二进制整数。
32位的二进制整数看上去像这样:
01010101110100010110...这个地址难读难记,所以一般我们把这个地址拆分成4个8位的二进制整数,然后把这4个数都换成10进制来表示,中间用点连接,例如202.112.233.75。至于这个地址为什么要叫IP地址,诸位自己谷歌一下。
你的电脑如果可以上网,它肯定也有一个IP地址(通常是由路由器或者运营商分配的),这个地址在任何操作系统里都是可以看到的,具体怎么看,诸位自己谷歌一下。
你的电脑的IP地址,可能是
192.168.1.35或者10.0.0.4这样的形式。注意,这个地址绝大多数情况下不是国际互联网地址,而是位于某个局域网中的地址。国际互联网地址(俗称“公网IP”),就好比你居住的小区的地址(比如中国北京朝阳区XX路XX号);而局域网地址(俗称“内网IP”),就好比你家在小区里面的楼号和房号。
为什么IP地址要分成“公网”和“内网”两种地址呢?
理论上讲,32位二进制整数,能够表示的整数有42亿个(2^32 = 4294967296),但是这42亿个地址,不可能100%高效利用,这就好比你家的地址有20个汉字,而常用汉字有5000个,理论上20个汉字可以组成5000^20个不同的地址(天文数字),但是实际上是做不到的,因为快递员必须靠前缀(也就是你家地址最开头那几个字,比如“北京市朝阳区”)来决定一封信要送到哪里,而前缀不可能是汉字的随意组合,只能在有限的组合里面选择(全国的省市区是有限的),所以实际上可以使用的前缀数量是非常有限的。同理,你家地址能选择的后缀(也就是地址结尾的那几个字,比如“三巷6号2楼”)也是非常有限的。总之,邮政地址对汉字编码的利用率是低于1%的。
国际互联网,也是靠IP地址的前缀,来决定数据包(packets)的去向的,所以也存在同样的问题。理论上有42亿个地址,实际上能够有效分配到设备的地址,不到1亿。
而地球上联网的计算机数量,早就超过了一亿台。运营商想到的解决办法,就是不给消费者(互联网最底层的用户)的每一台计算机分配公网IP,而是每几百台、几千台、甚至几十万台计算机,分配一个公网IP,这些计算机组成一个内网,它们在内网可以通过内网IP互相连接访问,而当他们需要连接公网(比如使用google、facebook)的时候,再通过某种方式,共用一个公网IP地址。这就是为什么会有公网和内网两种地址。
正因如此,今天我们使用的互联网,是非对称的:你从内网可以访问公网的Google.com(因为Google买下了很多公网IP,没错,作为一种稀缺资源,IP地址是可以花钱买的),但是公网上的其他人,无法访问内网中的你(所以也就无法访问你电脑上的网页)。
但互联网并非一直都是这样。互联网刚刚步入平常百姓家的时候(1995年),不管是中国还是美国,宽带用户联网之后,都可以分配到公网IP,因为那个时候IP并不是稀缺资源。
光阴似箭,如今全世界互联网用户数量增长了几万倍,一个中国人如果想要在家庭宽带获得公网IP(用来开设网站),唯一的选择是中国电信宽带,报装之后打电话去客服申请,理由合理才能分配到公网IP。分配到的IP地址虽然是公网IP,却不是固定的,往往是一天一换或者三天一换。
正因如此,在自己家电脑上建网站,同时又要让世界各地的人能看到,并不是一件简单的事情,且有越来越困难的趋势。
小实验
怎么证明在国际互联网上,通过IP地址可以与另一台计算机通信呢?
其实有一些网站是支持通过IP地址直接访问的,以google为例,你可以先去https://mxtoolbox.com/DnsLookup.aspx,查询
google.com的IP地址,得到结果:- 172.217.15.110
然后在浏览器里面访问http://172.217.15.110/,确实可以打开google。
小实验
国际互联网按照IP地址前缀,决定如何转发一个IP数据包,那么怎样才能知道我的数据包是如何被转发到目的地的(中间经过了几手、分别都是谁)?
- Windows用户请在开始菜单输入cmd回车,打开命令提示符窗口,输入
tracert baidu.com,然后回车。 - OSX用户请打开“终端(Terminal)”应用,输入
traceroute baidu.com,然后回车。
TCP协议
在一个IP网络(使用IP地址,实现数据定向发送和接收的网络)里,一台计算机可以向另一台计算机发送IP数据包。
假如你的电脑同时干两件需要联网的事情,比如说你一边用浏览器下载文件,同时又在用微信聊天,那么你就需要同时跟两台计算机进行IP通信,他们会同时向你发来很多很多的IP数据包。这些数据包被计算机操作系统收到以后,要分发给不同的应用程序,有的数据包要发给浏览器,有的数据包要发给微信客户端。
问题是,怎么确定哪个数据包要发给哪个应用程序?你可能会说,用发送方的IP地址来区分。那万一两个发送方使用的是同一个IP地址(你下载的微信安装包,跟你微信聊天的数据,都来自腾讯的同一个服务器),怎么办?
这个例子就说明,光有IP协议、IP地址是无法满足人们日常的网络使用需求的。于是工程师们决定,在IP协议的基础上,扩展一个新的协议,以使得一台计算机上的多个应用程序,能够同时和多台计算机上的多个应用程序进行连接,不同连接之间互不干扰。
工程师们最终决定,把IP地址延长一点点,在地址的后面,加一个叫“端口号(port number)”的东西,来区分不同的连接。端口号是一个16位的二进制整数,对应十进制的 0..65535。有了端口号以后,每台计算机不再是一个公用的大邮箱、大电报局,而被分成了六万个互相隔离的小邮箱、小电报局,使得同一台计算机上,不同的应用程序能够互不干扰地与远端的计算机通信。
换句话来讲,自从有了端口号,从一台计算机向另一台计算机,可以发起很多很多的网络连接,每一个连接都必须指定起点和终点的端口号,应用程序通过“占用”端口的形式,与远端计算机上的应用程序通信。
这种依赖于端口号的通信方式,或者叫通信协议,应用最广泛的,一个叫TCP,一个叫UDP。你的浏览器、微信客户端、网络游戏……可以说绝大多数联网的计算机程序,用的都是TCP或者UDP协议。TCP/UDP is everywhere.
TCP到底是怎么工作的呢?对于一个应用程序来说,可以像下面这样理解:
-
两台计算机的IP地址分别是
192.168.1.3和192.168.1.4。 -
在
192.168.1.3上,有一个应用程序server.exe,它跟操作系统说:我想占用12345号端口,等待其他计算机向我发起连接。 -
操作系统说:12345端口没有其他人占用,你可以占用了。
-
在
192.168.1.4上,有一个应用程序client.exe,它跟操作系统说:我想占用34567端口,同时向192.168.1.3:12345发起连接。 -
操作系统说:34567端口没有其他人占用,你可以占用了。你想发些什么?
-
client.exe说:我要发i hate xijinping -
操作系统说:好的,我现在就把
i hate xijinping这句话,贴上IP地址和端口号192.168.1.3:12345,发给192.168.1.3 -
在
192.168.1.3上,操作系统跟server.exe说:嘿,收到一个数据包,目标端口号是12345,也就是发给你的,内容是i hate xijinping。
小实验
当网页浏览器访问一个网站的时候,会向这个网站服务器的80端口(HTTP协议默认端口),发起一个TCP连接,告诉对方自己需要什么。我们可以手动模拟这个TCP通信的过程,来获取网页的内容。
-
Windows(7/10): 管理员权限运行CMD,输入
dism /online /Enable-Feature /FeatureName:TelnetClient以启用Telnet功能。Telnet允许我们用键盘输入字符,来和远端计算机进行TCP通信。启用Telnet之后,输入
telnet baidu.com 80,回车。这里我用了baidu.com,你也可以替换成百度的ip地址,效果是一样的。连接baidu.com的80端口成功后,CMD窗口会变成一片黑,此时以最快速度(慢了会因超时而断开),输入:
GET / HTTP/1.0[回车][回车];如果一切顺利,你会收到百度给你的回复,内容如下:
HTTP/1.1 200 OK Server: Apache Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT ETag: "51-47cf7e6ee8400" Accept-Ranges: bytes Content-Length: 81 Cache-Control: max-age=86400 Connection: Close Content-Type: text/html<html> <meta http-equiv="refresh" content="0;url=http://www.baidu.com/"> </html>
在百度返回的内容里面,包含一个HTML文档,文档内容的大意是:所有访问baidu.com的朋友,请跳转到www.baidu.com。
如果你在发起TCP连接的时候,把端口从80改成其他数字,比如85,连接将会失败,说明TCP协议确实是通过端口号来区分同一台计算机上的不同目标的。
如果我们能设计一个程序,像百度那样,“占用”计算机的80端口,“监听”或者叫“等待”来自其他计算机的TCP连接,每收到一个连接,我们就发一次HTML的网页过去,那么在其他计算机看来,我们就在这台计算机上,架设了一个可以用浏览器访问的网站。
具体的架设过程,以及HTTP协议,我下节课再讲。
-
(已废除)2047论坛管理细则(二读)
感谢 中野梓 沉默的广场 Ambulance NodeBE4 爱狗却养猫,以及其他漏了提及的同志,对《细则》起草工作作出的贡献。
经与各方磋商,综合 /t/7851、/t/7922 的意见,现公示《细则》的二读版本。
- 修改了逻辑上存在矛盾的条款
- 进一步精简了措辞
2047论坛管理细则
-
本细则是对《服务条款》的补充。本细则与《服务条款》冲突时,以《服务条款》为准。
-
本细则对管理员、工程师、站长等一切为2047(下称本站)提供服务的工作人员(下统称管理员)在本站站内对用户所创作内容的移动或删除,以及对用户持有账号进行封禁等操作所适用的标准作出了详细的解释。除少数特殊情况之外,管理员将会依照本细则所示的标准处理各类违规行为。
-
“用户”指持有本站账号、使用本站所提供的网络服务的自然人,管理员除外。考虑到本站绝大多数用户为匿名,本站保留根据这些账号的实际使用情况按照单个用户或多个用户区别对待的权利。
-
站长具有解释与修改本细则的权利。
-
本站所有管理员均由站长任命,站长对管理员的管理行为承担最终责任。管理员对本站规章制度作出的解释与站长冲突时,站长具有最终解释权。
-
用户可使用站外渠道,进行组织、联络、包括对本站工作进行监督;用户在站外发表的言论不会被本站视为违规。
-
本站最大限度地保障用户的创作自由。在《服务条款》与本细则未禁止的范围内,用户可以自由地发表、修改、评论、删除自己的作品。对于账户被封禁的用户,本站仍然尊重其著作权,允许其修改、删除自己的作品。
-
用户所持有的账户的用户名、签名、头像等一切可修改内容,均被视为用户的创作和言论的一部分。
-
用户不得在本站:
-
发布针对个人或群体的歧视[1]、诅咒、漠视生命尊严、侮辱或仇恨的言论;
-
对用户或管理员进行辱骂、威胁、挑衅、恐吓和骚扰;
-
捏造并散布虚构事实,诽谤用户或管理员;
-
未经管理员许可,发布带有商业(旨在盈利、促进交易行为)性质的广告或进行性质类似的商业活动;
-
以重复方式或近似方式,大量发布主贴、回帖、或其它可供发布内容,阻碍网站正常向用户提供服务;
-
批量(多于2个且未向本站表明意图)注册账号;
-
披露其他用户隐私,威胁其他用户人身安全。
-
-
用户在本站应极力避免以下行为:
- 言之无物,文不对题,答非所问;
- 贬损用户、管理员或所创作的内容,阴阳怪气地批评讽刺、毫无内涵的情绪宣泄;
- 纯粹为赢得辩论而辩论,包括但不限于使用伪证、偷换概念、诉诸人身等;
- 针对个人或群体发表带有偏见(与事实不符且激发矛盾冲突的)的言论;
- 以及其他在《知乎提问规范》、《在知乎上,什么是不友善内容》、《品葱行为倡议》中列出的不受欢迎行为。
-
删帖规则
-
对于违反9,以及《服务条款》的主帖、问题,管理员将会删除
-
对于违反10,但未触及9以及《服务条款》的主帖、问题,管理员将会移动到水区
-
对于违反9,10,以及《服务条款》的评论、回答,管理员将会删除。楼主认为管理员删除操作不当的,可以自行恢复。
-
楼主可以自行删除任何他不满的评论、回答。
-
-
封禁规则
-
账号违反9 以及《服务条款》将会被管理员直接封禁。
-
账号违反10,对于老用户、活跃用户(管理员具有决定权),管理员将会私信通知。非老用户、活跃用户,或者私信通知后再违规的,将会被封禁。
-
-
申诉规则
-
管理员封号会填写封禁理由,见 /oplog。删帖和移动不需要填写理由,如需查看被删主贴,请去 /c/delete。
-
用户对管理员操作不满,可以向站长私信申诉,亦可以与管理员私下沟通(如果得到管理员的支持,多数时候是可以翻案的),但不得在站内对管理员进行任何形式的公开或私下的指责,违者将会被封禁。
-
用户对本站服务或站长本人不满,应向站长私信反映,站长会根据实际情况决定处理方式。
-
-
管理员援引《服务条款》以本细则未覆盖的理由进行删帖、封禁的,本站将视具体情况(包括用户反馈等)对本细则进行修正补充。
[1] 歧视行为定义:针对人们受保护的特征向对方发起的言论攻击,这些特征包括民族、种族、国籍、宗教信仰、性取向、种姓、性别、性别认同,以及严重疾病或残疾。
-
通过率只有50%
把用户智商的后50%筛掉了。
-
祝你阖家自由
小二曾说他想要搞一个真正自由讨论和分享的平台。我在《关于2047论坛》里面也表示过这一点。
但是我当时并没有定义我所指的自由究竟是什么。
自由通常被理解为【不受限制地做一个人想做的事情】。可是每个人想做的事情不一样。所以每个人对自由的定义也不一样。我的自由可能是你的监狱,你的自由可能是我的灾难。
照这样讲,两个热爱自由的人碰到一起,有很大概率会打起来。但是如果你问他们,你追求的自由是跟别人打起来吗?他们又说不是。
就像两个不同教派的信徒一样,同样是神的追随者,互相却无法兼容。
一个小故事
2000年的中国互联网:
- 6kB/s
- 你登入一个匿名聊天室。
- 你跟一个陌生人聊了两个小时。
- 你们交换了电话号码,成为了朋友。
- 你很开心。
- 你认为你是一个自由人。
2010年的中国互联网:
- 128kB/s
- 你登入你的人人/博客/微博/空间账号。
- 你来来回回逛了两个月。
- 认识了一些人,虽然大部分都是普通人。
- 大部分人不会和你交换联系方式,但偶尔还是能认识一些朋友。
- 你一般开心。
- 你感到你的自由正在被蚕食。
2020年的中国互联网:
- 10MB/s
- 你打开微信。抖音。
- 这两个账号你注册很久了。
- 微信上认识的都是本来生活中就认识的人。抖音上的网红,你认识ta,ta不认识你。
- 你不开心。
- 你觉得你并不自由。
于是你打算找回夕日的那种,真正的,自由的,在网上【冲浪】([古英语] surf the web)的感觉。
- 你登入一个匿名聊天室。
- 你跟一个陌生人聊了两秒钟。
- 你发现这是一个错误的决定。
社会达尔文主义
有人在私信里为某个spam account辩护,把我这个站长批判得可谓是渣都不剩,还指控我是“社会达尔文主义者”。
whoa, whoa, whoa. 我马上就搞了一个【管理员关系补充说明】,强调管理员是特权贵族,以后不管谁找管理员的麻烦,一律当场封禁。
最后这个spam account只好去xsden上访。结果还是被豆沙馅看到了,豆沙馅跑回2047,说:我恶心得都要吐了。我要退出键政圈。
看来,xsden还不够【社达】,要多向2047学习。
谜之键政圈
不知道为什么有人说2047是键政论坛。
我仔细读过小二的发言,并没有看到任何说2049是键政论坛的意思。我觉得应该是新品葱的原因,因为很多人认为新品葱是键政论坛,而2047管理团队和新品葱有一点点关系,其次47站长又批判过新品葱,所以2047应该也是键政论坛。
有句谚语说的好:在锤子眼里,一切都是钉子。在键政人眼里,一切涉及政治的讨论都是键政。
不要把自由挂在嘴边
这个世界上存在不爱自由的人吗?能否举一个不爱自由的人的例子?如果没有,说明“热爱自由”的说法是多余的。“热爱自由”的人 = 所有人。
于是自由作为一个形容词也就失去了意义。
如果你的人生目标是追求自由,
那你的人生也就失去了意义。
-
标题栏颜色可以自定义了,还不赶快试一下。
见用户个人设置界面。
注意,这个功能会影响到浏览你帖子的人。
-
九头鸟和贝臭大的区别
九头鸟:你们2047必须撤掉管理员 @electron8964,必须坚决反对包括小二在内的任何品葱余毒,最好把品葱整个端掉
我:你一分钱没有给我,我为什么要帮你做那么多事情
九头鸟:因为那事情是正义的,你不做,你就是不正义,你们网站就是个缺德网站,CNMB,NMSL
我:那你让我做,你自己为什么不做
九头鸟:那我毕竟是一个弱鸡,做不到嘛,你现在是站长,你做得到却不做,你道德水平还没我高呢
贝臭大:你们2047必须分权,要办选举,要办法院,必须给站长准备后事,给网站准备后事
我:你一分钱没有给我,我为什么要帮你做那么多事情
贝臭大:因为那事情是正义的,你不做,你就是不正义,你们网站就是个缺德网站,对不起站长我说话有点带刺,如有冒犯还请见谅
我:那你让我做,你自己为什么不做,代码和数据都是公开的,你可以搞一个备份的2047嘛
贝臭大:那我毕竟是一个弱鸡,做不到嘛,你现在是站长,你做得到却不做,你道德水平还没我高呢,对不起站长我说话有点带刺,如有冒犯还请见谅
-
向用户20202047道歉,你的号被封是测试代码时的误操作
内容已删除内容已被作者本人或管理员删除。 如有疑问,请点击菜单按钮,查看管理日志以了解原因。 -
爱情,法治,民主和人权
爱情故事
一个男孩深爱着一个女孩,女孩觉得男孩的条件不合适,但是又不知道要怎么分手。
有一天,女孩跟男孩说,你为什么每个晚上都出去喝酒啊,我听说晚上出去喝酒的男人,结婚以后会打老婆,我们还是分手吧。
男孩听完,觉得莫名其妙,你现在还没有做我老婆,我也没有打你,为什么你要依据根本没有发生过的事情做决定?
女孩想了一下,觉得男孩说的有道理,于是就跟男孩结婚了。
结婚之后,男人动不动就喝醉酒回家打女人。
法治
「貝臭大會破壞其他用戶的體驗」只是站長的個人推測。在貝臭大沒有真正造成破壞、以至有多個用戶抱怨前,這個推測顯然不能作爲封禁理由。裁定一個用戶是否應該封禁(有罪與否),唯一的參考應該是他的實際行動和實際影響,而不是一個子虛烏有的推測。
我在原帖已经回应了 #101203,在这里用中文做一个补充。
上面这段话,概括起来就是,法律只能裁判已经发生的事情,不能用来裁判尚未发生的事情。也就是法治的问题。
讲到法治,首先我们公司并不是用户的政府(没有税收,没有徭役,没有监狱),站长也不是用户选举的政府首脑,因此我们无法设置法庭(因为法庭是政府的一个分支,靠政府税收维持,而现在既没有政府也没有税收),所以也就没办法开庭审判。有用户建议我们搞法庭,忽略了这些现实因素。
当然如果有人要搞一个虚拟法庭的游戏(像新品葱那样),公司肯定不会反对,但是判决结果无法保证会被公司执行。
总而言之,既然站长不是政府首脑,也不是法官,站长的决定也不是法庭的判决,那么他做决定的时候,就不需要遵守法庭的审判流程和原则。 That's that.
爱情故事2
一个男孩深爱着一个女孩,但是男孩的家人不同意,认为这个女孩出身卑贱,不符合他们对儿媳妇的期望。
男孩说,我爱她,从我看到她的第一眼开始,就决定将来一定要娶她。
父亲说,结婚不是你一个人的事情,会影响到很多人,包括你的小孩,要考虑大家的感受。
母亲说,这事情你要想清楚,万一将来你后悔,我们也帮不了你。
最后,男孩屈服了,娶了一个门当户对的女孩。
新娘问新郎,你明明更爱她,为什么要娶我?是你跟我结婚,又不是你家人跟我结婚,为什么你家人说什么,你就做什么?
民主
说到民主,有人会用新品葱来举例。新品葱的管理员,做操作要写操作理由,这是因为品葱管理员的权限是用户通过互相提升声望授予的,所以他们的管理操作必须对用户负责(把理由写清楚),否则自己就有可能被用户(以及其他敌对管理员)以违规操作为借口搞下去。也就是民主的问题。
表面上看是品葱是民主的,实际上背后站长进行了大量的操作(多次修改声望规则,以确保站长青睐的人能够一直当管理员,以及将自己怀疑的管理员定点清除),所以虽然直到今天品葱依然是“民主”制度,但是大家如果真的认可那种“民主”,就不会来2047了。
问题的本质很简单,既然一切都是站长控制,根本就不可能民主,看似民主的制度反而是最集权、最腐败的。有的用户比较怀念全盛期的新品葱,那根本不是民主制度的结果,而是【总设计师】@NodeBE4 和其他老用户用爱发电的结果。
2047非常不民主。2047的管理员是 (1)2049世袭 (2)站长直接任命,毫无民主可言。但是,不管品葱和膜乎掀起多大的风浪,2047依然能维持理性讨论的小池塘。 That's that.
爱情故事3
一个女孩暗恋着另一个女孩,但是一直不敢表白。
这种百合的恋情,在中国是违法的,会被广电总局罚款。
女孩独自一人来到民政局,对工作人员说:
- 我想和照片里这个人结婚。
- 好,我看一下。嗯。不行,你这种我们办不了。
眼泪从女孩脸颊两侧流了下来。
- 男人女人都是人,为什么男人可以跟女人结婚,我不可以跟女人结婚?
- 诶,结婚也要按照中国的法律啊,对不对?
- 中国的法律有哪一条不准我结婚??说好的恋爱自由呢??我难道不是中国人吗?
- 姑娘,恋爱确实是自由的,但婚姻不是。你看看这里,《婚姻法》第二章第六条。
女孩接过《婚姻法》,只见第六条写着:
第六条 结婚年龄,男不得早于二十二周岁,女不得早于二十周岁。
人权
一个国家的公民享有许多基本权利,这些权利要靠民主和法制去保障。
既然2047不是国家也不是政府,用户当然也就不是公民。既然2047没有民主和法治,也就谈不上什么公民权利。
你可能会说,就算用户不是公民,也是自然人,自然人总得有人权吧。
正确的说法是:用户是自然人,但账户不是。所谓的封禁,是【封禁账户】,而不是【封禁用户】。2047有过几次【一个人连续注册一大堆小号但不说话】的情况,这些批量注册的账户会被批量封禁,完全不会考虑【人权】,更不可能走开庭或投票的流程。
如果搞错了怎么办?那就站长道歉,恢复错误操作。
即便账户被我们封禁了,如果背后的用户改变他的行为方式,重新注册账户,重新参与讨论,我们并不会区别对待他。
但是在新品葱就不一样了,管理员可以说你是【连续小号】,注册几次封禁几次,比如蒹葭苍苍就被这样对待了,那才是真正的【封禁用户】。新品葱有很多人嘲笑我们没有人权,应该被嘲笑的是他们自己。
这次贝臭大被封禁以后,有管理员联系我说贝臭大不是故意的,希望能给他一次机会。现在贝臭大的账号已经复原了。
也可以理解成是,虽然2047没有民主也没有法治,但只要用户证明他值得我们把他当成自然人看待,我们就会把他当成自然人看待。反过来,如果用户的表现得像水军五毛,那么我们就会按照【非人】的标准处理,不会走任何政治/法律程序。
至于创作者权益的保障,在中野梓的帖子里有关于union的论述,已经讲得很清楚了。
-
我,匿名用户
我刚刚建好2047的时候,来了一个匿名用户,这个用户跟我说,站长你必须消灭品葱的所有影响,任何品葱用户都不可以在2047担任管理员,除非他们先注销品葱账号!!!不然我就退出2047!!!
然后我说,为什么一定要排除品葱用户不可啊?品葱用户也有正常人呀。
结果他就跑到其他地方发帖,说2047跟品葱是串通一气,2047的管理员是品葱余毒!你们千万不要去注册2047啊!!!那就是第二个品葱!!!
后来我公开表达对品葱的不满,这时又来了一个匿名用户,他说你做你的2047就行了,你为什么要批评品葱?你除了反品葱你会什么??为反而反的话,跟品葱又有什么区别???
于是我说,我们不搞政治,搞一个考试,这应该比较公平一点。
我们2047确实有一个注册考试,就是一个简单的小测验。但是后来又有匿名用户跑过来骂我们,他说,你们为什么要搞注册考试?你这是学历歧视!!!跟种族歧视有什么区别??虽然我被品葱封号了,但品葱至少不歧视学历,膜乎也不歧视学历,就你们歧视,你们道德水平还不如品葱呢!!!
我说好吧,那我把考试难度调低一点。
我刚调整完,又来了一个匿名用户,进来就说了一句话:呸,这考试也太简单了,来来去去就那几道题,连小学生都会做,站长你这水平不行啊!!!我为你们网站的前途担忧啊!!!!一个键政论坛,人口素质这么低,能讨论出什么玩意??
我说,好吧,如果真的有低素质的人吵架,我会处理的。
结果过了两天,来了一位据说是在日本留学的高素质用户,在2047开了一个帖子骂小二,长篇大论,语言粗俗。
我说,只要他在他自己的帖子下面骂,我们就让他骂个够,言论自由嘛。
然后当天晚上,又来了一个匿名用户,在2047发了一个帖子,“现在2047也被支黑占据了,如此大洪水,我们应该怎么办,要不要再建一个新的网站?”
我发私信给匿名用户,我说,2047没有被支黑占据,你为什么要说大洪水啊?你这不是造谣吗?
匿名用户说:对不起,我们这个账户,是很多人共用的,我也不知道刚才发言的中之人是谁,所以你不能惩罚我,虽然我知道这个行为是违规的
然后我就把匿名用户封号了
第二天,膜乎日报头版头条:“2047站长完全无视言论自由,无理封禁匿名账号”
我出庭作证,我说他在2047传播大洪水的假消息,这在膜乎违不违法我不清楚,但在2047肯定要封号呀,服务条款都写了的。
膜乎网友A:人家都说了不是中之人了,你还封禁人家,请问站长你有脑子吗?
膜乎网友B:看来这个2047也不怎么样,品葱都不会封禁匿名用户,站长滥权实锤
膜乎网友C:服务条款是什么东西,你不要跟我提服务条款,我们膜乎没有服务条款!!!劳资注册从来不看服务条款,你现在居然敢用服务条款来压我,你不就是给自己的滥权找借口吗
膜乎网友D:这个站长太过分了,他把网站当成他自己的吗?网站明明是公家的,是每一个网友共有的,他想封禁就封禁?为什么不事先征求匿名用户的同意??
膜乎网友E:你看看,现在有几个人支持你?说明你的工作方式有问题。你作为站长,不应该亲自去封禁用户,要把这些肮脏的活,交给管理员去干,以后有什么纠纷,就让管理员去承担就行了。
我说,匿名用户就是来troll的,中之人究竟是不是你们膜乎用户,现在都搞不清楚,我封了他,对你们膜乎造成了什么实际损失吗?你们为什么突然都这么激动呀??
膜乎网友F:这个事情的教训是深刻的,你作为站长,对网站拥有完全的控制,这样是不行的,必须通过立法,分权给我们膜乎用户,不然你就是独裁专制,而任何独裁专制的论坛,都是活不长的,品葱就是最好的例子。
我说,那品葱站长之前从你们膜乎分了一部分管理权,你们为什么要反对啊?
膜乎网友G:品葱站长是姨粉,是支黑,我们绝对不允许品葱干预膜乎内政!!!!但是2047不一样,2047不是姨粉,不是支黑,完全可以分一份给我们膜乎用户,这样才是比较民主的。
我说,那你总得有所贡献,我才能给你权利吧,在膜乎不也是要有贡献才可以当管理员的吗?
膜乎网友H:你懂不懂美国宪法?人人生而平等,凭什么你就可以做站长,我们就要被你管理?
膜乎网友J:2047站长说他支持姨学,要复兴姨学,恶心死了,恶心!!!!
膜乎网友I:你看这傻逼站长,蠢死了,居然跟喷子对话,换了是我,我才不理这些人。就一自由婊,跟小二一样傻。
-
对膜乎用户的一些疑问的答复
-
品葱一些人跟我们有仇,但是他们不方便以他们自己的名义来复仇,就顶着所谓的“匿名用户”账号,找各种各样的理由来碰瓷。
他们顶着“匿名用户”去膜乎煽动舆论,说2047站长“侵犯用户隐私”、“滥权封号”。问题是,如果连匿名用户说的话、发的截图都要采纳的话,如果有一堆匿名用户突然蹦出来指责站长卖淫嫖娼怎么办?难道站长每次都要声明“我不是”、“我没有”?提供当天的不在妓院证明?论证自己其实是Gay?
这种匿名用户提出的投诉,我没有义务答复。我刚才在膜乎一个质疑帖子下面答复,答复完瞬间就 -3,说明这些人是蹲在电脑前随时准备踩我的,他们的投诉不是为了获取真相,也不是要跟我沟通,纯粹是为了在形象上给我泼脏水。
像这种干啥啥不行、骂人第一名的捣乱分子,膜乎要怎么处理,是大哥的事情,在2047我们是绝对不会为这种用户提供任何活动空间的。
-
最近有两个“普通”用户被我站封号
首先封号是非常常见的操作,捣乱的人任何论坛都有的,封号是我的工作职责之一。在2047正常发帖交流的用户,我们是充分保障他的权益的,包括我们给每个用户都提供删帖控评的工具,这是我们首创的。
现在2047有这么多用户,包括从膜乎来的,从品葱来的,他们都没有被封号,他们给我提的很多建议,我都是亲自公开回复的,他们对我的批评,我也没有删帖,这个你们都是可以看到的。我也不知道怎么就“滥权”了。
但是有的用户他不这么想,比如他在别人的帖子下面到处吐痰,但他自己觉得这样没什么问题,我是论坛的用户,我凭什么不能吐痰?凭什么不能到处吐痰?凭什么不能往别人楼下吐痰?
然后我封他号,他就说,你这是滥权,侵占公共空间,侵犯言论自由,你这人简直无耻至极,你跟品葱有什么区别!!
但是一遇到支黑呢,同样是这些人,他就会说,为什么站长和管理员不快点把这些人封号?你不封支黑,我就退膜!我真的退了啊!真的!!绝对不会以匿名用户的形式回来恶心大家!!!
本来这些事情我是没有必要答复的,但是围观群众总有洁癖,总要盘根问底,那我也明说吧,如果你自己开一个网站,你也会封掉这些用户。
现在既然膜乎不打算封他们,就让他们在膜乎闹好了。
-
-
新功能上线:维尼查
内容已删除内容已被作者本人或管理员删除。 如有疑问,请点击菜单按钮,查看管理日志以了解原因。 -
绿帽可以选择屏蔽了
在用户页面可以选择是否屏蔽绿帽,默认不屏蔽。
-
本站启用新域名pincong.org
内容已删除内容已被作者本人或管理员删除。 如有疑问,请点击菜单按钮,查看管理日志以了解原因。 -
搜索功能上线;允许隐藏界面中的头像;绿帽功能撤销
在个人设置界面,可以选择隐藏所有头像,这样主页就会变成清爽的旧品葱风格。
edit:由于过于凌乱,取消了绿帽功能。
-
本站对刘仲敬学说的立场
刘仲敬学说包含很多方面,其中涉及中国的部分,核心思想是:远东秩序由外部输入,忽略外部秩序的输入谈远东历史,如中国的历史教科书那样,会让人看不清历史现象的本质,失去对历史规律的把握。
刘仲敬作出的最重要的论断是:像“诸夏”各国这样的民族国家构建,能够在远东必将面临的末日审判到来前,保护并传承各民族的血缘与文化,使各族人民免受“张献忠”、“大洪水”等人祸。
站在这样的立场上,刘仲敬本人将持有中国主义立场的政府、政党以及官员、党员均称为“恐怖分子”,即秩序的破坏者。刘在其读者圈子中普及了大量用于以德性(创造秩序)水平区分不同人群的词汇,如“费拉”、“土豪”、“匪谍”、“德匹下”等。刘对中国各地如港台藏蒙疆等的独立的理论及现实基础也有大量著述。
因此,使用汉字的分离主义分子经常引用刘仲敬的学说,甚至将刘的学说用于言语攻击他人,这一类人通常被称为“姨粉”、“支黑”。中国大陆官方一般不使用这些名称,而是以这些人所实际声索的领土称呼,如“台独”、“疆独”。
本站官方对刘仲敬学说保持中立,不会限制对刘仲敬学说的讨论。但是本站不允许用户言语攻击他人,不管以什么学说为理由攻击他人都是违反《服务条款》的,是要封号的。
-
请教一下,“反贼”究竟是什么意思?
其实我一直不是很理解,经常看到很多人自称反贼,这个反贼精确来讲是什么意思?因为我个人从来没有用过这个称呼,所以感兴趣想请教一下。
百度给出的解释是“造反的人”,放在现在来看,就是反共人士的代称,不知道我理解的对不对。那如果不反共是不是不能称反贼?反华算不算反贼?而且为什么要对自己用蔑称“贼”呢?
反贼一般是什么出身、什么家庭背景?自称反贼能带来什么优势?这都是我不太理解的。
-
品葱站长和正则表达式的一则小故事
论坛程序包含大量的文字处理,说到文字处理就少不了正则表达式。不了解正则表达式的朋友可以谷歌一下。
品葱站长的正则表达式水平,是不稳定的(这个是rebecca告诉我的,当时rebecca说品葱站长的正则表达式水平太差,品葱站长说“那你来写一个”)。
上半年用过品葱的人可能有印象,就是品葱的 @用户名 功能是很BUG的,放在行首有时可以,有时又不行,一行多于一个有时又不行,有些人能@到有些人@不到,遇到漏@的、@ 错的人修改帖子之后不能发送提醒,必须要重新回一个贴再@一次……
品葱通知系统被站长重写过一次,写完不能合并同类项,用户被海量通知搞到神经衰弱,搞了一个月最后品葱站长决定坑掉重写。
品葱搞的那个敏感词功能,只要一修改帖子,敏感词两端就增加
<mark></mark>,修改几次就加几个mark但是有的时候他的正则表达式就写得很棒棒,比如说【台湾同胞】这个敏感词,你在中间加数字字母标点符号下划线都没用,他的代码都能识别出来。
还有竞争对手的网址,也是各种模糊匹配,比如说不管你打 2047.name,还是2047【dot】name还是2047点name,都会被转换为:
untrusted fake 2049bbs
总之,品葱站长给用户做功能的时候心不在焉、写不出来;搞敏感词、给竞争对手下绊子的时候就全神贯注、行云流水。
如刘仲敬所说,比例感是失衡的。
-
品葱为什么要抄袭2047
以前品葱跟2047的风格和配色都是不一样的,今天品葱改版之后,跟2047几乎是一模一样了。
品葱为什么要抄袭2047呢?
- 品葱站长是懒人,既然2047的设计已经经过长时间考验,直接抄袭可以节省一笔巨额设计费用。
- 用户已经习惯了2047的界面,品葱照搬过去之后,会让来自2047的用户感到亲切。
- 不仅品葱抄袭2047,2049也抄袭过2047,2049bbs的logo就是复制2047的logo,再加两笔把7改成9。
-
(已废除)关于“自由人的精神角落”
本站Title是“自由人的精神角落”,这不是我写的,是2049站长小二写的。
【角落】,通常指一个避开其他人的地方,例如“我们找一个角落说话”,意思是“我们不要在这里说话、到一个避开其他人的地方说话”。中国大陆对言论封锁的很厉害,因此2049它作为一个墙外论坛,确实有这个避开审查说话的意思。
当然墙外也并非风平浪静,也有新品葱这样的无良企业搞食草动物养殖,所以这行字到了2047又有了新的意思,就是避开品葱(以及品葱之外的)各路troll的意思。
从这个意义上讲,小二当年做得还(ying)很(gai)不(qie)够(fu),2049的troll问题从来就没有消停过,张怀义被品葱大troll懦夫斯基肢解之后,又被2049的小troll们围殴。
在2047,我们对troll有好几道防线。比如说,从品葱过来的troll在2047不管做了什么,都不敢拿回品葱吹嘘,因为他一吹就会被鹿儿当成2047收买的两面人或者2047派来的大外宣当场焚化。所以他们就根本就没有动力来2047搞事。对于膜乎过来的那些troll呢,我们联合膜乎的革命群众,对他们进行当众的修乳,效果也非常好。剩下一小部分独立的网评员,我们会强迫他们参加一个考试,网评员是最怕考试的,毕竟考得好的话,何苦来当网评员呢。这样就确保了2047的小池塘不会被大海掀翻。
讲完【角落】讲一下【自由人】。既然这个角落是留给自由人的,那请问你觉得你自由吗?如果你觉得自己不自由,那这个角落还适不适合你?
小二没有给【自由】设定标准和评价体系。假如小粉红们认为他们比所有人都自由,请问【自由人的角落】要放他们进来活动吗?如果不放,理由必然是“你们并不是自由人”,这就假定【自由】是有标准、有评价体系的。
这个标准和评价体系,至今也没有一个比较普遍统一的意见,在此抛砖引玉一下。
-
关注系统测试中,现在就去关注你的朋友
请尝试关注你的朋友。遇到问题请反馈。
-
成功用PGP签名登陆的用户,个人主页会增加“已验证”字样
已验证用户在2047的地位相当于大V,
拥有藐视文科生的权利。 -
对葱宣传工作指导(9月26更新)
(更新内容在最后面)
各位2047的同志,你们好!
今天我怀着激动的心情,来跟各位聊一聊这个对葱宣传工作。
说到宣传,必须先提一个概念,就是人气。人气就是知道2047的网友的数量。知道2047的网友越多,网站的人气就越高。一个网站的人气越高,网站用户享受的红利就越大。要保障最广大用户的根本利益,就必须坚持提升人气的基本路线。
有的同志认为,人一旦多起来,会破坏网站的氛围,影响正常的交流。我认为,一个网站的人气和氛围,并不一定是此消彼长的关系,关键还是取决于管理层的水平。我们2047的管理员同志,都是国内外重点大学的硕士、博士,跟某些网站请的那些名不见经传的、所谓台湾网络作家根本不是一个level。大家对我们的同志要有信心。
一个网站的人气,主要受以下几个方面的影响:
- 宣传
- 设计
- 氛围
我今天重点讲一下这个宣传。宣传又分内宣和外宣,今天讲的是外宣,特别是对葱宣传。在品葱以外宣传,其实跟在品葱宣传是差不多的,而对葱宣传又恰恰是难度最高的,因此专门挑出来讲,各位同志要融会贯通、随机应变。
避开敏感词审查
新品葱这个网站,跟我们2047,是敌对的,虽然他们的领导人不承认,但是我们已经有很多同志,因为在品葱发送2047的网址,被封号了。对于这些被封号的同志,我代表站中央、坛务院,向你们和你们的家属,致以最崇高的敬意。
我们从事对葱宣传,一定要注意保护自己的安全。下面我给大家举几个例子。
你看一下这个网址:2047.name这样的宣传,在品葱是行不通的。品葱的敏感词审查机制,会把网址屏蔽掉。
你看一下这个网址:2047【dot】name、2047点name这也是行不通的,因为品葱的管理员如果看到这行字,就知道你是在宣传2047,就要封禁你的账号了。
要避开这种针对网址的关键词审查,主要有几种方式:
-
**短网址、短链接。**在互联网上有很多网址简化服务(URL Shortening),你给他一个URL,他就返回你一个更短的URL,当你访问这个新URL的时候,就会自动跳转到原来那个URL去。
比如说,我有一个网址
https://2047.name/t/4100,然后我在网上随手找了一个网址简化服务,比如 https://bitly.com/,把这个网址输进去,就得到一个短链接 https://bit.ly/2G4c2av,你访问这个短链接,就能跳转到2047了。这种短链接,品葱可以封杀,但是网上有那么多短链接服务,它没办法每个都封杀。
-
**在线剪贴板。**在互联网上有很多在线剪贴板服务(online paste board),你给他黏贴一段文字,他就返回你一个URL,当你访问这个URL的时候,就可以看到相应的文字。
比如说,我有一段文字:
你好,我是XXX!我介绍你个有趣的网站,2047.name
然后我在网上随手找了一个剪贴板服务,比如https://ybin.me/,把上面这段文字贴进去,再点
save paste,就得到一个链接https://ybin.me/p/2d86799a42d9b192#QiUBrDlX73w7LKdrKN6Z4ZCoHOa5rQT9sVkFuVrd738=,你访问这个链接,就能看到对应的文字。 -
同时使用以上两种技术,先把文字放到剪贴板里,再把剪贴板的链接做成短链接。
我们宣传阵线的同志,一定要熟练运用这几种隐蔽手段,务必将伤亡减到最低。
利用管理员盲点
你看一下这个网址:https://bit.ly/2G4c2av这样的宣传,也是行不通的。品葱管理员看到这行字会很敏感,这不明摆着是敌对势力的宣传手段嘛,管他三七二十一先删掉再说。
怎样才能让管理员看不到你发的内容呢?那就要利用盲点。每个人都是有盲点的,就是那些视而不见的东西,比如说人民币大家都用过,但是你们知道人民币上面其实有维吾尔文和蒙文吗?很多人从来都没有注意过这个细节,但是少数民族同胞就都注意到了。
品葱管理员也是有盲点的。品葱有几个知名姨粉,比如KRD、tashkent还有miule236236。我们的同志可以学这些人说话,加入他们的论战去帮腔造势。你只要说话像这些人,管理员就基本上不会在乎你具体说了什么内容。
然后你可以跟其他用户这么说:
XXX,我读了你的发言,你的这种思想是中国主义思想。我个人还是推荐你读一下刘仲敬的[url=https://b-ok.asia/book/3417867/09bd9c]远东的线索[/url],还有[url=https://bit.ly/2G4c2av]经与史[/url]。在品葱上渲染出来效果是这样:
对方只要点击 经与史 这个链接,就去到了2047。
照顾用户心理
品葱用户对品葱是有感情的,虽然品葱在很多地方伤害过用户,但不等于用户已经做好了抛弃品葱的准备,我们宣传阵线的同志尤其要注意这一点。
品葱要完,现在人都去2047了这样的宣传,会让对方感到莫名其妙,因为对方并不觉得品葱要完(不然也就不会继续留在品葱)。
只有让对方先知道、了解2047,把2047和品葱做对比,才能得出品葱要完的结论。所以在向品葱用户介绍2047的时候,不能一上来就说品葱的坏话。
比较好的宣传方式,参考下面这段对话:
- 你有没有觉得品葱现在人气有点差呀?我听说品葱有一些管理员去了一家新的、叫2047的网站,你听过吗? - 没听过,是干什么的? - 我上周就注册了,里面好多品葱老用户的。那边虽然人气不如品葱,但是管理员不滥权,也没有那么多喷子,属于可以认真讨论问题的。总结
- 避开敏感词审查
- 利用管理员盲点
- 照顾用户心理
那么这个对葱宣传工作,今天就先跟大家聊到这里,谢谢大家。以后在工作过程中再遇到问题的话,也欢迎大家向我提问。谢谢,谢谢各位。
9月26更新
非常感谢各位同志的配合作战!2047的福音已经在品葱传开,比如像 https://pincong.rocks/article/24481 :

在图片里面安插超链接,高,实在是高!!人民群众的智慧是无穷的。 在此我代表站中央、坛务院向这位同志的成功渗透表示祝贺!!
对葱宣传工作,已经让葱内以站长为首的一小撮反动派乱了阵脚,他们已经开始限制新用户发布链接了。我们宣传阵线的同志一定要抓住这个机会,步步紧逼,他们不让发链接,我们就发图片,他们不让发图片,我们可以发文字嘛!等到他们连文字都不让发了,我们的宣传工作,也就算大功告成了。
-
SHA-512身份验证没有意义
沉默的广场在新品葱写过这样一篇:
【安全上网】用SHA-512生成身份字符串,在匿名环境下证明自己的身份
概述:
- 计算SHA512("something only you know")得到"D75A31E4F109C...",由于SHA512是不可逆的运算(类似MD5),所以即便"D75A31..."被公布出去,别人也猜不到"something only you know"。
- 把 "D75A31..." 贴到某个公开的地方,例如自己的账户备注中
- 现在你要向第三方证明 "D75A31..." 确实是你贴出的(你就是账户的主人),于是你出示 "something only you know" 给别人,别人运行一次SHA512("something..."),得到"D75A31...",证明原来贴出"D75A31..."的人是你。
存在的问题:
- 如果你公开贴出这行字("something..."),别人就可以截取复制这行字(直接看到或监听),再以别人的身份发出来。这样便可能导致多个人声称自己是你,无法确定哪个是真的。
- 如果你向某人私下出示这行字,而这个人将这行字发给其他人,其他人就可以声称自己是你
总结:SHA-512身份验证并不实用,没有意义。
真正安全可靠验证身份的方法,是公钥密码学。本站现已支持PGP签名登录,详情见/t/7506。
-
Yuri Bezmenov: Psycho Warfare Subversion & Control of Western Society
这是 @NodeBE4 在 /t/7670 中提到的视频:"No, We have our own trash"
我觉得这个视频非常好,发人深省,所以发上来。
youtu.be/5gnpCqsXE8g -
(已作废)2047新手指南
欢迎大家来到2047, 2047的目标是提供一个可以自由阳光地探讨各类问题的中文平台。
【基本规则】
-
用户必须遵守服务条款,礼尚往来
-
需要争论的时候不应在他人楼下争论,应开新帖争论,详见发言的规则
-
遇到讨厌的人,可以拉他进黑名单
-
常见的扰乱秩序行为(灌水刷屏、辱骂其他用户)会被封号
-
2047施行楼主负责制,楼主在自己楼下遇到不友好的发言,可自行删除
-
用户应意识到,发布在本站的所有内容都是对全世界公开可见的。在本站发布个人隐私,不利于用户保障其个人安全免受包括权力部门在内的第三方的侵害。故本站建议用户,除非必要,不要在互联网上发布个人隐私。
对上述内容有疑问的,请通过私信或其他方式与网站管理员或站长取得联系。
本站没有“强制隐私保护”(“凡是隐私一律删除”)的规则。用户可以公开自己的个人隐私。
-
投诉建议等请直接私信 @thphd
【tips】
- (重要)新用户应该先去水区报道,让大家熟悉你
- 私信所有人都可以收发,
没有门槛限制你必须先让大家熟悉你,才可以给除了站长之外的其他人发私信,这是为了避免对其他用户造成私信骚扰 - 在“近评”可以看全站最新回帖
- 支持提问,答案按赞数排序,提问的智慧
- 帖子默认按票数加权排序,高质量帖子会自动上浮
- 可以用PGP签名登陆账户(被他人猜解/忘记密码可能性为零,务必保管好私钥)
【科学上网】
- 我们提供两种访问2047的渠道,分别是 https://2047.name(公网)和 http://terminus2xc2nnfk6ro5rmc5fu7lr5zm7n4ucpygvl5b6w6fqap6x2qd.onion/(Tor网络)
- (2020年9月28) 你也可以通过 https://pincong.org(公网) 访问
- (2021年11月10) RSS源在 https://rsshub.app/2047/
- 如果你从事危害中华人民共和国国家安全的活动,或者发表危害国家安全的言论,国家安全部门可能会使用技术手段对你进行侦查,包括但不限于引诱你点击钓鱼链接、打开钓鱼网站、钓鱼图片(加载图片的时候会暴露你的IP地址)等等。为避免身份暴露、跨省抓捕、有期徒刑、死于肝癌,本站强烈建议您换用 Tor Browser 浏览器上网。
- 发现有人形迹可疑,请直接通知管理员或站长。
【网站团队】
- 站长清华CS PhD
- 管理员人均 Master
- 工程团队人均 985 BSc
欢迎留言补充、修改、评论本指南,持续更新。
新手有问题可以随时在本帖下方留言询问。
【常见问题】
-
为什么网页下方显示我的IP?你们是不是要记录我的IP地址呀?是不是钓鱼网站呀?
我们不会记录你的IP地址,但是你访问我们的网站,我们肯定会收到IP地址的(要不然我们怎么知道把你想看的网页送回到哪里去呢)。出于礼貌,我们在网页下方把这个IP地址显示给你自己看,帮助你判断自己所处的网络状况(是否VPN、是否使用Tor)。
品葱上有人污蔑我们,说我们2047记录用户的IP地址,其实品葱他们不仅记录IP地址,还把IP地址发给国安一份,这都是已知的事实,只不过品葱站长从来不告诉你罢了。不信你可以去品葱问,看他封不封你的号。
-
(根据情况此条可能作废)为什么网页下方显示“京公网安备”啊?你们是不是跟中国公安是一伙的?
我们不仅跟公安是一伙的,而且我们专门举报反贼,遇到一个反贼就通知一次派出所,不信你可以去问品葱站长,他肯定建议你远离我们的网站
-
你们跟新品葱什么关系?
我们这里有许多旧品葱(pin-cong.com)和新品葱(pincong.rocks)的老用户,我们跟新品葱是间接竞争的关系。我们认为新品葱亵渎了品葱的精神。
域名(pincong.org)指向本站。
-
-
(已废除)高仿新品葱的敏感词标注
为了最大限度避免影响用户的正常交流,本站敏感词只包括【品葱】的贬义说法,比如韭葱、姨葱
我们搞的这个【敏感词标注】,跟新品葱搞的那个是完全相反的:
-
在品葱,使用【台湾同胞】这样的官方说法会被标注,但是使用【台巴子】之类的贬义说法却畅通无阻,说明品葱是鼓励歧视的
-
而在2047,你正常称呼品葱是没有问题的,使用【韭葱】之类的贬义说法会被标注,说明2047是反对歧视的
-
-
2020惠民项目,习明泽终于解决了中南海的厕所手纸问题
中南海厕所手纸问题,一直是个老大难的问题。
从毛泽东时代起,就有人偷中南海厕所的手纸带回家。毛主席也一直强调要解决,但一直没有得到落实。有一天,毛主席自己上厕所,拉完屎,才发现没手纸。毛主席只好破例洗了个澡。
之后,毛主席计划专门开了政治局扩大会议,讨论中南海厕所手纸问题,但因为两弹一星工程给耽误了。刘少奇用湖南口音发了句牢骚,连中南海的手纸都有人偷,我看共产主义搞不了。毛主席一听,这是借手纸问题攻击党中央。先解决刘少奇,再解决手纸问题。后来因为四人帮从中作祟,手纸问题始终没有解决。
改革开放年代,邓小平强调搞活经济。中南海的手纸堂而皇之出现在了市场上,也没人管。
盼星星盼月亮,终于盼来了习近平。习近平在正定县就用过中南海的手纸,那是齐心偷出来的。习近平入驻中南海,发誓要解决手纸问题。
习近平令王岐山为中南海手纸办公室主任。王岐山一上任,下令,所有人一个月内把偷窃的手纸还回来,既往不咎。否则,绝不客气。并且登记党内所有人拥有的手纸数量。习近平又制定一系列法律,包括手纸来源不明罪,非法交易手纸罪。习近平在党内开会时说,要管好自己的家属。江泽民第二天爆料邓家贵在巴拿马藏有300卷手纸。习近平大怒,说,为了保护手纸,哪怕烈火焚烧,也岿然不动。
习明泽提建议,不能靠人治,要靠法制。在厕所安装人脸识别系统,每个人必须扫脸才能取手纸两张,每次间隔2小时。实行以来,效果良好。
习明泽用无与伦比的智慧,成功证明中国能够实现共产主义。
转自 https://mohu.rocks/article/3550 原作者:woaini
-
言语纠纷处理指南
-
2047实行楼主负责制(楼主拥有对楼的主权、楼主最大)
-
如果A在B楼下发言,发言内容令B感到不满,那么B可以删除A的发言,删除后如果A继续坚持(发言、把已经删除的内容恢复),管理员应封禁A
-
从实际执行来看,B往往无法及时删除A的发言,于是就可能发生A和路人C在B的楼下吵起来,导致B被歪楼的情况。遇到这种情况时,管理员应该删除争执发言,并私信提醒双方:
- 对于楼主,应该告诉他,我出于维护网站的和平稳定,删除了你楼下的评论,如果你认为不应该删除,可以自己恢复。
- 对于争执的参与者,应该告诉他,在别人楼下争执是违反处罚细则的,会被封号的,如果确实需要批判他人(或他人的观点),应另开一帖。
-
经私信告知后,仍坚持违规的(包括把已经被删除的内容恢复的),直接封号。
-
如果楼主明确表示可以接受自己楼下发生这样的情况,不需要管理员干预,管理员应尊重楼主意见
-
楼主在自己的楼下主动跟别人吵架(例如“请大家跟我辩论”),是楼主的权力,遇到这种情况管理员不需要也不应该干预。
-
-
写给通过Tor访问本站的用户
通过Tor访问本站有两个渠道,一个是访问
2047.name,一个是terminusnemheqvy.onion-
如果你访问
2047.name:- 如果不开启JavaScript,绝大多数功能无法使用,而且我们无法判断你是否是浏览器用户,会被当成bot处理,会有限速
- 本站已经开启CSRF防御,HTTP请求头必须包含 Referer,如果登陆发帖点赞报错,可能是这个原因。Tor Browser 默认对同域是会附Referer的,但是不排除有用户魔改了自己的浏览器
- 有可能会被cloudflare经常拦下来,这个没办法,毕竟tor流量很多都是非法流量
-
如果你访问
terminusnemheqvy.onion:- 以上所有都apply,但不会被cloudflare拦下来
- 对bot限速更厉害
- 速度可能会比访问
2047.name略慢
-
-
我亲自教大家做网站(1)
网站是以页面的方式呈现的,所以要做一个网站(website),首先要做一个网页(webpage)。
页面的内容,是用一种叫html的语言描述的。
<!DOCTYPE html> <html> <head> <title>Title是网页标题,显示在浏览器标签栏</title> </head> <body> <h1>Heading是标题</h1> <p>Paragraph是段落。这些都是网页中的元素</p> <ul> <li>Unordered-List是无序号列表</li> <li>List-Item是列表项</li> <li>Anchor 是<a href="https://2047.name">链接</a>的意思 </li> </ul> </body> </html>将以上文字保存为
a.html,然后用浏览器打开,就可以看到网页内容了。不过,这样做出来的网页缺乏色彩。我们可以给网页中的元素(elements) 添加或者修改 风格(style),例如颜色、字体、边框、背景等等。在HTML里面,你需要用一种叫CSS的语言给元素添加style。
<!DOCTYPE html> <html> <head> <title>Title是网页标题,显示在浏览器标签栏</title> </head> <body style="background-color:gray;"> <h1 style="color:red;">Heading是标题</h1> <p>Paragraph是段落。这些都是网页中的元素</p> <style> li { background-color:yellow; border-width:1px; border-style:solid; border-color:blue; } </style> <ul> <li>Unordered-List是无序号列表</li> <li>List-Item是列表项</li> <li>Anchor 是<a href="https://2047.name">链接</a>的意思 </li> </ul> </body> </html>更多信息,请参考:
-
作为站长我可以负责任的说新品葱是一定要完的
我们为什么翻墙?
因为墙内有言论审查,因为微信会删帖封号。
但是品葱做了什么事情呢?以前他们是删帖封号,搞敏感词审查。
现在是继续删帖,继续封号,继续搞敏感词审查,而且越来越厉害,这都是有品葱用户亲口作证的,从年初到现在一直都是这样。
最令人不解的是,这些被品葱赶走或者主动离开品葱的人,既不是路人,也不是水逼,不是复读机,更不是愤青五毛,恰好相反,基本上都是给品葱贡献了无数人气、拉来了无数人头的创作者。这样的创作者,“品葱人民的老朋友”,最后又被迫离开品葱的实在是太多了。
我前两天去品葱做了个调查,发现声望前200的用户,绝大部分在今年6月之前就退葱了,现在要么在膜乎、XsDen和2047还能见到,要么就像 @蒹葭苍苍 那样彻底退网了。
像膜乎、XsDen、2047这样的网站,人气肯定是不如品葱,那为什么大家还要大费周章另立门户呢?
因为实在是太恶心了,比吃屎还难受。我就明确告诉你们这一点。
苍苍为什么彻底退网,因为品葱把他的号封了,还把所有内容都删除了,苍苍在品葱的所有创作,所有互动,这些都是苍苍作为一个创作者的资产,结果品葱把人家通通删光了
苍苍去申诉,结果注册一次,就被品葱封禁一次
请问,以后谁还愿意去品葱写哪怕有一点点价值的文章?
就好像国内的那些微信公众号,写了几百篇文章,结果腾讯突然就删帖封号,一瞬间就都没有了,成千上万人的关注订阅、评论点赞都没有了,账号就跟没存在过一样。
请问,以后谁还愿意去品葱写哪怕有一点点价值的文章?
品葱做的事情,就是微信做的事情、共产党做的事情。但这毕竟是墙外、是自由的世界,品葱如果认为自己能永远垄断市场,并因此不断强奸用户,最终必然落得与自己德性相匹配的下场
一个论坛的用户素质不可能高于最活跃的管理员,现在稍微讲点文明的管理员全数退葱,鹿儿顺理成章地成了用户素质的天花板。看着品葱的衰落,品葱站长心里肯定也是有点着急的,但是鹿儿完全不急,依旧每天不断以捏死知识水平比自己高的用户为乐,有如毛太祖转世
像鹿儿这样的精神病人之所以能一直待在品葱当管理员,通过喂粪的方式把正常用户一个个逼走,除了她因为没有别的事情可做而愿意每天挑粪之外,也是因为品葱站长在为人处世方面的极度无知,用他们品葱用户自己的话来说就是“傻逼”、“弱智”、“脑残”
同样是站长,我可以负责任的说,新品葱是一定要完的
-
什么是公钥密码学、PGP、数字签名;用PGP签名登录2047
什么是PGP
PGP是Pretty Good Privacy,一个用来加密和解密数据和管理密钥的工具。由于PGP是商业软件,所以现在大家一般用 GPG(GnuPG),GPG是一个自由软件,功能和PGP是兼容的。
PGP(GPG)是目前使用最广泛的消息加密、解密方案。如果你还没有听说过,那你就真是有点跟不上时代了。
什么是公钥密码学
一般生活中常见的锁,必须使用同一把钥匙开启和关闭。有人构造了一种新锁,这种锁可以用钥匙A(公钥)关闭,再用钥匙B(私钥)开启,或者用钥匙B关闭,用钥匙A开启。用计算机程序模拟这种锁,完成数据的加密和解密,这个学科就叫公钥密码学(public key cryptography)。
公钥密码学的好处是,你可以把钥匙A(公钥)发给所有人,他们用钥匙A加密信息之后发给你,你再用钥匙B(私钥)解开。那些拿到公钥A的人,是无法从公钥推敲出你的私钥的,所以你只要保护好你的私钥,就可以安全地和其他人进行加密的通信。
PGP(GPG)软件可以帮你生成公钥和私钥,可以帮你方便地加密和解密消息。
什么是数字签名
在互联网上发东西,经常会遇到身份确认的问题。
比如有个叫新品葱的网站,就经常以“我觉得你被人盗号了”作为理由,封禁他们网站上的用户。
怎么证明你是你自己,而不是别人冒充的呢?密码是一个办法,但是你登录的时候会把密码发给网站,所以网站的工作人员就可以知道你的密码,然后把你的密码卖给别人,用来登录你其他的网络服务,比如邮箱或者网银之类的。(为了应对这种情况,2047登录时会先在用户的浏览器上对密码作hash,因此除非用计算机暴力猜解,否则网站工作人员是无法获取用户的密码的。)
密码泄露是个大问题,而公钥密码学可以解决这个问题。你先用你的私钥,加密一条信息,让别人用你的公钥解开。由于只有你自己有私钥,所以别人通过这个解密的过程,就可以确认消息确实是你加密的(而不可能是别人假扮成你加密的),这种做法就叫“签名”,现在是数字时代所以叫“数字签名”。网站验证完你的签名,就可以让你登录了。
用数字签名登陆网站,比用密码登陆要安全得多,生活在大陆的朋友可能用过银行、软件公司或者网游公司做的那些U盾、密保器,生活在国外的朋友可能用过Google Authenticator,还有门禁解锁的RFID卡,这些其实都含有基于数字签名的身份验证技术,只不过是把私钥放到了一个小盒子里面。用电脑来做这个事情的话,私钥就放在电脑上的一个文件里面,原理是一样的。
搞这么复杂的必要是?
取决于每个人面临的威胁模型。
- 如果假设网站永远不会出卖用户,用密码登录就是安全的。
- 凡是用密码登录的网站,只要站长愿意,100%是可以记录用户的密码的,然后他可以拿这些密码去做他想做的事情。所以只要网站有出卖用户的可能性,密码就不再安全了,必须每个不同的网站用不同的密码才相对安全。
- 如果你遇到更严重的threat,比如 @蒹葭苍苍 那种被人怀疑甚至假冒身份的情况,需要证明自己就是某个无法登陆的账号的持有者的时候,仅有密码也没用,那就需要公钥密码学了。
- 因为公钥是包含在2047的数据备份中的,所以如果有一天2047倒闭了,其他人用数据备份还原一个新的2047出来,老用户就不需要重置密码,用公钥签名就可以登录自己的账号了。
- 别人给你发站内信的时候,可以用你的公钥加密。
用PGP签名登陆2047
步骤如下
-
首先你肯定要获得属于你自己的公钥和私钥,它们是成对使用的,又叫做“密钥对”(key-pair)。要生成这样的key-pair,可以使用GPG软件。
Windows用户需要安装Windows版的
gpg软件,见https://gpg4win.org/download.html。linux和 Mac用户通常系统里已经有gpg了。不同版本的gpg,提供的操作选项是不一样的,上面那个windows的,我安装完是gpg2.2版;在ubuntu 16.04上面的gpg,是1.4版的。输入
gpg --version即可查看版本号。在ubuntu上如果要升级,要sudo apt install gnupg2,使用的时候要把gpg替换为gpg2 -
打开命令行终端,输入
gpg --gen-key,然后按照提示操作,即可生成自己的公钥和私钥,请记得把Real name填写为你在2047的用户名。通过上面的方法,GPG2.2版本生成的公钥,默认是3072位(bit)的RSA公钥。你可能会问,为什么这个密钥这么长?
一般来说,如果密钥是一个随机数,那么128位随机数就已经几乎不可能用计算机去暴力猜解了,为什么RSA要3072位呢?
真正的原因是,RSA公钥本质上是两个大质数的乘积,而质数的分布并不是稠密的,因此需要更长的密钥长度来弥补这个稀疏性。根据维基百科的说法:https://en.wikipedia.org/wiki/Key_size
1024-bit RSA keys are equivalent in strength to 80-bit symmetric keys, 2048-bit RSA keys to 112-bit symmetric keys, 3072-bit RSA keys to 128-bit symmetric keys, and 15360-bit RSA keys to 256-bit symmetric keys.
可以看到,RSA密钥的安全性,并不是随着密钥的长度线性增加的,这是因为质数越大越稀疏。为了实现等效于128bit的安全性(相当于2的128次方猜解难度),RSA密钥长度必须是3072位。
幸运的是,密码学家们已经提出了比RSA更好的公钥加密算法,比如椭圆曲线算法,密钥长度更短(128bit安全性时密钥长度只有256bit)。
要使用这些高端大气的加密算法,必须使用2.0以上版本的GPG,生成keypair的命令是
gpg(or gpg2) --expert --full-gen-key,然后按照提示操作,密钥类型选ECC and ECC,曲线类型选NIST-384。 -
现在key-pair已经生成了,以二进制的形式存在你电脑的某个地方,我们需要把它导出为文本格式,命令是
gpg --export -a <你刚才创建密钥时输入的名字>,例如gpg --export -a thphd。注意,如果不指定名字,就会导出所有公钥,而不是只导出某个名字下的公钥,长度会非常长
命令输出如下:
(384-bit ECC,所以非常短) -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2 mG8EX2PKZhMFK4EEACIDAwSl4dYPNEuzs8taLGu4VnkO8oCP+Z/NcbYUTHMj+mXC xuPeSus/XlA9qbf5PoD1MCRcVzGpKPvcdGBmd76uNkEZlWy/3V11mWNDpIeM21zI odb1rnN/yYEdJmWFm34rlg+0BXRocGhkiJkEExMJACEFAl9jymYCGwMFCwkIBwIG FQgJCgsCBBYCAwECHgECF4AACgkQT1uG/dPJ4OxAAgGA3/O7KxftugoV34ef5+Fd Ay6ase8dreDxTq48f63Oafv8AaqLKBoTQ3RX68x9C8gNAX9Guhcl8fKRSSa2NOqb 5iaUXrIhsbDYjgXd6S1VlIaGqnL+WVRNZGJdPlyx6Y9PSH24cwRfY8pmEgUrgQQA IgMDBKc9OpX85WzEyI1rEckrua/aR02ril0rNszmVEhF7k+kjvLFIHFlbEFkjUbb 1stAkhPtnhF1pIyIxxvlr5wd1ys23RB+ej8UKNORXPxgXRmjxDT47GbQROFJE0lK 6Z8aWAMBCQmIgQQYEwkACQUCX2PKZgIbDAAKCRBPW4b908ng7KdUAYDyESGHaqCa to22FarvjQLzI1QdEA89k3q0Dc1Gjnnceed1vbRFgKHupL0JyudGeNMBf23Oh7pG mFpzgj0sklaVwbSynSabTbo6YmGkjbq8gI9j+Diix9DX/zhkpnrdQB7ZOw== =vCbI -----END PGP PUBLIC KEY BLOCK------
把这个文字版的公钥,上传到2047网站, 方法见/t/7479
-
检查一下自己的个人主页是否显示“公钥”的链接
-
退出2047账号,按照登录界面提示操作即可。
步骤在此强调一下:
- 登录界面,输入你的用户名
- 登录界面的黄色框中,会出现一串命令,把这串命令复制下来,用Windows CMD或者Linux/Mac 终端运行
- 运行结果整个复制黏贴到登录界面的白色框中,再点“用PGP签名登录”。
-
一个其他网站没有(也不太可能会有)的新功能;现在就上传你的public key
这个功能叫 entities
- 需要添加public key的,可以在这里添加
- 需要添加本站名人名言录的,可以在这里添加
- 网站要搞一个收集常用链接的页面,链接可以在这里添加
- 像@NodeBE4 那样,做了静态网站但是没有可以用于存取数据的API的,可以把这个功能当成状态机来用
未来会有更多用法
编辑:在entities上传自己public key的用户,个人页面会多出一个叫公钥的项目,参见 @thphd
-
板块合并方案
梯子 geek 技术 使用指南 4 个板块合并为一个。
特此征求管理员意见。
-
只要避开DNS污染,不翻墙也能访问2047
中国政府对2047.name域名使用了既便宜分量又足的DNS污染,导致中国大陆无法访问。
解决方法如下:
-
用记事本打开
C:\Windows\system32\drivers\etc\hosts文件(Linux/Mac 用户请打开/etc/hosts),并在文件末尾添加以下内容:104.27.164.218 2047.name 104.27.165.218 2047.name 172.67.166.249 2047.name然后保存文件。
-
没有更多步骤了
-
-
页面加载性能已经调到最优
来来回回花了好几天时间。
-
identify了flask自带session的一些脑残问题,替换为自己写的session逻辑,不再胡乱set-cookie,修改了头像url后缀,至此 cloudflare 缓存在全部静态资源(包括头像)上开启,网站响应更快,带宽开销更低
-
测试页面加载性能可以去: https://developers.google.com/speed/pagespeed/insights

-
所见的延时并不是因为服务器响应慢,而是从服务器到CF的连接慢,暂时怀疑是谷歌用于测试的服务器的地理位置不合适,将来会根据情况想办法解决
以下是nginx 静态页面响应速度测试

可见静态页面响应(nginx直接响应,不转发到flask服务器)也需要0.9秒,这个0.9秒如果能砍下来,2047就真的是墙外最流畅的论坛了
-
-
(已废除)隐私声明
内容已删除内容已被作者本人或管理员删除。 如有疑问,请点击菜单按钮,查看管理日志以了解原因。 -
如果你想公开你的个人信息
想公开可以公开,我们不会出于安全原因劝阻你。
公开了之后会不会惹上麻烦,每个人答案不一样,请诸位自行斟酌。





