Closed Ghost-chu closed 1 week ago
[!WARNING]
Review failed
The pull request is closed.
These updates feature significant enhancements to the PeerBanHelper project, including version upgrades for various dependencies like JavaFX and Chromium, new repositories, and improved JavaFX integration. There's an emphasis on optimizing IP and peer management, introducing new methods for handling web views, and cache improvements for efficient peer address handling. New features include handling basic authentication and JavaScript callbacks for web views, new configuration scripts, and better support for banning peers based on rules and expressions.
Files/Paths | Change Summary |
---|---|
pom.xml | Dependency version upgrades, new repositories and profiles, added JavaFX and Chromium components. |
BuildMeta.java, Main.java, PBHLibraryManager.java | New fields, method updates, and library manager introductory and initialization changes. |
PeerBanHelperServer.java | Initialization improvements, error handling updates, and method refactoring for managing peers and modules. |
ProfileUpdateScript.java | New bigUpdate() method for configuration upgrades and error logging. |
Downloader.java, DownloaderBasicAuth.java, WebViewScriptCallback.java | New methods and imports for handling basic authentication and web view JavaScript callbacks. |
.../downloader/impl/qbittorrent/QBittorrent.java | Added methods and imports for basic authentication and web view handling. |
SingleTorrentPeer.java, TRPeer.java | Renamed getAddress method to getPeerAddress and added lazy initialization for peerAddress . |
.../impl/transmission/Transmission.java | Added new methods for authentication and web view handling, modified getTorrents method for new field inclusion. |
JavaFxImpl.java, JavaFxWebViewWrapper.java | Introduced and adjusted methods for web view handling, library loading, and event listener installation. |
MainWindow.form, MainWindow.java | Commented out old handling code, added new tab for JCEF , updated tabbedPaneWebView . |
BanResult.java | Updated constructor with @Nullable and @NotNull annotations for parameters. |
AutoRangeBan.java, IPBlackList.java | Method refactoring, cache improvements for handling IP address mappings, and optimized IP checks. |
ExpressionRule.java | New class extending AbstractRuleFeatureModule , handles scripting for peer banning with caching and metadata parsing. |
thunder-check.av | New script for detecting and blocking specific versions of XunLei (Thunder) client based on peer information. |
sequenceDiagram
participant Main as Main.java
participant PBH as PBHLibraryManager.java
participant Peer as PeerBanHelperServer.java
participant Config as ProfileUpdateScript.java
participant GUI as JavaFxImpl.java
Main->>PBH: Initialize LibraryManager
PBH->>PBH: Manage Libraries and Classpath
Main->>Peer: Start Server
Peer->>Config: Load Configuration
Config->>Peer: Update Config if Necessary
Peer->>GUI: Initiate JavaFX Web View
GUI->>PBH: Load Web View Libraries
GUI->>Main: Setup JavaFX Window
Main->>Config: Handle Configuration Upgrade (if bigUpdate())
In lines of Java's coded prose,
A helper's craft and wisdom grows.
From JavaFX, a shine so bright,
To peer bans guiding through the night.
New scripts arise, old debtors owe,
In code's embrace, our changes show.
For every peer, beware the sting;
The guardian of the network sings.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Summary by CodeRabbit
New Features
ExpressionRule
functionality for advanced peer banning based on scripted rules.DownloaderBasicAuth
record andWebViewScriptCallback
interface for enhanced downloader security and interaction.Enhancements
AutoRangeBan
andIPBlackList
modules.Bug Fixes
SingleTorrentPeer
andTRPeer
to improve accuracy and performance.Documentation
Chores