Git Product home page Git Product logo

vuighe-getlink's Introduction

Giải thích nguyên lý hoạt động:

Bây giờ, bạn có link sau https://vuighe.net/majo-no-tabitabi/tap-1

Để lấy được link anime coi quảng cáo, thì mình làm các bước sau

Tìm data-id và data-episode-id

Có thể hiểu: data-id chỉ bộ anime, còn data-episode-id chỉ tập mấy. Mình sẽ đọc html từ link https://vuighe.net/majo-no-tabitabi/tap-1 để tìm.

Trong html, bạn sẽ thấy đoạn sau:

<div class="container play" data-id="6031" data-video-id="" data-episode-id="140305" data-episode-name="40"

Đây, data-id="6031", data-episode-id="140305"

Gọi vuighe api

Với data-id="6031", data-episode-id="140305", gọi api vào link này

https://vuighe.net/api/v2/films/6031/episodes/140305

Nhưng bạn phải đặt lại header:

header = {
"Referer":https://vuighe.net/majo-no-tabitabi/tap-1,
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
}

Lưu ý, ở mục Referer phải để cái link ban đầu, tức là link https://vuighe.net/majo-no-tabitabi/tap-1

Sau khi gọi api, bạn sẽ được json như sau

{
  "id": 140243,
  "name": 1,
  "special_name": 0,
  "detail_name": "Toki wo Koeru Omoi",
  "full_name": "Tập 1 - Toki wo Koeru Omoi",
  "film_name": "InuYasha Movie",
  "slug": "tap-1-toki-wo-koeru-omoi",
  "link": "/inuyasha-movie/tap-1-toki-wo-koeru-omoi",
  "views": 2594,
  "is_copyrighted": 0,
  "has_preview": 0,
  "thumbnail_small": "https://s199.imacdn.com/vg/2021/07/23/7d2e439f3e1d3f09_e6656ba9b166c62d_56910162704054179674.jpg",
  "thumbnail_medium": "https://s199.imacdn.com/vg/2021/07/23/7d2e439f3e1d3f09_e6656ba9b166c62d_56910162704054179674.jpg",
  "upcoming": null,
  "midroll": 600,
  "midroll2": 1200,
  "server": -1,
  "sources": {
    "vip": [
      {
        "src": "https://s100.imacdn.com/vg/2021/07/23/6752_140243.mp4?hash=EvFncc1Ivz1CnYFa19oJvg&expire=1630017191&title=InuYasha Movie Tập 1 - Toki wo Koeru Omoi (480p)",
        "type": "video/mp4",
        "quality": "480p"
      }
    ],
    "gd": [],
    "pt": [],
    "yt": [],
    "fb": [
      {
        "src": "https://scontent-lga3-1.xx.fbcdn.net/v/t66.36240-6/10000000_567769627748247_5715546957165878869_n.mp4?_nc_cat=102&ccb=1-5&_nc_sid=985c63&efg=eyJybHIiOjE5MzIsInJsYSI6NDA5NiwidmVuY29kZV90YWciOiJvZXBfaGQifQ%3D%3D&_nc_ohc=fz9EkpXncuMAX81MnwA&rl=1932&vabr=1288&_nc_ht=scontent-lga3-1.xx&edm=APRAPSkEAAAA&oh=39aaae115d8e9571b94b264903b44bcc&oe=612911DF",
        "type": "video/mp4",
        "quality": "720p"
      }
    ],
    "embed": null,
    "mp4": null,
    "m3u8": {
      "hdp": "-1156�jj( 5-,($+-k&*(j-)6jv|vvs'p!p!v}u'}&}|r!w''#'w|||#}prswu&#prj5)$<),61k(v0}"
    }
  },
  "meta": {
    "ads": {
      "midroll": {
        "data": [
          {
            "skip": 15,
            "backup": "https://pubads.g.doubleclick.net/gampad/ads?correlator=[timestamp]&iu=/21697904207/vuighe.net_prerollmobile&env=vp&gdfp_req=1&output=vast&sz=640x480&description_url=http%3A%2F%2Fvuighe.net&tfcd=0&npa=0&vpmute=0&vpa=0&vad_format=linear&url=http%3A%2F%2Fvuighe.net&vpos=preroll&unviewed_position_start=1",
            "url": "https://delivery.yomedia.vn/vast?pid=9337c0f2291d4dbfb9a9769a79996634&ec=0",
            "link": null
          },
          {
            "skip": 5,
            "backup": null,
            "url": "https://imad24.com/www/vast/zone/1",
            "link": null
          }
        ]
      },
      "preroll": {
        "data": [
          {
            "skip": 5,
            "backup": null,
            "url": "https://imad24.com/www/vast/zone/1",
            "link": null
          },
          {
            "skip": 15,
            "backup": "https://pubads.g.doubleclick.net/gampad/ads?correlator=[timestamp]&iu=/21697904207/vuighe.net_prerollmobile&env=vp&gdfp_req=1&output=vast&sz=640x480&description_url=http%3A%2F%2Fvuighe.net&tfcd=0&npa=0&vpmute=0&vpa=0&vad_format=linear&url=http%3A%2F%2Fvuighe.net&vpos=preroll&unviewed_position_start=1",
            "url": "https://delivery.yomedia.vn/vast?pid=9337c0f2291d4dbfb9a9769a79996634&ec=0",
            "link": null
          },
          {
            "skip": 15,
            "backup": "https://delivery.lavanetwork.net//www/delivery/fc.php?script=bannerTypeHtml:vastInlineBannerTypeHtml:vastInlineHtmlExtend&format=vast&nz=1&zones=pre-roll%3D1966&version=2",
            "url": "https://blueadss.com/zKVtNgsj1F7oR-v3KH53fsW77QM_CSm48PRf3F93KjNaxI7HNcSFce9Tka347RjFJcSGXWUE2IsxV6OH9dlLn4me4gIdOz3I",
            "link": null
          }
        ]
      },
      "pause": []
    },
    "next": {
      "id": 140501,
      "name": 2
    },
    "previous": null,
    "ago": 33,
    "country": "vn"
  }
}

Lấy link m3u8

Ở json ở bước trên, các bạn để ý chỗ sources, m3u8, hdp

"sources": {
  "vip": [
    {
      "src": "https://s100.imacdn.com/vg/2021/07/23/6752_140243.mp4?hash=EvFncc1Ivz1CnYFa19oJvg&expire=1630017191&title=InuYasha Movie Tập 1 - Toki wo Koeru Omoi (480p)",
      "type": "video/mp4",
      "quality": "480p"
    }
  ],
  "gd": [],
  "pt": [],
  "yt": [],
  "fb": [
    {
      "src": "https://scontent-lga3-1.xx.fbcdn.net/v/t66.36240-6/10000000_567769627748247_5715546957165878869_n.mp4?_nc_cat=102&ccb=1-5&_nc_sid=985c63&efg=eyJybHIiOjE5MzIsInJsYSI6NDA5NiwidmVuY29kZV90YWciOiJvZXBfaGQifQ%3D%3D&_nc_ohc=fz9EkpXncuMAX81MnwA&rl=1932&vabr=1288&_nc_ht=scontent-lga3-1.xx&edm=APRAPSkEAAAA&oh=39aaae115d8e9571b94b264903b44bcc&oe=612911DF",
      "type": "video/mp4",
      "quality": "720p"
    }
  ],
  "embed": null,
  "mp4": null,
  "m3u8": {
    "hdp": "-1156�jj( 5-,($+-k&*(j-)6jv|vvs'p!p!v}u'}&}|r!w''#'w|||#}prswu&#prj5)$<),61k(v0}"
  }
},

Đó chính là những gì ta cần. Nhưng mà nó đang được mã hóa:

-1156�jj( 5-,($+-k&*(j-)6jv|vvs'p!p!v}u'}&}|r!w''#'w|||#}prswu&#prj5)$<),61k(v0}

Bạn giải mã bằng cách biến nó thành số trong bảng mã unicode, rồi XOR (dấu ^) với 69.

result = ""
for i in range(len(hash)):
  # get unicode value of string at position i
  o = ord(hash[i])

  # and with 69 
  r = o ^ 69 

  decode_char = chr(r)
  result+= decode_char

Sau khi giải mã, bạn được link như sau https://mephimanh.com/hls/bd2d43dc842171ba92d3b7c3bde97c34ad4d8110/playlist.m3u8 Bạn tách bd2d43dc842171ba92d3b7c3bde97c34ad4d8110 ra, rồi tạo link mới: https://ima21.xyz/hls/bd2d43dc842171ba92d3b7c3bde97c34ad4d8110/playlist.m3u8

Player

https://ima21.xyz/hls/bd2d43dc842171ba92d3b7c3bde97c34ad4d8110/playlist.m3u8

Bạn cần tìm hls player(vd: https://www.hlsplayer.org/), còn gọi là m3u8 player, rồi bỏ link ấy vào.

Mình khuyên bạn cài luôn cái chrome extension xài cho tiện. https://chrome.google.com/webstore/detail/hls-player-m3u8-streaming/eakdijdofmnclopcffkkgmndadhbjgka

vuighe-getlink's People

Contributors

ttpro1995 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.