关于OnionJuggler
OnionJuggler是一款功能丰富的Onion服务管理工具,适用于类Unix操作系统。该工具使用POSIX兼容的Shell脚本进行编写,可以帮助广大研究人员在类Unix系统上通过命令行管理自己的Onion服务。
OnionJuggler是一个低要求、可移植的脚本和文档集合,用于帮助服务运营商处理和管理自己的Onion服务。
项目目标
1、方便Onion服务管理,从激活服务到向其添加客户端授权,提供手动编辑文件的全部功能,而无需过多的修改。
2、向研究人员展示,管理Onion服务不仅可以通过Web页面和Web服务器的形式,还可以通过命令行的形式。
3、分发,从源代码级别(FOSS)到允许任何人在任何操作系统、shell或服务管理器上运行代码所产生的效果。
功能介绍
启用服务
禁用服务
更新服务地址
凭证设置
Onion认证
Onion位置
备份
操作安全
Web服务器
可用性
可扩展
工具要求
系统&权限
类Unix系统
超级用户权限以通过root或tor用户调用命令
所需组件
sh
doas/sudo
tor >= 0.3.5.7
grep >=0.9
sed
tar
Openssl
basez
git
python(3)-stem >=1.8.0 (Vanguards)
dialog/whiptail (TUI)
nginx/apache2
可选组件
(lib)qrencode >= 4.1.1
开发组件
pandoc
shellcheck
工具安装
首先,广大研究人员需要使用下列命令将该项目源码克隆至本地:
git clone https://github.com/nyxnor/onionjuggler.git cd onionjuggler
设置自定义变量
千万不要去修改“/etc/onionjuggler/onionjuggler.conf”这个默认配置文件,因为它会在每次更新的时候自动修改。你自己的本地配置文件路径为“/etc/onionjuggler/conf.d/*.conf”。
如需修改变量值,可以按照下列步骤操作:
使用编辑器打开上述配置文件:
"${EDITOR:-vi}" /etc/onionjuggler/cond.d/local.conf
或者使用tee在结尾插入下列配置内容:
printf "su_cmd=\"sudo\"\n" | tee -a /etc/onionjuggler/cond.d/local.conf
或者直接使用sed进行编辑:
sed -i'' "s|^su_cmd=.*|su_cmd=\"doas\"|" /etc/onionjuggler/cond.d/local.conf
设置环境
在克隆到本地的项目目录下创建tor目录,创建手动页面,并将脚本拷贝至目录中:
./configure.sh --install
工具使用
onionjuggler-tui
onionjuggler-tui是命令行工具的终端用户接口封装,某些TUI选项可以允许我们修改认证授权文件。
获取TUI手册:
man onionjuggler-tui
运行下列命令即可使用TUI:
onionjuggler-tui
onionjuggler-cli
onionjuggler-cli是该工具负责管理HiddenServices的主脚本,具体可以参考项目docs目录中的内容,这里提供了很多关于Onion服务管理的参考信息。
下列命令可以创建一个名为terminator的服务:
onionjuggler-cli on -s terminator
我们也可以在运行时提供指定的运行参数:
onionjuggler-cli on --service terminator --socket unix --version 3 --port 80,127.0.0.1:80
工具运行截图
项目地址
OnionJuggler:【GitHub传送门】
参考链接
https://github.com/onionshare/onionshare/tree/develop/cli
https://stem.torproject.org/faq.html#what-python-versions-is-stem-compatible-with
https://github.com/nyxnor/onionjuggler/blob/main/docs/onionjuggler-tui.1.md
https://github.com/nyxnor/onionjuggler/blob/main/docs/onionjuggler-cli.1.md
https://github.com/nyxnor/onionjuggler/blob/main/docs/onionjuggler.conf.5.md
https://github.com/nyxnor/onionjuggler/blob/main/docs/vitor.8.md