搬了

02月 11th, 2007 by tnds

这里传图片太麻烦。。

不管什么类型,都放msn space里去了

权限已开放。

http://tnds.spaces.live.com

上海轨道交通票价查询手机版

01月 23rd, 2007 by tnds

自己做的一个小软件,支持所有的java手机,具体机型就不列了。

将下载的文件解压,然后将jad和jar文件传输到手机,安装就可以运行了,具体传输安装方式请参考手机说明书。

http://www.57sw.com/shanghaimetrofare.rar

打算更新并扩展fterm地址簿

09月 25th, 2006 by tnds

考虑到目前不少论坛由telnet/web双栖向web单栖发展,近期决定对原来的fterm地址簿进行扩展,扩展后将包括fterm地址簿和ie收藏夹。

同时将包含一些教育网外知名论坛(知名以我知道为准:P)

同时,将不再采取地区分类,而以论坛开放程度分类,打算分为如下

1.完全开放

2.需要edu.cn邮箱才能发文

3.需要校内邮箱才能发文

4.需要校内认证才能发文

5.只能使用匿名用户浏览

6.校外用户无法浏览

上海轨道交通换乘站首末班车时刻一览表(2006年12月30日起执行)

01月 11th, 2006 by tnds

上海轨道交通换乘站首末班车时刻一览表

(2007年12月29日起施行)

      莘庄 上海南站 上海体育馆 人民广场 中山公园 世纪大道 西藏南路 蓝村路 宜山路 桂林路
一号线 富锦路方向 富锦路方向全程首班车 5:30 5:18 5:23 5:37 ―― ―― ―― ―― ―― ――
上海火车站区间首班车 4:55 5:01 5:17
末班车 22:20 22:30 22:36 22:49
莘庄方向 首班车 6::10(注1) 5:58 5:52 5:36
末班车 23:34(注1) 23:24 23:19 23:05
二号线 淞虹路方向 首班车 ―― ―― ―― 5:39 5:51 5:28 ―― ―― ―― ――
末班车 22:49 22:59 22:40
张江高科方向 首班车 6:03 5:53 6:14
末班车 23:12 23:03 23:21
三号线 上海南站方向 首班车 ―― 6:44(注1) ―― ―― 6:27 ―― ―― ―― 6:34 ――
末班车 23:03(注1) 22:48 22:54
江杨北路方向 首班车 5:30 5:30 5:22
末班车 22:00 22:16 22:09
四号线 内圈 首班车 ―― ―― 5:31 ―― 5:42 6:15 6:28 6:20 ―― ――
环线运行末班车 22:10 21:18 21:48 22:00 21:52
宜山路方向末班车 23:14 22:22 22:52 23:04 22:56
外圈 首班车 5:32 6:29 5:56 5:44 5:52
环线运行末班车 20:57 21:49 21:19 21:07 21:15
宜山路方向末班车 22:02 22:54 22:24 22:12 22:20
五号线 莘庄方向 首班车 6:26(注1) ―― ―― ―― ―― ―― ―― ―― ―― ――
末班车 22:26(注2)
闵行开发区方向 首班车 6:00
末班车 22:00
六号线 港城路方向 首班车 ―― ―― ―― ―― ―― 7:26 ―― 7:21 ―― ――
末班车 21:23 21:18
灵岩南路方向 首班车 7:14 7:19
末班车 20:44 20:49
八号线 市光路方向 首班车 ―― ―― ―― 6:10 ―― ―― 6:00 ―― ―― ――
末班车 22:08 21:59
耀华路方向 首班车 5:35 5:44
末班车 21:34 21:43
九号线 松江新城方向 首班车 ―― ―― ―― ―― ―― ―― ―― ―― ―― 6:00
末班车 21:00
桂林路方向 首班车 6:52(注1)
末班车 21:46(注1)
三号线-九号线短驳车 桂林路方向 首班车 ―― ―― ―― ―― ―― ―― ―― ―― 5:40

5:55(注1)

末班车 20:30 20:45(注1)
宜山路方向 首班车 7:15(注1) 7:00
末班车 22:05(注1) 21:55

 

      虹桥路 延安西路 金沙江路 曹杨路 镇坪路 中潭路 上海火车站(北广场) 宝山路
三号线 上海南站方向 首班车 6:32 6:29 6:24 6:22 6:19 6:16 6:13 6:10
末班车 22:52 22:50 22:45 22:43 22:40 22:38 22:35 22:32
江杨北路方向 首班车 5:25 5:27 5:33 5:35 5:37 5:40 5:43 5:46
末班车 22:11 22:14 22:19 22:21 22:23 22:25 22:28 22:32
四号线 内圈 首班车 5:37 5:40 5:45 5:47 5:50 5:53 5:56 5:59
环线运行末班车 21:13 21:16 21:20 21:22 21:25 21:27 21:30 21:33
宜山路方向末班车 22:17 22:20 22:24 22:27 22:29 22:31 22:34 22:37
外圈 首班车 6:34 6:31 6:26 6:24 6:21 6:19 6:16 6:12
环线运行末班车 21:54 21:51 21:47 21:45 21:42 21:40 21:37 21:34
宜山路方向末班车 22:59 22:56 22:52 22:50 22:47 22:45 22:42 22:39

 

 

注:

1.此站为该方向终点站,此时间为估算列车/车辆到达时间,标出首末班车时刻为方便乘客把握换乘时间。
2.数据来源为上海地铁运营公司 (http://www.shmetro.com) 、 上海现代轨道交通有限公司 (http://www.smrt.com.cn) 、上海交通大学饮水思源BBS交通信息版(http://bbs.sjtu.edu.cn )及媒体。
3.末班车发车前3分钟停止售票。
4.为避免意外,建议在末班车发车前5分钟到达站台,请注意把握列车运行时间。
5.时间仅供参考,以车站现场公告为准。
6.四号线内圈为顺时针方向(宜山路-中山公园-上海火车站-世纪大道-西藏南路-宜山路),外圈为逆时针方向(宜山路-西藏南路-世纪大道-上海火车站-中山公园-宜山路)。

test trackback

06月 6th, 2005 by tnds

1234

相关文章
http://drupal.zxwybbs.com/?q=node/5

架了一个整站的系统Drupal

05月 26th, 2005 by tnds

逛新软版的时候偶尔看到这么一个软件drupal( http://www.drupal.org )于是上去一看,确实不错,可以用XML收集各类新闻、blog,带有论坛、手册(类似Wiki)、blog等等,花了差不多一个星期做汉化(做到一半才发现前面有翻译了一半的……),最后做到98.95%(最后9个字串死活翻不了,用poedit翻好导入再导出还是没被翻译….)

后来又在逛czz的blog是发现了一个第一年$10的米国主页提供商,于是动了正式架站的念头(本来只想在自己机器上玩玩的,因为在国内还涉及到ICP),于是,就把子虚乌有搭起来了(这名字是一见如故开站时我看见许多网友“捣乱”型的发表不存在的BBS的贺电时忽然想到的,后来想想做网站名称确实不错,可惜zxwy.com/net/org、tnds.com/net/org都被注册了,只好退而求其次,注册了一个zxwybbs.com,因为是带shell的2.4g空间,所以以后还可以在上面折腾各类bbs代码(不过因为只有1年,也只能当个人站点用,1年过后就是$10/月了。不过到时候想办法找个便宜点的域名注册商把域名买下来)。

因为还有折腾别的东西,所以暂时给这个drupal站分了个 http://drupal.zxwybbs.com 的域名。

不过drupal的rss订阅似乎只支持2.0的,所以现在只加了我在csdn的blog(其实就是水木封ip后抢救的blog…),等回学校再翻翻smth的rss2.0的地址。

web下提示的修正

01月 9th, 2005 by tnds

只做了非俱乐部成员与无发文权的在发帖时提示分开,转载可以参照这个修改bbsccc.c
另外,被封也最好能与一般无权发文提示分开,不过这里没做,其实很简单,就是在bbslib.chas_post_perm函数中根据不同情况返回不同的值,再在bbspst.c和bbsccc.c中作判断,更据不同的情况传递给http_fatal不同的值。
此外,关于sysop权限在非成员的俱乐部和被封版面我希望能做到和telnet下效果一样的提示,但不知道怎么在web下处理这个问答。。

===================================================================RCS file: D:\ythtcvs\bbs\nju09\BBSLIB.c,vretrieving revision 1.3retrieving revision 1.4diff -u -r1.3 -r1.4— BBSLIB.c	2005/00/05 04:18:58	1.3+++ BBSLIB.c	2005/00/09 07:14:29	1.4@@ -1777,8 +1777,15 @@ 		return 0; 	if (!strcasecmp(x->header.filename, DEFAULTBOARD)) 		return 1;-	if (user_perm(user, PERM_SYSOP))-		return 1;+	if (user_perm(user, PERM_SYSOP)) {+		/*if (x->header.flag & CLUB_FLAG) {+			sprintf(buf3, "boards/%s/club_users", x->header.filename);+			if (!(file_has_word(buf3, user->userid)))+				return 3; //非俱乐部成员的sysop权限返回3+		}+		else*/+			return 1;+	} 	if (!user_perm(user, PERM_BASIC)) 		return 0; 	if (!user_perm(user, PERM_POST))@@ -1795,7 +1802,7 @@ 		if (file_has_word(buf3, user->userid)) 			return 1; 		else-			return 0;+			return 2; //非俱乐部成员返回2,modified by tnds 	} 	return 1; }

===================================================================RCS file: D:\ythtcvs\bbs\nju09\bbspst.c,vretrieving revision 1.2retrieving revision 1.3diff -u -r1.2 -r1.3— bbspst.c	2005/00/04 14:47:19	1.2+++ bbspst.c	2005/00/09 07:14:28	1.3@@ -6,6 +6,8 @@ 	int local_article, num, fullquote = 0, guestre = 0, thread = -1; 	char *ptr, userid[80], buf[512], path[512], file[512], board[512], 	    title[80] = "";+	int club;+	char temp[70]; 	struct fileheader *dirinfo = NULL; 	struct boardmem *x;       struct mmapfile mf = { ptr:NULL };@@ -40,8 +42,14 @@ 		http_fatal("错误的讨论区或者您无权在此讨论区发表文章"); 	if (njuinn_board(board) && !innd_board(board)) 		local_article = 1;-	if (!has_post_perm(currentuser, x) && !isguest)-		http_fatal("错误的讨论区或者您无权在此讨论区发表文章");+	club=has_post_perm(currentuser,x);+	if (club==2) {+		sprintf(temp,"%s为俱乐部版面,而您不是%s俱乐部的成员,请向%s俱乐部的版务申请发文权限",board,board,board);+		http_fatal(temp);+	} else {+		if (club!=1 && !isguest)+			http_fatal("错误的讨论区或者您无权在此讨论区发表文章");+	} 	if (noadm4political(board)) 		http_fatal("对不起,因为没有版面管理人员在线,本版暂时封闭."); 	if (x->ban == 2)

仿照水木的处理方式,对站务的一些特权作提示

01月 9th, 2005 by tnds

主要是转载和发帖时检查是否是俱乐部成员和是否被封,并给出提示。
此外还对系统记录区作了保护,包括不能转载到系统记录区和在系统记录区发帖

===================================================================RCS file: D:\ythtcvs\bbs\src\bbs.c,vretrieving revision 1.5retrieving revision 1.6diff -u -r1.5 -r1.6— bbs.c	2005/00/06 01:23:20	1.5+++ bbs.c	2005/00/09 07:15:33	1.6@@ -645,6 +645,12 @@ 	clrtoeol(); 	prints("转载 ‘ %s ‘ 到 %s 版 ", quote_title, bname); 	move(6, 0);+	if (!strcmp(bname,"syssecurity")) {+		prints("抱歉,你不能将文章转载到系统安全记录区");+		pressreturn();+		clear();+		return FULLUPDATE;+	} 	if (innd_board(bname)) { 		getdata(7, 0, "(S)发表 (L)不转信 (A)取消? [A]: ", ispost, 			9, DOECHO, YEA);@@ -669,23 +675,47 @@ 		islocal = 1; 	} 	if (ispost[0] == ’s’ || ispost[0] == ‘S’) {-		if (deny_me(bname) && !USERPERM(currentuser, PERM_SYSOP)) {-			move(8, 0);-			clrtobot();-			prints-			    ("\n\n                 很抱歉,您已经被版主停止了发贴的权利。");-			pressreturn();-			clear();-			return FULLUPDATE;+		if (deny_me(bname)){+			if (USERPERM(currentuser,PERM_SYSOP)) {+				move(8,0);+				clrtobot();+				if (askyn("您已经被版主停止了发帖权利,强制发文吗?",NA,NA)==NA) {+					prints("\n\n               很抱歉,您已经被版主停止了发贴的权利。");+					pressreturn();+					clear();+					return FULLUPDATE;+				}+			} else {+			 	if (!USERPERM(currentuser, PERM_SYSOP)) {+					move(8, 0);+					clrtobot();+					prints+			    		("\n\n                 很抱歉,您已经被版主停止了发贴的权利。");+					pressreturn();+					clear();+					return FULLUPDATE;+				}+			}	 		}-		if (deny_me_global() && !USERPERM(currentuser, PERM_SYSOP)) {-			move(8, 0);+		if (deny_me_global()) {+			move(8,0); 			clrtobot();-			prints-			    ("\n\n                 很抱歉,您已经被站务停止了全站的发贴权利。");-			pressreturn();-			clear();-			return FULLUPDATE;+			if (USERPERM(currentuser,PERM_SYSOP)) {+				if (askyn("您已经被站务停止了全站发帖权利,强制发文吗?",NA,NA)==NA) {+					prints("\n\n               很抱歉,您已经被站务停止了全站发贴的权利。");+					pressreturn();+					clear();+					return FULLUPDATE;+				}+			} else {+				if (!USERPERM(currentuser, PERM_SYSOP)) {+					prints+					    ("\n\n                 很抱歉,您已经被站务停止了全站的发贴权利。");+					pressreturn();+					clear();+					return FULLUPDATE;+				}+			} 		} 		if (club_board(bname, 0)) { 			if (USERPERM(currentuser, PERM_SYSOP) && (!clubtest(bname))) {@@ -695,7 +725,7 @@ 					clear(); 					return FULLUPDATE; 				     }-			}+			} else { 			if (!clubtest(bname) 			    && !USERPERM(currentuser, PERM_SYSOP)) { 				move(8, 0);@@ -707,6 +737,7 @@ 				clear(); 				return FULLUPDATE; 			}+			} 		} 		strcpy(quote_board, currboard); 		ddigestmode = digestmode;@@ -1739,6 +1770,14 @@ 		replytitle = sfh->title; 	modify_user_mode(POSTING); 	bnum = getbnum(currboard);+	if (!strcmp(currboard,"syssecurity")) {+		move(3,0);+		clrtobot();+		prints("\n\n     抱歉,您不能在系统记录区发帖");+		pressreturn();+		clear();+		return FULLUPDATE;+	} 	if (!haspostperm(bnum)) { 		move(3, 0); 		clrtobot();@@ -1771,18 +1810,53 @@ 	}

 	if (club_board(currboard, bnum)) {-		if (!clubtest(currboard) && !USERPERM(currentuser, PERM_SYSOP)) {-			move(3, 0);-			clrtobot();-			prints-			    ("\n\n             %s为俱乐部版面,请向版务申请发文权限",-			     currboard);-			pressreturn();-			clear();-			return FULLUPDATE;+		if (!clubtest(currboard)) {+			if (USERPERM(currentuser,PERM_SYSOP)) {+				move(3,0);+				clrtobot();+				if (askyn("您并不是本俱乐部的成员,强制发文吗?",NA,NA)==NA) {+					prints("\n\n               %s为俱乐部版面,请向版务申请发文权限。",currboard);+					pressreturn();+					clear();+					return FULLUPDATE;+				 }+			} else {+				if (!USERPERM(currentuser, PERM_SYSOP)) {+					move(3, 0);+					clrtobot();+					prints+			    		("\n\n             %s为俱乐部版面,请向版务申请发文权限",+			     		currboard);+					pressreturn();+					clear();+					return FULLUPDATE;+				}+			} 		} 	}-	if (deny_me(currboard) && !USERPERM(currentuser, PERM_SYSOP)) {+	if (deny_me(currboard)) {+			if (USERPERM(currentuser,PERM_SYSOP)) {+				move(3,0);+				clrtobot();+				if (askyn("您已经被版主停止了发帖权利,强制发文吗?",NA,NA)==NA) {+					prints("\n\n               很抱歉,您已经被版主停止了发贴的权利。");+					pressreturn();+					clear();+					return FULLUPDATE;+				}+			} else {+			 	if (!USERPERM(currentuser, PERM_SYSOP)) {+					move(3, 0);+					clrtobot();+					prints+			    		("\n\n                 很抱歉,您已经被版主停止了发贴的权利。");+					pressreturn();+					clear();+					return FULLUPDATE;+				}+			}	+		}+/*		 && !USERPERM(currentuser, PERM_SYSOP)) { 		move(3, 0); 		clrtobot(); 		prints@@ -1790,11 +1864,30 @@ 		pressreturn(); 		clear(); 		return FULLUPDATE;-	}+	}*/ 	if (deny_me_global() 	    && strcmp(currboard, "sysop")-	    && strcmp(currboard, "Arbitration")-	    && !USERPERM(currentuser, PERM_SYSOP)) {+	    && strcmp(currboard, "Arbitration")) {+	    		move(3,0);+			clrtobot();+			if (USERPERM(currentuser,PERM_SYSOP)) {+				if (askyn("您已经被站务停止了全站发帖权利,强制发文吗?",NA,NA)==NA) {+					prints("\n\n               很抱歉,您已经被站务停止了全站发贴的权利。");+					pressreturn();+					clear();+					return FULLUPDATE;+				}+			} else {+				if (!USERPERM(currentuser, PERM_SYSOP)) {+					prints+					    ("\n\n                 很抱歉,您已经被站务停止了全站的发贴权利。");+					pressreturn();+					clear();+					return FULLUPDATE;+				}+			}+		}+	    /*&& !USERPERM(currentuser, PERM_SYSOP)) { 		move(3, 0); 		clrtobot(); 		prints@@ -1802,7 +1895,7 @@ 		pressreturn(); 		clear(); 		return FULLUPDATE;-	}+	}*/

 	bzero(&postfile, sizeof (struct fileheader)); 	clear();

丝路的删除

01月 6th, 2005 by tnds

移植自北大未名代码,感谢chutium的指正

===================================================================
RCS file: D:\ythtcvs\bbs\src\announce.c,v
retrieving revision 1.2
retrieving revision 1.5
diff -u -r1.2 -r1.5
--- announce.c	2004/11/30 13:33:50	1.2
+++ announce.c	2005/00/05 10:43:45	1.5
@@ -2221,7 +2221,7 @@
 	move(t_lines - 22, 0);
 	clrtobot();
 	prints
-	    ("将当前路径设置为丝路的那一项? (按A-T↑↓选择, ' '或回车确定', ←或'X'取消)");
+	    ("将当前路径设置为丝路的那一项? (按A-T↑↓选择, ' '或回车确定', ←或'X'取消,'z'删除丝路)");
 	for (i = 0; i < 20; i++) {
 		move(t_lines - 22 + 1 + i, 0);
 		prints(" %s(%c) %s",
@@ -2247,6 +2247,21 @@
 				if (nindex >= 20)
 					nindex = 0;
 			}
+		} else if (i=='Z') {
+			if(strlen(paths[index])) {
+				if (askyn("确实要删除这个丝路吗?", NA, YEA) == YEA){
+               				strncpy(paths[index],"",sizeof(paths[index]));
+                			strncpy(titles[index], "尚未设定                            ",sizeof(titles[index]));
+	                		if (save_anpath(titles, paths) < 0) {
+						prints("丝路删除错误! 按任意键继续");
+						pressanykey();
+                			} else {
+                				pressreturn();
+                			}
+                		} else {
+                			pressanykey();
+                		}
+                	}
 		} else {
 			i = i - 'A';
 			if (i >= 0 && i < 20) {
@@ -2292,6 +2307,7 @@
 	return 0;
 }

+
 int
 select_anpath()
 {
@@ -2307,7 +2323,7 @@
 		return -1;
 	}
 	prints
-	    ("将文档保存到哪个丝路? (按A-H↑↓选择, ' '或回车确定', ←或'X'取消)");
+	    ("将文档保存到哪个丝路? (按A-T↑↓选择, ' '或回车确定', ←或'X'取消)");
 	for (i = 0; i < 20; i++) {
 		move(t_lines - 22 + 1 + i, 0);
 		prints(" %s(%c) %s",

YTHT特别服务安装指南

12月 25th, 2004 by tnds

本文所提到的软件包除特殊注明外,均可从以下两个压缩包中获得

http://bbs.zzu.edu.cn/ytht.rar

http://bbs.zzu.edu.cn/ytht1.rar

[以上两地址暂时失效]

部分变量说明

($BBSHOME):BBS安装主目录,通常为/home/bbs

($BBSSRC):BBS源码目录,通常为/home/bbssrc

($WWWHOME):web环境主目录,通常为/var/www

以下内容一般以cygwin为例说明,对于其他系统,有时需要更改扩展名,例如linux系统下可执行文件没有.exe扩展名,自行修改即可。

一、翻查字典(cdict)安装

1.将cdict-1.0-1.i386.rpm(在ytht1.rar中)解压到用户目录,执行

rpm -ih cdict-1.0-1.i386.rpm (for redhat/cygwin等)

或将cdict-1.0-1.i386.deb解压到用户目录,执行

dpkg -i cdict_0.1-3_i386.deb (for debian)

2.cp ($BBSSRC)/local_utl/shellscript4bbsuser/cdict2.sh ($BBSHOME)/bin/cdict.sh

二、科技词典(ncce)安装

注:由于cygwin缺少newt的支持,由此科技词典在cygwin环境下只能用于web

1.将nccedict.zip(在ytht1.rar中)的CE.IDX、CE.LIB、EC.IDX和EC.LIB复制到($BBSHOME)/etc/ncce

注:如果不是标准安装在/home/bbs目录,同时需要修改libncce.c中#define DICPATH 将其指向实际目录。

2.cd ($BBSSRC)/games/ncce
  make
  cp cgincce.exe ($WWWHOME)/cgi-bin
  cp ncce.exe ($BBSHOME)/bin

三、背单词安装

1.背单词的词库是我爱背单词4.0(一说2000)版的词库,但现在网上流传的多为2001及之后版本,我曾在maze上找到一个,但词库似乎仍与糊涂的对不上号。

2.背单词同样需要newt支持,因此在cygwin环境暂时无法使用。

3.如果有词库,将其拷贝至recite.c中所定义的libdir,同时要建立相对应的logdir

4.cd ($BBSSRC)/games/recite
  make
  cp recite.exe ($BBSHOME)/bin

四、推箱子(worker)安装

1.如果不是安装在标准的/home/bbs目录,需要修改worker.c 94行的map.dat为其实际目标路径。

2.cd ($BBSSRC)/games/worker
  make worker
  cp worker.exe ($BBSHOME)/bin
  mkdir ($BBSHOME)/etc/worker
  cp map.dat ($BBSHOME)/etc/worker

五、俄罗斯方块(Tetris)安装

mkdir ($BBSHOME)/etc/tetris
cd ($BBSSRC)/games/tetris
make
cp tetris.exe ($BBSHOME)/bin

六、扫雷与感应式扫雷安装

1.若bbs未安装在标准目录,需要分别修改winmine.c和winmine2.c中的winminepath和winmine2path使其指向实际的目录。

2.mkdir ($BBSHOME)/etc/winmine
 mkdir ($BBSHOME)/etc/winmine2
 cd ($BBSSRC)/games/winmine
 make winmine
 make winmine2
 cp winmine.exe ($BBSHOME)/bin
 cp winmine2.exe ($BBSHOME)/bin

七、打字练习(TT)安装

1.在cygwin下的time函数似乎有问题,造成打字游戏无法正常运行.

2.若bbs未安装在标准目录,同样需要修改TT.c中的recordfile定义,使其指向实际的目录

2.mkdir ($BBSHOME)/etc/tt
  make tt
  cp tt.exe ($BBSHOME)/bin

八、棋牌中心(Chess)的安装

进入ebbs目录,执行

gcc -o chessd.c和gcc-o chess.c,然后将生成的chessd和chc拷贝到($BBSHOME)/bin,运行

./chessd&

启动后台程序即可。

九、数字运算(Quickcalc)的安装

1.确认安装如下软件包,redhat、cygwin可用rpm -qa|grep [软件包名] 查询:

libreadline4
libreadline4-dev
libreadline
flex

2.将quickcalc-1.26.tgz解压到,并将($BBSSRC)/games/quickcalc-1.26-ythtpatch也复制到该目录。

3.patch<./quickcalc-1.26-ythtpatch
  make
  cp qc.exe ($BBSHOME)/bin

十、Freeip的安装
注意:如果使用的IP数据库是较新的,而程序仍然是913代码的话,需要修改sortip.c中定义的IPNUMS,将其改成大于当前IP数据库记录条数的值(例如,300000)。
1.cd ($BBSSRC)/games/bbsfreeip
 make getip
会下载最新的纯真数据库(这个同时也可以用于fterm和QQ),如果你有这个数据库的话,可以直接将qqwry.dat拷贝至($BBSSRC)/games/bbsfreeip并跳过第2步

2.对于在windows安装的,可以直接用winrar将qqwry.dat解压出来。
对于在linux下安装的,就比较麻烦得去
http://www.rarlab.com/rar/rarlinux-3.3.0.tar.gz
下载unrar并解压。

3.make qqip
./qqip
生成ip_arrange.txt

4.make sortip  
  ./sortip
生成ip_arrange_sort.txt

5. make ipnums.h
生成定义

6. $make

7.$make install

在cygwin下可能会出错,如果出现什么the same 之类的error,可以直接用windows的资源管理器进行复制,具体的路径就是:
把freeip.exe拷贝到($BBSHOME)/bin
把ip_arrange_sort.txt拷贝到($BBSHOME)/etc
把cgifreeip.exe拷贝到($WWWHOME)/cgi-bin

8.如果安装出现错误,可以考虑根据makefile中的内容单独make

十一、  元素周期表

cd ($BBSSRC)/wwwtools/periodic
mkdir ($WWWHOME)/html/periodic
cp * ($WWWHOME)/html/periodic

十二、LINUX手册

1.由于这个程序是调用的linux的内置手册,因此在cygwin下只能看到封面而不能看到内容

2.cd ($BBSSRC)/games/cgiman
  make cgiman
  cp cgiman.exe ($WWWHOME)/cgi-bin

十三、数学公式支持

1.我没有能在cygwin下调通。

2.cd ($BBSSRC)/games/tex/itex
  make
  cp itex2MML.exe ($BBSHOME)/bin
  cp math2mathplayer.exe ($BBSHOME)/bin

3.测试是否安装成功可参考此文

http://bbs.tju.edu.cn/itexintro.html

如果输入了一个数学公式,并且选择了使用tex数学公式,并且你也安装了相关的软件,应该能够正常显示。


登录 | 访问数16636 | 水木BLOG | 水木社区 | 关于我们 | Blog论坛 | 法律声明 | 隐私权保护 | 京ICP证050249号
水木社区Blog系统是基于KBS系统WordPress MU架构的