summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/zh/who-does-that-server-really-serve.html
blob: 25398d0a5d9fb6bb7758d36912130fa239182790 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
<!--#set var="ENGLISH_PAGE" value="/philosophy/who-does-that-server-really-serve.en.html" -->

<!--#include virtual="/server/header.zh-cn.html" -->
<!-- Parent-Version: 1.96 -->
<!-- This page is derived from /server/standards/boilerplate.html -->
<!--#set var="TAGS" value="essays cultural ns" -->
<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->

<!-- This file is automatically generated by GNUnited Nations! -->
<title>服务器究竟为谁服务? - GNU工程 - 自由软件基金会</title>

<!--#include virtual="/philosophy/po/who-does-that-server-really-serve.translist" -->
<!--#include virtual="/server/banner.zh-cn.html" -->
<!--#include virtual="/philosophy/ph-breadcrumb.zh-cn.html" -->
<!--GNUN: OUT-OF-DATE NOTICE-->
<!--#include virtual="/server/top-addendum.zh-cn.html" -->
<div class="article reduced-width">
<h2>服务器究竟为谁服务?</h2>

<address class="byline">Richard Stallman 著</address>

<div class="introduction">
<p><em>在网络上,专有软件不是唯一让你失去自由的途径。服务代替软件,或叫 SaaSS,就是另一个让你把计算控制交给别人的途径。</em></p>
</div>

<p>重点是,你可以控制其他人编写的程序(如果它是自由软件),但是你永远不能控制其他人执行的服务,所以原则上在程序能够完成任务的时候,不要使用服务。</p>


<p>SaaSS意味着使用他人实现的服务来代替运行你自己的软件。该术语是我们用的;其他文章和广告不会使用它,并且他们不会告诉你一项服务是否为SaaSS。另一方面,他们可能会用含糊和分散注意力的&ldquo;云&rdquo;这一术语,它把SaaSS和其他一些实践搞在一起,其中有的是滥用,有的还可以。通过本页的解释和举例,你就能够分辨一项服务究竟是不是SaaSS。</p>

<h3>背景:专有软件如何拿走你的自由</h3>

<p>数字技术能够给你自由;它也能拿走你的自由。第一个对我们自主控制计算的威胁来自<em>专有软件</em>因为其所有者(诸如苹果或微软之类的公司)掌控软件,所以用户无法控制该软件。其所有者经常利用这种不公平的权力植入恶意功能,比如间谍软件、后门和<a
href="https://www.DefectiveByDesign.org">数字权限管理(DRM)</a>(请参考他们宣传的&ldquo;数字版权管理&rdquo;)。</p>

<p>我们对此的解决方案是开发<em>自由软件</em>并拒绝专有软件。自由软件意味着,你,作为一个用户,拥有四项基本自由:(0)&nbsp;按照自己的意愿运行该软件,(1)&nbsp;通过学习和修改源代码而使软件按照自己的意愿运行,(2)&nbsp;分发原来软件的拷贝,(3)&nbsp;分发修改后软件的拷贝(请参看<a
href="/philosophy/free-sw.html">自由软件的定义</a>。)</p>

<p>通过使用自由软件,我们作为用户,拿回了对我们计算的控制。专有软件仍然存在,但是我们能够把他们排除在我们的生活之外,我们已经做到了。可是,现在有另一种方式诱使我们割让对计算的控制:服务代替软件(SaaSS)。看在自由的份上,我们也必须拒绝它。</p>

<h3>服务代替软件如何拿走我们的自由</h3>

<p>服务代替软件(SaaSS)意思是使用服务代替运行程序。具体地,它的意思是有人设置一个网络服务器来从事某种计算工作&mdash;&mdash;比如,修改照片、翻译文稿等等。&mdash;&mdash;然后邀请用户使用该服务器做<em>用户的计算</em>。作为服务器的用户,你会把你的数据发送到服务器,而服务器使用该数据做计算,然后将结果发回给你或者直接以你的名义行事。</p>

<p><em>你自己的</em> 计算是什么意思呢?它的意思就是这个计算本身没有涉及其他人。为了明确 &ldquo;本身涉及&rdquo;
的意思,我们来做一个思想实验。假想你工作所需要的自由软件都有了,相关的数据和计算机也都有了。那么你是否会在工作中只用这些计算机做自己的计算,而不和别人的计算机沟通?</p>

<p>如果是,那么你的计算活动就
<em>完全是你自己的</em>。看在自由的份上,你理应控制这个计算。如果你运行的是自由软件,那么你是在控制它。不过,通过别人的服务来进行这个计算的话,你就把计算的控制交给了别人。我们称之为
SaaSS,我们认为 SaaSS 是不公正的。</p>

<p>反之,如果你根本就无法在这些电脑上进行计算活动,那么这些计算就不完全是你自己的。通常,这些计算活动会涉及与其他计算机的沟通。</p>

<p>这些 SaaSS
服务器夺取用户自由甚至比专有软件还无情。使用专有软件,用户通常得到可执行文件而不是源代码。这使学习其代码变得困难,所以判断该程序真正的操作变得困难,更改它也变得困难。</p>

<p>使用 SaaSS,用户甚至都没有从事其计算的可执行文件:它在别人的服务器上,用户看不到也摸不着。所以用户不可能弄清楚它做了什么,也不可能改变它。</p>

<p>更进一步,SaaSS自动就导致了和某些专有软件的恶意功能相同的后果。</p>

<p> 例如,有些专有软件是&ldquo;间谍软件&rdquo;:该程序<a
href="/philosophy/proprietary-surveillance.html">向外发送用户的计算活动数据</a>。微软的Windows就把用户的活动发送给微软。Windows媒体播放器汇报每个用户观看或收听的内容。Amazon
Kindle汇报用户在看哪本书的哪一页以及什么时间。愤怒的小鸟汇报用户的历史位置。</p>

<p>和专有软件不同,SaaSS不需要秘密的代码来获得用户数据。反过来,用户必须把数据交给服务器才能获得服务。这和间谍软件的效果一样:服务器操作者获得了数据&mdash;不必花力气,因为SaaSS就是这样的。Amy
Webb,从来也没有要发表她女儿的照片,错误地使用了SaaSS(Instagram)来编辑女儿的照片。最后,<a
href="https://slate.com/articles/technology/data_mine_1/2013/09/privacy_facebook_kids_don_t_post_photos_of_your_kids_on_social_media.html">照片还是从那里泄露了出去</a>。</p>

<p>理论上,同态加密<sup><a href="#TransNote1">1</a></sup>可能发展到有一天未来的 SaaSS
服务无法理解用户发来的某些数据。这样的服务<em>可能</em>无法窥探用户;这并不意味着他们<em>不再</em>窥探。再说,窥探用户只是 SaaSS
不公正之处的次要部分之一。</p>

<p>某些专有软件带有全局后门,它允许远程安装软件。例如,Windows就有一个全局后门,微软可以用它强制改变电脑上的任何软件。几乎所有移动电话也都有后门。一些专有软件也有全局后门;例如,工作在GNU/Linux上的Steam客户端允许其开发者远程安装更改后的版本。</p>

<p>使用SaaSS,服务器操作员能够改变服务器使用的软件。他应该能够这样做,因为这是他的电脑;但是其结果和带有全局后门的专有软件是一样的:有人有权不动声色地更改用户的计算。</p>

<p>所以,SaaSS和带有间谍软件及全局后门的专有软件是一样的。它给予服务器操作员凌驾于用户之上的权力,而这正是我们必须反抗的权力。</p>

<h3>SaaSS和SaaS</h3>

<p>最初我们认为这个有问题的实践是&ldquo;SaaS&rdquo;,意思是&ldquo;软件即服务&rdquo;。这是一个常用的术语,它是指在服务器上设置软件而不给用户拷贝,而我们认为该术语准确地描述了此类实践的问题所在。</p>

<p>后来我们认识到 SaaS
这一术语有时也用于通讯服务&mdash;&mdash;而此问题并不适用于这些服务。另外,&ldquo;软件即服务&rdquo;这一术语不能解释<em>为什么</em>这种实践是不好的。所以我们创造了&ldquo;服务代替软件&rdquo;这一术语,它更清楚地定义了这个不好的实践,并且说出为什么它是不好的。</p>

<h3>区分SaaSS问题和专有软件问题</h3>

<p>SaaSS和专有软件导致类似的有害结果,但是其机制各有不同。对专有软件,该机制是你有软件拷贝,并使用该软件拷贝,但是修改该拷贝是困难/或者是非法的。对SaaSS,该机制是软件进行你的计算,但是你并没有该软件的拷贝。</p>

<p>这两个问题常常令人困扰,这并不仅仅是意外。网络开发者使用含糊不清的术语&ldquo;网络应用&rdquo;把服务器软件和运行在本地电脑的浏览器里的程序搞在一起。有些网页会在你的浏览器里安装非平凡的、甚至是大型的JavaScript软件,并且不告诉你。<a
href="/philosophy/javascript-trap.html">当这些JavaScript程序不是自由软件时</a>,它们就和其他非自由软件一样导致不公正。然而,在这里,我们关心的是使用服务本身。</p>

<p>许多自由软件支持者认为SaaSS问题会由于开发服务器端的自由软件而解决。对服务器操作者来说,服务器端的程序最好是自由软件;如果它是专有软件,那么其开发者/所有者就有凌驾于服务器之上的权力。这对服务器操作者是不公正的,而且对服务器的用户也毫无帮助。但是如果服务器端的程序是自由软件,它也没有保护<em>服务器用户</em>不受SaaSS的影响。该程序使服务器操作者自由,但是没有给服务器用户自由。</p>

<p>把服务器软件的源代码发布可以使社区受益:这使有相应技术的用户可以搭建类似的服务器,也可能修改软件。<a
href="/licenses/license-recommendations.html">我们建议使用GNU Affero
GPL</a>作为服务器端软件的许可证。</p>

<p>但是这些服务器都没有让你能够控制自己的计算,除非它是<em>你的</em>服务器(你控制它的软件,尽管服务器的硬件可能不是你的)。也许某些工作你可以放心地使用朋友的服务器,就像你让朋友在你的机器上维护软件一样。除此之外的服务器对你都应该是SaaSS。SaaSS总是使你受制于服务器操作者的权力,而唯一的解药是,<em>不要使用SaaSS!</em>不要使用他人的服务器来对你提交的数据进行计算。</p>

<p>这个问题展示了&ldquo;开放&rdquo;和&ldquo;自由&rdquo;的深度不同。源代码是开源<a
href="/philosophy/free-open-overlap.html">意味着,差不多总是,自由软件</a>。但是,<a
href="https://opendefinition.org/ossd/">&ldquo;开源软件&rdquo;服务</a>,意味着服务器软件是开源或是自由软件,却错失了SaaSS的问题。</p>

<p>服务从根本上不同于程序,由它带来的道德问题从根本上也和程序的不同。为了避免混淆,我们<a
href="/philosophy/network-services-arent-free-or-nonfree.html">避免把服务描述为&ldquo;自由&rdquo;或&ldquo;专有。&rdquo;</a></p>

<h3>区分SaaSS和其他网络服务</h3>

<p>哪些在线服务是SaaSS?最明确的例子是翻译服务,比如它把英语文字翻译成西班牙语文字。你要翻译这件事纯粹是你自己的计算。你可以通过在自己的电脑上运行一个程序完成。(道义上说,该程序应该是自由软件。)翻译服务代替了该程序,所以这是服务代替软件,即SaaSS。由于它剥夺了你对自己计算的控制,所以它对你作恶。</p>

<p>另一个明确的例子是使用诸如Flickr或Instagram之类的服务来编辑照片。几十年以来,人们都是在自己的电脑上编辑照片;在你无法控制的服务器上编辑照片,而不是在自己的电脑上,就是SaaSS。</p>

<p>拒绝SaaSS并不是说要拒绝所有的其他人运行的网络服务。大多数服务器不是SaaSS,因为它们的任务是通讯,而不是为用户做计算。</p>

<p>网络服务器最初的概念不是为你做计算,而是让你能够访问它发布的信息。即使在今天这也是大多数网站做的事,这个没有SaaSS的问题,因为访问别人发布的信息不是在做你的计算。使用博客网站发布自己的成果也不是,使用诸如Twitter或StatusNet的服务发布微博也不是。(这些服务可能会有其他问题,根据具体情况而不同。)这个道理对其他非私人的通讯服务也适用,比如聊天室。</p>

<p>究其本质,社交网络是一种沟通和出版的形式,不是SaaSS。然而,如果一个服务的主要设施是社交网络的话,它就可能带有SaaSS的功能和扩展。</p>

<p>如果一项服务不是SaaSS,并不意味着它就没有问题。服务有其他的道德问题。比如,Facebook 要求使用非自由的 JavaScript
代码,并且它通过让用户展示自己的生活来误导他们对隐私的感觉。这些都是重要的问题,不过不同于SaaSS。
</p>

<p>搜索引擎之类的服务是从网络上收集数据并让你查看。查看他们收集的数据不是普通意义上的用户计算活动&mdash;你并没有提供这个收集活动&mdash;所以使用此类网络搜索不是SaaSS。然而,使用其他人的服务器为你自己的网站部署搜索设施<em>是</em>SaaSS。</p>

<p>网购不是SaaSS,因为这个计算不是<em>你自己的</em>活动;而是你和商店共同完成的活动。网购的真正问题在于你是否相信收钱的一方以及其他个人信息(从你的姓名算起)。</p>

<p>仓库网站,如Savannah和SourceForge,本身不是SaaSS,因为仓库的工作是发布交给它的数据。</p>

<p>使用联合项目的服务器不是SaaSS,因为你做的计算不是你自己的。例如,如果你修改了Wikipedia页面,那么你并不是在做自己的计算;而是你在做Wikipedia的联合计算。Wikipedia控制自己的服务器,但是如果他们使用的是其他人的服务器,那么机构和个人都面临SaaSS的问题。</p>

<p>有些网站提供多种服务,如果其中一个不是SaaSS,另一种也可能是SaaSS。例如,Facebook的主要服务是社交网络,这不是SaaSS;然而,它支持第三方应用,其中有些是SaaSS。Flickr的主要服务是发布照片,这不是SaaSS,但是它还有编辑照片的功能,这就是SaaSS。类似地,在Instagram发布照片不是SaaSS,但是使用它来转换照片格式就是SaaSS。</p>

<p>Google Docs展示了评价一个服务有多么复杂。它让人们通过运行一个大型的<a
href="/philosophy/javascript-trap.html">非自由JavaScript程序</a>来编辑文档,明显是错误的。然而,它还提供上传和下载标准格式文档的API。一个自由软件编辑器也可以通过此API传输文档。这个应用场景不是SaaSS,因为Google
Docs只是作为仓库来使用。把自己的数据展示给一个公司是一件坏事,但这也只是隐私的问题,不是SaaSS;依赖某个服务来访问自己的数据也是一件坏事,但它也只是风险的问题,不是SaaSS。另一方面,使用服务来转换文档的格式<em>是</em>SaaSS,因为你可以使用自己电脑里的合适程序(希望是,自由软件)来完成这件事。</p>

<p>当然,通过自由软件使用Google
Docs并不常见。最常见的是,人们通过非自由的JavaScript程序来使用它,这和使用其他非自由软件一样糟糕。这个场景还会引入SaaSS;这取决于哪些操作是JavaScript程序做的,哪些是服务器做的。我们不知道,但是由于SaaSS和专有软件都对用户作恶,知不知道并不是关键。</p>

<p>通过他人的仓库进行发布不会有隐私的问题,但是通过Google
Docs发布却有一个特别的问题:不运行非自由的JavaScript代码,你甚至不能在浏览器里<em>查看Google
Docs文本</em>。所以,你不应该使用Google Docs发布文档&mdash;但是这不是由于SaaSS的原因。</p>

<p>IT产业并不鼓励用户做这些区分。这就是&ldquo;云计算&rdquo;这一时髦词汇的用途。该词是如此的模糊不清,以至于它几乎可以表示任何互联网的使用形式。它包含SaaSS,也包含许多其他的网络使用情况。在一个特定的语境,使用者可能用&ldquo;云&rdquo;(如果是技术背景的使用者)表示脑海里一个特定的意思,但是通常不会解释说该词在其他文章中有其他的意思。该术语引导人们对本应该单独处理的情况进行普遍化。</p>

<p>如果&ldquo;云计算&rdquo;有定义,那么它不是一个计算的方式,而是对计算的一种思考方法:一种魔鬼才会考虑的方法,意思是,&ldquo;不要提问。不要担心是谁控制你的计算或者是谁掌握你的数据。在你吞掉鱼饵之前不要检查藏在服务之饵里的钓钩。要毫不怀疑地相信这些公司。&rdquo;换句话说,&ldquo;做一个没有主见的人。&rdquo;思想里的云就是要阻碍清楚地思考。为了清楚地思考计算,让我们避免使用&ldquo;云&rdquo;这个词。</p>

<h3 id="renting">区分租用服务器和SaaSS的不同</h3>

<p>如果你租用服务器(真实的或虚拟的),你可以控制其软件,它就不是SaaSS。在SaaSS的情形,其他人决定服务器运行的软件,因而他们控制着你的计算。在你安装服务器软件的情形,你控制着你的计算。所以,租用服务器实际上是你的电脑。此时,我们认为它就是你的。</p>

<p>租用的远程服务器上的<em>数据</em>没有在自己家里的服务器上的数据安全,但是这个是SaaSS之外的问题。</p>

<p>这种服务器租赁有时叫做&ldquo;IaaS&rdquo;,但是该术语适用的概念轻视了我们要考虑的重点。</p>

<h3>SaaSS问题的应对</h3>

<p>只有小部分网站实施SaaSS;大多数网站没有这个问题。但是我们如何应对有这个问题的网站呢?</p>

<p>对简单的情况,你用自己的数据进行自己的计算,解决方法也简单:使用一份你自己的自由软件拷贝。用一份诸如GNU
Emacs或自由字处理程序的自由软件来进行自己的文本编辑。使用诸如GIMP的自由软件来编辑照片。如果没有可用的自由软件怎么办?专有软件或SaaSS会拿走你的自由,所以你不应该使用它们。你可以贡献时间或资金来开发一款可以替代专有软件的自由软件。</p>

<p>和其他人结成合作团队怎么样?现在在不用服务器的情况下工作可能有困难,而团队可能并不知道如何运作自己的服务器。如果你要使用他人的服务器,至少不要相信由公司运作的服务器。一纸客户合同对你不是保护,除非你能够侦测到违规并真正起诉,而公司制作的合同可能允许宽泛的滥用。政府可以从该公司强行调取你的以及其他人的数据,正如奥巴马总统对电话公司所做的;还要假设该公司不自愿交出数据,不过美国电话公司是非法为布什政府监听其用户的。如果你必须使用服务器,请使用除了商业关系之外还有其他可信基础的服务器操作方。</p>

<p>然而,长远来看,我们能够构建替代服务器的机制。例如,我们可以构建能够分享加密数据的点对点程序。自由软件社区应该开发分布式点对点程序来代替重要的&ldquo;网络应用&rdquo;。按照<a
href="/licenses/why-affero-gpl.html">GNU Affero
GPL</a>发布这些程序是明智的,因为它们有可能被某些人转换成基于服务器的程序。<a
href="/">GNU工程</a>正在寻求做此开发的志愿者。我们也邀请其他自由软件项目在其设计中考虑这个问题。</p>

<p>同时,如果有公司邀请你使用它们的服务器来做你的计算,不要接受;不要使用SaaSS。不要购买或安装&ldquo;轻客户端&rdquo;,这些只是简单的电脑,它们的计算能力是如此之弱,你的计算只能在服务器上真正完成,除非你配合<em>你的</em>服务器来使用这些客户端。使用真正的电脑并把数据限制在该电脑上。为你的自由起见,请用你自己的自由软件拷贝来做计算。</p>

<div class="announcement comment" role="complementary">
<p><a href="/philosophy/bug-nobody-allowed-to-understand.html">不许任何人了解的缺陷</a>。</p>
</div>

<div class="infobox extra" role="complementary">
<hr />
<p>本文第一版发表于<cite><a
href="https://www.bostonreview.net/richard-stallman-free-software-DRM">波士顿评论</a></cite>。</p>
</div>
</div>

<div class="translators-notes">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
<h3>译注</h3>
<ol>
<li id="TransNote1">homomorphic
encryption,同态加密:指对加密内容的计算结果和对非加密内容的计算结果一样的加密算法。</li>
</ol></div>
</div>

<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.zh-cn.html" -->
<div id="footer" role="contentinfo">
<div class="unprintable">

<p>请将有关自由软件基金会(FSF) &amp; GNU的一般性问题发送到<a
href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>。也可以通过<a
href="/contact/">其他联系方法</a>联系自由软件基金会(FSF)。有关失效链接或其他错误和建议,请发送邮件到<a
href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>。</p>

<p>
<!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">

        &lt;web-translators@gnu.org&gt;</a>.</p>

        <p>For information on coordinating and contributing translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
我们尽最大努力来提供精准和高质量的翻译,但难免会存在错误和不足。如果您在这方面有评论或一般性的建议,请发送至 <a
href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>。</p><p>关于进行协调与提交翻译的更多信息参见
<a href="/server/standards/README.translations.html">《译者指南》</a>。</p>
</div>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->
<p>Copyright &copy; 2010, 2013, 2015, 2016, 2018, 2020, 2021, 2022 Richard
Stallman</p>

<p>本页面使用<a rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons
Attribution-NoDerivatives 4.0 International License</a>授权。</p>

<!--#include virtual="/server/bottom-notes.zh-cn.html" -->
<div class="translators-credits">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
<b>翻译团队</b>:<a rel="team"
href="https://savannah.gnu.org/projects/www-zh-cn/">&lt;CTT&gt;</a>,2017-2022。</div>

<p class="unprintable"><!-- timestamp start -->
最后更新:

$Date: 2022/01/04 06:42:55 $

<!-- timestamp end -->
</p>
</div>
</div>
<!-- for class="inner", starts in the banner include -->
</body>
</html>