{"adoption": {"forks": 148, "observed_at": "2026-08-28T04:04:54.809279+00:00", "stars": 1504}, "canonical_url": "https://ross.abutalabs.com/products/alist-encrypt", "card": {"archived": false, "artifact_type": "service", "description": "这个项目主要是对 alist 的服务进行代理，提供 webdav 的加解密功能。支持 alist 网页在线播放加密的视频，查看加密的图片等功能，同时在 webdav 下的操作透明，自动实现文件资源的加解密。", "domain": ["privacy", "self-hosted", "files", "security", "web-development"], "enriched": true, "function": ["cryptography", "proxy", "http-server", "security", "privacy", "self-hosted"], "health_score": 79, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["traceless/alist-encrypt"], "name": "traceless/alist-encrypt", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2026-08-14T12:36:39+00:00", "repo": "traceless/alist-encrypt", "stars": 1504, "tags": ["alist", "webdav-proxy", "streaming-encryption", "aes-ctr", "rc4", "cloud-storage", "file-encryption", "transparent-encryption", "webdav", "nodejs", "docker", "linux"], "topics": [], "urls": [], "use_cases": ["encrypt files uploaded to cloud drives via alist", "prevent cloud storage providers from scanning and deleting sensitive files", "stream encrypted videos online through the alist web interface", "transparently encrypt files accessed over webdav", "view encrypted images in the browser", "proxy an alist instance with automatic on-the-fly encryption"], "what_it_is": "A Node.js proxy service for Alist that adds transparent WebDAV encryption and decryption of files. It supports streaming encrypted video playback and image viewing in the Alist web UI, encrypting uploads and decrypting downloads automatically using AES-CTR or RC4.", "when_to_avoid": ["you need encryption for storage not served through alist", "you require formally audited or standards-certified encryption", "you need a no-code zero-config solution", "you cannot run a Node.js or Docker proxy service"], "when_to_choose": ["you use alist with cloud drives and need files encrypted before upload", "you want to stream encrypted video without downloading and decrypting manually", "you need transparent webdav encryption for alist-backed storage", "you want to protect files from cloud provider content scanning"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/alist-encrypt", "repo": "traceless/alist-encrypt", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:54.809279+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:32:46.771246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f218c05be125300e8c010caa280ea993921f4d53a92836e50d4f053348701f05", "fetched_at": "2026-08-28T04:04:54.809279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/traceless/alist-encrypt"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 90, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1264, "days_push": 19, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}