Trước khi ai đó cắm một JAV porn API vào sản phẩm, kiểu gì cũng có người hỏi liệu làm vậy có được phép không. Đó là câu hỏi đúng, và câu trả lời thì nhàm: phụ thuộc hoàn toàn vào việc bạn đang chuyển cái gì. Byte và dữ kiện không phải cùng một loại hàng.
Metadata không phải là phim
Một bản phát hành JAV có một bản ghi catalog: mã DVD, tiêu đề bằng hai thứ tiếng, ngày phát hành, thời lượng, hãng sản xuất, nhãn, series, dàn diễn viên. Đó là các dữ kiện về một sản phẩm đã phát hành, cùng loại với một bản ghi ISBN. Chúng không phải là sản phẩm.
javinfo trả về bản ghi đó. Nó lập chỉ mục metadata và không host bất kỳ thư viện nào: không file video, không transcode, không trình phát. Với phần hình ảnh, thứ bạn nhận là tham chiếu — một URL cho ảnh bìa, một URL cho trang nguồn, và ở một số nhà cung cấp là URL cho manifest stream hoặc magnet. Tham chiếu được phân giải ở nơi nó trỏ tới, tức là trên máy chủ của người khác. Toàn bộ sự phân biệt nằm ở đó, và chính nó quyết định bạn đang thực sự xây cái gì.
Đừng tin, hãy tự kiểm tra
Liệt kê các hostname trong một phản hồi thật và xem chúng rơi vào đâu:
curl -s -X POST "https://api.javinfo.dev/movie" \ -H "x-javinfo-key: $JAVINFO_KEY" \ -H "Content-Type: application/json" \ -d '{ "q": "EBOD-391", "providers": "missav" }' \| jq -r '.. | strings | select(startswith("http"))' \| cut -d/ -f3 | sort -ufourhoi.commissav.wssurrit.comBa hostname, không cái nào là của chúng tôi. Ảnh bìa, trang nguồn, manifest — mỗi thứ đều do chính bạn lấy về từ nguồn, trên hạ tầng của bạn, dưới log của bạn. Bản phim thì không bao giờ nằm trong body của phản hồi, ở bất kỳ nhà cung cấp nào. Tài nguyên duy nhất javinfo tự phục vụ ở bất cứ đâu là đoạn preview của chính nhà phát hành, được trung chuyển để nó mở được bên ngoài Nhật Bản.
Tự scrape mới là con đường rủi ro hơn
Trực giác bảo rằng tự host một scraper mới là lựa chọn thận trọng: không bên thứ ba, không phụ thuộc, không phải đọc điều khoản của ai. Thực tế ngược lại.
Scrape đặt bạn vào quan hệ trực tiếp với điều khoản của từng nguồn, từ chính IP của bạn, ở đúng nhịp mà vòng lặp của bạn chạy. Bạn chấp nhận điều khoản ngay khi gửi request. Bạn lãnh rate limit, lãnh challenge của Cloudflare, lãnh chặn theo khu vực, và cuối cùng là ban — và cái ban đó rơi đúng vào địa chỉ mà lưu lượng production của bạn đi ra. Thêm một headless browser để vượt challenge thì bạn đang chạy né tránh tự động trên phần cứng của chính mình, một tư thế khác hẳn về bản chất so với việc gọi một endpoint. Phần kỹ thuật của mớ này — một lời gọi, năm nguồn, một cấu trúc phản hồi — nằm trong hướng dẫn tích hợp JAV metadata API. Ở đây ý hẹp hơn: phương án trông rẻ nhất lại dồn toàn bộ rủi ro về phía bạn.
Phần vẫn thuộc về bạn
Gọi một API không chuyển nghĩa vụ của bạn sang cho nó. Bốn thứ ở lại phía bạn của lằn ranh:
- Chặn tuổi trên bề mặt của chính bạn. javinfo dành cho người đã đủ tuổi theo pháp luật nơi họ sống. Thứ bạn đặt trước mặt người dùng là cánh cổng bạn phải dựng, và ở nơi có luật xác minh độ tuổi thì đó không phải một ô tick.
- Đừng host lại thứ được đưa cho. Trỏ thẳng vào một ảnh bìa và sao chép nó vào bucket của bạn là hai hành vi khác nhau với hai chủ sở hữu khác nhau. Cache vì hiệu năng thì được, nhưng phải biết mình đang làm cái nào.
- Coi con trỏ là con trỏ. Magnet và manifest stream đến từ các chỉ mục của bên thứ ba. javinfo không bảo chứng cho thứ nằm ở đầu bên kia, và UI của bạn cũng không nên.
- Ghi nguồn. Mỗi kết quả đều mang
sourcevàsite. Hãy hiển thị chúng.
Không có gì ở trên là tư vấn pháp lý, và các khu vực tài phán khác nhau rất xa về nội dung người lớn. Đây là mô tả thứ đi qua đường truyền — phần còn lại javinfo xử lý ra sao thì nằm trong chính sách bảo mật.
Key và thanh toán ở app.javinfo.dev; API cũng có trên RapidAPI. Bạn trả tiền theo lượt tra cứu thành công — $0.0005 mỗi kết quả /movie, $0.0002 mỗi /query, trượt thì miễn phí — nên việc tự kiểm tra thứ trả về tốn xấp xỉ đúng bằng công nghĩ về nó. Key mới có sẵn hơn 100 lượt tra cứu miễn phí, không cần thẻ.