telnet和ssh bbs或mud服务器开发框架,带有示例默认bbs板

x84的Python项目详细描述


Code HealthLatest VersionLicenseDownloads

简介

一个实验性的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服务器,例如mudbbs系统。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。

  1. 安装python2.7和pip。很可能这是通过 优先配送包装系统。
  1. 安装X/84:

    pip install x84[with_crypto]
    

    或者,如果c编译器和libssl等不可用,只需:

    pip install x84
    

    但是请注意,如果没有[with_crypto]选项,则 将无法运行任何web、ssh和sftp服务器,并且 密码散列(和验证)将明显较慢。

    如果收到关于找不到setuptools_ext的错误,则 可能需要升级安装的setuptools版本,然后重试:

    pip install -U setuptools
    
  2. 启动x84.enginepython模块:

    x84
    
  3. 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的开发者聊天,我们在频道1984irc.efnet.org上。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java中char的用途   swing修复,以便显示可以同时显示十进制数和整数   java给定一个场景,找到拥有的JFXPanel   java JPA 2标准获取路径导航   java如何用JUnit测试这个类?   JSF中的java请求作用域   Spring云Zuul代理背后的java Spring OAuth授权服务器   java限制聚合返回的存储桶大小   java如何在安卓应用程序中请求超级su权限   防止超级关键字的java Checkstyle规则   java 安卓。应用程序。应用程序无法强制转换到安卓。应用程序。在回收器适配器中使用FragmentManager时的活动   使用Java的Twitter广告API   切换到4.0.1版本后,java“JavaMailSenderImpl无法解析为类型”   java没有getter方法可用于名称下bean的属性   java 0/1背包堆空间   java我无法使用断点进行调试   Jar文件名表单java代码   java调用从扩展活动的MainActivity类扩展片段的类片段