Việt nam như các anh em cũng biết là đất nước con rồng cháu tiên với nghề làm web truyền thống chỉ xoay quanh web nhạc, web phim, web tin tức. Tôi đoán là web kiểu này dễ hút khách. Admin có thể len lén cài quảng cáo kiếm tí tiền, có thể là ly cà phê sáng hoặc hoá đơn tiền net tháng đéo nào cũng thu, dù cáp tiên rồng vẫn cứ hay đứt đúng lúc. Web tin tức không nói, nhưng nhạc và phim có 1 vấn đề lớn về storage và bandwidth, mà ở VN này ko thể thu phí dc...
Trang 1Hướng dẫn làm trang xem phim onlineCác web phim đã giảm 99.99% chi phí bằng google drive như thế nào
Trang 2Phần 1: Các web phim đã giảm 99.99% chi phí bằng google drive như thế nào
Trang 3 Việt nam như các anh em cũng biết là đất nước con rồng cháu tiên với nghề làm web truyền thống chỉ xoay quanh web nhạc, web phim, web tin tức.
Tôi đoán là web kiểu này dễ hút khách Admin có thể len lén cài quảng cáo kiếm tí tiền, có thể là ly cà phê sáng hoặc hoá đơn tiền net tháng đéo nào cũng thu, dù cáp tiên rồng vẫn cứ hay đứt đúng lúc
Web tin tức không nói, nhưng nhạc và phim có 1 vấn đề lớn về storage và bandwidth, mà ở VN này ko thể thu phí dc, có chó
nó mua
Anh em nên nhớ chúng ta có thể đọc 1 năm 1/2 cuốn sách, chứ phim thì bú đều ngày-3-bữa, nhất là phim, hehe, thôi không nói ngại quá Nếu anh em mở web phim, giới mộ điệu không thiếu, có chăng là thiếu chỗ chứa phim (storage) và thiếu băng thông truyền tải (bandwidth)
Biên nhanh về storage: 1 bộ phim HAY chất lượng 720p khoảng tầm 1GB Suy ra để làm 1 web phim cỡ vừa với trên dưới
10000 bộ, anh em cần 10TB storage
Amazon cloud storage S3 lừng danh ai cũng biết tôi ko nói nữa Họ thu phí lưu trữ 0.025 đỗ nam trung cho 1GB dữ liệu nhạy cảm, mà nếu ko nhạy cảm giá vẫn thế !
Trang 4 10 TB ta cần trả cho amazon 250$ tháng.
Đó là chưa kể giá băng thông, cứ cho trung bình 1 tháng 1 phim trong web dc coi 10 lần, ta cần băng thông 100 TB Amazon S3 lừng danh gọi đây là Data Transfer, giá rẻ như cắt cổ gà 0.07
Và anh em hãy nhớ lấy, tuy phải trả 7250$ nhưng nếu anh em thu phí xem phim, web của anh em sẽ ko 1 bóng người
Trang 5Giải pháp storage gần miễn phí
Trang 6 Google Drive! ai ai cũng biết google có chính sách khuyến học, chỉ cần là sinh viên với 1 email đuôi edu minh chứng, anh em
sẽ có ngay 1 acc google drive với dung lượng ko hạn chế
Thị trường chợ đen đang bán acc dạng này với giá nửa triệu việt nam đồng, nhưng hãy lưu ý hạn dùng của acc. Theo kinh
nguyệt của tôi, thường là từ lúc mua cho đến lúc người bán lấy lại ( có thể 1 ngày hoặc vài tháng - hên xui)
Nói thì nói, chúng ta là lập trình viên thần thánh hiển nhiên đã thất-học từ lâu, ko cần dùng email edu, anh em hãy chịu
chi 10$ 1 tháng cho gói gsuite bussiness, đãi ngộ tương tự nếu ko nói là ngon hơn.
Đó là chưa kể khi anh em up phim lên Drive sẽ tự động xem ké, và convert phim gốc sang các thể loại nhẹ hơn, tỉ dụ anh em
up phim 1080p thì sau đó anh em sẽ có phim 1080p, 720p, 480p Các link phim giảm chất lượng này quá phù hợp để chíu trên mobile Điểm hay nhất là drive tự làm FREE
Như vậy giải pháp storage đã có Giờ là vấn đề băng thông
Trang 7Hô biến drive thành streaming server
Hiển nhiên Drive không phải host để có thể stream video, mục đích của drive là để lưu trữ những thước phim tình cảm gia đình Như phim con bé anh chị gọi Ba lần đầu, tất nhiên thể loại tình cảm gia đình mà anh chị vừa nghĩ đến cũng có thể up lên, nhưng tôi khuyên anh chị rất không nên up Hãy nhớ internet never forgets and never forgives
Khi đoạn phim tình cảm trên được up lên, drive sẽ cho các anh chị chuột phải và chọn Preview để xem Một popup overlay sẽ hiện lên và chiếu lại đoạn phim nhạy cảm
Là lập trình viên thần thánh, chúng ta ngay lập tức mở chrome dev tools và bắt dc 1 request URL như hình
Trang 9 Dễ dàng nhận thấy link get_video_info nhận vào 1 param là docId, đây chính là id của đoạn phim tình cảm Hãy xem response của request trên trả về nội dung gì
status=ok&hl=en&allow_embed=0&ps=docs&partnerid=30
Trông có vẻ là 1 query string, bắt đầu bằng status=OK, chúng ta có thể đoán nếu status !== OK là có lỗi.
Thử parse đoạn response dùng chính lib querystring của nodejs thì chúng ta thấy dc 1 thứ rất thú vị, ngay
key fmt_stream_map đó là các link stream videoplayback theo kiểu số|link, ngăn cách nhau bởi dấu phẩy
Trang 11 Thử copy 1 link ra chạy thì aha đây là link stream ta đang tìm Nhúng link này vào thẻ video của html ta có ngay 1 trang phim không tốn bandwidth.
Vậy còn cái số trước link là gì, ta thấy có các số 18, 22, 35 vân vân và mây mây Nếu các anh em thành tâm muốn biết wikipedia sẽ trả lời:
Trang 12Bài viết đến đây là hết.
Xem thêm: https://en.wikipedia.org/wiki/YouTube
Như vậy theo hình chụp từ trang wikipedia số 18 ý nói phim tình cảm được lưu là video/mp4, dc mã hoá chuẩn H.264 và chất lượng 360p
khác nhau.
Đó nếu là người khác sẽ nói vậy nhưng tôi biên tut ko bao giờ giấu nghề hehe, hãy đọc tiếp vì chúng ta còn nhiều thứ hay ho
để nói
Trang 14 1)Gắn vào thẻ video của html ngon lành, hỗ trợ controls play pause seek, tốc độ cực nhanh vì có cdn toàn cầu, tài trợ bởi google lão anh hùng và các internet provider local (yes băng thông phim lấy từ link stream kia dc tài trợ bởi viettel, vdc và fpt đó, google ko tốn xu nào đâu)
2) Link stream videoplayback ko có id của phim tình cảm, giúp người up an tâm ngủ ngon và sống đúng với tuổi của mình ko cần xin phép ai như bạn Vàng Anh
3) Từ link stream videoplayback chúng ta ko có cách nào suy ngược ra dc link gốc, ngay cả google cũng thế Cũng ko thể báo cáo vi phạm giúp drive trở thành vùng đất an lành cho thể loại phim khó nói nhưng dễ hình dung ( gần đây google có 1 vài động thái để debug vụ link này, sẽ bàn ở bên dưới)
4) Quan trọng nhất, anh em không tốn 7000 đô la đỗ nam trung bandwidth, do hot link trực tiếp từ server của google Các anh em làm phim ở VN ko tốn 1 xu tiền bandwidth nào cho tới bi giờ
5) Up 1 phim thôi nhưng lấy về nhiều link với nhiều loại chất lượng khác nhau Tối ưu cho mobile
Trang 15Link stream videoplayback bị giới hạn bởi IP Address
6) Bypass dc limit của google drive Cái này ko nhiều anh em biết, nhưng nếu anh em share 1 file từ google drive cho nhiều đồng nghiệp xem vui chơi giải trí File đó nếu HAY sẽ bị block ngay, do nhiều view quá Link stream trên coi thoải mái ko lo bị block
OK, giờ khi đường tăng xin link đã thỉnh dc link, chúng ta hãy gởi link cho bạn bè xem để chảnh chó Kết quả ko ai coi dc Đây là lúc anh em nhận ra một sự thật:
Nói thì nói, link này là do anh em tự preview phim của mình để coi lại, hiển nhiên ai preview thì người đó coi Google lão anh hùng đã nhúng kèm vào đoạn querystring IP của người lấy link, và check từng bit của ip đối chứng khi chíu phim, kết quả là những bạn bè đồng nghiệp có IP khác sẽ bị 403
Trang 17Qua mặt hệ thống ip mapping của google
Giờ đây chúng ta đối mặt với 1 vấn đề khó khăn nhất, làm thể nào qua mặt dc google khi link bị giới hạn bởi IP của người GET, làm thế nào để chúng ta có thể GET link từ server của mình, để rồi gởi cho hàng triệu con dân đang gào thét vì đói phim tình cảm hoặc phim nhạy cảm ?
Hãy xem lại định dạng link stream videoplayback, bên dưới là các querystring quan trọng mà các anh em cần lưu ý
https://r15 -sn-i3b7knez.c.drive.google.com/videoplayback?id=2c6374eb1653ae1c
itag=18 source=webdrive mime=video/mp4 ip=171.226.93.247 ipbits=0 expire=1486127839
Trang 18 itag như đã nói, là một param do youtube (dc google mua lại, hiện thuộc sở hữu của google) tự đặt ra, hoàn toàn ko có
document chính thống nào mô tả, ngay trong youtube api cũng ko có Tuy nhiên các anh hùng cào phím trên toàn thế giới qua một thời gian dài quan sát đã tổng hợp lại trên wikipedia ( link ref cuối bài )
picasa
này ai cũng có thể xem dc Nếu anh em thắc mắc làm sao GET dc link có ipbits bằng 0, hãy đọc tiếp
Trang 19Chiêu số 1: 2 tay 2 IP ( IPv4 vs IPv6 )
Trang 20 Các anh hùng cào phím đã nghĩ ra một cách hết sức đơn giản, nếu server GET link có IPv6 còn người xem có Ipv4 thì google
sẽ check ip bit như thế nào khi 2 giao thức (protocol) là hoàn toàn khác nhau ?
Thực tế Google ko check bit dc, do đó link GET dùng ipv6 thì tất cả client IPv4 đều xem được và ngược lại
người xem có ipv4 => link phim ipv6
người xem có ipv6 => link phim ipv4
Trang 21Chiêu số 2: lấy tiền đè người (google gsuite for business)
Nếu anh em có acc gsuite for business của google, thì hãy dùng acc đó để request link get_video_info, kết quả trả về có ipbits = 0 do đó video link get ra ai cũng có thể xem dc bất kể ipv4 hay v6, không cần phải kiểm tra ip của client nữa
Áp dụng 1 trong 2 cách trên, chúng ta có thể qua mặt google về vụ giới hạn ip, tuy nhiên còn 1 vấn đề rất quan trọng là link get ra thỉnh thoảng có 1 số người không coi dc, tỉ lệ này rất ngẫu nhiên, vì sao ?
Trang 22Qua mặt hệ thống Google Global Cache (GGC)
Lượng dữ liệu truyền đi từ server của google là rất lớn, do đó nó cần 1 hệ thống phân phối dữ liệu phân tán đi khắp các nơi trên thế giới Đảm bảo khi user xem phim, phim đó phải dc lấy về từ 1 con server có tốc độ nhanh nhất và gần nhất đối với user đó, từa tựa CDN chắc anh em cũng chả lạ gì
1 Các internet provider như viettel, fpt, vdc đưa 1 số máy chủ cho google quản lý Các máy chủ này sẽ dc hoà vào mạng lưới google edge network và trở thành 1 trung tâm lưu cache cho phim tình cảm (GGC location)
2 Khi user truy cập, google sẽ detect IP và provider của user, các bạn ko đọc nhầm, google biết bạn đang dùng internet của viettel hay fpt, thậm chí biết dc chính xác gói cước internet của bạn.
Trang 23 3 Nếu dãy ip và provider của user này nằm trong GGC, nó sẽ redirect user về một trong các server lưu cache đó Giờ hãy nhìn lại URL
link phim mà các bạn lấy dc: https://r15 -sn-i3b7knez.c.drive.google.com thấy chứ r15 -sn-i3b7knez con server r15 này nằm ở
malaysia vì mình dùng viettel gói viettel-sgn20, mà malaysia khỏi phải nói nằm kế bên nhau hehe cách nhau mổi cây cầu dừa.
Lý do 1 số đồng nghiệp không xem dc video nếu bạn gởi link trên qua là vì dãy ip và internet provider của đồng nghiệp khác mạng lưới GGC Do đó bị 403.
thời gian lại năm 2005 Vào năm đó, google như bao thanh niên trẩu tre khác quyết định làm web phim.
Trang 24 Google mua domain googlevideo.com và hào hứng bừng bừng triển ngay dự án, kết quả tất nhiên là dự án chạy dặt dẹo và nhanh chóng khuất-núi Sau đó, như các bạn đã biết google mua lại youtube.
Tuy nhiên một tài nguyên vô giá là domain redirector.googlevideo.com vẫn tồn tại, nó tiếp tục dc sử dụng và các anh hùng cào phím nhanh chóng nhận ra đây mà 1 mắt xích rất quan trọng trong google global cache Nếu các bạn đá user về redirector.googlevideo.com, nó sẽ tự detect user ip và ngay lập tức redirect user về location đúng
Đó là lý do sau khi lấy dc link video, chúng ta cần thay thế domain này https://r15 - sn-i3b7knez.c.drive.google.com thành https://redirector.googlevideo.com để tận dụng và bắt GGC làm việc cho chúng ta.
Giờ nếu các bạn chưa tin và nghi ngờ GGC, hãy vào https://redirector.googlevideo.com/report_mapping để biết mình đang dùng internet của hãng nào, và tên gói cước internet đang dùng
OK bài tut đã quá dài tuy nhiên chúng ta vẫn còn vấn đề cuối cùng
Trang 25Link stream videoplayback bị giới hạn bởi COOKIE
Trang 26 Có tất cả 3 endpoint get_video_info cho google drive mà các anh hùng cào phím trên internet tìm được
https://mail.google.com/e/get_video_info
https://drive.google.com/e/get_video_info
https://docs.google.com/e/get_video_info
trong đó ngoại trừ link đầu tiên là mail vẫn còn dùng dc, 2 cái phía sau đều bị dính COOKIE Vậy dính cookie là sao ?
Khi chúng ta gọi https://drive.google.com/e/get_video_info, trong response header trả về có header set-cookie, có 1 cookie name là DRIVE_STREAM chứa value dùng để playback video, ai gọi thì lụm dc cookie này
Trang 27 Nếu chúng ta gởi link video lấy dc cho user khác, hiển nhiên máy user đó ko có cookie DRIVE_STREAM dẫn đến
videoplayback sẽ bị lỗi 403
Ngoài ra, cũng mới update gần đây link videplayback dùng get_video_info gọi ra có kèm 1 param mới là driveid chứa id thật của video phim tình cảm Chỉ cần biết id này các hãng có thể report abuse với google để tận diệt các phim vi phạm bản quyền, đều mà trước đây họ ko làm dc vì link redirector ko có id, và lại còn bị expired sau một thời gian nên họ có report thì google cũng ko giải quyết
Rất nhiều web phim ở vn đang bị lộ driveid do update mới này
Lại một lần nữa chúng ta thấy google đang thể hiện quyết tâm tiêu diệt các web phim
Trước đây cả 3 link đều chạy tốt, giờ còn 1, đây là động thái của google nhằm chặn đường các web phim ?
Cũng cần phải nói link mail cũng chạy rất chập chờn, 10 lần gọi dc vài lần thôi.
Trang 28Tham khảo
https://en.wikipedia.org/wiki/YouTube
https://www.netmanias.com/en/post/blog/6068/google-google-global-cache-hls-iptv-ott-video-streaming-youtube/do-google-global-caches-ggcs-serve-youtube-live-traffic-as-well-or-not
Trang 29Phần 2:Giải pháp get link google drive không bao giờ die
Trang 30 Đây là bài thứ 2 trong series get link stream từ google drive, phần này nói về một giải pháp an toàn hiệu quả giúp các bạn an tâm ngủ ngon Không phải lo sợ google fix.
Trang 31 Đây là Link die
Link sống lại
Trang 32 Qua phần 1 anh em cũng thấy, khai thác lỗi của google để tìm link ngày càng khó, độ ổn định của giải pháp gần như bằng 0
vì chúng ta phụ thuộc hoàn toàn vào google, mà google thần thánh cũng như chị em phụ nữ, sẽ đến ngày ấy
Khi đó các web phim to phim bé, tình cảm hay phản cảm cũng sẽ lăn ra chết đồng loạt
Để ngày ấy bớt nguy hiểm, chúng ta có thể mua cho vợ đồ ngọt Riêng ngày ấy của google, tất nhiên sẽ khó chiều hơn, anh
em cần tiếp cận theo một hướng khác
Giải pháp đường tăng xin link (https://duongtang.clgt.vn) bên dưới đây sẽ giúp anh em web phim có thể tự tin tiếp tục kinh doanh mà ko sợ google fix nữa, dịch vụ này có phí Tuy nhiên mô hình của duongtang sẽ dc trình bày dưới đây một cách chi tiết không giấu nghề để anh em có thể tự làm nếu thích
Trang 33Đường tăng xin link
Trang 34 Giải pháp này tiếp tục coi google drive là storage với giá rẻ và là server convert video sang nhiều định dạng miễn phí.
Đầu tiên, các web phim phải gởi link drive đã set chế độ public về cho đường tăng
Trang 35 Đường tăng như các anh em biết hoàn toàn ko đánh đấm gì, tất cả đều do đệ tử lo Do đó chúng ta chỉ cần cho đường tăng hét lên: Nhậu không?!!
Khi đó worker aka đệ tử tôn ngộ không sẽ nhảy ra lấy link
Tôn ngộ không sẽ cùng một lúc lấy 2 loại link:
Gọi lên http://mail.google.com để lấy link VIP.
Gọi lên http://drive.google.com để lấy link phụ, kèm cookie để playback.
// ngộ không const fetchDriveEndpoint = (docId) => { return Promise.all([
posiblePromise(fetchUseMailDomain(docId)), posiblePromise(fetchUseDrive(docId)) ])
.then(result => { const [resultFromMail, resultFromDrive] = result
if (resultFromMail !== null) { return Promise.resolve(resultFromMail) }
if (resultFromDrive !== null) { return Promise.resolve(resultFromDrive) }
return Promise.resolve(null) })
Trang 36Lúc này có 2 trường hợp:
Tuy thần thông đi mây về gió nhưng cốt khỉ chưa dứt, ngoài nhậu ra thì ngộ không chẳng biết làm gì Chưa đọc dc chữ nên nó
sẽ trộn 2 link kia lại thành 1 và gởi về cho đường tăng xem xét
Lúc này, do IP khác với ngộ không ( 2 process này chạy trên 2 máy chủ khác nhau ) nên đường tăng sẽ thử mở link VIP lấy từ mail ra coi phim có HAY không
Nếu đường tăng đạo hạnh cao thâm, coi dc link lấy từ mail thì ta trả về link này Quá ngon
Nếu không coi được, vậy trả về link phụ
Đường tăng như anh em có thể đoán, là 1 API endpoint kiêm checker !