-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于登录的问题 #26
Comments
还有一种思路是将打包好的jar文件再次打包成docker,只需把jar包跟Dockerfile放在同一目录,用docker build打包一下即可,然后用docker的方式来执行项目,这样便可以达到跟nohup执行同等的效果,当然docker打包有关的知识如果需要的话我们可以后面再拓展讲讲,目前我的qq号就是用docker的方式来运行的,因为连续登录登出太多次风险系数太高了(流泪) |
我回滚了mirai的版本依赖,现在不会需要重复登录了 |
这个貌似跟我的qq号和服务器有关 |
是不是出现一直需要滑动验证码的情况 |
对对对 |
这是被风控了,只能过会再试试了😢很烦 |
我隔半天试一次,而且分别换不同的号,结果还是不行,被迫无奈只能用docker来运行我的jar包 |
把jar项目打包成docker项目 起因:我的qq号因为连续登录多次导致账号风险系数过高(可能服务器的ip也有问题),每次登录都需要验证码,chat_qqbot项目打包好一个jar包运行就可以了,但是由于账号风险系数过高,导致我不能在linux上使用nohup来执行这个jar,原因是nohup命令无法交互,导致无法完成滑动验证码,无法登录,即使换了几个qq号码也无法登录。 在一番冥思苦想后,决定使用docker来执行我的chatqqbot项目,用jar包构建docker项目,具体操作如下: 1、创建一个空的文件夹,里面放2个文件Dockerfile和demo.jar,Dockerfile内容如下
2、搞定上面的内容后,开始生成docker镜像
3、生成镜像之后,查看镜像
这条命令可以显示你docker的镜像名字、tag、和ID 4、启动镜像命令如下
其中-i -t两个一般联合使用,指的是docker启动的前台交互模式,-net是docker使用宿主机的网络,这样方便我们使用梯子来走chat的apikey,然后后面的就是格式是 镜像名:tag /bin/bash代表你要执行命令
5、启动成功以后我们要退出这个docker让他后台执行,按ctrl+P+Q 6、接下来是一些docker的增删改查的命令
在上面的时候我一直不知道docker启动有--net参数,当时的情况是,centos里面用docker搭了一个v2ray(梯子),然后项目也是docker,一时半会搞不清楚网络的流向了,当时尝试把v2的网络端口打开,然后docker_bot走v2的出网端口,但是屡次尝试仍然是失败,始终无法连接到chat的apikey,最后看到--net=host参数可以直接继承宿主机的网络,这样我只需要解决宿主机能否访问外网即可解决docker内部网络问题,至此,linux无法使用nohup交互的问题总算是用docker来解决了。 |
牛的 |
可以用screen 分屏命令来代替nohup啊 |
成功启动了项目,停止之后切换成nohup运行项目失败
nohup运行无法交互导致无法登录,这个问题怎么解决比较好
我的思路是,添加扫码登录,这样我们用nohup启动项目的时候可以通过日志来查看二维码实现扫码登录,又或者把二维码打印到本地服务器的一个文件路径上,打开那个文件扫码登录,让用户可以选择性的登录,但是扫码登录也有局限,如果服务器使用扫码登录可能会返回网络环境复杂,会要求用户扫码手机和服务器处于同一网络下,解决办法是,扫码之后保存一份qq登录的cookie,先在本地扫码登录保留登录凭证之后,用户可以上传本地的登录凭证到服务器,绕过qq的登录检测,这样可以解决大部分问题,否则一些登录了太多次的qq号就像我的号一样,每一次登录都会检测一次。
总的来说登录这一块需要还是比较难弄的,大家如果nohup挂好机器人到服务器就不要随便下线机器人,否则账号风险系数高了之后就挂不上去了
The text was updated successfully, but these errors were encountered: