Skip to content

Feature License vi

SkimMail docs edited this page Sep 15, 2026 · 1 revision

English · Tiếng Việt · 中文

Plan và license

Từ 1.6.0, SkimMail miễn phí self-host mãi mãi ở gói Community, với một số giới hạn nhỏ theo từng instance, và mở khoá gói cao hơn qua một license key đã ký, dùng offline — không có license server, không cần gọi về đâu để áp dụng nó, và không có tài khoản nào ở phía SkimMail.

Vấn đề nó giải quyết

Phần mềm self-host muốn tự nuôi mình thường chọn một trong hai lối khó chịu: bóp gói miễn phí đến mức gần như không dùng được, hoặc bắt buộc một license server đang chạy — biến một sản phẩm self-host thành thêm một thứ có thể sập và khoá bạn khỏi chính mail của mình. Hệ thống entitlement của SkimMail không theo lối nào cả: Community Edition là một trình đọc mailbox đầy đủ, với giới hạn đủ rộng cho một người, còn một key mở khoá thêm là một token đã ký, offline, bạn dán vào một lần — kiểm bằng thuật toán mã hoá đã có sẵn trong binary, không bao giờ được kiểm tra lại với một server từ xa vào lúc áp dụng.

Nằm ở đâu

Settings ▸ Plan & License, chỉ owner.

Ba gói

Tài nguyên Community Sponsor Pro
Tài khoản 10 25 Không giới hạn
Connections (proxy/tunnel egress) 3 5 Không giới hạn
Groups 2 5 Không giới hạn
Storage 5 GB (chỉ hiển thị — xem bên dưới) 15 GB (chỉ hiển thị) Không giới hạn
Số lượt đăng nhập (AUTH_MODE=users) 1 3 Không giới hạn

Community là gói mặc định bất cứ khi nào không có license áp dụng, hoặc license đã áp dụng hết hạn hay bị thu hồi. Giới hạn 3 lượt đăng nhập của Sponsor là con số nhỏ nhất mà mô hình vai owner/operator/viewer (xem Người dùng và phân quyền) có ý nghĩa thực sự — các con số khác của Community mô tả một người với một thiết lập nghiêm túc, không phải một đội nhóm.

Những giới hạn này tính theo instance, không theo user. Đếm theo user sẽ cho phép ai đó vượt trần 10 tài khoản của Community bằng cách tạo thêm một lượt đăng nhập; các con số đếm phía sau mọi thanh đo ở đây là truy vấn không lọc theo user trên toàn bộ cơ sở dữ liệu, một cách cố ý.

Áp dụng một key

Dán văn bản license, hoặc kéo thả file nó đến kèm, rồi lưu. Một key là một token gồm hai phần gọn — một payload JSON và một chữ ký Ed25519, cả hai đều mã hoá base64url, nối bằng dấu . — được kiểm đối chiếu với một khoá công khai đóng cứng trong binary từ lúc build. Không gì được gửi đi đâu để áp dụng nó: toàn bộ việc kiểm diễn ra cục bộ, nên nó chạy tốt trên một instance air-gapped y hệt như trên một instance có Internet.

Một key có chữ ký sai hoặc thiếu bị từ chối thẳng (không gì được lưu) và màn hình báo nó không hợp lệ. Một key kiểm được chữ ký nhưng đã hết hạn vẫn được lưu và hiển thị — gói, tên người được cấp phép và các mốc thời gian của nó vẫn hiện ra để minh bạch — trong khi mọi giới hạn đang áp dụng lùi hẳn về Community cho tới khi bạn áp dụng một key còn hiệu lực. Thay một key đang có, hay gỡ hẳn nó để quay về Community, đều chỉ một cú click trên chính màn hình này.

Điều gì xảy ra khi một key hết hạn hoặc bị thu hồi

Entitlement chỉ chặn việc tạo mới — không bao giờ chặn khôi phục, không bao giờ chặn đọc. Nếu một key Sponsor hết hạn trong khi bạn đang có 22 tài khoản đã cấu hình, không cái nào biến mất, ngừng đồng bộ, hay trở thành chỉ-đọc: cả 22 vẫn hoạt động y như trước. Điều thay đổi là bạn không thêm được tài khoản, connection hay group thứ 23 cho tới khi bạn gia hạn key hoặc xoá xuống dưới trần Community. Cùng một tư duy đó giải thích vì sao storage không bao giờ bị chặn — xem bên dưới.

UI xem hết hạnbị thu hồi là hai chuyện liên quan nhưng khác nhau: một key bị thu hồi (id của nó nằm trong danh sách thu hồi đã ký của SkimMail) được gắn nhãn là bị thu hồi thay vì chỉ hết hạn, để bạn biết cần hỏi về chính license đó thay vì nghĩ đơn giản là gói đăng ký đã hết hạn.

Thu hồi, và vì sao nó vẫn đáng tin mà không cần gọi về đâu

Mọi bản build SkimMail mang theo một baseline các license id bị thu hồi đóng cứng sẵn, một mình nó đã đủ để chạy mãi mãi trên một instance offline. Ngoài ra, một instance đã bật kiểm tra self-update định kỳ (xem Vận hành) sẽ tranh thủ tải luôn danh sách thu hồi đã ký mới nhất trên cùng chu kỳ đó — không bao giờ tạo thêm một phụ thuộc mạng riêng — và chỉ chấp nhận một danh sách vừa tải nếu nó mới hơn hẳn cái đang cache, cụ thể là để chặn một kẻ tấn công mạng phát lại mãi mãi một danh sách cũ nhưng có chữ ký thật, nhằm giấu một vụ thu hồi mà lẽ ra bạn đã biết. Bất kỳ thất bại nào ở đây — offline, tắt kiểm tra cập nhật, chữ ký sai — đều bị nuốt lặng lẽ và chỉ để lại baseline đóng cứng làm mức sàn; nó không bao giờ chặn bất cứ gì khác trong sản phẩm.

Cái gì thực sự bị chặn, và cái gì chỉ mang tính khuyến cáo

Bốn con số phía trên không được thực thi giống nhau:

  • Tài khoản, connection và group được kiểm ngay lúc bạn cố tạo thêm một cái — thêm tài khoản IMAP hay OAuth, thêm một proxy/tunnel egress, hay thêm một group, tất cả đều từ chối với "limit reached" ngay khi bạn chạm trần của gói.
  • Lượt đăng nhập được kiểm theo cùng cách, nhưng chỉ từ CLI skimmail user add (xem Người dùng và phân quyền) — sản phẩm không có màn hình "tạo user" tự phục vụ nào trong UI để chặn ở đó.
  • Storage không bao giờ bị chặn, một cách cố ý. Con số hiển thị là một lượt filepath.Walk thật trên thư mục dữ liệu của bạn, tính lại mỗi lần bạn mở màn hình này, nhưng nó chỉ để hiển thị: không gì trong SkimMail từ chối một lượt ghi — một lượt sync lưu file đính kèm, một nội dung thư được cache — chỉ vì bạn vượt một con số storage. Phương án thay thế (một hộp thư ngừng nhận mail mới vì đĩa đầy theo một con số trên màn hình cài đặt) bị đánh giá là tệ hơn một thanh đo trung thực nhưng không cưỡng chế.

Giới hạn

Có từ 1.6.0
Vai owner
Các gói Community · Sponsor · Pro
Điểm thực thi lúc tạo tài khoản/connection/group, và skimmail user add; không bao giờ ở storage
Cần mạng để áp dụng key Không
Cần mạng để kiểm thu hồi Không — best-effort, tranh thủ theo lượt kiểm cập nhật opt-in

Nó không làm gì

  • Không chặn nội dung nào cả. Số lượng thư, dung lượng mailbox, và kích cỡ nội dung đã cache không bị ảnh hưởng bởi gói — chỉ số lượng tài khoản, connection và group bạn có thể tạo, và bao nhiêu người đăng nhập được.
  • Không gọi về đâu để áp dụng hay xác minh một key. Việc kiểm chữ ký hoàn toàn cục bộ; chỉ lượt làm mới danh sách thu hồi tuỳ chọn mới từng gọi mạng, và nó không bao giờ chặn việc áp dụng hay dùng một key.
  • Khoá xác minh không ghi đè được bằng biến môi trường, khác với khoá self-update (UPDATE_PUBKEY). Đây là hằng số ở thời điểm build một cách cố ý — một biến môi trường ghi đè sẽ cho phép bất kỳ ai tự tạo keypair riêng và tự ký một license "không giới hạn" trong hai lệnh, phá vỡ toàn bộ hệ thống.
  • Không khôi phục được thứ mà một giới hạn đang chặn. Xoá xuống dưới trần Community là thủ công, và — theo Người dùng và phân quyền — xoá nhầm user dưới giới hạn 1 chỗ ngồi có thể là một thế bí thật sự; CLI có tuỳ chọn --reassign-to chính cho trường hợp đó.

Xem thêm

  • Người dùng và phân quyền — giới hạn đăng nhập, CLI skimmail user, và ý nghĩa của instance Community 1 chỗ ngồi khi xoá một user
  • Vận hành — lượt kiểm cập nhật opt-in mà việc làm mới danh sách thu hồi tranh thủ đi theo
  • LICENSE / COMMERCIAL-TERMS.md trong repository — các điều khoản pháp lý đứng sau các gói; trang này chỉ mô tả phần mềm hoạt động ra sao

SkimMail · skimmail@base101.app · 2026-09-15 · commit dffbb18

Clone this wiki locally