telnet和ssh bbs或mud服务器开发框架,带有示例默认bbs板
x84的Python项目详细描述
简介
一个实验性的python telnet和ssh服务器框架
x/84的主要目的是为构建 模仿万维网之前的时代感觉的环境。 它可以用于开发一个经典的公告板系统(BBS)-一个是 作为“默认”脚本层提供。它也可以用来开发泥浆, 一种基于文本的游戏,或由dGameLaunch完成的游戏托管服务器。
您可以在Telnet主机1984访问X/84提供的“默认板”。ws:
telnet 1984.ws # or ssh anonymous@1984.ws # or rlogin 1984.ws
技术
x/84提供了一个scripting引擎,用于一次开发telnet中的字符 或ssh服务器,例如mud或bbs系统。x/84中使用的技术 是从用于telnet的miniboa(apache 2.0许可)派生的,blessed (mit许可)对于终端功能,sqlitedict(公共域)对于 持久数据,paramiko用于ssh和sftp服务,以及web.py用于http 服务。
会话之间的异步进程间通信通过 事件队列框架,用于编写“共享”体验的脚本。几个 提供了这些示例,例如chat.py。默认板 提供一些演示活动。
curse(termlib和terminfo)数据库支持的所有终端类型都是 允许,通过blessed提供“pythonic”终端框架。
可移植性等同于python,并且已经在raspberry pi、android上进行了测试, Mac、OpenBSD、Solaris等。
ansi art,例如在ACiDdark domainsdvd上找到的,被翻译为 为utf-8和ibm cp437终端提供相当精确的复制品。这个 允许在诸如terminal.app或 典型的模拟终端,如syncterm。带有Sauce记录的艺术品 也支持。
有关兼容客户端的列表,请参见clients。
快速启动
注意,由于对游标的blessed依赖性,只支持linux、bsd或osx。
安装X/84:
pip install x84[with_crypto]
或者,如果c编译器和libssl等不可用,只需:
pip install x84
但是请注意,如果没有[with_crypto]选项,则 将无法运行任何web、ssh和sftp服务器,并且 密码散列(和验证)将明显较慢。
如果收到关于找不到setuptools_ext的错误,则 可能需要升级安装的setuptools版本,然后重试:
pip install -U setuptools
启动x84.enginepython模块:
x84
telnet到127.0.0.1 6023,假设bsd telnet客户端:
telnet localhost 6023
所有数据文件都写入~/.x84/。要创建自定义板, 您可以将x/84python模块的default文件夹复制到 本地路径,并指向^{tt6}的scriptpath变量$ 指向那个文件夹。
只需编辑并保存更改,然后重新登录即可查看更改。调整 show_traceback变量直接向您的 telnet或ssh客户端。
文档、支持、问题跟踪
请参阅Documentation以获取api和一般教程,特别是developers 准备开发人员环境的部分(如果您希望贡献 上游。值得注意的是,终端接口用于键盘输入 以及屏幕输出,并且在blessed中有很好的文档记录。
不过,这个项目不是很严肃(例如,没有测试) 欢迎投稿(特别是修复和文档)。见 有关源树和问题跟踪的github的项目。如果有特征, 错误,或您希望看到的更改,f鳗鱼可以自由发表意见。
如果你想和X/84的开发者聊天,我们在频道1984 在irc.efnet.org上。