<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.sncapedia.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=181.160.253.48</id>
	<title>SNCApedia - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.sncapedia.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=181.160.253.48"/>
	<link rel="alternate" type="text/html" href="https://www.sncapedia.org/wiki/Special:Contributions/181.160.253.48"/>
	<updated>2026-04-06T04:38:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.sncapedia.org/index.php?title=Vichan&amp;diff=28299</id>
		<title>Vichan</title>
		<link rel="alternate" type="text/html" href="https://www.sncapedia.org/index.php?title=Vichan&amp;diff=28299"/>
		<updated>2026-04-05T01:03:03Z</updated>

		<summary type="html">&lt;p&gt;181.160.253.48: more helpful information on pearl.js the datamining script on the shemmy, chinny and karachan&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lowercase title}}{{GemShort}}[[File:Vichan.png|thumb|The logo.|129x129px]]&lt;br /&gt;
&#039;&#039;&#039;vichan&#039;&#039;&#039;, also known as &#039;&#039;&#039;vichan-devel&#039;&#039;&#039;, is the most popular imageboard software within the soysphere, and other places.. It is a free light-weight, fast, highly configurable and user-friendly imageboard software package and it is a fork of another imageboard software named TinyIB. [[Fact|It is written in PHP and has few dependencies.]]&lt;br /&gt;
&lt;br /&gt;
It is less technologically advanced compared to [[LynxChan]] [[Fact|but is easier to fork/modify]].&lt;br /&gt;
&lt;br /&gt;
The official github repository and installation guides can be found at https://github.com/vichan-devel/vichan&lt;br /&gt;
&lt;br /&gt;
== Fork&#039;s of vichan ==&lt;br /&gt;
&lt;br /&gt;
* VinnyFork&lt;br /&gt;
&lt;br /&gt;
Vinluv&#039;s fork of vichan used on sidson.city; the biggest change about it is the sidebar and deletion of a homepage its the hardest to use as it runs on a very old version of vichan. &lt;br /&gt;
&lt;br /&gt;
* RuFork&lt;br /&gt;
&lt;br /&gt;
[[User:Yoot|Yoot]]’s fork of vichan made for his 1 PPD website [[Ruzly|Ruzly, also known as Garty, or Frog Pond]]{{Margerald}}. It has a topbar and layout more similar to [[JSchan]], however. &lt;br /&gt;
&lt;br /&gt;
* Kikemin&#039;s fork&lt;br /&gt;
&lt;br /&gt;
based off the shemmy code, used on the chinny and binny&amp;lt;sup&amp;gt;[ev&amp;amp;doe it&#039;s just a frontend]&amp;lt;/sup&amp;gt;, Referred to as &amp;quot;gigglegrid&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Kuz&#039;s fork&lt;br /&gt;
&lt;br /&gt;
the current fork used on soyjak.party, is the most notable and best designed and is mainly why [[Kuz]] was formerly considered one of the coders of vichan because of xis coding skills.&lt;br /&gt;
&lt;br /&gt;
* Shemmy Fork&lt;br /&gt;
&lt;br /&gt;
used on the [[Shemmy]], basically a mix of [[Kuz]]&#039;s fork, [[Kara]]&#039;s fork and [[Kikemin]]&#039;s fork&lt;br /&gt;
&lt;br /&gt;
* Kara&#039;s Fork&lt;br /&gt;
&lt;br /&gt;
used on the old and new version of the [[Gacky]], this one actually has a public source release but because &#039;&#039;&#039;it was made by a failtroll pedonigger and is rumored to contain malicious code it should not be used&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Karachan/Shemmy/Chinny datamining ==&lt;br /&gt;
The rangeban and datamining code from Karachan are utilized on the Shemmy and Chinny, with the rangeban blocking Australia, the UK, Kuwait, and India by default, at nginx level (It will show a false 418 error &amp;quot;You are not allowed to access this site.&amp;quot;), the datamining script &amp;quot;pearl.js&amp;quot; is a obsfucated script that uses obsfucator.io with debugger protection to freeze your browser if you attempt to debug it.&lt;br /&gt;
&lt;br /&gt;
The script tracks your screen resolution, if you are on a mobile device (Android or iOS), if you are using a VPN and have WebRTC leaks, and scans your ports for Tuxler and Discord respectively, it also stores data to your localstorage and cookies to store a &amp;quot;tainted session&amp;quot; that persists between browser resets (use incognito to get around this), and sends a string for validation such as &amp;quot;karachan&amp;quot; (or &amp;quot;shemmy&amp;quot; in the case of the Shemmy). &#039;&#039;&#039;Most of these measures can be avoided by using incognito mode and a VPN and changing your screen resolution and window size.&#039;&#039;&#039; Do note it can also detect if you are using incognito too.&lt;br /&gt;
&lt;br /&gt;
The unobsfucated source code for the datamining is here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(async()=&amp;gt;{&lt;br /&gt;
	const results = {&lt;br /&gt;
		mobile: 0, //looks totally normal.&lt;br /&gt;
		dsc: 0,&lt;br /&gt;
		txl: 0,&lt;br /&gt;
		vpn: 0,&lt;br /&gt;
		cg: 0,&lt;br /&gt;
		wm: 0,&lt;br /&gt;
		hm: 0,&lt;br /&gt;
		wi: 0,&lt;br /&gt;
		hi: 0,&lt;br /&gt;
		vv: &#039;karachan&#039;,&lt;br /&gt;
		kp: &#039;&#039;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Screen resolution check (if unpassable sets wm to -1)&lt;br /&gt;
	// This is fucking evil.&lt;br /&gt;
	try {&lt;br /&gt;
		results.wm = screen.width;&lt;br /&gt;
		results.hm = screen.height;&lt;br /&gt;
		results.wi = window.innerWidth;&lt;br /&gt;
		results.hi = window.innerHeight;&lt;br /&gt;
	} catch(e) {&lt;br /&gt;
		results.wm = -1&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Mobile check&lt;br /&gt;
	try {&lt;br /&gt;
		mobile = /Mobi|Android|iPhone|iPad/i.test(navigator.userAgent) ? 1 : 0;&lt;br /&gt;
	} catch(e) {&lt;br /&gt;
		mobile = 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Kekpass (Yes, this is also evil. You don&#039;t know you&#039;re pozzed)&lt;br /&gt;
	try {&lt;br /&gt;
		results.kp = localStorage.getItem(&amp;quot;kekpass&amp;quot;) || &#039;&#039;;&lt;br /&gt;
	} catch(e) {&lt;br /&gt;
		results.kp = &#039;&#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Incognito check (chrome only, still sketchy)&lt;br /&gt;
	try {&lt;br /&gt;
		const fs = window.RequestFileSystem || window.webkitRequestFileSystem&lt;br /&gt;
		if(fs){&lt;br /&gt;
			fs(window.TEMPORARY, 100, ()=&amp;gt;{}, ()=&amp;gt;{ results.cg = 1 })&lt;br /&gt;
		}&lt;br /&gt;
	} catch(e){&lt;br /&gt;
		results.cg = 1&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function trySocket(url, onSuccess){&lt;br /&gt;
		return new Promise((resolve)=&amp;gt;{&lt;br /&gt;
			let ws&lt;br /&gt;
			try {&lt;br /&gt;
				ws = new WebSocket(url)&lt;br /&gt;
				ws.onopen = ()=&amp;gt;{&lt;br /&gt;
					ws.close()&lt;br /&gt;
					onSuccess()&lt;br /&gt;
					resolve()&lt;br /&gt;
				}&lt;br /&gt;
				ws.onerror = ()=&amp;gt;resolve()&lt;br /&gt;
			} catch(e){&lt;br /&gt;
				resolve()&lt;br /&gt;
			}&lt;br /&gt;
		})&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// WebSocket checks&lt;br /&gt;
	await trySocket(&amp;quot;ws://127.0.0.1:6463/?v=1&amp;quot;, ()=&amp;gt;{ results.dsc = 1 })&lt;br /&gt;
	await trySocket(&amp;quot;ws://127.0.0.1:1701/tuxler&amp;quot;, ()=&amp;gt;{ results.txl = 1 })&lt;br /&gt;
	await trySocket(&amp;quot;ws://127.0.0.1:1700/tuxler&amp;quot;, ()=&amp;gt;{ results.txl = 1 })&lt;br /&gt;
&lt;br /&gt;
	// WebRTC leak check&lt;br /&gt;
	await new Promise((resolve)=&amp;gt;{&lt;br /&gt;
		let ips = new Set()&lt;br /&gt;
&lt;br /&gt;
		let pc = new RTCPeerConnection({&lt;br /&gt;
			iceServers: [{urls: &amp;quot;stun:stun.l.google.com:19302&amp;quot;}]&lt;br /&gt;
		})&lt;br /&gt;
&lt;br /&gt;
		pc.createDataChannel(&amp;quot;check&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		pc.onicecandidate = (event)=&amp;gt;{&lt;br /&gt;
			if(event.candidate){&lt;br /&gt;
				let ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3})/g&lt;br /&gt;
				let match = event.candidate.candidate.match(ipRegex)&lt;br /&gt;
				if(match){&lt;br /&gt;
					match.forEach(ip=&amp;gt;ips.add(ip))&lt;br /&gt;
				}&lt;br /&gt;
			} else {&lt;br /&gt;
				pc.close()&lt;br /&gt;
&lt;br /&gt;
				// bruh logic: if we get any private IPs, it&#039;s likely local&lt;br /&gt;
				let hasLocal = false&lt;br /&gt;
				ips.forEach(ip=&amp;gt;{&lt;br /&gt;
					if(/^10\./.test(ip) || /^192\.168\./.test(ip) || /^172\.(1[6-9]|2[0-9]|3[0-1])\./.test(ip)){&lt;br /&gt;
						hasLocal = true&lt;br /&gt;
					}&lt;br /&gt;
				})&lt;br /&gt;
&lt;br /&gt;
				results.vpn = hasLocal ? 0 : 1&lt;br /&gt;
				resolve()&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		pc.createOffer().then(offer=&amp;gt;pc.setLocalDescription(offer))&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
	// send it&lt;br /&gt;
	fetch(&#039;/kcindex.php&#039;, {method: &#039;POST&#039;, headers: {&#039;Content-Type&#039;: &#039;application/x-www-form-urlencoded&#039;}, body: new URLSearchParams(results)})&lt;br /&gt;
})()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to install ==&lt;br /&gt;
[https://www.youtube.com/watch?v=E9SOB3_-X6o Follow this tutorial from JewTube,] [https://comfy.guide/server/vichan/ you can also follow this one aswell].&lt;br /&gt;
[[Category:Imageboard software]]&lt;/div&gt;</summary>
		<author><name>181.160.253.48</name></author>
	</entry>
	<entry>
		<id>https://www.sncapedia.org/index.php?title=Vichan&amp;diff=28280</id>
		<title>Vichan</title>
		<link rel="alternate" type="text/html" href="https://www.sncapedia.org/index.php?title=Vichan&amp;diff=28280"/>
		<updated>2026-04-04T23:51:32Z</updated>

		<summary type="html">&lt;p&gt;181.160.253.48: Details on karachan datamining and how to bypass it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lowercase title}}{{GemShort}}[[File:Vichan.png|thumb|The logo.|129x129px]]&lt;br /&gt;
&#039;&#039;&#039;vichan&#039;&#039;&#039;, also known as &#039;&#039;&#039;vichan-devel&#039;&#039;&#039;, is the most popular imageboard software within the soysphere, and other places.. It is a free light-weight, fast, highly configurable and user-friendly imageboard software package and it is a fork of another imageboard software named TinyIB. [[Fact|It is written in PHP and has few dependencies.]]&lt;br /&gt;
&lt;br /&gt;
It is less technologically advanced compared to [[LynxChan]] [[Fact|but is easier to fork/modify]].&lt;br /&gt;
&lt;br /&gt;
The official github repository and installation guides can be found at https://github.com/vichan-devel/vichan&lt;br /&gt;
&lt;br /&gt;
== Fork&#039;s of vichan ==&lt;br /&gt;
&lt;br /&gt;
* VinnyFork&lt;br /&gt;
&lt;br /&gt;
Vinluv&#039;s fork of vichan used on sidson.city; the biggest change about it is the sidebar and deletion of a homepage its the hardest to use as it runs on a very old version of vichan. &lt;br /&gt;
&lt;br /&gt;
* RuFork&lt;br /&gt;
&lt;br /&gt;
[[User:Yoot|Yoot]]’s fork of vichan made for his 1 PPD website [[Ruzly|Ruzly, also known as Garty, or Frog Pond]]{{Margerald}}. It has a topbar and layout more similar to [[JSchan]], however. &lt;br /&gt;
&lt;br /&gt;
* Kikemin&#039;s fork&lt;br /&gt;
&lt;br /&gt;
based off the shemmy code, used on the chinny and binny&amp;lt;sup&amp;gt;[ev&amp;amp;doe it&#039;s just a frontend]&amp;lt;/sup&amp;gt;, Referred to as &amp;quot;gigglegrid&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Kuz&#039;s fork&lt;br /&gt;
&lt;br /&gt;
the current fork used on soyjak.party, is the most notable and best designed and is mainly why [[Kuz]] was formerly considered one of the coders of vichan because of xis coding skills.&lt;br /&gt;
&lt;br /&gt;
* Shemmy Fork&lt;br /&gt;
&lt;br /&gt;
used on the [[Shemmy]], basically a mix of [[Kuz]]&#039;s fork, [[Kara]]&#039;s fork and [[Kikemin]]&#039;s fork&lt;br /&gt;
&lt;br /&gt;
* Kara&#039;s Fork&lt;br /&gt;
&lt;br /&gt;
used on the old and new version of the [[Gacky]], this one actually has a public source release but because &#039;&#039;&#039;it was made by a failtroll pedonigger and is rumored to contain malicious code it should not be used&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The rangeban and datamining code are utilized on the Shemmy and Chinny, with the rangeban blocking Australia, the UK, Kuwait, and India by default, the datamining (pearl.js) it tracks your screen resolution, if your device is mobile, if you are using a VPN, Tuxler, and Discord respectively, it also stores data to your localstorage and cookies to store a &amp;quot;tainted session&amp;quot; that persists between browser resets (use incognito to get around this), and sends a string for validation such as &amp;quot;karachan&amp;quot; (or &amp;quot;shemmy&amp;quot; in the case of the Shemmy). &#039;&#039;&#039;Most of these measures can be avoided by using incognito mode and a VPN and changing your screen resolution and window size.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How to install ==&lt;br /&gt;
[https://www.youtube.com/watch?v=E9SOB3_-X6o Follow this tutorial from JewTube,] [https://comfy.guide/server/vichan/ you can also follow this one aswell].&lt;br /&gt;
[[Category:Imageboard software]]&lt;/div&gt;</summary>
		<author><name>181.160.253.48</name></author>
	</entry>
</feed>