mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-05-07 08:36:48 +02:00
fix(logger): fixed announce inactive peer over announce interval
This commit is contained in:
6
config/env/torrents.js
vendored
6
config/env/torrents.js
vendored
@@ -96,6 +96,7 @@ module.exports = {
|
||||
* @comment: used in admin tools, auto replace torrent make group info with this setting
|
||||
* @announceInterval: interval of twice announce request
|
||||
* @announceInterval_str: string desc of @announceInterval
|
||||
* @announceIdleTime: announce time over @announceInterval this value is inactive peer
|
||||
* @announcePrefix: prefix of torrent file name, is will auto add when user download the torrent files
|
||||
* @clientBlackListUrl: forbidden download client list url, user can view this list to check forbidden client software
|
||||
* @seedingInFinishedCheck: settings to check whether can seeding an un-download finished torrent
|
||||
@@ -122,8 +123,9 @@ module.exports = {
|
||||
announce: {
|
||||
url: 'http://localhost:3000/announce',
|
||||
comment: 'MEAN.im GROUP',
|
||||
announceInterval: 60 * 1000 * 5,
|
||||
announceInterval_str: '5m',
|
||||
announceInterval: 60 * 1000 * 10,
|
||||
announceInterval_str: '10m',
|
||||
announceIdleTime: 60 * 1000 * 2,
|
||||
announcePrefix: '{MEAN}.',
|
||||
sourceInfo: '{MEAN.im} Present by meanTorrent.',
|
||||
clientBlackListUrl: '/about/black',
|
||||
|
||||
@@ -1136,12 +1136,12 @@ exports.announce = function (req, res) {
|
||||
if (peers.length < count) {
|
||||
index = i;
|
||||
} else {
|
||||
Math.floor(Math.random() * peers.length);
|
||||
index = Math.floor(Math.random() * peers.length);
|
||||
}
|
||||
p = peers[index];
|
||||
|
||||
if (p !== undefined && p !== req.currentPeer) {
|
||||
if (p.last_announce_at > (Date.now() - announceConfig.announceInterval - 60 * 1000)) { //do not send ghost peer
|
||||
if (p.last_announce_at > (Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime)) { //do not send inactive peer
|
||||
if (p.user.equals(req.passkeyuser._id)) {
|
||||
if (announceConfig.peersCheck.peersSendListIncludeOwnSeed) {
|
||||
mtDebug.debug(p._id.toString(), 'ANNOUNCE', true, req.passkeyuser);
|
||||
|
||||
@@ -29,7 +29,7 @@ exports.getMySeeding = function (req, res) {
|
||||
Peer.find({
|
||||
user: req.user._id,
|
||||
peer_status: PEERSTATE_SEEDER,
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - 60 * 1000}
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime}
|
||||
}).sort('-peer_uploaded')
|
||||
.populate({
|
||||
path: 'torrent',
|
||||
@@ -58,7 +58,7 @@ exports.getMyDownloading = function (req, res) {
|
||||
Peer.find({
|
||||
user: req.user._id,
|
||||
peer_status: PEERSTATE_LEECHER,
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - 60 * 1000}
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime}
|
||||
}).sort('-peer_downloaded')
|
||||
.populate({
|
||||
path: 'torrent',
|
||||
|
||||
@@ -2011,7 +2011,7 @@ exports.getSeederUsers = function (req, res) {
|
||||
Peer.count({
|
||||
torrent: req.torrent._id,
|
||||
peer_status: PEERSTATE_SEEDER,
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - 60 * 1000}
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime}
|
||||
}, function (err, count) {
|
||||
if (err) {
|
||||
callback(err, null);
|
||||
@@ -2026,7 +2026,7 @@ exports.getSeederUsers = function (req, res) {
|
||||
Peer.find({
|
||||
torrent: req.torrent._id,
|
||||
peer_status: PEERSTATE_SEEDER,
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - 60 * 1000}
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime}
|
||||
})
|
||||
.sort('-peer_uploaded')
|
||||
.populate('user', 'username displayName profileImageURL isVip')
|
||||
@@ -2072,7 +2072,7 @@ exports.getLeecherUsers = function (req, res) {
|
||||
Peer.count({
|
||||
torrent: req.torrent._id,
|
||||
peer_status: PEERSTATE_LEECHER,
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - 60 * 1000}
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime}
|
||||
}, function (err, count) {
|
||||
if (err) {
|
||||
callback(err, null);
|
||||
@@ -2087,7 +2087,7 @@ exports.getLeecherUsers = function (req, res) {
|
||||
Peer.find({
|
||||
torrent: req.torrent._id,
|
||||
peer_status: PEERSTATE_LEECHER,
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - 60 * 1000}
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime}
|
||||
})
|
||||
.sort('-peer_downloaded')
|
||||
.populate('user', 'username displayName profileImageURL isVip')
|
||||
|
||||
@@ -182,7 +182,7 @@ TorrentSchema.methods.updateSeedLeechNumbers = function (callback) {
|
||||
Peer.aggregate({
|
||||
$match: {
|
||||
torrent: torrent._id,
|
||||
last_announce_at: {$gt: new Date(Date.now() - announceConfig.announceInterval - 60 * 1000)}
|
||||
last_announce_at: {$gt: new Date(Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime)}
|
||||
}
|
||||
}, {
|
||||
$group: {
|
||||
|
||||
@@ -521,7 +521,7 @@ exports.getUserSeeding = function (req, res) {
|
||||
Peer.find({
|
||||
user: req.model._id,
|
||||
peer_status: PEERSTATE_SEEDER,
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - 60 * 1000}
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime}
|
||||
}).sort('-peer_uploaded')
|
||||
.populate({
|
||||
path: 'torrent',
|
||||
@@ -550,7 +550,7 @@ exports.getUserLeeching = function (req, res) {
|
||||
Peer.find({
|
||||
user: req.model._id,
|
||||
peer_status: PEERSTATE_LEECHER,
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - 60 * 1000}
|
||||
last_announce_at: {$gt: Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime}
|
||||
}).sort('-peer_downloaded')
|
||||
.populate({
|
||||
path: 'torrent',
|
||||
|
||||
@@ -421,7 +421,7 @@ UserSchema.methods.updateSeedLeechNumbers = function (callback) {
|
||||
Peer.aggregate({
|
||||
$match: {
|
||||
user: user._id,
|
||||
last_announce_at: {$gt: new Date(Date.now() - announceConfig.announceInterval - 60 * 1000)}
|
||||
last_announce_at: {$gt: new Date(Date.now() - announceConfig.announceInterval - announceConfig.announceIdleTime)}
|
||||
}
|
||||
}, {
|
||||
$group: {
|
||||
|
||||
Reference in New Issue
Block a user