
Go में Rewe API रिवर्स इंजीनियरिंग
इस भंडार का उद्देश्य Rewe ऐप द्वारा वर्तमान छूट, उत्पादों, व्यंजनों और रिकॉल को क्वेरी करने के लिए उपयोग किए जाने वाले सभी सार्वजनिक रूप से सुलभ (बिना प्रमाणीकरण के) API एंडपॉइंट को लागू करना है।
वर्तमान समर्थित APK संस्करण: 5.15.2 (12.07.26 तक)
[!CAUTION] Rewe API से बात करने के लिए आवश्यक प्रमाणपत्र इस भंडार में शामिल नहीं हैं। आपको उन्हें APK से निकालना होगा। विंडोज के लिए दस्तावेज़ीकरण और एक निष्कर्षण-स्क्रिप्ट docs निर्देशिका में पाई जा सकती है।
यह भी देखें: rewerse-ui।
Rewe apk से प्रमाणपत्र निकालें; निर्देशों के लिए docs देखें
लाइब्रेरी का उपयोग करें:
go get github.com/ByteSizedMarius/rewerse-engineering – दस्तावेज़pip install rewerse – दस्तावेज़या CLI स्थापित करें:
go install github.com/ByteSizedMarius/rewerse-engineering/cmd@latestgo build -o rewerse ./cmdसत्यापित करें: rewerse --help
उदाहरण: किसी मार्केट के लिए वर्तमान छूट प्राप्त करें:
$ rewerse discounts -market 840174
Top-Angebote in deinem Markt
Haribo Goldbären oder Color-Rado, 0.77€
Coca-Cola, Fanta oder Sprite, 0.99€
Obst & Gemüse
Heidelbeeren, 1.49€
Rispentomaten, 0.99€
...
मार्च 2024 में, Rewe ने अपने API-एंडपॉइंट को सुरक्षित करने के लिए Cloudflare MTLS का उपयोग शुरू किया, जिसने मौजूदा समाधानों को तोड़ दिया जो, उदाहरण के लिए, किसी विशिष्ट Rewe मार्केट के लिए छूट प्राप्त करने की अनुमति देते थे। Github-उपयोगकर्ता @torbenpfohl इसका पता लगाने, प्रमाणपत्र और उसका पासवर्ड खोजने के लिए जुनूनी दृढ़ था। यह रिपॉजिटरी उसके कार्य पर आधारित है और इसका उद्देश्य आवश्यक प्रक्रियाओं का दस्तावेजीकरण करना और कुछ एंडपॉइंट को लागू करना है।
यह प्रोजेक्ट REWE-ZENTRALFINANZ eG से संबद्ध, समर्थित या प्रायोजित नहीं है। "REWE" अपने संबंधित स्वामी का एक पंजीकृत ट्रेडमार्क है।
यह REWE मोबाइल ऐप के सार्वजनिक रूप से देखे जा सकने वाले नेटवर्क ट्रैफ़िक पर आधारित एक अनधिकृत क्लाइंट है। यह शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। अंतर्निहित API अप्रलेखित है और बिना सूचना के किसी भी समय बदल या टूट सकता है।
इस सॉफ़्टवेयर का उपयोग आपके अपने जोखिम पर है। उपयोगकर्ता यह सुनिश्चित करने के लिए जिम्मेदार हैं कि उनका उपयोग लागू सेवा की शर्तों का अनुपालन करता हो।
rewerse के रूप में PyPI पर उपलब्ध है – विवरण और स्रोत कोड के लिए python/readme देखें।[!NOTE] कृपया ध्यान दें कि चूंकि यह एक अहस्ताक्षरित Go बाइनरी है जो प्रमाणपत्रों का कुछ एन्क्रिप्शन/डिक्रिप्शन करती है और Rewe API को वेबअनुरोध भेजती है, इसलिए इसके आपके एंटीवायरस द्वारा फ़्लैग किए जाने की संभावना है। कोई निर्भरता नहीं है, इसलिए आप इसे आसानी से स्वयं संकलित कर सकते हैं – जो सुरक्षा दृष्टिकोण से हमेशा अनुशंसित है।
Usage: ./rewerse.exe [flags] <command> [subcommand] [flags]
Flags:
-cert <path> Certificate file (default: certificate.pem)
-key <path> Key file (default: private.key)
-json Output as JSON
Commands:
markets Search and get market details
products Search, browse, and get product info
recipes Search and browse recipes
discounts Get market discounts
categories Get product categories
recalls Get product recalls
services Get service portfolio by zip
Examples:
./rewerse.exe markets search -query Köln
./rewerse.exe products search -market 831002 -query Milch
./rewerse.exe products category -market 831002 -slug obst-gemuese
./rewerse.exe recipes search -term Pasta
./rewerse.exe discounts -market 840174
./rewerse.exe categories -market 831002
./rewerse.exe services -zip 50667
Run './rewerse.exe <command>' for subcommand help.
परीक्षण pkg/*_test.go में रहते हैं। दो प्रकार हैं:
go test ./pkg/ -run Unmarshalgo test ./pkg/यदि आप एक स्ट्रक्ट परिवर्तन में योगदान दे रहे हैं, तो कृपया एक अनमार्शल परीक्षण जोड़ने या अपडेट करने पर विचार करें। यदि आप एक वास्तविक API प्रतिक्रिया कैप्चर कर सकते हैं तो उसका उपयोग करें, अन्यथा एक सिंथेटिक JSON पेलोड जो वास्तविक API व्यवहार को दर्शाता हो, ठीक है।
सुझावों, प्रश्नों, बग के लिए बेझिझक GitHub मुद्दे खोलें। PR का स्वागत है। ईमेल: rewe at byte dot rest।