The Gold Network: Soyworld | SNCApedia | SoyPlace

Russian 'P poster: Difference between revisions

From SNCApedia, the shit nobody cares about encyclopedia
Jump to navigationJump to search
No edit summary
Mhm (talk | contribs)
modified the script a little
 
Line 21: Line 21:


  <syntaxhighlight lang="javascript">
  <syntaxhighlight lang="javascript">
checkPostShorteners: async (options) => {
checkPostShorteners: async (options) => {
const { proxy } = config.get;
const { proxy } = config.get;


// move this to config later nusoigoogagaga
const blacklistedKeywords = config.get.blacklistedKeywords || [
const blacklistedKeywords = config.get.blacklistedKeywords || [
"pomf2.lain.la",
"small previews:",
"small previews:",
"updated url.",
"6-14 years old",
"zoo and scat",
"real rape",
];
const allowedDomains = config.get.allowedDomains || [
"voca.ro",
"vocaroo.com",
"xcancel.com",
"x.com",
"twitter.com",
"youtube.com",
"m.youtube.com",
"music.youtube.com",
"youtu.be",
"garticphone.com",
"skribbl.io",
"catbox.moe",
"archive.ph",
"archive.org",
"web.archive.org",
"4chan.org",
"boards.4chan.org",
"wikipedia.org",
"strawpoll.com",
"soyjak.st",
"soyjakwiki.org",
"gigacha.de",
"gigawiki.org",
"github.com",
"gitlab.com",
"bitbucket.org",
"sncapedia.org",
"swedishwin.com",
];
];


Line 39: Line 72:
/\b(?:https?:\/\/|www\.)[^\s<>"']+/gi
/\b(?:https?:\/\/|www\.)[^\s<>"']+/gi
);
);
if (!siteLinks || siteLinks.length === 0) {
 
return;
if (!siteLinks?.length) return;
}
 
// maybe only do duplicate domains?
const filteredLinks = siteLinks.filter((url) => {
const uniqueLinks = [...new Set(siteLinks)].slice(0, 10);
try {
const parsed = new URL(
url.startsWith("http") ? url : `http://${url}`
);
const host = parsed.hostname
.replace(/^www\./, "")
.toLowerCase();
return !allowedDomains.some(
(d) => host === d || host.endsWith(`.${d}`)
);
} catch {
return false;
}
});
 
const uniqueLinks = [...new Set(filteredLinks)].slice(0, 10);


console.log("Found links:", uniqueLinks);
console.log("Found links:", uniqueLinks);
Line 51: Line 99:
: null;
: null;


const badSiteFound = await Promise.any(
 
uniqueLinks.map(async (url) => {
const resolveSite = async (url, signal) => {
try {
let currentUrl = url;
const response = await fetch(url, {
 
timeout: 10000,
for (let i = 0; i <= maxRedirects; i++) {
agent,
const res = await fetch(currentUrl, {
redirect: "follow",
timeout: 10000,
headers: {
agent,
"User-Agent": `Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0`,
redirect: "manual",
},
signal,
});
headers: {
const text = await response.text();
"User-Agent":
if (
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0",
blacklistedKeywords.some((keyword) =>
},
text.includes(keyword)
});
)
 
) {
if (res.status >= 300 && res.status < 400) {
console.log(`${url} matched blacklisted keywords`);
const location = res.headers.get("location");
return true;
currentUrl = new URL(location, currentUrl).toString();
}
continue;
} catch (e) {
console.warn(`Error fetching ${url}:`, e.message);
}
}
if (i === 0) { // site wasn't a redirect
return null;
}
return res;
}
return null;
};
const scanShortener = async (url) => {
try {
const controller = new AbortController();
setTimeout(() => controller.abort(), 10000);
const res = await resolveSite(url, controller.signal);
if (!res) return false;
const text = await res.text();
return blacklistedKeywords.some((k) => text.includes(k))
? url
: false;
} catch (e) {
console.warn(`Error fetching ${url}:`, e.message);
return false;
return false;
})
}
);
};
 
const badSiteFound = await Promise.any(uniqueLinks.map(scanShortener));
if (!badSiteFound) return;
</syntaxhighlight>
</syntaxhighlight>


{{Reflist}}
{{Reflist}}

Latest revision as of 10:55, 13 January 2026

WARNING: PROUD TRANNY PEDOPHILE(S)
You can help by notifying the authorities, and also by ordering 'za to xir house

Pedo-meter 3000:

THE RUSSIAN CHILD PORN POSTER I̸S̴ ̷AN̵—— ̷EX̵TREM̸EL̷Y̵ —V̵O̵LAT̵I̵LE̴— ̸A̵N̸TIM̵A̸TT̸ER̸— ̵SING̸U̸L̸A̸RI̸T̵Y̶ ̷F̸O̷RM̸E̸D̶ ̵I̸N̴ ̴A̶ ̶B̸LA̵C̵K̴H̸O̸LE̷— ̴THAT̴— ̴D̵O̵O̵M̵S̵ ̶T̷H̵E̴— E̵N̷TI̷RE̵— ̵S̸OY̷VER̷S̵E̸!!!!!!!
This is one of the reasons why it is ALWAYS advised to disable images (SEE HOW HERE) when browsing any dead or barely active imageboard/splinter, as the posts made by this bot may stay up for a long period of time. Report the links to link shortener's support/abuse email and/or NCMEC; do not visit it under any circumstances.
And please, when you find him posting on some site NEVER SAY OR HINT TO THE NAME OF THE SITE(S) THAT CHILD PORN/LINKS TO IT ARE PRESENT ON, including in a "OYYY THERE'S 'P ON <insert imageboard> DELETE IT OYY" way (it will only get you banned for sharing the site the child porn is on). You must report the post and/or otherwise PRIVATELY contact moderation of the site it was posted on
Captain 'P
StatusActive
NationalityPresumably russian based on his timezone
Other namesCaptain 'P
Years activeearly 2020s(?)–now
Best known forSpamming child porn and links to it
OpponentModerators

On imageboards, an obsessed Central Asian(?)[Marge...] pedophile subhuman, also referred to as Captain 'P would ocassionally advertise a shortened link to 'P files, accompanied with a 'P image and keywords/descriptions of extremely degenerate antimatter. On active imageboards, it is immediately banned upon sight. Investigation by a swinnycuck showed that this bot (most likely Captain 'P isn't a bot) targets imageboards listed on an imageboard directory website and that the subhuman has been doing it for 4 years.[1][2]. A datamine into his logged fingerprint on one of the imageboards he tried to post 'p on has shown that his timezone is Moscow Time (see what regions this timezone applies in here) and his browser languages are Russian, English, American English and Polish. The same datamine also has shown that he used same fingerprint every time it was logged, meaning that fingerprint bans are effective against him. See the Prevention section of this page to find more ways to fight against him. I'll find the post later but a non-soyosphere altchan owner had a thread on his site talking about a bot using Russian IPs to advertise CSAM since around 2020 on various altchans, presumably these are run by the same pedophile.

This pedophile had reportedly tried to spam Kiwi Farms and also sold 'P. You WILL dox and kill this subhuman scum.

Prevention

[edit | edit source]
  • Reporting him - obviously must always be done.
  • Fingerprint ban him - very likely will prevent him, do this.
  • Enabling manual approval of media on site – will prevent visitors from being jumpscared with child porn but will still leave links. There is also an upside to him putting descriptions that make it obvious that he's linking 'p: you can check for him and report/ban him with images disabled.
  • Enabling manual approval of whole post – will prevent his spam completely (do this, your 10 post per day doesn't need to have users posts reach the log immediatly no offense).
  • Spamming boards 'p was posted on with non-offensive shit – may be done to put the 'p post down until the moderation comes back, will get you banned.
  • Enabling captchas on site - may not work, he is proven to solve captchas.
  • Wordfiltering text he uses in his 'p posts – will not work as he will just change the text.
  • For jschan, using a system made against him - see below:

Here's a shitty system i just made for the chaddy to prevent this bot, feel free to use it.'
the fingerprint of the "bot" is 100% real and it solves captchas, might not even be a bot and just an obsessed faggot. Also it seems to target every altchan regardless if it is listed on that site or not

		checkPostShorteners: async (options) => {
		const { proxy } = config.get;

		const blacklistedKeywords = config.get.blacklistedKeywords || [
			"small previews:",
			"updated url.",
			"6-14 years old",
			"zoo and scat",
			"real rape",
		];

		const allowedDomains = config.get.allowedDomains || [
			"voca.ro",
			"vocaroo.com",
			"xcancel.com",
			"x.com",
			"twitter.com",
			"youtube.com",
			"m.youtube.com",
			"music.youtube.com",
			"youtu.be",
			"garticphone.com",
			"skribbl.io",
			"catbox.moe",
			"archive.ph",
			"archive.org",
			"web.archive.org",
			"4chan.org",
			"boards.4chan.org",
			"wikipedia.org",
			"strawpoll.com",
			"soyjak.st",
			"soyjakwiki.org",
			"gigacha.de",
			"gigawiki.org",
			"github.com",
			"gitlab.com",
			"bitbucket.org",
			"sncapedia.org",
			"swedishwin.com",
		];

		const post = await Posts.getPost(
			options.board._id || options.board,
			options.postId,
			true
		);

		const siteLinks = post.nomarkup.match(
			/\b(?:https?:\/\/|www\.)[^\s<>"']+/gi
		);

		if (!siteLinks?.length) return;

		const filteredLinks = siteLinks.filter((url) => {
			try {
				const parsed = new URL(
					url.startsWith("http") ? url : `http://${url}`
				);
				const host = parsed.hostname
					.replace(/^www\./, "")
					.toLowerCase();
				return !allowedDomains.some(
					(d) => host === d || host.endsWith(`.${d}`)
				);
			} catch {
				return false;
			}
		});

		const uniqueLinks = [...new Set(filteredLinks)].slice(0, 10);

		console.log("Found links:", uniqueLinks);

		const agent = proxy.enabled
			? new SocksProxyAgent(require("url").parse(proxy.address))
			: null;


		const resolveSite = async (url, signal) => {
			let currentUrl = url;

			for (let i = 0; i <= maxRedirects; i++) {
				const res = await fetch(currentUrl, {
					timeout: 10000,
					agent,
					redirect: "manual",
					signal,
					headers: {
						"User-Agent":
							"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0",
					},
				});

				if (res.status >= 300 && res.status < 400) {
					const location = res.headers.get("location");
					currentUrl = new URL(location, currentUrl).toString();
					continue;
				}

				if (i === 0) { // site wasn't a redirect
					return null;
				} 

				return res;
			}

			return null;
		};

		const scanShortener = async (url) => {
			try {
				const controller = new AbortController();
				setTimeout(() => controller.abort(), 10000);

				const res = await resolveSite(url, controller.signal);
				if (!res) return false;

				const text = await res.text();
				return blacklistedKeywords.some((k) => text.includes(k))
					? url
					: false;
			} catch (e) {
				console.warn(`Error fetching ${url}:`, e.message);
				return false;
			}
		};

		const badSiteFound = await Promise.any(uniqueLinks.map(scanShortener));
		if (!badSiteFound) return;

Citations