javinfo

Ghi nhận ứng dụng

Gửi một header và ứng dụng của bạn xuất hiện trong bảng xếp hạng công khai của javinfo kèm số lượt gọi, số người dùng và tỉ lệ nhà cung cấp. Miễn phí, tùy chọn, làm trong một phút.

Thêm header referer vào lời gọi API và javinfo bắt đầu giữ một trang công khai cho ứng dụng của bạn: tổng số lượt gọi, bao nhiêu tài khoản gọi qua nó, nhà cung cấp nào trả lời nhiều nhất. Ứng dụng của bạn sẽ nằm trong bảng xếp hạng trên javinfo.dev.

Hoàn toàn miễn phí. Lời gọi có ghi nhận được tính tiền y hệt lời gọi không có, và các header này không đụng tới giới hạn tần suất của bạn. Không gửi thì chẳng có gì xảy ra: không trang, không thứ hạng, không bản ghi.

Các header

HeaderBắt buộcTác dụng
HTTP-RefererURL ứng dụng của bạn. Đây chính là danh tính của ứng dụng. Không URL thì không có trang.
RefererTrình duyệt tự gắn. Dùng làm phương án dự phòng khi thiếu HTTP-Referer.
x-javinfo-titlekhôngTên hiển thị. Mặc định là hostname trong URL của bạn.
x-javinfo-categorieskhôngCác thẻ cách nhau bằng dấu phẩy, tối đa 10. Tự chuyển thành chữ thường.

HTTP-Referer là quy ước của OpenRouter, và nó tồn tại vì Referer thuần là một header bị cấm trong trình duyệt: JavaScript không đặt được. Từ máy chủ thì bạn đặt cái nào cũng được. Từ trình duyệt thì Referer có sẵn, phần còn lại bạn tự thêm.

cURL
curl "https://api.javinfo.dev/movie?q=SSIS-001" \
  -H "x-javinfo-key: jvi_your_key_here" \
  -H "HTTP-Referer: https://myapp.example.com" \
  -H "x-javinfo-title: My App" \
  -H "x-javinfo-categories: search-ui, metadata"
JavaScript (fetch)
const res = await fetch('https://api.javinfo.dev/query?q=SSIS', {
  headers: {
    'x-javinfo-key': 'jvi_your_key_here',
    'HTTP-Referer': 'https://myapp.example.com',
    'x-javinfo-title': 'My App',
  },
});

Đặt một lần trong header mặc định của HTTP client rồi quên nó đi.

URL bạn gửi sẽ thành một liên kết công khai trên javinfo.dev. Hãy gửi trang bạn muốn người ta bấm vào, đừng gửi trang quản trị nội bộ hay host staging.

Những endpoint được tính

/movie, /query/random. Mỗi lời gọi thành công tới một trong ba endpoint đó kèm referer hợp lệ sẽ cộng một lượt vào tổng của ứng dụng. /stats/health không được ghi nhận.

Việc ghi nhận chạy trên hàng đợi nền sau khi phản hồi đã gửi đi, nên không thêm độ trễ, và một trục trặc Redis không bao giờ làm hỏng lời gọi vốn đã thành công.

Những gì được lưu

URL được chuẩn hóa thành origin cộng path. Query string và fragment bị bỏ, còn path gốc thu lại thành origin:

https://myapp.example.com/?ref=hn      →  https://myapp.example.com
https://myapp.example.com/search?q=x   →  https://myapp.example.com/search

Path khác nhau là ứng dụng khác nhau. Hãy chọn một URL chuẩn và dùng mãi nó, không thì lưu lượng của bạn bị tách thành hai dòng trong bảng xếp hạng.

Tiêu đề và danh mục chỉ cập nhật khi bạn gửi. Bỏ qua thì giá trị lần trước vẫn giữ nguyên.

Những gì bị bỏ qua

Ở tất cả các trường hợp sau, phần ghi nhận bị bỏ đi lặng lẽ. Bản thân lời gọi API vẫn thành công.

  • Không có HTTP-Referer lẫn Referer.
  • Referer không phải URL hợp lệ.
  • Bất cứ thứ gì không phải http hay https. Không file://, không scheme tự chế.
  • localhost, 127.0.0.1, ::1. Môi trường dev cục bộ không bao giờ làm bẩn bảng xếp hạng.
  • javinfo.devapp.javinfo.dev. Chúng tôi không tự xếp hạng mình.
  • URL dài hơn 500 ký tự.
  • Tiêu đề mà không có URL. x-javinfo-title đứng một mình không tạo ra gì cả.

Danh mục từ cái thứ 11 trở đi bị cắt. Không có danh sách danh mục cố định, nên cứ dùng từ nào mô tả đúng ứng dụng của bạn: search-ui, discord-bot, cli, scraper, mobile-app.

Trang ứng dụng của bạn

Lời gọi có ghi nhận đầu tiên tạo ra mục và nó lên sóng ngay. Từ đó bảng xếp hạng hiển thị ứng dụng của bạn theo tổng số lượt gọi, và mở javinfo.dev/apps/{id} sẽ cho bạn:

  • Tổng số lượt gọi từ trước đến nay.
  • Số tài khoản javinfo khác nhau từng gọi qua URL của bạn. Đếm theo tài khoản chứ không theo lượt gọi, nên đây là số người dùng thật chứ không phải số lượt truy cập đội lốt người dùng.
  • Tỉ lệ nhà cung cấp: bao nhiêu truy vấn của bạn được FANZA, DMM, javdb, missav, javdatabase hay javlibrary trả lời. Xem Nhà cung cấp để hiểu thứ tự đó.

Dữ liệu này đọc được mà không cần khóa:

curl "https://api.javinfo.dev/v1/apps/rankings?limit=20"
curl "https://api.javinfo.dev/v1/apps/{id}"

Thứ hạng là thứ giành được, không phải mua được. Các vị trí trả phí nằm ở chỗ khác trên javinfo.dev và luôn được ghi rõ; chúng không mua được một chỗ trong bảng này.

Gỡ ứng dụng khỏi bảng

Ngừng gửi header thì mục của bạn ngừng tăng, dù các con số cũ vẫn còn. Muốn xóa hẳn trang? Gửi mail tới [email protected] từ một địa chỉ cùng tên miền với URL, chúng tôi sẽ xóa.

On this page