如果对linux的基本操作和vim没有基础的理解,可能需要另外对这些内容进行学习

连接方法

大厅服务器目前仅支持使用RSA密钥进行SSH连接,请选择易于操作的终端对密钥和账户进行管理,此处推荐使用tabby terminal,服务器ip为*.*.*.*(群内获取),SSH端口为22,请使用root用户登录,密钥文件可在群内找到,文件名为id_rsa

文件结构

/root文件夹即~文件夹下存放着所有与大厅管理相关文件,目录结构如下

.
├── IDandEmail.txt //进入后发送邮件提醒,格式为:匹配项,邮箱
├── IDandInfo.txt //进入后大厅内消息提醒,格式为:匹配项,消息内容
├── SokuLobbiesServer-0.7 //大厅服务器的可执行文件
├── backup //杂项
├── ban.log //被ban的记录
├── banlist.txt //进入后使用iptables永久封禁的列表,格式为:匹配项
├── banlist_1min.txt //进入后使用iptables封禁一分钟的列表,格式为:匹配项
├── chat.log //聊天记录的记录
├── connect.csv //search.py的中间文件
├── connect.log //进入大厅记录的记录
├── frp_0.61.1_linux_amd64 //一个frp
├── log_banword_first.py //用于第一个大厅的消息处理文件
├── log_banword_second.py //用于第二个大厅的消息处理文件
├── log_banword_third.py //用于第三个大厅的消息处理文件
├── others.log //其余消息的记录
├── report.log //举报消息的记录
├── search.py //用于搜索一个机签的关联机签和ip
├── soku01.log //用于第一个大厅的消息记录的管道中转文件
├── soku02.log //用于第二个大厅的消息记录的管道中转文件
├── soku03.log //用于第三个大厅的消息记录的管道中转文件
├── teamspeak3-server_linux_amd64 //一个teamspeak服务端
└── wordlist.txt //敏感词列表

tmux使用方法

服务器使用tmux管理不同的大厅,可以使用tmux ls 查看当前的所有tmux实例

如图,当前大厅运行在三个tmux实例上,CN01运行在run07-12,CN02运行在run07-Second,另有一个通知实例run-Third

请注意在tmux界面中使用ctrl+C前需要再三考虑

tmux new -s run可以新建一个名为run的窗口
在窗口状态下按ctrl+B后按D退出当前窗口
tmux a -t run可以回到名为run的窗口
tmux ls可以列出当前后台运行的窗口
tmux kill-session -t run可以删除名为run的窗口

一般运行状态下如下图所示

ctrl+B后按[可进入滚动模式查看历史输出记录,此时显示为如下状态

esc即可回到正常可编辑状态

由于在tmux内输入的命令可能会被新产生的记录覆盖而导致错误,此时注意不可使用ctrl+C,若命令输入不全,直接回车即可,若要输入长命令,如/ban @profile1p bianshi,建议在其他地方复制完以后再粘贴如tmux中运行

tmux中的大厅运行方法和消息记录管道

在一个新的tmux中使用命令./SokuLobbiesServer-0.7 "11122" "10" "随意esc请举报" 即可运行大厅,其中11122为运行端口,如果提示端口冲突请更改,10为人数上限

在创建了大厅以后需要使用log_banword_third.py 文件对输出的内容进行处理,请使用tmux中的管道进行操作,在tmux窗口中按ctrl+B后按: 可以进入命令模式,此时输入 pipe-pane -o 'tee -a /root/soku03.log | python3 log_banword_third.py' 然后回车,可在当前窗口中使用对应文件处理大厅的输出内容,如下

tmux中对特定大厅的特定操作

由于记录文件需要对特定的tmux实例发送信息,所以在不同的python文件中规定了一个tmux名称,例如在log_banword_first.py 的开头可以看到定义有 tmux_session = 'run07-12' 即这个文件是针对名为run07-12的tmux实例进行操作的,也就是CN01

所以对不同的大厅需要使用不同的命令激活log程序,目前的三个大厅请在tmux中分别使用如下命令

pipe-pane -o 'tee -a /root/soku01.log | python3 log_banword_first.py'

pipe-pane -o 'tee -a /root/soku03.log | python3 log_banword_third.py'

pipe-pane -o 'tee -a /root/soku02.log | python3 log_banword_second.py'

tmux中的大厅内部操作

在运行了大厅后,可以使用/help查看管理员命令

一般来说可以使用/say/kick/list,请避免使用/ban 这是一个难以管理的不可逆操作

如果需要踢出某人,请先使用/list查看对应机签的编号,然后使用类似于/kick 1的编号操作进行踢出

/warn 会对所有用户进行弹窗,不可显示中文,请谨慎使用

查询机签、IP、聊天记录

如果对于某个ip或机签感兴趣,可以使用grep -rn -i "wyy" connect.loggrep -rn -i "wyy" chat.log 进行查询

如果需要使用高级的交叉查询功能,请运行 python3 search.py,随后按提示操作即可,如果程序无法自行结束可能是由于和别人共用机签等原因导致,请合理使用屏蔽ID和机签的功能

在查询聊天记录时,如果对某日的若干个机签的发言感兴趣,可以使用grep -rn -i -E "2025-07-19 .*<profile1p|2025-07-19 .*<profile2p" chat.log 进行查询,或者自行选择需要的正则表达式

封禁操作

如果需要封禁一个ip,可以使用 iptables -A INPUT -s 192.168.1.1 -j DROP 对单独ip进行封禁,或封禁CIDR表示的ip段,例如 iptables -A INPUT -s 192.168.1.0/24 -j DROP 即为封禁192.168.1.*的所有IP

如果需要接触封禁可以使用 iptables -nL | grep "192.168.1.0" 确定被封禁的ip然后使用iptables -D INPUT -s 192.168.1.0/24 -j DROP 解除封禁

此外如果需要短期封禁某个ip,可以先使用

iptables -A INPUT -s 192.168.1.0/24 -j DROP

echo "iptables -D INPUT -s 192.168.1.0/24 -j DROP" | at now +4 days

具体的时间表示方法可以搜索at命令

如果需要封禁某个机签,可以在banlist_1min.txt或banlist.txt中添加

匹配项与fnmatch

wordlist.txtbanlist.txtbanlist_1min.txtIDandInfo.txtIDandEmail.txt 中所有匹配内容支持fnmatch,规则如下

PatternMeaning
*匹配任意字符
?匹配任意单一字符
[seq]匹配seq中的字符
[!seq]匹配不在seq中的字符
元字符(The meta-characters )应括在括号中以进行文字匹配。例如,[?] 匹配单一的问号字符
看烟花已落,你我仍是陌路人
最后更新于 2025-07-31