Comments (5)
I also tried analyzing with only the apk but, just as it was for you, I didn't find much. In the end I set up an android virtual device, installed kpntcook on it and routed all traffic through a burp proxy. To intercept https traffic I additionally had to install the burp CA on the phone. After doing all that I was able to see the plain http calls.
I'm looking forward to the update, maybe a function which exports all favorite recipes of a user would be great too. That would be great for backing the kptncook recipes up.
No rush though, enjoy the pycon :)
from kptncook.
Great, this looks amazing. I'll definetly try this out later to archive my kptncook collection.
I first started reversing the API with an old version of the app. Later I switched to a newer apk version and then discovered the new format. Unfortunately I'm not sure which versions I used and when the API was changed.
Concerning the daily endpoint in the new format. I didn't really have time to look yet but it seems like appending the lang
parameter does the trick. I didn't check if it's the same format as the new search endpoint's format yet though.
Maybe everything concerning the ACCESS_TOKEN can be renamed into Personal access token so nobody confuses it with the kptnkey. A user doesn't really need to concern himself with the kptnkey though so it's probably fine. Other than the http
option I think everything is named pretty clearly.
Thank you very much for your work on this :)
from kptncook.
Fixed the confusingly named "http" command in #14
from kptncook.
Oh, that's great \o/, thanks a lot for your effort. The only thing I did was downloading the android apk and running strings
over it which didn't show much. And I tried to get the api endpoints by sniffing traffic on my fritzbox, but it's https so it didn't work.
I'll leave that issue open and try to implement fetching individual recipes soon - I'm attending https://2022.pycon.de/ atm so it will take a few days.
from kptncook.
Integrated most of the new api endpoints. You should be able now to backup your favorites, search for recipes by id etc. I didn't adapt the new receipt format with lang set, because I have to modify the internal recipe representation then. Maybe I'll do it later on. Why do you think this is the new format? And do you know where I can find the endpoint for the daily recipes in the new format?
If you have any recommendations about how to name cli arguments/options or how it should behave, they would be very welcome :).
from kptncook.
Related Issues (20)
- Remove explicit dependency on click < 8.1
- Get username / password from password manager
- Rename confusing http command
- Mealie Read Timeout
- TypeError on every CLI call HOT 2
- Mealie API version not clear HOT 1
- handling non-parsable recipes HOT 5
- PydanticImportError HOT 2
- Error retrieving kptncook access token HOT 7
- Fetch recipes based on different api endpoints
- Cannot sync with mealie when having recipes from other source HOT 8
- TemplateNotFound: paprika.jinja2.json HOT 3
- several errors HOT 7
- sync-with-mealie: no Step-Images since Mealie V1.0.0-RC2 HOT 10
- Validation error for recipes HOT 2
- No Step-Images after "sync-with-mealie" version 1.2.0 HOT 1
- Error on mealie sync HOT 5
- Docker Container
- Ingredients list enhancements
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kptncook.