Flutter命令行工具插件at_cli的使用
Flutter命令行工具插件at_cli的使用
at_cli
A command line tool to execute verbs on at platform.
构建
假设 - 您已经安装了Dart SDK。版本应为 >= 2.12.0 并且 < 3.0.0。
首先获取依赖项(如 pubspec.yaml
中定义的):
dart pub get
现在可以在 Dart 虚拟机中运行命令:
dart run bin/main.dart
此时会打印出一些使用说明:
Usage:
-a, --auth 如果命令需要服务器认证,则设置此标志
-m, --mode 如果需要认证,则选择认证模式 [cram, pkam]
-f, --authKeyFile cram/pkam 文件路径
--atsign 当前 Atsign
-c, --command 要执行的 at 命令
-v, --verb 要执行的动词
-p, --public 如果密钥具有公共访问权限,则设为 true
-k, --key 要更新的键
--value 键的值
-w, --shared_with 与谁共享密钥的 atsign
-b, --shared_by 谁共享了该密钥
-r, --regex 扫描的正则表达式
如果您经常使用 atcli
,那么将其创建为二进制文件并复制到 PATH 中是有意义的,例如:
dart compile exe bin/main.dart -o ~/atcli
sudo cp ~/atcli /usr/local/bin/
验证 config.yaml
文件中的以下信息。请提供有效值:
root_server:
# Root server 运行的端口。
port: 64
host: 'root.atsign.org'
auth:
required: true # 动词是否需要认证
mode: cram # 认证模式 (cram 或 pkam)
key_file_location: 'bin/[@alice](/user/alice)' # 包含 PKAM/CRAM 密钥的文件路径
at_sign: '[@alice](/user/alice)'
也可以从命令行提供上述认证相关信息。
以下是执行动词的一些示例。
scan
无认证
dart run bin/main.dart -v scan
此命令将返回在 config.yaml
中提供的 atsign 的所有公共可用密钥。
或者可以从命令行提供 atSign:
dart run bin/main.dart -v scan -a [@alice](/user/alice)
样本输出:
[firstname[@alice](/user/alice), location[@alice](/user/alice), signing_publickey@alice]
带认证
dart run bin/main.dart -v scan -a true
或
dart run bin/main.dart -v scan -a true -a [@alice](/user/alice)
此命令将在认证成功后返回 @alice 的所有密钥(使用 config.yaml
中提供的 cram/pkam)。
样本输出:
[[@alice](/user/alice):signing_privatekey[@alice](/user/alice), public:firstname[@alice](/user/alice), public:location[@alice](/user/alice), public:signing_publickey@alice]
注意:可以使用 -m/--mode
选项提供认证模式,使用 -f/--authKeyFile
提供 cram/pkam 文件路径。
update
update
动词用于更新/创建带值的键。update
动词需要认证。
创建一个私有于 alice 的键 ‘firstname’,其值为 ‘alice’
dart run bin/main.dart -v update -k firstname --value alice -p false -a true
样本输出:
true
创建一个公开可用的键 ‘lastname’,其值为 ‘alice’
dart run bin/main.dart -v update -k lastname --value alice -p true -a true
样本输出:
true
lookup
lookup
动词用于查找特定 atSign 的某个键。lookup
动词需要认证。
查找 bob 的电子邮件
dart run bin/main.dart -v lookup -k email --atsign @bob -a true
样本输出:
bob@at.com
也可以直接运行命令来查找 bob 的电子邮件:
dart run bin/main.dart -c lookup:email@bob -a true
样本输出:
bob@at.com
llookup
llookup
动词可用于本地查找存储在二级服务器上的键。执行 llookup
需要认证。
查找 alice 的 firstname
dart run bin/main.dart -v llookup -k firstname --atsign [@alice](/user/alice) -a true
样本输出:
alice
或者可以直接运行命令:
dart run bin/main.dart -c llookup:firstname[@alice](/user/alice) -a true
样本输出:
alice
plookup
plookup
动词提供代理的公共查找,适用于可能位于防火墙后的解析器。这将允许解析器联系 atServer,并让 atServer 查找公有的 atSign 处理信息。
查找 public:location@alice 的值
dart run bin/main.dart -v plookup -k location --atsign [@alice](/user/alice) -a true
样本输出:
india
也可以直接运行命令:
dart run bin/main.dart -c plookup:location[@alice](/user/alice) -a true
样本输出:
india