Add ability to add and ban a peer from the Web UI

This commit is contained in:
Thomas Piccirello
2019-01-13 21:40:15 -08:00
parent f121e67aba
commit 0fa28f233f
8 changed files with 197 additions and 1 deletions

View File

@@ -29,8 +29,13 @@
#include "transfercontroller.h"
#include <QJsonObject>
#include <QVector>
#include "base/bittorrent/peeraddress.h"
#include "base/bittorrent/peerinfo.h"
#include "base/bittorrent/session.h"
#include "base/global.h"
#include "apierror.h"
const char KEY_TRANSFER_DLSPEED[] = "dl_info_speed";
const char KEY_TRANSFER_DLDATA[] = "dl_info_data";
@@ -111,3 +116,15 @@ void TransferController::speedLimitsModeAction()
{
setResult(QString::number(BitTorrent::Session::instance()->isAltGlobalSpeedLimitEnabled()));
}
void TransferController::banPeersAction()
{
checkParams({"peers"});
const QStringList peers = params()["peers"].split('|');
for (const QString &peer : peers) {
const BitTorrent::PeerAddress addr = BitTorrent::PeerAddress::parse(peer.trimmed());
if (!addr.ip.isNull())
BitTorrent::Session::instance()->banIP(addr.ip.toString());
}
}