mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-06 19:47:00 +03:00
Merge branch 'master' of https://github.com/ajayyy/SponsorBlockServer into filler
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
worker_processes 4;
|
||||
worker_rlimit_nofile 400000;
|
||||
worker_processes 6;
|
||||
worker_rlimit_nofile 800000;
|
||||
worker_shutdown_timeout 10;
|
||||
|
||||
events {
|
||||
worker_connections 500000; # Default: 1024
|
||||
worker_connections 700000; # Default: 1024
|
||||
}
|
||||
|
||||
http {
|
||||
@@ -21,9 +21,16 @@ http {
|
||||
types {
|
||||
text/csv csv;
|
||||
}
|
||||
# keepalive settings
|
||||
keepalive_requests 10;
|
||||
keepalive_timeout 5;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Connection "";
|
||||
|
||||
upstream backend_GET {
|
||||
ip_hash;
|
||||
|
||||
keepalive 5;
|
||||
#server localhost:4441;
|
||||
#server localhost:4442;
|
||||
#server localhost:4443;
|
||||
@@ -32,7 +39,7 @@ http {
|
||||
#server localhost:4446;
|
||||
#server localhost:4447;
|
||||
#server localhost:4448;
|
||||
server 10.0.0.4:4441;
|
||||
server 10.0.0.4:4441;
|
||||
|
||||
#server 10.0.0.3:4441;
|
||||
server 10.0.0.3:4442;
|
||||
@@ -40,8 +47,11 @@ http {
|
||||
server 10.0.0.5:4441;
|
||||
server 10.0.0.5:4442;
|
||||
|
||||
#server 10.0.0.6:4441;
|
||||
#server 10.0.0.6:4442;
|
||||
server 10.0.0.6:4441;
|
||||
server 10.0.0.6:4442;
|
||||
|
||||
#server 10.0.0.8:4441;
|
||||
#server 10.0.0.8:4442;
|
||||
|
||||
#server 134.209.69.251:80 backup;
|
||||
|
||||
@@ -60,8 +70,8 @@ http {
|
||||
upstream backend_db {
|
||||
server 10.0.0.4:4441;
|
||||
#server 10.0.0.3:4441;
|
||||
#server 10.0.0.4;
|
||||
}
|
||||
#server 10.0.0.4;
|
||||
}
|
||||
|
||||
upstream backend_db_dl {
|
||||
server 10.0.0.4;
|
||||
@@ -109,7 +119,7 @@ http {
|
||||
#proxy_pass https://sbtest.etcinit.com/;
|
||||
}
|
||||
|
||||
#access_log /etc/nginx/logs/requests.log no_ip;
|
||||
#access_log /etc/nginx/logs/requests.log no_ip buffer=64k;
|
||||
|
||||
location /api/skipSegments {
|
||||
#return 200 "[]";
|
||||
@@ -120,11 +130,11 @@ http {
|
||||
#access_log /etc/nginx/logs/download.log no_ip;
|
||||
gzip on;
|
||||
if ($request_method = POST) {
|
||||
access_log /etc/nginx/logs/submissions.log user_agent;
|
||||
access_log /etc/nginx/logs/submissions.log user_agent buffer=64k;
|
||||
}
|
||||
|
||||
#proxy_read_timeout 6s;
|
||||
#proxy_next_upstream error timeout http_500 http_502;
|
||||
#proxy_next_upstream error timeout http_500 http_502;
|
||||
}
|
||||
|
||||
location /api/getTopUsers {
|
||||
@@ -135,7 +145,7 @@ http {
|
||||
|
||||
location /api/getTotalStats {
|
||||
proxy_pass http://backend_GET;
|
||||
proxy_cache CACHEZONE;
|
||||
proxy_cache CACHEZONE;
|
||||
proxy_cache_valid 20m;
|
||||
#return 200 "";
|
||||
}
|
||||
@@ -145,15 +155,15 @@ http {
|
||||
}
|
||||
|
||||
location /download/ {
|
||||
#access_log /etc/nginx/logs/download.log no_ip;
|
||||
#access_log /etc/nginx/logs/download.log no_ip buffer=64k;
|
||||
gzip on;
|
||||
proxy_cache CACHEZONE;
|
||||
proxy_cache CACHEZONE;
|
||||
proxy_cache_valid 20m;
|
||||
#gzip_types text/csv;
|
||||
#gzip_comp_level 1;
|
||||
|
||||
proxy_pass http://backend_db;
|
||||
#alias /home/sbadmin/sponsor/docker/database-export/;
|
||||
#alias /home/sbadmin/sponsor/docker/database-export/;
|
||||
#return 307 https://cdnsponsor.ajay.app$request_uri;
|
||||
}
|
||||
location /database {
|
||||
@@ -196,15 +206,7 @@ http {
|
||||
ssl_certificate_key /etc/letsencrypt/live/sponsor.ajay.app-0001/privkey.pem; # managed by Certbot
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
server_name cdnsponsor.ajay.app;
|
||||
@@ -228,11 +230,7 @@ http {
|
||||
ssl_certificate_key /etc/letsencrypt/live/sponsor.ajay.app-0001/privkey.pem; # managed by Certbot
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
access_log off;
|
||||
@@ -281,9 +279,5 @@ http {
|
||||
ssl_certificate_key /etc/letsencrypt/live/sponsor.ajay.app-0001/privkey.pem; # managed by Certbot
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ function filterSegments(segments: DBSegment[], page: number, filters: Record<str
|
||||
|| (segment.views < filters.minViews || segment.views > filters.maxViews)
|
||||
|| (!filters.locked && segment.locked)
|
||||
|| (!filters.hidden && segment.hidden)
|
||||
|| (!filters.ignored && (segment.hidden || segment.shadowHidden))
|
||||
|| (!filters.ignored && ((segment.votes <= -2) || segment.hidden || segment.shadowHidden))
|
||||
|| (filters.categories.length > 0 && !filters.categories.includes(segment.category)))
|
||||
// return false if any of the conditions are met
|
||||
// return true if none of the conditions are met
|
||||
|
||||
@@ -70,7 +70,11 @@ export async function setUsername(req: Request, res: Response): Promise<Response
|
||||
if (row?.userName !== undefined) {
|
||||
//already exists, update this row
|
||||
oldUserName = row.userName;
|
||||
await db.prepare("run", `UPDATE "userNames" SET "userName" = ?, "locked" = ? WHERE "userID" = ?`, [userName, locked, userID]);
|
||||
if (userName == userID && !locked) {
|
||||
await db.prepare("run", `DELETE FROM "userNames" WHERE "userID" = ?`, [userID]);
|
||||
} else {
|
||||
await db.prepare("run", `UPDATE "userNames" SET "userName" = ?, "locked" = ? WHERE "userID" = ?`, [userName, locked, userID]);
|
||||
}
|
||||
} else {
|
||||
//add to the db
|
||||
await db.prepare("run", `INSERT INTO "userNames"("userID", "userName", "locked") VALUES(?, ?, ?)`, [userID, userName, locked]);
|
||||
|
||||
@@ -120,11 +120,10 @@ describe("getSearchSegments", () => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = res.data;
|
||||
const segments = data.segments;
|
||||
assert.strictEqual(data.segmentCount, 3);
|
||||
assert.strictEqual(data.segmentCount, 2);
|
||||
assert.strictEqual(data.page, 0);
|
||||
assert.strictEqual(segments[0].UUID, "search-normal");
|
||||
assert.strictEqual(segments[1].UUID, "search-downvote");
|
||||
assert.strictEqual(segments[2].UUID, "search-locked");
|
||||
assert.strictEqual(segments[1].UUID, "search-locked");
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
||||
@@ -20,6 +20,7 @@ const user06PrivateUserID = "setUsername_06";
|
||||
const username06 = "Username 06";
|
||||
const user07PrivateUserID = "setUsername_07";
|
||||
const username07 = "Username 07";
|
||||
const user08PrivateUserID = "setUsername_08";
|
||||
|
||||
async function addUsername(userID: string, userName: string, locked = 0) {
|
||||
await db.prepare("run", 'INSERT INTO "userNames" ("userID", "userName", "locked") VALUES(?, ?, ?)', [userID, userName, locked]);
|
||||
@@ -231,4 +232,14 @@ describe("setUsername", () => {
|
||||
})
|
||||
.catch((err) => done(err));
|
||||
});
|
||||
|
||||
it("Should delete row if new username is same as publicID", (done) => {
|
||||
const publicID = getHash(user08PrivateUserID);
|
||||
postSetUserName(getHash(user08PrivateUserID), publicID)
|
||||
.then(async () => {
|
||||
const usernameInfo = await getUsernameInfo(getHash(user08PrivateUserID));
|
||||
assert.strictEqual(usernameInfo, null);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user