Ikpochapụ "vk.com/away.php" ma ọ bụ soro njikọ sitere na onye ahụike

Site na ịpị njikọ ndị e bipụtara na VKontakte, ị ga-achọpụta na, dị ka ọ dị na netwọk mmekọrịta ndị ọzọ, nke mbụ enwere mgbanwe na njikọ "nchekwa", mgbe nke ahụ gasịrị, netwọk mmekọrịta na-ekpebi ma a ga-ahapụ onye ọrụ ahụ ma ọ bụ na ọ gaghị ekwe omume. Ọtụtụ ndị nwere mmasị hụrụ ọdịdị nke ọkara nke abụọ nke "vk.com/away.php" na adreesị mmanya nke ihe nchọgharị ahụ, mana, n'ezie, etinyeghị ya mkpa ọ bụla.

Ikpochapụ "vk.com/away.php" ma ọ bụ soro njikọ sitere na onye ahụike

prehistory

Otu ụbọchị, otu onye na-eme mmemme, bụ́ onye rụchara ọrụ ọzọ, chọpụtara na ọ na-agụ ya agụụ ịkọrọ onye ọ bụla banyere ya. A kwadoro oru ngo a na ihe nkesa nwere IP pụrụ iche, ma na-enweghị aha ngalaba. Ya mere, a na-emepụta subdomain ọkwa atọ mara mma ngwa ngwa na ngalaba .ddns.net, nke e mechara jiri mee ihe dịka njikọ. 

N'ịlaghachi na post ahụ ka obere oge gasịrị, onye mmemme ahụ chọpụtara na kama saịtị ahụ, VK stub na-emeghe, na-agwa banyere mgbanwe na saịtị na-adịghị mma:

Ikpochapụ "vk.com/away.php" ma ọ bụ soro njikọ sitere na onye ahụike

Ọ ga-adị ka ndị ọrụ smart n'onwe ha nwere ikike ikpebi saịtị ha kwesịrị ịga na nke ọ bụghị, mana VKontakte na-eche echiche dị iche na ọ naghị enye ohere ọ bụla iji soro njikọ ahụ na-enweghị eriri.

Kedu ihe ọ bụ

Mmejuputa iwu a nwere ọtụtụ ọghọm dị mkpa:

  • Enweghị ike imepe saịtị na-enyo enyo. Dị ka ekwuru n'elu, onye ọrụ enweghị ụzọ isi merie isi ike ahụ. Naanị ụzọ isi mepee njikọ ahụ bụ idetuo na mado ya n'ime ụlọ mmanya.
  • Na-eme ka igodo njikọ kwụsịlata. Ọsọ ntụgharị na-adabere na ping. N'ihi ya, na ping dị elu, sekọnd dị oké ọnụ ahịa nke ndụ nwere ike ịla n'iyi, nke, dị ka anyị maara, adịghị anabata.
  • Nlebanya mgbanwe. Usoro a na-eme ka ọ dịkwuo mfe ịnakọta ozi gbasara omume onye ọrụ, nke, n'ezie, bụ ihe VK na-eji, na-agbakwunye na njikọ echekwara na id nke post nke e mere mgbanwe.

Na-ahapụ Django

Ihe ngwọta kachasị mma maka nsogbu niile dị n'elu nwere ike ịbụ ndọtị ihe nchọgharị. Maka ihe doro anya, nhọrọ ahụ dabara na Chrome. Enwere ihe dị mma n'ahịa otu isiokwu Edemede ewepụtara maka ide ndọtị maka Chrome.

Iji mepụta ndọtị dị otú ahụ, anyị ga-achọ ịmepụta faịlụ abụọ na nchekwa dị iche: json-Manifest na faịlụ Javascript iji nyochaa adreesị url dị ugbu a.

Mepụta faịlụ egosipụtara

Isi ihe anyị chọrọ bụ ịnye ikike ndọtị ka ọ rụọ ọrụ na taabụ wee kenye edemede enwere ike ịrụ ọrụ:

{
  "manifest_version": 2,
  "name": "Run Away From vk.com/away",
  "version": "1.0",
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": ["tabs"],
  "browser_action": {
    "default_title": "Run Away From vk.com/away"
  }
}

Mepụta faịlụ js

Ihe niile dị mfe ebe a: na ihe omume a na-akpọ mgbe emepụtara taabụ ọhụrụ, anyị na-agbakwunye nlele maka adreesị url ma ọ bụrụ na ọ malite na "vk.com/away.php", wee dochie ya na nke ziri ezi, nke dị na arịrịọ GET:

chrome.tabs.onCreated.addListener( function (tabId, changeInfo, tab) {
	chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
		var url = tabs[0].url;
		if (url.substr(0,23) == "https://vk.com/away.php"){
			var last = url.indexOf("&", 0)
			if(last == -1)last = 1000;
			var url = decodeURIComponent(url.substr(27, last-27));
			chrome.tabs.update({url: url});
		}
	});
});

Ịchịkọta ndọtị ahụ

Mgbe ijide n'aka na faịlụ abụọ ahụ dị n'otu nchekwa ahụ, mepee Chrome, họrọ taabụ ndọtị wee pịa "Load un packed extension". Na mpio mepere emepe, họrọ folda nke faịlụ agbatịkwu ederede wee pịa Anakọta. Njikere! Ugbu a njikọ niile dị ka vk.com/away ka ejiri nke mbụ dochie ya.

Kama nkwubi okwu

N'ezie, ụdị stub a azọpụtala ọtụtụ ndị mmadụ site na ọtụtụ nde saịtị aghụghọ, Otú ọ dị, ekwenyere m na ndị mmadụ n'onwe ha nwere ikike ikpebi ma ha ga-pịa njikọ na-adịghị ize ndụ ma ọ bụ na ha agaghị.
Maka ịdị mma, ezigara m ọrụ ahụ na github.

isi: www.habr.com

Tinye a comment