Tags: , , , , , 726, Posted in 软言软语 1条留言

从去年开始,一直在使用NetBox作为IIS/ASP的临时替代平台。
由于在CNFREE看到有人说需要“方便”、“简单”的ASP服务器,就推荐了这个,结果人家说:“NetBox没听过,…… ”,很不识货的行为。

NetBox内嵌ASP解析,并且程序体积微小(相对与IIS,算Tiny了)
官方介绍:

NetBox 编译器

  编译所有内部对象、引擎和脚本文件,并封装到独立可执行文件中,不需要安装任何补丁即可在 Windows 98、Windows NT/2000/XP/.NET 2003 RC1 上直接执行,极大的方便了部署和安装。编译后程序运行速度提高2~10倍,代码安全性好有效的保护了知识产权,解决了以往 ASP 开发的应用程序的发布问题。

可编程虚拟机

  NetBox 提供了强大的虚拟机对象,供开发商在应用程序中加入用户可编程特性(类似且强于Word 中的宏),提供用户订制计算、复杂商务逻辑的二次开发。由于虚拟机独立于应用程序,它安全可靠,可以控制并去除有害代码。NetBox 的虚拟机对象提供完整的错误回报和错误捕获功能。

应用服务器

  NetBox 提供了可编程的高性能 HTTP 服务器对象,直接编译到应用中无需独立部署。目前 NetBox 使用经业界广泛验证的 OpenSSL 来支持高效安全的 SSL 和 TLS 标准。

网络服务器

  NetBox 提供可编程的高性能 TCP 服务器对象用于编写多线程网络服务器软件,如 FTP,SMTP,POP3,Telnet,网络游戏服务器等。内置的 SSL、TLS 支持,无需编写代码直接支持安全传输。

强大的 HTML 对话框

  NetBox 提供一种新的快速创建桌面应用的方法,开发人员直接使用功能强大,设计容易的 HTML 作为软件界面,支持文字、图形、声音和流媒体的整合,支持数据库访问,支持 HTTP 和 TCP,支持 XML,支持各种加密算法,支持各种外设。NetBox 可以在很短的时间内开发功能强大的多媒体应用、网络应用(离线软件、下载工具等),商业软件客户端等。

当然,我们如果仅仅需要一个ASP服务器,那么就不用去下载那么麻烦的工程包(还需要申请授权,确保你的使用是合法的,至于为什么,后面告诉你),

只需要安装后目录中的Netbox.exe文件Just need it就行,而配合使用的就是一个任意文件名(例如main.txt)的配置文件,按照WINDOWS的拖放规则,只需要将配置文件拖放到Netbox.exe上,之后会在任务栏出现一个ICONNetBox Tray Icon,这时代表NETBOX已经在运行。
就这样,一个ASP服务器就开始运行了,没其它东西吗?没,仅此而已了!

当然,NetBox的诞生不是用来做这样的简单应用的。
据我的理解,NetBox.exe只是一个被用来嵌入于“ASP程序包”的服务程序,而整套NetBox是用来打包ASP程序以达到源码保密的目的(因为打包后为一个.exe程序,直接启动就打开该机80端口运行WEB服务,并不公开其中的ASP源码),也就是un-Open Source吧?
因此,可以利用NetBox将ASP程序打包为一个EXE文件,便可以随处演示了。

不过,这么简单的事情也就产生了一些麻烦,NetBox被作为WEB后门的打包程序用于“黑客”行为,这里就有该公司的一份声明。
产品无罪嘛,万一大家遇到了这样的东西出现在自己服务器上,原谅NetBox吧。

当然,NetBox的功能不仅于此,更多高级的功能,你需要参考技术文档

NetBox.exe 明天提供下载。如果谁觉得提供该程序违法了,请告之,我将撤消。
NetBox程序包: http://www.netbox.cn/download/nbsetup.EXE

Update: Aug 21st, 2005
NetBox Lite Package: http://www.live21.org/download/netbox.zip (Include netbox.exe and config file)

附 配置文件内容:

Dim httpd

Shell.Service.RunService "NBWeb", "NetBox Web Server", "NetBox Http Server Sample"

'---------------------- Service Event ---------------------

Sub OnServiceStart()
    Set httpd = CreateObject("NetBox.HttpServer")

    If httpd.Create("", 80) = 0 Then
        Set host = httpd.AddHost("", "\10")

        host.EnableScript = true
        host.AddDefault "default.asp"
        host.AddDefault "default.htm"
        host.AddDefault "default.html"
        host.AddDefault "index.asp"
        host.AddDefault "index.htm"
        host.AddDefault "index.html"

        httpd.Start
    else
        Shell.Quit 0
    end if
End Sub

Sub OnServiceStop()
    httpd.Close
End Sub

Sub OnServicePause()
    httpd.Stop
End Sub

Sub OnServiceResume()
    httpd.Start
End Sub
August 20, 2005