11个版本

0.5.2 2024年8月15日
0.5.1 2024年3月17日
0.5.0 2023年12月16日
0.4.2 2023年8月5日
0.1.1 2023年3月28日

#398网络编程

Download history 1/week @ 2024-05-20 10/week @ 2024-06-03 2/week @ 2024-06-10 16/week @ 2024-07-22 109/week @ 2024-08-12

125 每月下载量

GPL-3.0-or-later

130KB
3K SLoC

ACSRS

用Rust编写的简单ACS。

您可以使用简单的curl命令从任何由该ACS管理的CPE获取或设置datamodel。

支持的功能包括

  • 零配置服务器:服务器在第一次启动时尝试安全地配置自己。
  • 支持HTTP、HTTPS和身份验证。
  • ACS配置和连接的CPE是持久的。
  • 具有高级自动完成的CLI,以与CPE交互。
  • GetParameterValues、SetParameterValues、Upgrade。

一些限制包括

  • 没有实现通知机制。
  • 可能不完全符合TR-069标准。

安装ACSRS

可以从cargo直接安装应用程序

cargo install acsrs

运行ACSRS

只需不带任何参数启动应用程序

acsrs

它将通过生成新的用户、密码、证书和CA来自动配置自己。一切都在 $HOME/.acrs 目录下,并且可以覆盖。一些有用的文件包括

  • config.toml:ACS配置。
  • ca.pem:证书颁发机构。将此文件安装到您的CPE上以验证ACS。
  • identity.p12:ACS使用的PKCS12身份。
  • cert.pem:ACS公共证书。

注意:默认情况下,ACS公共证书的通用名(CN)是通过您的公共IP地址派生的。您可以通过编辑 $HOME/.acsrs/config.toml 并在那里设置主机名来覆盖它。您还可以禁用自动生成证书机制,如果您希望安装自己的证书。

使用acscli的使用

acscli是ACSRS的交互式UNIX CLI

全局命令

  • help:显示此帮助
  • exit:退出此应用程序

断开连接时的可用命令

  • ls:列出连接到此ACS的CPE
  • cd|connect [SN]:连接到指定序列号的CPE
  • monitor:监视ACS收到的所有Inform消息

连接到CPE时的可用命令

  • disconnect:从当前CPE断开连接
  • ls [路径]:列出当前对象下的参数
  • cd [路径]:更改目录
  • get [路径] | [路径]?:获取对象或参数值
  • set [路径]=值 | [路径]=值:设置参数值
  • add [路径] | [路径]+:向对象集合中添加新对象。
  • del [路径] | [路径]-:删除对象。
  • upgrade [文件名]:将CPE升级到提供的固件

ACS管理API

ACS服务器默认可以通过http://127.0.0.1:8000/api URL使用JSON API进行管理。JSON API定义在https://github.com/guillaumepellegrino/acsrs/blob/master/src/api.rs

依赖项

~15–31MB
~510K SLoC