mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-07 20:17:02 +03:00
@@ -1,11 +1,16 @@
|
|||||||
var request = require('request');
|
var request = require('request');
|
||||||
|
|
||||||
var config = require('../config.js');
|
const config = require('../config.js');
|
||||||
var getIP = require('../utils/getIP.js');
|
const getIP = require('../utils/getIP.js');
|
||||||
const getHash = require('../utils/getHash.js');
|
const getHash = require('../utils/getHash.js');
|
||||||
|
const logger = require('../utils/logger.js');
|
||||||
|
|
||||||
module.exports = function userCounter(req, res, next) {
|
module.exports = function userCounter(req, res, next) {
|
||||||
|
try {
|
||||||
request.post(config.userCounterURL + "/api/v1/addIP?hashedIP=" + getHash(getIP(req), 1));
|
request.post(config.userCounterURL + "/api/v1/addIP?hashedIP=" + getHash(getIP(req), 1));
|
||||||
|
} catch(e) {
|
||||||
|
logger.debug("Failing to connect to user counter at: " + config.userCounterURL);
|
||||||
|
}
|
||||||
|
|
||||||
next();
|
next();
|
||||||
}
|
}
|
||||||
@@ -16,11 +16,13 @@ module.exports = function getTotalStats (req, res) {
|
|||||||
"SUM(views) as viewCount, SUM((endTime - startTime) / 60 * views) as minutesSaved FROM sponsorTimes WHERE shadowHidden != 1 AND votes >= 0", []);
|
"SUM(views) as viewCount, SUM((endTime - startTime) / 60 * views) as minutesSaved FROM sponsorTimes WHERE shadowHidden != 1 AND votes >= 0", []);
|
||||||
|
|
||||||
if (row !== undefined) {
|
if (row !== undefined) {
|
||||||
|
let extensionUsers = chromeUsersCache + firefoxUsersCache;
|
||||||
|
|
||||||
//send this result
|
//send this result
|
||||||
res.send({
|
res.send({
|
||||||
userCount: row.userCount,
|
userCount: row.userCount,
|
||||||
activeUsers: chromeUsersCache + firefoxUsersCache,
|
activeUsers: extensionUsers,
|
||||||
apiUsers: apiUsersCache,
|
apiUsers: Math.max(apiUsersCache, extensionUsers),
|
||||||
viewCount: row.viewCount,
|
viewCount: row.viewCount,
|
||||||
totalSubmissions: row.totalSubmissions,
|
totalSubmissions: row.totalSubmissions,
|
||||||
minutesSaved: row.minutesSaved
|
minutesSaved: row.minutesSaved
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ function sendWebhooks(userID, videoID, UUID, segmentInfo) {
|
|||||||
|
|
||||||
// If it is a first time submission
|
// If it is a first time submission
|
||||||
// Then send a notification to discord
|
// Then send a notification to discord
|
||||||
if (config.discordFirstTimeSubmissionsWebhookURL === null) return;
|
if (config.discordFirstTimeSubmissionsWebhookURL === null || userSubmissionCountRow.submissionCount > 1) return;
|
||||||
request.post(config.discordFirstTimeSubmissionsWebhookURL, {
|
request.post(config.discordFirstTimeSubmissionsWebhookURL, {
|
||||||
json: {
|
json: {
|
||||||
"embeds": [{
|
"embeds": [{
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
var config = require('../config.js');
|
|
||||||
|
|
||||||
var databases = require('../databases/databases.js');
|
var databases = require('../databases/databases.js');
|
||||||
var db = databases.db;
|
var db = databases.db;
|
||||||
var privateDB = databases.privateDB;
|
var privateDB = databases.privateDB;
|
||||||
@@ -30,7 +28,8 @@ module.exports = async function shadowBanUser(req, res) {
|
|||||||
//hash the userID
|
//hash the userID
|
||||||
adminUserIDInput = getHash(adminUserIDInput);
|
adminUserIDInput = getHash(adminUserIDInput);
|
||||||
|
|
||||||
if (adminUserIDInput !== config.adminUserID) {
|
let isVIP = db.prepare("get", "SELECT count(*) as userCount FROM vipUsers WHERE userID = ?", [adminUserIDInput]).userCount > 0;
|
||||||
|
if (!isVIP) {
|
||||||
//not authorized
|
//not authorized
|
||||||
res.sendStatus(403);
|
res.sendStatus(403);
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user