Cách tạo Safelink chuyển hướng mã hóa URL cho blogger

Xin chào tất cả các bạn, hôm nay mình sẽ hướng dẫn các bạn tạo Safelink chuyển hướng mã hóa URL cho blogger nhé. Có rất nhiều blog khác đã chia sẻ cách làm Safelink nhưng lại không mã hóa URL. Trong bài viết này mình sẽ hướng dẫn chi tiết, các bạn cùng làm theo mình nhé.

Các bước tạo Safelink cho blogger

Bước 1: Tạo trang Safelink

  • Bạn đăng nhập vào blogger
  • Sau đó bạn vào phần trang, tạo một trang mới
  • Chuyển sang phần chỉnh sửa HTML và dán mã HTML bên dưới vào
<div class='ad-placement'>
<!--[ Your_ad_code_here ]-->
</div>
<div class='safelink-button' id='safelink'>
<div style='text-align: center'>
<div class='button outline' id='safelink-wait'>Please wait...</div>
<script>/*<![CDATA[*/ var currentURL = location.href; var str = currentURL; var res = str.replace('https://www.quanglinhchiase.com/p/chuyen-huong.html' + '?url=', " "); function changeLink(){ var decodedString = Base64.decode(res); window.open(decodedString, '_blank')}; document.write('<a href="#getLink" id="safelink-download" class="button">Create link</a>'); var linkDL = document.getElementById("safelink-download"); var notif = document.getElementById("safelink-wait"); var time = 5; var textTime = document.createElement("span"); linkDL.parentNode.replaceChild(textTime, linkDL); var id; id = setInterval(function () { time--; if (time < 0) { textTime.parentNode.replaceChild(linkDL, textTime); clearInterval(id); notif.style.display = "none"; linkDL.style.display = "inline-block"; } else { textTime.innerHTML = "Link will appear in " + time.toString() + " second"; }}, 1000); /*]]>*/</script>
</div>
</div>
<div class='safelink-content'>
<!--[ Write_your_content_here ]-->
</div>
<div class='safelink-create' style='text-align:center'>
<div class='ad-placement'>
<!--[ Your_ad_code_here ]-->
</div>
<div id='getLink'>
<a class='button' href='javascript:;' onclick='changeLink();' rel='noreferrer noopener' target='_blank'>Get link</a>
</div>
<div class='ad-placement'>
<!--[ Your_ad_code_here ]-->
</div>
</div>

Bước 2: Thêm một số CSS và Javascript

Hãy dán mã code này trên thẻ </b:skin> hoặc có thể dán trên thẻ </head>

/* Safelink */
:root {--link-outline-color:#48525c;--link-bg-color:#204ecf;}
.button{display: inline-flex;align-items: center;margin: 15px 15px;padding: 10px 20px;outline: 0;border: 0;border-radius: 2px;color: #fefefe;background-color: var(--link-bg-color);font-size: 14px;white-space: nowrap;overflow: hidden;max-width: 100%;line-height: 2em}
.button.outline{color: var(--link-outline-color);background-color: transparent;border: 1px solid #ebeced}
.button.outline:hover{border-color: var(--link-bg-color)}
.safelink-button, .safelink-create > *{margin: 1.8em 0}
.safelink-button span{display: block;font-size: 12px}
#getLink{margin: 5px 0}
#getLink .button{display: none}
#getLink:target .button{display: inline-flex}

Javascript xóa m?=1. Sao chép mã dưới đây vào trên thẻ </head> nhé


<script>
//<![CDATA[
var uri = window.location.toString();
if (uri.indexOf("?m=1", "?m=1") > 0) {
var clean_uri = uri.substring(0, uri.indexOf("?m=1"));
window.history.replaceState({}, document.title, clean_uri);
}
//]]>
</script>

Bước 3: Javascript chuyển hướng và mã hóa URL

Sao chép toàn bộ mã dưới đây dán trên thẻ </body>


<b:if cond='data:view.isSingleItem'>
<script>
/*<![CDATA[*/
var Base64 = {
_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
encode: function(input) {
var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = Base64._utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
}
return output;
},
decode:function(input) {
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
while (i < input.length) {
enc1 = this._keyStr.indexOf(input.charAt(i++));
enc2 = this._keyStr.indexOf(input.charAt(i++));
enc3 = this._keyStr.indexOf(input.charAt(i++));
enc4 = this._keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}
}
output = Base64._utf8_decode(output);
return output;
},
_utf8_encode:function(string) {
string = string.replace(/\r\n/g, "\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if ((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
},
_utf8_decode:function(utftext) {
var string = "";
var i = 0;
var c = c1 = c2 = 0;
while (i < utftext.length) {
c = utftext.charCodeAt(i);
if (c < 128) {
string += String.fromCharCode(c);
i++;
} else if ((c > 191) && (c < 224)) {
c2 = utftext.charCodeAt(i + 1);
string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
i += 2;
} else {
c2 = utftext.charCodeAt(i + 1);
c3 = utftext.charCodeAt(i + 2);
string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
i += 3;
}
}
return string;
}
};
var protected_links = "";
var a_to_va = 0;
var a_to_vb = 0;
var a_to_vc = "";

function auto_safelink() {
auto_safeconvert();
};

function auto_safeconvert() {
var a_to_vd = window.location.hostname;
if (protected_links != "" && !protected_links.match(a_to_vd)) {
protected_links += ", " + a_to_vd;
} else if (protected_links == "") {
protected_links = a_to_vd;
}
var a_to_ve = "";
var a_to_vf = new Array();
var a_to_vg = 0;
a_to_ve = document.getElementsByTagName("a");
a_to_va = a_to_ve.length;
a_to_vf = a_to_fa();
a_to_vg = a_to_vf.length;
var a_to_vh = false;
var j = 0;
var daftarPostingan = ["https://www.quanglinhchiase.com/p/chuyen-huong.html"];
var randomPostingan = daftarPostingan[Math.floor(Math.random() * daftarPostingan.length)];
var a_to_vi = "";
for (var i = 0; i < a_to_va; i++) {
a_to_vh = false;
j = 0;
while (a_to_vh == false && j < a_to_vg) {
a_to_vi = a_to_ve[i].href;
if (a_to_vi.match(a_to_vf[j]) || !a_to_vi || !a_to_vi.match("https")) {
a_to_vh = true;
}
j++;
}
if (a_to_vh == false) {
var encryptedUrl = Base64.encode(a_to_vi);
a_to_ve[i].href = randomPostingan + "?url=" + encryptedUrl;
a_to_ve[i].rel = "noopener noreferrer";
a_to_vb++;
a_to_vc += i + ":::" + a_to_ve[i].href + "\n";
}
}
var a_to_vj = "";
var a_to_vk = "";
if (a_to_vj) {
a_to_vj.innerHTML += a_to_vb;
}
if (a_to_vk) {
a_to_vk.innerHTML += a_to_va;
}
};
function a_to_fa() {
var a_to_vf = new Array();
protected_links = protected_links.replace(" ", "");
a_to_vf = protected_links.split(",");
return a_to_vf;
};
/*]]>*/
</script>
<!--[Protect link from encode]-->
<script>
protected_links = "facebook.com, instagram.com, twitter.com";
auto_safelink();
</script>
</b:if>

Thay https://www.quanglinhchiase.com/p/chuyen-huong.html thành URL của bạn đã tao trước đó.

Loại trừ các trang web như facebook, twitter không cần safelink bằng cách thêm url vào protected_links, mỗi web cách nhau bằng dấu phẩy.

Lời kết

Như vậy là mình đã hướng dẫn các bạn tạo Safelink chuyển hướng mã hóa URL cực kì đơn giản. Nếu các bạn có thắc mắc hay khiếu nại bản quyền xin vui lòng comment xuống phía dưới cho mình biết nhé. Chúc các bạn có một ngày làm việc thật là hiệu quả. Xin chào và hẹn gặp lại!

Copyright © Quang Linh Chia Sẻ

Post a Comment

Previous Post Next Post