수정: 이하 내용 다 갖다버리시고 모에니에서 영상 다 받으면 개발자 도구 콘솔에 이것만 붙여넣으시면 됩니다.
function downloadBlob(blob, name) { const link = document.createElement("a") link.href = blob link.download = name document.body.appendChild(link) link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window })) document.body.removeChild(link) } this.client.torrents[0].files[0].MoeVideoBlob((p, q) => downloadBlob(q, this.client.torrents[0].files[0].path))
플레이어에 우클릭을 해도, 네트워크 흐름을 살펴봐도, 캐시를 살펴봐도 이상한 파일 뭉치만 있습니다. 하나 잡아다 까 봐도 제대로 된 내용물은 보이지 않습니다.
준비물: Webtorrent 클라이언트, 크롬 등의 (개발자 도구가 제대로 된) 브라우저
원하는 애니 페이지에 들어가서, 화를 선택하기 전에 개발자 도구로 들어갑니다.
Sources 탭에서 player.moeni.org
호스트의 lib.php 어쩌고
파일을 열고, Prettyprint 처리합니다.
ctrl-F를 이용해서 class Torrent
를 찾고, 멤버함수 get downloaded()
의 마지막 return downloaded
에 왼쪽의 줄 번호를 눌러 브레이크포인트를 걸어 줍니다.
이제 화를 선택합니다.
그대로 Paused on debugger
가 뜨면, Console 탭으로 전환하여, 다음을 붙여넣습니다.
String.fromCharCode.apply(null, this.client.peerIdBuffer)
이상한 20자리 문자열이 튀어나올 텐데, 이것이 Peer ID입니다. 따옴표 빼고 적당히 옮겨 둡시다.
this.magnetURI
이것은 WebTorrent의 Magnet URL입니다. 역시 따옴표 빼고 적당히 옮겨 둡시다.
이제 WebTorrent 클라이언트를 수정해서 Peer ID를 적용해야 합니다.
일단 클라이언트를 켜 주고, ctrl-shift-P를 눌러 webtorrent.js
에 개발자 도구를 띄워 줍니다. (개발자 도구에 기본적으로 열려 있는 파일입니다)
// Line 54의 const PEER_ID = Buffer.from(VERSION_PREFIX + crypto.randomBytes(9).toString('base64')) // 를 아래처럼 바꾸어 준다: const PEER_ID = Buffer.from('아까 복사해 두었던 Peer ID') // const PEER_ID = Buffer.from('-WW0105-+N3Q18UAoMRp') 같이 되어야 한다. (이 줄은 필요 없습니다)
Peer ID 수정이 완료되었습니다. 앞에서 옮겨 둔 Magnet URL을 붙여넣기해 영상을 받으면 됩니다.