Ukulahla "vk.com/away.php" okanye ulandele amakhonkco avela kumntu ophilileyo

Ngokucofa amakhonkco athunyelwe kwiVkontakte, uya kuqaphela ukuba, njengakwamanye amanethiwekhi oluntu, okokuqala utshintsho kwikhonkco "ekhuselekileyo" lwenzeka, emva koko inethiwekhi yoluntu ithatha isigqibo sokuba umsebenzisi kufuneka avunyelwe ngakumbi okanye cha. Uninzi lwabantu abanomdla baqaphela ukubonakala kwesiqingatha sesibini se "vk.com/away.php" kwibar yedilesi yesikhangeli, kodwa, ngokuqinisekileyo, ayizange ifake nayiphi na into ebalulekileyo kuyo.

Ukulahla "vk.com/away.php" okanye ulandele amakhonkco avela kumntu ophilileyo

ukubuzwa

Ngenye imini, umdwebi wenkqubo ethile, emva kokugqiba enye iprojekthi, waqonda ukuba wayexakeke ngumnqweno wokuxelela wonke umntu ngayo. Iprojekthi yasingathwa kwiseva ene-IP ekhethekileyo, kodwa ngaphandle kwegama lesizinda. Ngoko ke, i-subdomain yenqanaba lesithathu elihle lenziwe ngokukhawuleza kwi-domain .ddns.net, ekugqibeleni isetyenziswe njengekhonkco. 

Ukubuyela kwisithuba emva kwexesha, umdwebi wenkqubo wafumanisa ukuba endaweni yesayithi, i-VK stub yayivula, ikwazisa malunga nokutshintshwa kwendawo engakhuselekanga:

Ukulahla "vk.com/away.php" okanye ulandele amakhonkco avela kumntu ophilileyo

Kuya kubonakala ngathi abasebenzisi abakrelekrele ngokwabo banelungelo lokugqiba ukuba yeyiphi indawo ekufuneka baye kuyo kwaye hayi, kodwa iVKontakte icinga ngendlela eyahlukileyo kwaye ayinikezeli naliphi na ithuba lokulandela ikhonkco ngaphandle kweentonga.

Yintoni engalunganga

Olu phumezo lunezinto ezininzi ezingeloncedo ezibalulekileyo:

  • Ukungakwazi ukuvula indawo ekrokrisayo. Njengoko kuchaziwe ngasentla, umsebenzisi akanayo indlela yokoyisa i-stub. Indlela yodwa yokuvula ikhonkco kukukopa kwaye uncamathisele kwibar yedilesi.
  • Icothisa ikhonkco lokujonga. Isantya sokuqondisa kwakhona sixhomekeke kwiping. Ngokufanelekileyo, nge-ping ephezulu, imizuzwana exabisekileyo yobomi inokulahleka, leyo, njengoko siyazi, ayamkelekanga.
  • Ukujongwa kwenguqu. Le ndlela yenza kube lula ukuqokelela ulwazi malunga nezenzo zomsebenzisi, oko, ngokuqinisekileyo, oko iVK isebenzisa, ukongeza kwikhonkco ekhuselekileyo id yesithuba apho utshintsho lwenziwe khona.

Ikhulula i-Django

Isisombululo esisiso kuzo zonke ezi ngxaki zingentla sinokuba sisandiso sebrawuza. Ngenxa yezizathu ezicacileyo, ukhetho luwela kwiChrome. Kukho into entle kakhulu kwi-hub inqaku Inqaku elinikezelwe ekubhaleni izandiso zeChrome.

Ukwenza ulwandiso olunjalo, kuya kufuneka senze iifayile ezimbini kwifolda eyahlukileyo: i-json-Manifest kunye nefayile yeJavaScript ukujonga idilesi ye-url yangoku.

Yenza ifayile yeManifest

Eyona nto iphambili esiyifunayo kukunika imvume yolwandiso lokusebenza ngeethebhu kwaye sinikeze iskripthi esiphunyezwayo:

{
  "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"
  }
}

Yenza ifayile ye-js

Yonke into ilula apha: kwisiganeko esibizwa ngokuba xa ithebhu entsha yenziwe, songeza itshekhi yedilesi ye-url ukuba iqala ngo "vk.com/away.php", emva koko ubeke endaweni yayo echanekileyo, ekwisicelo seGET:

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});
		}
	});
});

Ukudibanisa ulwandiso

Emva kokuqinisekisa ukuba zombini iifayile zikwifolda enye, vula iChrome, khetha ithebhu yokwandisa kwaye ucofe "Layisha ulwandiso olungapakishwanga". Kwifestile evulayo, khetha ifolda yefayile eyandisiweyo ebhaliweyo kwaye nqakraza Qokelela. Ulungile! Ngoku onke amakhonkco afana ne-vk.com/away athatyathelwa indawo ngawokuqala.

Endaweni yesiphelo

Ngokuqinisekileyo, olu hlobo lwe-stub lusindise abantu abaninzi kwizigidi zeendawo ezinobuqhetseba, nangona kunjalo, ndikholelwa ukuba abantu ngokwabo banelungelo lokugqiba ukuba bacofe ikhonkco elingakhuselekanga okanye cha.
Ukuze kube lula, ndithumele iprojekthi github.

umthombo: www.habr.com

Yongeza izimvo