osgood
一个专门运行 JavaScript 脚本的 HTTP 服务器。
你可以把它想象成内置了 Express 框架的 JS 并在运行时。
一个安全,快速,简单的平台,用于运行JavaScript HTTP服务器。
它是使用Rust和V8编写的。
今天编写的服务有一个共同的缺陷:过度特权。
Osgood试图从头开始构建一个平台,该平台的核心应用了最少特权原则。
Osgood要求提前编写策略来描述应用程序的I/O需求。如果这样的操作没有被白名单,它将失败。
熟悉web浏览器中JavaScript开发的开发人员应该对Osgood中提供的api非常熟悉。
什么是osgood?
Osgood是一个专门用于运行HTTP服务器的JavaScript运行时。其目标是提供一种快速简单的构建HTTP服务器的安全方法。Osgood为您处理服务器路由和配置,使您可以专注于应用程序代码。
今天,我们使用通用语言运行时构建Web应用程序。Osgood是一个实验,提出了一个问题:“如果我们专门为网络应用程序构建运行时怎么办?从更高级别的抽象中我们可以获得什么样的好处?”
由于Osgood运行时对路由表有深入了解,因此我们可以免费隔离控制器(我们将这些称为Workers)。应用程序执行的I / O以及策略实施都发生在Rust-land中。每个工作人员都有自己的权限集。
考虑控制器A有权向其发送消息的情况 intrinsic.com,并且控制器B可以访问用户凭据。在正确配置的Osgood应用程序中,这意味着无法将用户凭据传输到intrinsic.com。
安装Osgood
下载预建版本
可以从github 上页面下载所有预构建版本 。
Hello, World!
// app.jsapp.port = 3000;app.get('/hello', 'hello-worker.js');// hello-worker.jsexport default () => 'Hello, World!';$ osgood app.js$ curl localhost:3000/hello
应用文件
Osgood应用程序文件本质上是应用程序的入口点。每个应用程序都有一个应用程序文件。它是该osgood命令唯一必要的参数。
该文件有三个目的:
- 配置端口和接口等全局设置
- 将传入的请求路由到所需的Osgood工作者
- 为每个Osgood工作者配置安全策略
有关Osgood应用程序文件的更多信息,请参见Osgood应用程序文件 帮助文档。
开源地址:
由于头条审核网址比较严,防止他们误会是推广,所以大家可以自行搜索下载
也可以关注我的头条号后给我发送 `osgood`,会自动把下载地址发送给你(做了关键字自动回复)
您知道哪些好用的在线构建运行库,欢迎评论分享,共同探讨学习
更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。