Website đang trong giai đoạn hoàn thiện và chạy thử nghiệm, rất mong nhận được sự đóng góp ý kiến của mọi người để website hoàn thiện tốt hơn! Đóng góp

Table of Content

Hướng dẫn tạo safelink chuyển hướng cho blogger

safelink, tạo safelink, tạo trang chuyển hướng url, code trang chuyển hướng url, tạo trang chuyển hướng url đếm ngược, code trang chuyển hướng blogger

Hướng dẫn 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é.

Hướng dẫn tạo safelink chuyển hướng cho blogger
Hướng dẫn tạo safelink chuyển hướng cho blogger

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>
  • Thay link https://www.quanglinhchiase.com/p/chuyen-huong.html thành trang của bạn đã tạo.

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ẻ

Hãy làm những gì mình thích!

9 comments

  1. Đù nhức lách
    1. sao nhức :3
  2. quá chất luôn anh ơi
    1. sao lại tự khen mình thế em =))
    2. em khen anh chỉnh bố cục đẹp
    3. quá khen quá khen :3
  3. tuyệt vời, cho đến này tôi chưa thấy bài viết nào hay và đầy đủ đẹp mắt thế này, triệu like <3
    1. ui dồi anh :3
  4. Bác ơi sau khi thêm code thì lúc click vô Trang Home cũng bị bị chuyển sang điều hướng ạ