somsakul.com

ทดลองทำสิ่งต่างๆ ทั่วไป

ก๊อปไปวางได้เลยใน Violentmonkey

  • VanillaJS
  • มันมี token แต่ไม่รู้ไว้ทำไม ไม่ได้ regen อ่ะ คงเก็บสถิติเฉยๆ
  • หน้าวิดีโอมันใช้เซิฟเวียดนาม ไม่รู้ทำไม

// ==UserScript==
// @name        adintrend.tv
// @namespace   Violentmonkey Scripts
// @icon        https://www.adintrend.tv/favicon.ico
// @version     1.0.0
//
// @match       https://www.adintrend.tv/hd/*
// @grant       GM_addStyle
//
// @author      -
// @description
// ==/UserScript==
GM_addStyle(`
  a.ch-btn {
    color: #888;
    background: #444;
  }
  a.ch-btn:hover {
    color: #444;
    background: lime;
  }
`);
const vdo = document.querySelector('iframe');
const token = document.querySelector("#SecureToken")

vdo.id = 'vdo';
// vdo wrapper

const vdoDiv = document.createElement('div');
vdoDiv.id = 'vdo-div'
vdoDiv.style = 'width:100%;text-align:center;margin-top:2em;'
vdoDiv.appendChild(vdo)

document.body.prepend(vdoDiv);
vdo.after(token);

const tvLinks = Array.from(document.querySelectorAll('a.linktv2')).map(a => {
    return {
        href: a.href,
        text: a.textContent.trim()
    };
});

const newContainer = document.createElement('div');
newContainer.className = 'my-custom-tv-list';
newContainer.style.margin = '10px 0'; // แต่ง Style ตามใจชอบ

tvLinks.forEach(item => {
    const newLink = document.createElement('a');
    newLink.href = item.href;
    newLink.textContent = `${item.text}`; // ใส่ Emoji เพิ่มความสวยงาม
    newLink.className = 'ch-btn';
    newLink.style.marginRight = '5px';
    newLink.style.padding = '5px 5px';
    newLink.style.textDecoration = 'none';
    newLink.style.borderRadius = '5px';

    // ยัดปุ่มใหม่ใส่ใน Container
    newContainer.appendChild(newLink);
});

    // 5. เอา Container ใหม่ไปต่อท้าย Iframe ทันที!
vdo.after(newContainer);

// remove junk
document.querySelector("body > table").remove()

// auto play

const myIframe = document.querySelector('iframe#vdo');

if (myIframe) {
    // รอให้ iframe โหลดเนื้อหาข้างในเสร็จก่อน
    myIframe.addEventListener('load', () => {
        try {
            // 2. เจาะเข้าไปดึงแท็ก <video> ที่อยู่ข้างใน iframe
            const iframeDocument = myIframe.contentDocument || myIframe.contentWindow.document;
            const videoElement = iframeDocument.querySelector('video');

            if (videoElement) {
                // 3. สั่งเล่นวิดีโอทันที!
                setTimeout(function(){
                  videoElement.play();
                  console.log('สั่ง Play วิดีโอใน iframe สำเร็จแล้ว! 🎬');
                },200)
            }
        } catch (error) {
            console.error('เกิดข้อผิดพลาดในการเข้าถึง iframe:', error);
        }
    });
}

ขั้นตอนโดยสรุป

  • Download extension.zip จากผู้ผลิต มาขยายไว้ใน folder ไหนก็ได้ แต่จำให้ได้ ซึ่งเราจะไม่ลบมัน
  • เปิด Developer Mode ใน brave://extensions อยู่บนขวา เป็น Toggle
  • เลือก [ Load unpacked ]
  • เลือก Folder แล้วกด [ Select ]
  • เสร็จสิ้น

แหล่งโหลด

TL;DR

WireGuard (WG) คืออะไร

การติดตั้งบน Linux Server (Real IP)

การติดตั้งบน Client (Mikrotik)

แนะนำร้าน อร่อยอารีย์ ปากซอยอารีย์สัมพันธ์ 5

Link

Facebook

Line: @aroiari

อาหารไทย ของทอด ของผัด ราคาประมาณ 80 บาท

ฉีกทุกกฎฟิสิกส์สู่มิติใหม่แห่งเสียงดนตรี! 🎸 พบกับ ‘กีตาร์แม่เหล็กลอยได้’ นวัตกรรมสุดล้ำที่ผสานวิศวกรรมแม่เหล็กแรงดึงดูดสูงถึง 250 กิโลกรัม 🧲 ทำให้สายกีตาร์ลอยเด่นกลางอากาศอย่างมั่นคงและสง่างาม ไม่เพียงแต่เป็นทัศนียภาพที่น่าทึ่ง แต่ยังช่วยเพิ่มการสั่นสะเทือนที่กีต้าร์ทั่วไปทำไม่ได้ เกิด Sustain ของเสียงที่ยาวนานและบริสุทธิ์อย่างที่ไม่เคยมีมาก่อน! 🌌✨

เพลงมันส์ดี Boom Shakalaka

บล็อกนี้ใช้ markdown ในการเขียน เขียนโปรแกรมต้องทำบ่อยๆ เพราะสมองจะลืม

การอ้างอิง

อ้างอิง บทกลอน

เจ็ดวันเว้นดีดซ้อม ดนตรี
อักขระห้าวันหนี เนิ่นช้า
สามวันจากนารี เป็นอื่น
วันหนึ่งเว้นล้างหน้า อับเศร้า หมองศรี

การเขียน code

เขียน code ได้

curl -X POST https://typicode.com \
     -H "Content-Type: application/json" \
     -d '{"title": "foo", "body": "bar", "userId": 1}'

ขั้นตอนการกินข้าว

  • สั่งข้าว
  • จ่ายเงิน
  • กิน
  • เช็ดปาก

ลำดับการนอน

  1. ปิดไฟ
  2. เปิดแอร์
  3. ห่มผ้า
  4. เล่นมือถือ