Pagtangtang sa "vk.com/away.php" o pagsunod sa mga link gikan sa usa ka himsog nga tawo

Pinaagi sa pag-klik sa mga link nga gi-post sa VKontakte, imong mamatikdan nga, sama sa ubang mga social network, una adunay usa ka transisyon sa usa ka "luwas" nga link, pagkahuman ang social network nagdesisyon kung ang tiggamit kinahanglan nga tugutan pa o dili. Kadaghanan sa matinagdanon nga mga tawo nakamatikod sa tunga sa segundo nga pagpakita sa "vk.com/away.php" sa address bar sa browser, apan, siyempre, wala maghatag bisan unsang importansya niini.

Pagtangtang sa "vk.com/away.php" o pagsunod sa mga link gikan sa usa ka himsog nga tawo

sa naunang kasaysayan

Usa ka adlaw, ang usa ka programmer, nga nakahuman sa lain nga proyekto, nakaamgo nga siya nalinga sa tinguha nga isulti sa tanan bahin niini. Ang proyekto gi-host sa usa ka server nga adunay usa ka talagsaon nga IP, apan walay ngalan sa domain. Busa, ang usa ka matahum nga ikatulo nga lebel nga subdomain dali nga gihimo sa .ddns.net nga dominyo, nga sa katapusan gigamit ingon usa ka link. 

Pagbalik sa post pagkahuman, nahibal-an sa programmer nga imbes sa site, usa ka VK stub ang nagbukas, nga nagpahibalo bahin sa pagbalhin sa usa ka dili luwas nga site:

Pagtangtang sa "vk.com/away.php" o pagsunod sa mga link gikan sa usa ka himsog nga tawo

Mopatim-aw nga ang mga intelihente nga tiggamit mismo adunay katungod sa pagdesisyon kung unsang site ang ilang adtoan ug kung diin ang dili, apan lahi ang gihunahuna sa VKontakte ug wala maghatag bisan unsang higayon nga sundon ang link nga wala’y crutches.

Unsa may problema

Kini nga pagpatuman adunay daghang hinungdanon nga mga disbentaha:

  • Kawalay katakus sa pag-abli sa usa ka kadudahang site. Sama sa gipahayag sa ibabaw, ang user walay paagi sa pagbuntog sa stub. Ang bugtong paagi aron maablihan ang link mao ang pagkopya ug pagdikit niini sa address bar.
  • Gipahinay ang nabigasyon sa link. Ang katulin sa pag-redirect nagdepende sa ping. Tungod niini, sa taas nga ping, ang bililhon nga mga segundo sa kinabuhi mahimong mawala, nga, ingon sa nahibal-an naton, dili madawat.
  • Pagmonitor sa transisyon. Gipadali sa kini nga pamaagi ang pagkolekta sa kasayuran bahin sa mga aksyon sa gumagamit, nga, siyempre, ang gigamit sa VK, nga gidugang sa luwas nga link ang id sa post diin gihimo ang pagbalhin.

Gipagawas si Django

Ang labing maayo nga solusyon sa tanan nga mga problema sa ibabaw mahimo nga usa ka extension sa browser. Alang sa klaro nga mga hinungdan, ang pagpili nahulog sa Chrome. Adunay usa ka maayo kaayo sa hub nga artikulo Usa ka artikulo nga gipahinungod sa pagsulat sa mga extension alang sa Chrome.

Aron makahimo og ingon nga extension, kinahanglan namong maghimo ug duha ka file sa usa ka bulag nga folder: usa ka json-Manifest ug usa ka JavaScript file aron mamonitor ang kasamtangan nga url address.

Paghimo usa ka Manifest file

Ang nag-unang butang nga atong gikinahanglan mao ang paghatag sa extension sa pagtugot sa pagtrabaho uban sa mga tab ug assign sa usa ka executable script:

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

Paghimo og js file

Ang tanan yano dinhi: sa panghitabo nga gitawag kung ang usa ka bag-ong tab gihimo, kami nagdugang usa ka tseke alang sa url address kung kini nagsugod sa "vk.com/away.php", unya pulihan kini sa husto, nga naa sa GET hangyo:

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

Pag-assemble sa extension

Human masiguro nga ang duha nga mga file naa sa parehas nga folder, ablihi ang Chrome, pilia ang tab sa extension ug i-klik ang "Pag-load nga wala gi-pack nga extension". Sa bintana nga nagbukas, pilia ang folder sa gisulat nga gipalapdan nga file ug i-klik ang Kolektahon. Andam na! Karon ang tanan nga mga link sama sa vk.com/away gipulihan sa mga orihinal.

Kay sa usa ka konklusyon

Siyempre, kini nga matang sa stub nakaluwas sa daghang mga tawo gikan sa minilyon nga mga malimbungon nga mga site, bisan pa, nagtuo ako nga ang mga tawo mismo adunay katungod sa pagdesisyon kung mag-klik ba sa usa ka dili luwas nga link o dili.
Alang sa kasayon, akong gi-post ang proyekto sa github.

Source: www.habr.com

Idugang sa usa ka comment