Skip to content
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

[BUG]修改并保存PBH配置后,会丢失最近的进度作弊封禁名单,但在封禁历史中能查询到记录 #977

Open
7 of 19 tasks
shuilanliuli opened this issue Feb 13, 2025 · 2 comments
Labels
backend This is a backend related bug 程序错误,有什么东西无法正常工作 unconfirmed 该问题未经确认

Comments

@shuilanliuli
Copy link

版本号 - Version

 v7.4.3

操作系统平台和系统架构 - OS and CPU Arch

操作系统:Windows 10 专业版 22H2
系统架构:X86

部署方式 - Deploy methods

  • Windows .exe 安装程序 (Windows .exe Installer)
  • Windows .zip 绿色部署包 (Windows .zip Portable)
  • Docker
  • JAR 包直接启动 (Start via .JAR directly)
  • 群晖 DSM 套件 (Synology .spk package)
  • Debian 软件包 (Debian .deb package)
  • RedHat/Fedora 软件包 (RedHat/Fedora .rpm package)
  • FreeBSD 软件包(FreeBSD .pkg package)

添加的下载器 - Added Downloaders

  • qBittorrent
  • BiglyBT/Azureus/Vuze
  • Deluge
  • Transmission
  • BitComet

问题描述 - Issue Description

我在22:30时拦截了一个进度反作弊ip,然后再22:40分在webUI修改配置,打开了PBH的多拨封禁选项后点击保存,PBH自动重启后丢失了这个封禁名单,事后在webUI中查询ip有对应的封禁历史

复现步骤 - Reproduce steps

第零步(?):在webUI中查询带括号的ipv6的id信息触发日志报错
第一步:等待一个ip封禁
第二步:十分钟后在webUI修改PBH配置,打开多拨封禁后保存
第三步:封禁名单丢失

截图/日志文件 - Screenshot / Logs

[22:08:09] [virtual-89/INFO]: [保存] 已成功保存 63 条封禁数据到数据库
[22:10:05] [pool-9-thread-2/INFO]: [BTN 网络] 计划任务正在向 BTN 网络提交 Peer 活动历史记录,请稍等……
[22:10:05] [virtual-7726361/INFO]: [BTN 网络] 已向 BTN 网络提交 274 个 Peer 活动历史记录,感谢您对 BTN 网络的支持!
[22:21:52] [JettyServerThreadPool-Virtual-1425/ERROR]: Unable to get ipaddress from ip undefined
java.util.concurrent.ExecutionException: inet.ipaddr.AddressStringException: undefined IP Address error: invalid character number 0
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:596)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:555)
at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:111)
at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:247)
at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2349)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2189)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2079)
at com.google.common.cache.LocalCache.get(LocalCache.java:4017)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4898)
at com.ghostchu.peerbanhelper.util.IPAddressUtil.getIPAddress(IPAddressUtil.java:46)
at com.ghostchu.peerbanhelper.module.impl.webapi.PBHPeerController.handleBanHistory(PBHPeerController.java:157)
at io.javalin.router.Endpoint.handle(Endpoint.kt:52)
at io.javalin.router.ParsedEndpoint.handle(ParsedEndpoint.kt:15)
at io.javalin.http.servlet.DefaultTasks.HTTP$lambda$9$lambda$7$lambda$6(DefaultTasks.kt:52)
at io.javalin.http.servlet.JavalinServlet.handleTask(JavalinServlet.kt:99)
at io.javalin.http.servlet.JavalinServlet.handleSync(JavalinServlet.kt:64)
at io.javalin.http.servlet.JavalinServlet.handle(JavalinServlet.kt:50)
at io.javalin.http.servlet.JavalinServlet.service(JavalinServlet.kt:30)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)
at io.javalin.jetty.JavalinJettyServlet.service(JavalinJettyServlet.kt:52)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1381)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1303)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:329)
Caused by: inet.ipaddr.AddressStringException: undefined IP Address error: invalid character number 0
at inet.ipaddr.format.validate.Validator.validateAddress(Validator.java:468)
at inet.ipaddr.format.validate.Validator.validateIPAddress(Validator.java:166)
at inet.ipaddr.format.validate.Validator.validateIPAddressStr(Validator.java:140)
at inet.ipaddr.format.validate.Validator.validateAddress(Validator.java:133)
at inet.ipaddr.IPAddressString.validate(IPAddressString.java:531)
at inet.ipaddr.IPAddressString.validate(IPAddressString.java:480)
at inet.ipaddr.IPAddressString.toAddress(IPAddressString.java:1039)
at com.ghostchu.peerbanhelper.util.IPAddressUtil.lambda$getIPAddress$0(IPAddressUtil.java:47)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4903)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3574)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2316)
... 41 common frames omitted
[22:22:18] [pool-9-thread-1/INFO]: [BTN 网络] 计划任务正在向 BTN 网络提交自上次汇报以来新增的封禁条目,请稍等……
[22:22:27] [JettyServerThreadPool-Virtual-1438/ERROR]: Unable to get ipaddress from ip undefined
java.util.concurrent.ExecutionException: inet.ipaddr.AddressStringException: undefined IP Address error: invalid character number 0
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:596)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:555)
at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:111)
at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:247)
at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2349)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2189)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2079)
at com.google.common.cache.LocalCache.get(LocalCache.java:4017)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4898)
at com.ghostchu.peerbanhelper.util.IPAddressUtil.getIPAddress(IPAddressUtil.java:46)
at com.ghostchu.peerbanhelper.module.impl.webapi.PBHPeerController.handleBanHistory(PBHPeerController.java:157)
at io.javalin.router.Endpoint.handle(Endpoint.kt:52)
at io.javalin.router.ParsedEndpoint.handle(ParsedEndpoint.kt:15)
at io.javalin.http.servlet.DefaultTasks.HTTP$lambda$9$lambda$7$lambda$6(DefaultTasks.kt:52)
at io.javalin.http.servlet.JavalinServlet.handleTask(JavalinServlet.kt:99)
at io.javalin.http.servlet.JavalinServlet.handleSync(JavalinServlet.kt:64)
at io.javalin.http.servlet.JavalinServlet.handle(JavalinServlet.kt:50)
at io.javalin.http.servlet.JavalinServlet.service(JavalinServlet.kt:30)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)
at io.javalin.jetty.JavalinJettyServlet.service(JavalinJettyServlet.kt:52)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1381)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1303)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.lang.VirtualThread.run(VirtualThread.java:329)
Caused by: inet.ipaddr.AddressStringException: undefined IP Address error: invalid character number 0
at inet.ipaddr.format.validate.Validator.validateAddress(Validator.java:468)
at inet.ipaddr.format.validate.Validator.validateIPAddress(Validator.java:166)
at inet.ipaddr.format.validate.Validator.validateIPAddressStr(Validator.java:140)
at inet.ipaddr.format.validate.Validator.validateAddress(Validator.java:133)
at inet.ipaddr.IPAddressString.validate(IPAddressString.java:531)
at inet.ipaddr.IPAddressString.validate(IPAddressString.java:480)
at inet.ipaddr.IPAddressString.toAddress(IPAddressString.java:1039)
at com.ghostchu.peerbanhelper.util.IPAddressUtil.lambda$getIPAddress$0(IPAddressUtil.java:47)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4903)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3574)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2316)
... 41 common frames omitted
[22:25:05] [pool-9-thread-2/INFO]: [BTN 网络] 计划任务正在向 BTN 网络提交 Peer 活动历史记录,请稍等……
[22:25:05] [virtual-7836905/INFO]: [BTN 网络] 已向 BTN 网络提交 303 个 Peer 活动历史记录,感谢您对 BTN 网络的支持!
[22:29:29] [virtual-7871492/INFO]: [封禁] 2409:8a20:670:50d1:d480:9e54:cf24:1cb6:56542, PeerId=-BC0205-, ClientName=BitComet 2.05, Progress=0.10273744910955429, Uploaded=1277804544, Downloaded=0, Torrent=夜羊社作品合集, Reason=客户端进度:10.27%,实际进度:23.76%,差值:13.48%
[22:40:05] [pool-9-thread-2/INFO]: [BTN 网络] 计划任务正在向 BTN 网络提交 Peer 活动历史记录,请稍等……
[22:40:06] [virtual-7948563/INFO]: [BTN 网络] 已向 BTN 网络提交 364 个 Peer 活动历史记录,感谢您对 BTN 网络的支持!
[22:40:45] [Ban Wave/INFO]: [解封] 解除了 1 个过期的对等体封禁
[22:42:59] [virtual-7968001/INFO]: [BTN 网络] 规则数据更新成功,当前数据版本:4926e125
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Loading configuration...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: PeerBanHelper data directory: C:\Users\admin\AppData\Local\PeerBanHelper
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Checking configuration...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Saving configuration changes...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Checking configuration...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Saving configuration changes...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Loading configuration...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: PeerBanHelper data directory: C:\Users\admin\AppData\Local\PeerBanHelper
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Checking configuration...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Saving configuration changes...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Checking configuration...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Saving configuration changes...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: Loading up translations, this may take a while...
[22:43:32] [JettyServerThreadPool-Virtual-1695/INFO]: BtnNetwork reloaded
[22:43:33] [ForkJoinPool.commonPool-worker-1/INFO]: IP黑名单订阅规则 all-in-one 更新成功
[22:43:33] [JettyServerThreadPool-Virtual-1695/INFO]: IP黑名单规则订阅完毕
[22:43:33] [virtual-90/INFO]: [数据清理] ActiveMonitoring 正在清理过期数据,这可能需要一点时间……
[22:43:33] [virtual-90/INFO]: [数据清理] ActiveMonitoring 已删除了 0 条过期数据
[22:43:33] [JettyServerThreadPool-Virtual-1695/INFO]: + qBittorrentEE -> qBEE (http://localhost:8989)
[22:43:33] [JettyServerThreadPool-Virtual-1695/INFO]: [封禁] 已从保存的封禁列表缓存文件中恢复了 63 个封禁项
[22:43:33] [Ban Wave/INFO]: [解封] 解除了 1 个过期的对等体封禁

Image

Image

Image

额外信息 - Addition Information

No response

检查清单 - Check list

  • PeerBanHelper 已更新到最新版本,非最新版本不接受任何错误反馈,任何非最新版本的 Issue 将被 立 刻 关 闭,不会有人给您提供任何支持 (I'm running the latest version of PBH that can be found in Github Relases, non-latest release won't receive any support)
  • 所添加的下载器已满足 README 中的前置要求(如版本号和插件)(The downloaders that I've added already satisfied the requirements (E.g install plugins/adapters))
  • 我已检查过 PBH 文档(特别是常见问题),且即使使用了搜索也没有找到与此有关的内容 (This not a question/or the question that not listed in README's FAQ or PBH WIKI)
  • 我没有检查这个检查清单,只是闭眼选中了所有的复选框,请关闭这个 Issue (I have not read these checkboxes and therefore I just ticked them all, Please close this issue)
  • 这不是一个安全漏洞,它可以被安全的公开报告。若需要报告安全漏洞,请在此报告 (This not a security related issue, can be safe report in public. If you want report a security exploit, please report it here)
  • 我同意遵守 PBH-BTN 包容性条约,不发布 “嘲讽、骂战、引战、开盒(有时也称为人肉搜索)、人身攻击、仇恨、暴力、侮辱性言辞、违法违规、黑灰产、危害国家安全、实施或帮助他人实施电信犯罪” 等内容。并已知晓如果仍旧发布了这些内容,我的账号将立刻从包括但不限于 PBH-BTN 组织、社交软件中封禁。所有主题、内容都将被立刻删除或折叠,撤销、删除和收回您所做出的一切贡献,并封禁 BTN 网络的中账号权限、排除您所提交的所有数据。在您违反相关规则时,PBH-BTN 将会将您的注册、登录、和最近访问的 IP 地址、电子邮件地址、以及其它可能追踪您或将您去匿名化的信息从定期删除转为永不删除,并在任何国家或地区的政府、公安机关或有关部门需要时无通知的提供这些数据。 (I agree to abide by the PBH-BTN Inclusivity Pact by not posting content such as “taunting, name-calling, war-mongering, open-boxing (sometimes referred to as mansplaining), personal attacks, hatred, violence, insulting language, illegal activities, black and grey business, endangering national security, and committing or assisting others in committing telecommunication crimes”. I am aware that if I continue to post such content, my account will be immediately banned from organizations including but not limited to PBH-BTN, social software. All topics and content will be immediately deleted or collapsed, all contributions will be revoked, deleted and retracted, and you will be banned from the BTN network and all data you have submitted will be excluded. In the event of a violation of these rules, PBH-BTN will delete your registration, login, and most recent IP address, email address, and any other information that may be used to track you or de-anonymize you from regular to permanent deletion, and will make this data available to the government, public security, or other relevant authorities without notice if they request it, no matter what country or region.)
@shuilanliuli shuilanliuli changed the title [BUG]修改并保存PBH配置后,会丢失最近的进度作弊封禁名单,在封禁历史中有记录 [BUG]修改并保存PBH配置后,会丢失最近的进度作弊封禁名单,但在封禁历史中能查询到记录 Feb 13, 2025
@Ghost-chu Ghost-chu added bug 程序错误,有什么东西无法正常工作 unconfirmed 该问题未经确认 backend This is a backend related labels Feb 14, 2025
@renchengxian

This comment has been minimized.

@Ghost-chu
Copy link
Collaborator

win7系统无论用什么版什么nojava都显示遇到致命错误无法继续启动。两个弹窗处处都是java的影子,nojava也没用

报告新问题请创建一个新的 Issue,NoJava 代表不附带安装 Java 运行环境,而是由用户自行安装

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend This is a backend related bug 程序错误,有什么东西无法正常工作 unconfirmed 该问题未经确认
Projects
None yet
Development

No branches or pull requests

3 participants