Giải pháp get link google drive không bao giờ die

Giải pháp get link google drive không bao giờ die

Đâ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.

Link phần 1 cho các bạn chưa đọc
Các web phim đã giảm 99% chi phí bằng google drive như thế nào

Đây là Link die

alt text

Link sống lại

alt text

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.

Đường tăng xin link

alt text

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.

alt text

Đườ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:

  1. Gọi lên http://mail.google.com để lấy link VIP.
  2. 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)
  })
}

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.

Lúc này có 2 trường hợp:

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 !

// đường tăng
const getVideos = async (id) => {
  let videos = await callWorker(id) // gọi ngộ không lấy link
  videos = await filter403Videos(videos) // lọc bỏ link bị 403

  // rút gọn link nếu thích (ko cần thiết)
  const urls = await getShortUrl(
    videos.map(video => video.src)
  )

  return videos.map((video, index) => {
    delete video.provider
    video.src = urls[index]
    return video
  })
}

Anh em lưu ý link phụ là do ngộ không lấy thì nó phải coi dc. Cùng 1 ip nên chả cần qua mặt google gì cả. Khi đó anh em có thể hình dung ngộ không sẽ coi phim rồi kể lại những gì nó thấy. ( aka: proxy streaming )

Ngộ không đôi khi cũng tới chậm vì lý do khách quan

alt text

Nếu ngộ không coi phim nhiều bị mệt và chậm, đường tăng có thể tạo thêm đệ tử khác để load balancing. Có rất nhiều cách, đoạn code minh hoạ bên dưới dùng round robin để loop qua các worker đang có trong pool.

// POOL implement round robin chứa toàn bộ đệ tử của đường tăng
const pool = new Pool()

// read stream đọc toàn bộ worker trong db
db.createReadStream({
  gt: ['worker', null],
  lt: ['worker', undefined],
  keys: false
})
.pipe(through2.obj((worker, enc, next) => {
  pool.add(worker, worker.score || 1000)
  next()
}))

// lấy worker trong pool ra dùng.
const worker = pool.next()
log.info('call worker', worker)

return got(`${worker.url}/${id}`, {
  json: true
})
.then(response => response.body)

Trang admin quản lý worker cực kì phức tạp

alt text

Anh em lưu ý là link phụ mà ngộ không lấy dc là link theo đường chính đạo, chừng nào google drive còn cho anh em chuột phải chọn preview để xem phim khi đó link phụ còn hoạt động tốt.

Chúng ta tiết kiệm dc rất nhiều tiền vì các cloud service bây giờ đều có api để provision và destroy từ xa, kèm với chính sách charge tiền theo thời gian sử dụng ko cần gói đầu nên giải pháp này phù hợp với web phim FREE kiếm tiền từ ads.

Web đường tăng xin link hiện có các tính năng:

  1. Cam kết web chạy suốt ngày đêm 24/7, uptime 99.99% do áp dụng highly available server với Floating IP.

  2. Phục vụ từ web phim nhỏ đến web phim to. Hệ thống worker0, worker1...worker24... với tổng cộng 25 con worker trần truồng đứng ngay cửa sẵn sàng chờ phục vụ quý khách. Tuy chưa thể nói nhiều nhưng đủ để đáp ứng lượng data transfer khủng lên từ vài ngàn GB đến vài chục ngàn GB mỗi ngày. Số lượng worker sẽ còn tăng nếu đường tăng xin link dc anh em ủng hộ nhiệt tình.

  3. Luôn có gói miễn phí cho web phim nào ko đặt quảng cáo, đơn giản nếu anh em up phim vì cộng đồng thì https://duongtang.clgt.vn sẽ hỗ trợ nhiệt tình ko thu xu nào. Gói này cũng ko mới, tương tự các dịch vụ nước ngoài có gói free cho open source.

  4. Có hệ thống chống chôm link. Link do đường tăng get ra có cơ chế bảo mật chỉ chạy dc trên một số domain nhất định, hỗ trợ anh em web phim ko lo bị trang khác chôm link.

Mời anh em dùng thử tại: https://duongtang.clgt.vn.

Phần anh em trông mong nhất, toàn bộ source code của https://duongtang.clgt.vn đây:

Bộ source code gồm 2 phần, đã dc đóng gói thành docker images sẳn sàng chinh chiến. Phải cài trên 2 con VPS có IP khác nhau hen.

  1. Code của đường tăng: docker pull quocnguyen/dt-api
  2. Code của tôn ngộ không : docker pull quocnguyen/dt-worker

Đường tăng api https://github.com/quocnguyen/dt-api
Tôn ngộ không worker https://github.com/quocnguyen/dt-worker

Đừng mang code đi bán khi download miễn phí tại đây nhé. Bản beta sẽ luôn dc cung cấp miễn phí. Anh em nào ko rành code thì liên hệ mình để dùng api trực tiếp trên đường tăng xin link nhé. Khỏi quản lý server nhức đầu :smile:

Liên hệ: https://www.facebook.com/quocnguyenclgt

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

quocnguyen

19 bài viết.
983 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
176 58
(Ảnh) 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ứ...
quocnguyen viết 1 năm trước
176 58
White
151 65
(Ảnh) Động lực Đối với nghề lập trình viên thần thánh, nếu một sớm mai thức dậy anh em cảm thấy ko có bất kì động lực nào để tỉnh, chỉ muốn ngủ ...
quocnguyen viết 1 năm trước
151 65
White
103 41
Prototype là hệ thống phân chia quyền lực của giang hồ Sở dĩ ta nói như vậy là vì Khi hỏi object 1 property nào đó, nếu bản thân nó ko làm dc, nó...
quocnguyen viết 2 năm trước
103 41
Bài viết liên quan
White
176 58
(Ảnh) 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ứ...
quocnguyen viết 1 năm trước
176 58
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
19 bài viết.
983 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!