|
BBS站之所以吸引使用者的地方, 除了它的 talk 以及 chat 功能外, 就是板面上文章的討論.
剛開始的 BBS 版本, 如美國的 Eagle BBS, 它的文章都是 local file. 也就是說, 即使是相同的討論區, 只要不是同一個 BBS, 文章就無法交流. 這其實有個好處, 可以造成每個 BBS 站有其風格. 但它的壞處也很明顯: 該流通的資訊跼限於某個固定的 BBS, 使得資訊取得不易.
當 BBS 開始在台灣風行時, 當時 BBS 的兩大龍頭: 中山 BBS 和交大資工 BBS 對於文章無法交流提出了解決方法: 利用 NEWS Server!!
NEWS Server 跟 BBS Server 上, 文章的分類很像. 某一類的文章有其相對的 NEWS Group, 而 BBS 站上某一類的文章會有其相對的板面 (board). 所以, 腦筋動得快的人就想到啦, 利用 NEWS Server 上相對應的 Group, 把 BBS 站上相對應的板面上的文章, 轉送到其它的 BBS 站上. 如此一來, 只要能接收到 NEWS Server 上的 NEWS Group, 就可以收到別的 BBS Server 的文章. 這就是 BBS Server 間轉信的基本概念.
我們先簡介一下 NEWS Server 以及 BBS Server 間轉信的架構.
NEWS Server 的運作流程是, 下游的 NEWS Server 要向上游的 NEWS Server 註冊, 如此一來, 上游只要有新的文章就會自動餵送 (feed) 到下游的 NEWS Server 上去, 而當下游有新的文章進入時, 也要自動回送給上游的 NEWS Server.
BBS 要和 NEWS Server 之間發生關聯, 一定要分成兩部份, 收信和送信.
收信部份, BBS Server 端要啟動一個 NEWS Server Deamon的模擬程式, 專門用來接收上游 NEWS Server 餵送 (feed) 的文章.
送信部份, 在 BBS Server 端還要跑一個 NEWS Client 的模擬程式, 專門用來將 BBS 上相對討論區的文章丟到上游的 NEWS Server.
不過, 用上述方式轉信, 有一個比較麻煩的地方是, BBS Server 必須要通知上游的 NEWS Server 餵信(feed), 否則, NEWS Server 是不會主動餵信給 BBS Server 的.
現在, 還有個更方便的辦法. 就是 BBS Server 不必再模擬成 NEWS Server 等待上游餵信, 如果它能模擬成一個 NEWS Client, 上 NEWS Server 直接抓取信件再轉交 BBS Server, 那就達到相同的目的. 它的缺點是, 因為是主動抓信, 所有的動作由 Client 主導, 所以萬一 Client 沒有設定好, 很可能會造成上游 NEWS Server 的負擔.
我們提供的 source code 中提供了三個轉信用途的程式, 分別是 innbbsd, bbsnnrp, bntplink.
下圖可以看出轉信程式之間的運作:
innbbsd 負責收 NEWS 上的信件, 收信方式有兩種, 一種是由 NEWS Server 主動餵信, 另一種是透過 bbsnnrp 這個抓信程式上 NEWS Server 抓信後再餵給 innbbsd. innbbsd 收到後再轉貼於 BBS 的討論區內.
bntplink 負責送 BBS 討論區內的新信件上 NEWS Server.
[ 安裝說明 ]
1. 在 bbs/ 下建立一個叫做 innd 的目錄
cd bbs
mkdir innd
2.修改 bbs/src/innd/ 目錄內的 Makefile
把 BBSHOME 和 BBS_SRC 改成正確的路徑
BBSHOME 是 bbs/ 的絕對路徑
BBS_SRC 則是 bbs/src/maple 的絕對路徑
ADMINUSER寫上bbs管理員的email
BBSADDR則是bbs的host name
3.執行 make 並把新檔案 copy 到 bbs/innd 目錄下
在 bbs/src/innd/ 裡執行 make bsd install (假設我們的bbs是架在FreeBSD上面)
copy newsfeeds.bbs, nodelist.bbs 和 bbsname.bbs 到 bbs/innd/ 下
4.設定相關檔案
在 newsfeeds.bbs 中加入一行如下:
tw.bbs.test test news_server
其中, news_server 就是用來轉信的 NEWS Server(假設news.ncku.edu.tw)
tw.bbs.test 是 NEWS Server 上某個 NEWS group(可以利用tin等一些news reader來查詢)
test 則是 tw.bbs.test 在 BBS 上相對應的討論區名
在 nodelist.bbs 中加入兩行如下:
my_host my_host_domain IHAVE(7777)
news my_news_domain POST(119)
IHAVE 和 POST 的意思在此不做解釋, 有興趣我們私下討論.
在 bbs/innd/ 中新增一個文字檔, 名稱叫 news.act
內容只有一行: |
|