Cài SnapVideo lên iPhone

Tải video, ảnh từ Instagram, TikTok, Facebook, Threads ngay trên iPhone. Không cần server hay Tailscale: iPhone tự lấy link bằng mạng của chính nó.

InstagramTikTokFacebookThreadsv1.1.0
1

Cài app Scriptable

App miễn phí để chạy JavaScript trên iPhone: Scriptable trên App Store. Cài xong mở app một lần để nó tạo thư mục Scriptable trong iCloud Drive.

Cần bật iCloud Drive (Cài đặt › tên bạn › iCloud › iCloud Drive) để phím tắt tự cài được script. Không dùng iCloud Drive thì làm theo mục "Cài thủ công" ở cuối trang.

2

Tạo phím tắt SnapVideo

Trong app Phím tắt, bấm +, đặt tên phím tắt là SnapVideo. Bấm ⓘ ở dưới cùng, bật Hiển thị trong Bảng chia sẻ. Rồi thêm các tác vụ theo thứ tự:

Nhận URL, Văn bản từ Bảng chia sẻ
   nếu không có đầu vào → Lấy bảng tạm

── tự cài script lần đầu ──
Lấy tệp từ thư mục
   Thư mục = iCloud Drive › Scriptable
   Đường dẫn = SnapVideo.js
   tắt "Báo lỗi nếu không tìm thấy"
Nếu [Tệp] không có giá trị
   Lấy nội dung của https://snapvideo-ezn.pages.dev/SnapVideo.js
   Đặt tên [Nội dung của URL] thành SnapVideo.js
   Lưu tệp [Mục đã đổi tên]
      tắt "Hỏi nơi lưu"
      Thư mục = iCloud Drive › Scriptable
      bật "Ghi đè nếu tệp tồn tại"
Kết thúc nếu

── tách link ──
Run Script  (Scriptable)
   Script = SnapVideo
   Parameter = Đầu vào phím tắt
   tắt "Run In App"
Đặt biến KetQua = Run Script
Lấy giá trị từ điển "referer" trong KetQua → Đặt biến Referer
Lấy giá trị từ điển "cookie"  trong KetQua → Đặt biến Cookie
Lấy giá trị từ điển "status"  trong KetQua
Văn bản [Giá trị từ điển]

Nếu Văn bản là error
   Lấy giá trị từ điển "error" trong KetQua
   Lấy giá trị từ điển "message" trong [Giá trị từ điển]
   Hiển thị cảnh báo [Giá trị từ điển]
   Dừng phím tắt này
Kết thúc nếu

── tải và lưu ──
Nếu Văn bản là picker
   Lấy giá trị từ điển "picker" trong KetQua
   Lặp lại với từng mục
      Lấy giá trị từ điển "url" trong Lặp lại mục
      URL [Giá trị từ điển]
      Lấy nội dung của [URL]   ← thêm 2 tiêu đề
      Lưu vào album Gần đây
   Kết thúc lặp lại
Nếu không
   Lấy giá trị từ điển "url" trong KetQua
   URL [Giá trị từ điển]
   Lấy nội dung của [URL]      ← thêm 2 tiêu đề
   Lưu vào album Gần đây
Kết thúc nếu
Hiển thị thông báo "Đã lưu vào Ảnh"

Tên tác vụ có thể hơi khác tùy phiên bản iOS. Tìm bằng tiếng Anh nếu cần: Get File from Folder, Set Name, Save File, Get Contents of URL. Ô Thư mục: chạm vào rồi chọn iCloud Drive › Scriptable.

2 tiêu đề cho 2 tác vụ Lấy nội dung của [URL] ở phần tải và lưu: mở Hiển thị thêm, giữ Phương thức: GET, thêm Tiêu đề:

KhóaVăn bản
Refererbiến Referer
Cookiebiến Cookie

Bắt buộc với TikTok. Thiếu 2 tiêu đề này thì TikTok trả lỗi 403 và file lưu về bị hỏng.

3

Chạy thử

  1. Mở một bài Instagram hoặc TikTok, bấm Chia sẻ, chọn phím tắt SnapVideo.
  2. Lần chạy đầu, iPhone hỏi quyền truy cập snapvideo-ezn.pages.dev, thư mục Scriptable và quyền lưu ảnh: chọn Luôn cho phép.
  3. Video/ảnh xuất hiện trong app Ảnh là xong. Từ lần sau phím tắt bỏ qua bước cài.

Script tự cập nhật: tối đa 6 giờ một lần, hoặc ngay khi gặp lỗi, nó lấy bản mới từ trang này. Không cần cài lại.

4

Chia sẻ cho người khác

  1. Trong app Phím tắt, giữ vào phím tắt SnapVideo › Chia sẻ › Sao chép liên kết iCloud.
  2. Gửi người nhận link đó kèm link trang này. Họ chỉ cần làm bước 1 (cài Scriptable, mở một lần) rồi bấm link iCloud để thêm phím tắt.
5

Đã có phím tắt cũ?

  • Đã dán script SnapVideo bản 1.0.x bằng tay: mở Scriptable, giữ vào SnapVideo › Delete. Bản cũ chưa có tự cập nhật, xóa đi để phím tắt cài bản mới.
  • Phím tắt bản cobalt + Tailscale: xóa Connect, Đợi 2 giây, Disconnect. Thay Lấy nội dung của http://…:9001 bằng khối "tự cài script" và Run Script như bước 2, thêm 2 tiêu đề Referer / Cookie. Ở nhánh error, đổi "code" thành "message".
6

Cài thủ công (không dùng iCloud Drive)

  1. Mở Scriptable, bấm + ở góc trên bên phải, giữ vào vùng soạn thảo, chọn Dán.
  2. Chạm vào tên Untitled Script ở trên cùng, đổi thành SnapVideo, bấm Done.
  3. Trong phím tắt, bỏ khối "tự cài script lần đầu".
Xem code (17.829 ký tự). Nút sao chép không chạy thì giữ vào ô dưới, Chọn tất cả, Sao chép.
?

Lỗi thường gặp

Thấy gìLàm gì
Run Script báo không tìm thấy script SnapVideoMở app Scriptable một lần để nó nhận file mới. Vào app Tệp › iCloud Drive › Scriptable: tên file phải đúng SnapVideo.js (không phải SnapVideo.js.txt).
Không thấy link trong đầu vàoBảng tạm trống: copy link rồi chạy lại, cho phép dán.
Video quảng cáo / TikTok ShopTikTok không cho tải khi chưa đăng nhập. Dùng nút Lưu của TikTok hoặc quay màn hình.
Instagram không trả dữ liệu bài nàyBài riêng tư, story hoặc bị hạn chế. Bài công khai mà vẫn lỗi thì thử lại sau ít phút hoặc đổi Wi-Fi/4G.
File TikTok lưu về không mở đượcThiếu tiêu đề Referer / Cookie ở bước 2.
Báo "Đã tự cập nhật SnapVideo…, hãy chạy lại"Script vừa tải bản sửa lỗi. Chạy lại phím tắt.