yakit的框架其实是类似于cs的主体是服务端,客户端只是一个简单的ui方便操作,同时他也提供了本地连接,平时使用还是本地连接的使用方式多,但在实际场景中服务端部署在vps上面会更加的方便,比如启动监听,使用反连啥的都可以直接启动,而且也减少了本地机器的性能不足的问题(实际在客户端上面抓包后的发包都会从vps发出去,一切的发包行为都由服务端完成,客户端只是下发指令可以这样理解)。
在Linux的vps中安装yak
官方手册中的下载方式介绍
旅程伊始:Yak 语言环境安装与搭建环境 | Yak Program Language
国内就使用
bash <(curl -sS -L http://oss.yaklang.io/install-latest-yak.sh)
查看版本
yak version
更新版本
yak upgrade
远程连接的使用方式
快速开始方式
yak grpc --host 0.0.0.0 --port 8087 --secret niganmahhh --tls
会开启vps的8087端口然后使用的tls所以需要复制这个认证,另外设置一个密码防止别人连你的服务器
客户端
使用自动生成的tls证书
yak grpc --host 0.0.0.0 --port 8087 --secret xxx --gen-tls-crt build --tls
会在当前目录的build目录下生成证书,但是后续要沿用这个证书就只能在有build的目录下使用
yak grpc --host 0.0.0.0 --port 8087 --secret xxx --tls
将进程挂到后台的方式
实际使用的时候希望他作为一个服务后台运行而不是每次用ssh连接着去启动使用
1、nohup
比较常见的方式使用nohup进行挂起进程
在有build的目录下挂起,关闭的时候只需要kill这个进程就可以了
nohup yak grpc --host 0.0.0.0 --port 8087 --secret xxx --tls &
2、systemctl起service
首先需要创建一个service的文件
touch /etc/systemd/system/yak-grpc.service
编辑这个yak-grpc.service文件
[Unit]
Description=Yak gRPC Service running as root
After=network.target
[Service]
Type=simple
WorkingDirectory=/home/ubuntu
ExecStart=/usr/local/bin/yak grpc --host 0.0.0.0 --port 8087 --secret xxx --tls
Restart=on-failure
RestartSec=5
User=root
# 注意:以 root 用户运行服务可能会带来安全风险
[Install]
WantedBy=multi-user.target
这里工作目录WorkingDirectory设置为了/home/ubuntu ,其实就是下面有build文件,但是这个不是必须的,因为systemctl可以查看启动后的日志,所以不使用默认的证书也可以通过查看到日志中的证书来使用
重新加载systemctl 的服务
systemctl daemon-reload
启动
systemctl start yak-grpc
设置为开机自启动
systemctl enable yak-grpc
查看状态
systemctl status yak-grpc
重启服务
systemctl restart yak-grpc
查看运行日志
journalctl -u yak-grpc
相比之下第二种会更加的方便,因为可以看到日志还是挺好的。