建立自由网站点Freesites( 在自由网上建立网站)

作者 Rob Cakebread

 

 

此资料基于Gianni Johansson 的建立自由网站指南(连接如下)

freenet:MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage//website_HOWTO.html

   

(注:这个说明书只适用于高级用户,初学者请先看自由网使用参考手册使用帮助--常见问题 。)

 

 0. 介绍

 

自由网站Freesites是用普通的的网络浏览器(IE)通过自由网Freenet可看到的网站。 自由网站将作为正规的网站展现给用户。

 

如果你对自由网Freenet不熟悉,可别理解它是互联网Web 的一次替代品。你存放在自由网上的文档资料如果不经常被索取的话,它就会“脱落”-- 被自由网淘汰掉。(这一不受欢迎必定被淘汰的特点,你会在以后建立自由网站后体会到。所以以后我们还要告诉你如何让你的站点受欢迎和如何保证不被淘汰。请多关注中文自由网站点http://freenet-china.org和相关的自由网技术论坛)。自由网 Freenet是一个允许你储存并且通过Fproxy 看到网页的平台。 目前没有网络服务器也没有从自由网Freenet里面执行CGI程序的方法,例如运行页面计数器。

 

请参阅《自由网常见问题》和《Freenet是什么?》。更多的信息的帮助参阅中文站点http:/freenet-china.org/freenet 或者到英文站点http://freenet.sourceforge.net

 

0.1必要条件

 

为了成功使用这些,你已经应该知道怎样建立一个基本的站点并且知道怎样把钥匙插入Freenet 会使用最基本自由网软件。 参见钥匙指南

 

0.2你将学会什么

 

最基本的自由网站可以是作为一个KSK 钥匙,插入自由网Freenet 中。 产生这个KSK 后,就能通过使用Fproxy 通过你的网络浏览程序访问阅读。 这非常有局限性,因为你不能再更新基于KSK 的自由网站点。 (如果你连怎么插入KSK都不会,赶快到上面说的站点去看使用指南。)

 

这节指导解释怎样建立并且维持自由网站 ( 使用MSK钥匙是关键!MSK是可以维护更新的。记住,不是KSK而是MSK了。) 基于MSK 的网站可以让你在预先决定的间隔时间内去更新维护,通常每天一次。一旦你设定了每次去更新站点的固定间隔时间后,你每次更新都必须按照自己设定好的时间去更新,换句话说就是你更新一次后,必须等待直到下次更新站点的时间到来。更新是有时间限制的。不象WEB 那样随便的更新,但“有失必有得”哟!

 

这份资料将显示你怎样成功插入一个自由网站点freesite 并且定期更新维护它。 虽然你可以手动建造自由网站,但是这会很麻烦且容易出错,这个资料解释怎样自动建造自由网站。

 

0.3使用工具

 

你将使用的方法要求您有Freenet 版本0.3.9.1或者更高(其实0.3.8.1等低版本就开始了) GJ PutFiles程序:0.16a 版本manifest.jar 你可以从这个自由网地址拿到

freenet:SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/files/0.16a/manifest.jar

注意更新版本(很频繁更新哟),你可以到GJ freesite 或者中文站点看看:

freenet:MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage//

或中文网站http:/freenet-china.org/freenet

freenet:MSK@SSK@NLgvvGUTGnwgEN9jKEeC3G6jhEEQAgE/freenews/freenet//

 

 

1.建造你的站点

 

如果你知道怎样建立一个普通的WEB站点(就是会编写html网页),你将会很容易的建立自由网站freesites 为一自由网站写HTML 网页和建立一个标准WEB的站点没有什么区别, 但你必须注意如何链接自由网中的文件。例子如下:

 

1.1链接另一个网页和文件

 

主要要记住的是在自由网里当创立连接将使用有关的钥匙。 让我们建立一个简单的自由网站点。在这个站点里有一个主页和一幅图像以及第二页, 并且加上其他人的自由网站的链接。我们的主页将被存为index.html 

 

<html>

<title>Hello Freenet</title>

 

<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=gb2312">

<body>

你好自由网freenet<p>

这一照片是我的狗:<p>

<img src='mocha.jpg'><p>

在我这个主页里链接有你的狗的照片 <a href='page2.html'>点击这里是第二页</a> <p>

<a href='/MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage//'>

这里< /a> 是一个自由网站点以及一张白鼬照片。(别把它当成狗)  < p>

</body>

</html>

 

注意:你的站点连接的钥匙key前面没有写上这个“freenet”。

 

因为现在一些浏览器能够认识这个freenet的标号,但大多数还不认可这个标号。所以你不要用"freenet"来作为转向其他的站点的标识符,去掉它,直接用加了个“/”,如              '/MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage///'  .

记住,千万别写错了字符,大小写都一致,否则就见不到那个的站点了。当然你也可以直接用这种普通格式来链接:

<a href="http://localhost:8081/freenet:MSK@SSK@NLgvvGUTGnwgEN9jKEeC3G6jhEEQAgE/freenews//">点这里看中文自由新闻网,Key    freenet:MSK@SSK@NLgvvGUTGnwgEN9jKEeC3G6jhEEQAgE/freenews//        

</a>

 

对于本站内的文件链接(即相对链接)和普通的WEB没有区别。

 

分析:

 

在这个例子里,你的自由网站点freesite 3 个文件组成。 把这3 个文件放进他们的自己独立的目录:

 

index.html (你的主页)

mocha.jpg

page2.html

 

你可以与在自由网内的任何类型钥匙(网址)链接。象刚才给出的例子那样,你可以连接其它的自由网址。一定要记住对于链接不是自己站点内的文件和站点时请一定在那个key的前面加个“/”。(普通的web站点除外。) 如:

 

<a href='/MSK@SSK@NLgvvGUTGnwgEN9jKEeC3G6jhEEQAgE/freenews//'>

<a href='/KSK@test'>

<a href='/CHK@I8ramalamafafafa0HpKMftf6lmnop'>

<a href='/SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/files/0.16a/manifest.jar'>

 

2.你的私人SSK ( SubSpace 钥匙)

 

如果你还没有私人SSK key,你将需要建立他们。你将用私人钥匙(密钥,Private Key)插入并且不断更新你的freesite。到你的站点的参观者将用对应的公共钥匙(公钥,Public_Key)和你的freesite 的名字的结合访问它。

 

如果你有SSK私人钥匙,SSK允许你在对应的公共钥匙下面插入一系列你自己命名的文档资料(KSK钥匙一样)

 

如果你有了一个SSK,它给你提供一个站名系列(namespace),其他人就可以用对应的公共钥匙,形如SSK@Public_Key/recipes,访问你的文件,如

  SSK@Public_Key/recipes/chicken_enchiladas

  SSK@Public_Key/recipes/spam_tacos

  SSK@Public_Key/recipes/ice

 

你用SSK@Private_Key/recipes/filename来插入那些文件。请注意给别人的是公开的钥匙-- Public_Key,自己更新用的是私人的钥匙Private_Key。请一定小心保管你的这个私人的钥匙。一旦你把自己的这个私人的钥匙不小心泄露出来,那你的站点就可能被别人给“黑掉”哟。

 

2.1产生你的SSK钥匙对 Keypair

 

你将使用Freenet freenet_insert (unix)或者finsertWindows下)来产生你的SSK钥匙 keypair

 

从你的unix ShellDOS 的命令窗口中,在自由网安装路径下,严格输入下面的命令:

 

(Unix) 

freenet_insert -makeKeypair

 

(Windows)

finsert -makeKeypair

 

记录下产生的这两把钥匙并且安全的藏起来。 其中Private_Key 是私人的钥匙,Public_Key是公开给别人的钥匙。有了它,你就相当于有了一个唯一的域名了。

 

请注意: Freenet 的默认端口是19114 这默认端口值被存在你的Freenet 配置文件里  . freenetrc (Unix) freenet.ini (Windows)

 

如果你没有使用系统设定值,你可能需要在刚才的命令行的后面添加下面的参数:

-serverAddress  tcp/27.0.0.1:12345

(我们假设你的Freenet 配置端口是12345,你只要更改这个数字,其他照抄。但是对于windows 用户来说,最新版本中,你不用管了,finsert自己会查找。)

 

3. 给你的DBR设定更新时间间隔

DBR-- Date Based Redirect,基于时间的重定向)

 

就是说你将通过这个DBR来设定有时间规律的更新你的站点(如24小时)。在我们的例子里我们将建立一个DBR,约定在每天的格林尼治时间GMT午夜12:00来更新站点,一天一次不断更新我们的这个DBR 你对于这一步设定只能做一次。 在插入你的DBR之后,在这个规定的时间间隔内你就不能更新你的网站。(所以,即使你有一万个理由想更新你站点某个文件,你也只能等到约定的更新时间到来时再换掉它。)

 

3.1插入DBR

 

估算出你的更新时间后,插入你DBR(就相当于向自由网通知一声,但很重要,看本指南最后3段内容就知道了。)

 

你将使用自由网软件Freenet中带的freenet_insert (unix) 或者finsert (这Windows下)。在自由网安装路径下,从你的unix ShellDOS 的命令窗口中输入:

 

(Unix)

freenet_insert -htl 50 -createUpdate yes freenet:SSK@Your_PRIVATE_Key/Your_Site_Name

 

(Windows)

finsert -htl 50 -createUpdate yes freenet:SSK@Your_PRIVATE_Key/Your_Site_Name

其中-createUpdate yes是说你再插入DBR

Your_PRIVATE_Key是你刚才产生的私人钥匙,

Your_Site_Name你的站点名字,不应该包含任何空格。

 

译者注:默认的更新时间是一天,在GMT时间午夜12:00更新。 如果你想要在一天中频繁的更新你的站点,在刚才的命令中还要输入其它选项,如:

-baseline 20000101170000  (GMT时间17:00更新)

-increment 3600 (每小时更新一次)

另外注意,以若设定每小时更新一次,你必须以若设定每小时更新一次,否则你的网站别人看不到。

 

-htl 50 是说你将通知50个邻居自由网结点,也是现在最好的值。

 

4.插入你的站点Freesite

 

从你的unix shellDOS 的命令窗口中,在你的freenet 安装目录(存放freenet.jar manifest.jar 其中manifest.jar请到上面说的地方去查找)内输入下面的命令。(当然你也可以其它路径下输入下面的命令,但是这样你必须把freenet.jar manifest.jar在你的CLASSPATH中设定好。)  

 

(Unix 用户)

java -cp freenet.jar:manifest.jar relentless.gj.cli.PutFiles -simRequests 3 \

         -htl 50 \

         -update yes  \

         -mskURIValue freenet:SSK@Your_PRIVATE_Key/Your_Site_Name \

         -fromDir directory_name  \

         -rootDir directory_name

 

(Windows用户,以下是一行)

java -cp freenet.jar;manifest.jar relentless.gj.cli.PutFiles -simRequests 3 -htl 50

       -update yes -mskURIValue

        freenet:SSK@Your_PRIVATE_Key/Your_Site_Name

       -fromDir directory_name

       -rootDir directory_name

 

Windows 用户请注意:

 

由于Windows一些版本对DOS命令行中你输入的命令长度限制,并且不能支持多行输入,这样命令很长,你最好自己用记事本来建立一个mftools.ini把刚才的选项部分写到这个文件中。但请把这个文件放在你执行命令时的路径。(比如都在自由网freenet的安装路径。)

 

mftools.ini文件:

-simRequests 10

-htl 50

-fromDir c:\freesite

-rootDir c:\freesite

-serverAddress tcp/127.0.0.1:12345

 

其中,你的index.html page2.html mocha.jpg 文件全部放在同一个路径下(比如c:\freesite),注意,不要把其它不想出版的文件放进这个目录里,否则这个路径的所有文件都会被插入到自由网中出版。(万一你不小心把你的私人文件放在这个路径里,我们就有的瞧了。)

 

运行这个命令后,你将看到你指定路径下的文件被插入。 这将花费一会儿时间,耐心等待一下。

 

当命令完成时,你将能访问你的站点 (用这种使用公共密钥Your_PUBLIC_Key 的格式)

freenet:MSK@SSK@Your_PUBLIC_Key/Your_Site_Name//

 

这是你将与别人同享的自由网站的“地址”了。 但请一定不要做给任何人你的私人钥匙,除非你想让自己出丑。

 

4.1灵活变动

 

你不必把你的默页命名为index.html,可以用 –mskIndex filename 来命名一个同文件名。

 

在我们的例子站点中freesite 使用3 个文件。 建立更大的站点你将可以用PutFiles simRequests 来增加同时插入的文件的数量(记着是“同时”,就是加快你插入时的速度,不是对你站点文件的限制)。 最大数字受到你的计算机及线路速度的限制,但现在最好的simRequests值是默认的10

 

5. 每天不断更新你的自由网站点Freesite

 

上述例子将直到格林尼治GMT时间12:00AM 在自由网在Freenet才可见的。 请换算出你的当地时间来。

 

你能够提前许多天插入你的站点。

 

你可以不用要等待在直到每天格林尼治时间12:00去不断更新你的自由站点。 你可以使用高级选项 -future 1 代替刚才命令中的 -update yes 如果你想现在更新一周时间内的站点,请在刚才第4步中提到的命令中用 -future 1-future 2 等等。如果你已经插入你一周时间内的站点,请注意直到第8天的来临前你就不能改变你的站点。

 

下次你更新你站点时,只有改变的页面会被更新插入,因此它不会花费太长时间,而第一次建站上传时自然时间长一些。

 

 

其它注意点

 

这个使用指南要求用PutFiles manifest.jar)。你也可以完全‘亲手’ 使用freenet_insert或者finsert插入出版MSK 站点,但是详细的不属于这次基本指导课范围。MSK钥匙的详细说明可在这个地址找到: MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage//MSK_email.txt

 

Bad先生有相似于PutFiles 的工具叫Freenet 镜象 (freenetmirror.jar) 也适合把站点插入中Freenet 你能在这里找到它:http://www.pigdog.org/software

 

Freenet 里没有CGI Freenet,就用户而言,是自由匿名储存并且找到信息。 但是WEB网服务器能执行一个在我们自由站点网页里引用连接的程序。自由网只是调用一下。

 

你可能经常要用一个‘新的自由网节点node 执行出版站点的工作。这是因为当时你插入一个文件时,你的节点(就是运行的自由网软件的计算机)就会检查看看它是否在本地的数据储存中。 如果在你的自由站点里的一些页或者文件不是受欢迎的,它们可能就会从自由网 Freenet中被淘汰。 但是或许它们仍然在你的本地的数据储存里,并没有实际的遍及到自由网中,你应该全部删去它们,这样你就有了一个新的自由网节点node 或者在其他计算机上安装自由网软件。

 

请注意

 

1.你刚刚出版时,你的文件会发到自由网其他某些随机站点中储存,但慢慢可能会因为不受欢迎而淘汰。当然你可以在自由网软件的configure设置中更改你的储存的文件的个数和总储存量。但只是调整自己的而已。

 

2.你只能删除本地中的储存信息,但你却不能知道储存的信息是什么,即使是你自己出版发行的。

 

如果你能进入使用另一个计算机的网关Fproxy,那将是测试你的插入出版自己站点的一个很好的方法。

 

如果你在指定的日子里没有更新你的站点,那在下一个时间段里,别人就不会看到你的站点。如果你最近不能或者不想更新你的站点,请用 -future 1, -future 2 等选项。

 

Unix使用cron和在Windows Scheduler自动调度程序可以自动每天不断更新你的站点的。 这可以让你的计算机GMT 午夜以前一两小时插入你的站点。 你只是更新的那些要出版的网页,然后让计算机每天把它们自动插入。这节指南的更新版本将追加关于使这样自动化的详细说明。

 

 

英文原文:http://freenet.sourceforge.net/index.php?page=content

自由网上自由新闻http://freenet-china.org)翻译并加入了相应的中文站点信息。

(更新日期: 2001年5月15日)