ACF 库
ACF 库
由于使用了非常小的语言 lua,因此需要从头开始构建所有内容。这可能会导致一些困惑、担忧或只是感到不知所措。这是关于我们现在拥有的库和常用函数的文档。我们希望构建更多内容,并利用这些信息来激发关于 ACF 的灵感。
其中一些是 lua 库或为 ACF 编写的库。我们还将 lposix 库作为标准,其文档在此处 LPOSIX
通用库 (acf-lib)
apk.lua
加载/卸载 apk 软件包的函数
- delete - 删除软件包
- install - 安装软件包
- version - 检查软件包的已安装版本
date.lua
日期和时间函数,与 os.time() 和 os.date() 一起使用
- date_to_seconds - 接收日期表并将日期表转换为自 1970 年以来的秒数
- seconds_to_date - 接收秒数值表并将秒数值表转换为按从小到大排序的日期
- string_to_table
- date_diff - 接收两个秒数值并返回差值
- num_month_name - 月份数字到月份名称
- num_month_name_abr - 月份数字到月份缩写
- name_month_num - 月份名称到数字
- abr_month_num - 月份缩写到数字
- num_dow_name - 星期几数字到名称
- num_dow_name_abr - 星期几数字到缩写
- name_dow_num - 星期几全名到数字
- abr_dow_num - 星期几缩写到数字
- what_tz - 检查盒子设置的时区;/etc/TZ
- change_tz - 更改时区
- 此信息包含表格
- 时区
- 星期几
- 月份
- 此信息包含表格
format.lua
用于格式化表格和字符串
- dostounix - 将 DOS 行尾符转换为 Unix
- escapemagiccharacters - 转义 Lua 魔术字符
- escapespecialcharacters - 转义 shell 特殊字符
- parse_lines - 去除空白行和注释行
- parse_linesandwords - 删除空白和注释,并解析每行的单词
- parse_configfile - 解析配置文件的名称/值对
- search_replace - 遍历行表以搜索和替换
- search_for_lines - 遍历文件或行表并返回匹配行的表
- cap_begin_word - 将单词的首字母大写
- string_to_table - 将分隔字符串转换为表格
- expand_bash_syntax_vars - 接收字符串并使用 Lua 变量扩展任何 ${...} 结构
- replace_line - 从字符串中删除指示的行并替换它
- insert_line - 在字符串中指示的位置插入新行
- get_line - 按编号返回指定的行
- opts_to_table - 在选项字符串中搜索单独的选项并将它们放入表格中
- table_to_opts - 遍历选项表并创建选项字符串
- update_ini_file - 在特定的 ini 部分中设置值
- parse_ini_file - 从 ini 文件读取值/多个值
- get_ini_section - 从 ini 文件读取整个部分
- set_ini_section - 在 ini 文件中设置整个部分
- get_ini_entry - 从 ini 文件中获取条目值,考虑父部分和变量
fs.lua
用于各种文件系统特定功能
- is_dir - 测试路径是否为目录
- is_file - 测试路径是否为文件
- is_link - 测试路径是否为链接
- create_directory - 创建目录(如果目录不存在),包括父目录
- remove_directory - 删除目录及其内容
- create_file - 创建空白文件(并在必要时创建目录)
- copy_properties - 将一个文件的权限和所有权复制到另一个文件
- copy_file - 将文件复制到目录或新文件名(并在必要时创建目录)
- move_file - 将文件移动到目录或新文件名(并在必要时创建目录)
- read_file / read_file_as_array - 将文件读取为字符串/数组
- write_file - 替换文件内容
- write_line_file - 将行附加到文件
- find_files_as_array - 返回 "where" 下与 "what"(Lua 模式)匹配的文件数组
- find - 提供路径和搜索字符串,并迭代匹配的文件
- stat - 几乎与 posix.stat 相同,但它以人类可读的方式写入输出
html.lua
用于生成 HTML 代码。
- cookie.set - 创建 cookie
- cookie.unset - 清除 cookie
- html_escape - 转义 HTML 编码的字符串
- entity - 输出标签,例如 h1、h2、p 等。
- link - 创建链接标签
- 表单设置函数 - 创建表单标签
- form.text
- form.longtext
- form.password
- form.hidden
- form.submit
- form.action
- form.file
- form.image
- form.select
- form.checkbox
- form.start
- form.stop
processinfo.lua
管理进程
- package_version - 返回 apk 软件包的版本
- process_autostart - 返回描述进程运行级别的字符串
- read_initrunlevels - 返回所有运行级别中的所有进程
- add_runlevels - 将进程添加到运行级别列表
- delete_runlevels - 从运行级别列表中删除进程
- daemoncontrol - 启动/停止/重启/... 进程(调用 /etc/init.d/service)
- pidof - 查找正在运行的程序的进程 ID
validator.lua
这包含多个不同的函数,每个函数都将以自己的方式验证输入。
- is_string - 测试变量是否为字符串类型
- is_boolean - 测试变量是否为布尔类型
- is_number - 测试变量是否为数字类型
- is_ipv4 - 测试是否为有效的 ipv4 地址
- is_partial_ipv4 - 测试是否为部分有效的 ipv4 地址
- is_mac - 测试是否为有效的 mac 地址
- is_integer - 测试字符串是否包含整数
- is_integer_in_range - 测试字符串是否包含给定范围内的整数
- is_port - 测试字符串是否包含 IP 端口范围内的整数
- is_valid_filename - 测试字符串是否为有效的文件名,以及(可选)是否位于指定的路径中
ACF 特定库 (acf-core)
authenticator.lua
身份验证模块。此模块加载一个子身份验证器模块,并通过 auth 表公开其功能。
- authenticate
- get_userinfo
- get_userinfo_roles
- list_users
- change_settings
- new_settings
- delete_user
authenticator-plaintext.lua
用于纯文本数据库的身份验证子模块
- list_fields
- read_field
- delete_field
- write_entry
- read_entry
- delete_entry
controllerfunctions.lua
控制器辅助函数
- handle_clientdata
- handle_form
- handle_startstop
由 nangel 为 ACF 编写
- get_menuitems
modelfunctions.lua
- getenabled
- startstop_service
- getstatus
- getfiledetails
- setfiledetails
- validateselect
- validatemulti
- write_file_with_audit
roles.lua
- list_controllers
- get_controllers
- get_controllers_func
- get_controllers_view
- list_default_roles
- list_roles
- list_all_roles
- get_roles_perm
- get_role_perm
- delete_role
- set_role_perm
session.lua
由 nangel 为 ACF 编写。
- random_hash - 将从 /dev/urandom 创建类似 bash64 的哈希
- hash_ip_addr - 创建哈希编码的 ip 地址
- ip_addr_from_hash - 获取哈希编码的 ip 并给我 ip
- serialize - 遍历表格或表格集合并序列化
- save_session - 保存会话表
- load_session - 加载保存的会话表
- unlink_session - 删除保存的会话表
- record_event - 记录无效的登录尝试
- count_events - 检查是否存在过多的无效尝试
- expired_events - 删除过期的无效尝试和保存的会话
viewfunctions.lua
displayinfo - 已过时 displaymanagement - 已过时
- displayitem
- displayformitem
- displayform
- displaycommandresults