mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-09 21:17:15 +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_processes 6;
|
||||||
worker_rlimit_nofile 400000;
|
worker_rlimit_nofile 800000;
|
||||||
worker_shutdown_timeout 10;
|
worker_shutdown_timeout 10;
|
||||||
|
|
||||||
events {
|
events {
|
||||||
worker_connections 500000; # Default: 1024
|
worker_connections 700000; # Default: 1024
|
||||||
}
|
}
|
||||||
|
|
||||||
http {
|
http {
|
||||||
@@ -21,9 +21,16 @@ http {
|
|||||||
types {
|
types {
|
||||||
text/csv csv;
|
text/csv csv;
|
||||||
}
|
}
|
||||||
|
# keepalive settings
|
||||||
|
keepalive_requests 10;
|
||||||
|
keepalive_timeout 5;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Connection "";
|
||||||
|
|
||||||
upstream backend_GET {
|
upstream backend_GET {
|
||||||
ip_hash;
|
ip_hash;
|
||||||
|
|
||||||
|
keepalive 5;
|
||||||
#server localhost:4441;
|
#server localhost:4441;
|
||||||
#server localhost:4442;
|
#server localhost:4442;
|
||||||
#server localhost:4443;
|
#server localhost:4443;
|
||||||
@@ -40,8 +47,11 @@ http {
|
|||||||
server 10.0.0.5:4441;
|
server 10.0.0.5:4441;
|
||||||
server 10.0.0.5:4442;
|
server 10.0.0.5:4442;
|
||||||
|
|
||||||
#server 10.0.0.6:4441;
|
server 10.0.0.6:4441;
|
||||||
#server 10.0.0.6:4442;
|
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;
|
#server 134.209.69.251:80 backup;
|
||||||
|
|
||||||
@@ -109,7 +119,7 @@ http {
|
|||||||
#proxy_pass https://sbtest.etcinit.com/;
|
#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 {
|
location /api/skipSegments {
|
||||||
#return 200 "[]";
|
#return 200 "[]";
|
||||||
@@ -120,7 +130,7 @@ http {
|
|||||||
#access_log /etc/nginx/logs/download.log no_ip;
|
#access_log /etc/nginx/logs/download.log no_ip;
|
||||||
gzip on;
|
gzip on;
|
||||||
if ($request_method = POST) {
|
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_read_timeout 6s;
|
||||||
@@ -145,7 +155,7 @@ http {
|
|||||||
}
|
}
|
||||||
|
|
||||||
location /download/ {
|
location /download/ {
|
||||||
#access_log /etc/nginx/logs/download.log no_ip;
|
#access_log /etc/nginx/logs/download.log no_ip buffer=64k;
|
||||||
gzip on;
|
gzip on;
|
||||||
proxy_cache CACHEZONE;
|
proxy_cache CACHEZONE;
|
||||||
proxy_cache_valid 20m;
|
proxy_cache_valid 20m;
|
||||||
@@ -196,15 +206,7 @@ http {
|
|||||||
ssl_certificate_key /etc/letsencrypt/live/sponsor.ajay.app-0001/privkey.pem; # managed by Certbot
|
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
|
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
server {
|
||||||
server_name cdnsponsor.ajay.app;
|
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
|
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
|
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
server {
|
||||||
access_log off;
|
access_log off;
|
||||||
@@ -281,9 +279,5 @@ http {
|
|||||||
ssl_certificate_key /etc/letsencrypt/live/sponsor.ajay.app-0001/privkey.pem; # managed by Certbot
|
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
|
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # 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)
|
|| (segment.views < filters.minViews || segment.views > filters.maxViews)
|
||||||
|| (!filters.locked && segment.locked)
|
|| (!filters.locked && segment.locked)
|
||||||
|| (!filters.hidden && segment.hidden)
|
|| (!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)))
|
|| (filters.categories.length > 0 && !filters.categories.includes(segment.category)))
|
||||||
// return false if any of the conditions are met
|
// return false if any of the conditions are met
|
||||||
// return true if none 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) {
|
if (row?.userName !== undefined) {
|
||||||
//already exists, update this row
|
//already exists, update this row
|
||||||
oldUserName = row.userName;
|
oldUserName = row.userName;
|
||||||
|
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]);
|
await db.prepare("run", `UPDATE "userNames" SET "userName" = ?, "locked" = ? WHERE "userID" = ?`, [userName, locked, userID]);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
//add to the db
|
//add to the db
|
||||||
await db.prepare("run", `INSERT INTO "userNames"("userID", "userName", "locked") VALUES(?, ?, ?)`, [userID, userName, locked]);
|
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);
|
assert.strictEqual(res.status, 200);
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
const segments = data.segments;
|
const segments = data.segments;
|
||||||
assert.strictEqual(data.segmentCount, 3);
|
assert.strictEqual(data.segmentCount, 2);
|
||||||
assert.strictEqual(data.page, 0);
|
assert.strictEqual(data.page, 0);
|
||||||
assert.strictEqual(segments[0].UUID, "search-normal");
|
assert.strictEqual(segments[0].UUID, "search-normal");
|
||||||
assert.strictEqual(segments[1].UUID, "search-downvote");
|
assert.strictEqual(segments[1].UUID, "search-locked");
|
||||||
assert.strictEqual(segments[2].UUID, "search-locked");
|
|
||||||
done();
|
done();
|
||||||
})
|
})
|
||||||
.catch(err => done(err));
|
.catch(err => done(err));
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ const user06PrivateUserID = "setUsername_06";
|
|||||||
const username06 = "Username 06";
|
const username06 = "Username 06";
|
||||||
const user07PrivateUserID = "setUsername_07";
|
const user07PrivateUserID = "setUsername_07";
|
||||||
const username07 = "Username 07";
|
const username07 = "Username 07";
|
||||||
|
const user08PrivateUserID = "setUsername_08";
|
||||||
|
|
||||||
async function addUsername(userID: string, userName: string, locked = 0) {
|
async function addUsername(userID: string, userName: string, locked = 0) {
|
||||||
await db.prepare("run", 'INSERT INTO "userNames" ("userID", "userName", "locked") VALUES(?, ?, ?)', [userID, userName, locked]);
|
await db.prepare("run", 'INSERT INTO "userNames" ("userID", "userName", "locked") VALUES(?, ?, ?)', [userID, userName, locked]);
|
||||||
@@ -231,4 +232,14 @@ describe("setUsername", () => {
|
|||||||
})
|
})
|
||||||
.catch((err) => done(err));
|
.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