$ show 6dylan6/jdpro
This repository is a collection of cron-triggered Node.js and Python scripts that automate JD.com (Jingdong) account activities such as daily check-ins, lottery draws, coupon management, price protection, and bean/point collection. It is designed to run on the Qinglong panel (a self-hosted cron scheduler) and manages multiple JD accounts via environment variables. The scripts rely heavily on reverse-engineered JD internal APIs, custom signature generation (H5st), and slider captcha solving. They also include a multi-channel notification system (Bark, Serverchan, Telegram, DingTalk, etc.) and utilities for converting WSKEY tokens to session cookies. The codebase is notable for its extensive use of obfuscation (jsjiami.com.v7) to protect algorithmic logic, making maintenance and audit difficult. Despite this, the repository is actively maintained and has a large user base, but the technical debt from obfuscation, duplicated code, and reliance on external sign services is significant.
The LLM identified 2 files worth highlighting for reuse:
Provides the core Env class used by all JD scripts. This class abstracts away differences between Surge, Loon, Quantumult X, and Node.js runtimes, offering a unified API for HTTP requests, data persistence (key-value storage), logging, timeouts, and notifications. It is a self-contained framework that could be extracted and adapted for any project needing a cross-platform automation harness, though it is tightly coupled to the script ecosystem through its built-in notification and cookie handling methods.
A multi-channel notification dispatcher supporting over 15 push services (Bark, Serverchan, PushDeer, Telegram, DingTalk, WeChat Work, Feishu, SMTP, etc.). Configuration is entirely via environment variables, making it easily reusable in any Node.js automation project. It also includes cookie expiration detection and automatic cookie disabling in Qinglong via API calls. The core notification logic is decoupled from the JD specifics and can be reused as a standalone message routing library with minimal adaptation.