![LapsePy](https://github.com/quintindunn/lapsepy/blob/main/icon.png?raw=true)
<div align = "center">
<img src = "https://img.shields.io/pypi/v/lapsepy?label=PYPI%20Version">
<img src = "https://img.shields.io/pypi/l/lapsepy">
<img src = "https://img.shields.io/github/stars/quintindunn/lapsepy?label=GitHub%20Stars">
</div>
## Install
```pip install lapsepy```
## [Getting Started](https://github.com/quintindunn/lapsepy/blob/main/docs/GettingStarted.md)
## Features:
* Modify your bio, display name, date of birth, emojis, and username. Many past what's allowed on the app!
* Upload any image to your darkroom and make it develop at any time!
* Get your friends feed, and download images.
## Getting your refresh token:
One of the most challenging parts of this project is authentication, it uses Apple's App Attest in place of a captcha. As far as I'm aware there's no work around without jailbreaking your phone / using a modified version of the app. I'm planning on waiting for Lapse's Android version to try to reverse engineer it there.
### How to get your refresh token (Windows-Iphone):
#### Method 1 (Semi automated):
* Follow the instructions on my [LapsePyRefreshTokenSniffer](https://github.com/quintindunn/LapseRefreshTokenSniffer/) project.
#### Method 2 (Completely manual):
* Log out of the app
* Install [MitMProxy](https://mitmproxy.org/) **Make sure to install all certificates required. [Certificates](https://docs.mitmproxy.org/stable/concepts-certificates/)**
* Start MitMWeb ignoring the host `register.appattest.apple.com` using `mitmweb --ignore-hosts register.appattest.apple.com`
* Get your computer's ip address. Open your terminal and write `ipconfig`
* On your phone go to Settings -> Network -> <Your network> -> info -> proxy -> manual and enter the proxy information.
* Open the Lapse app and sign in.
* Watch your proxies API calls for the second call to `https://auth.production.journal-api.lapse.app/verify` and inspect it.
* Go to the Response tab, and set `view` to `json`
* Copy the refresh token from the response.
## How to use examples:
1. Clone the repository `git clone https://github.com/quintindunn/lapsepy.git`
2. OPTION 1: Set your refresh token in your environment variable as `REFRESH_TOKEN`<br>
OPTION 2: In the examples replace the `os.getenv("REFRESH_TOKEN")` with `"YOUR_REFRESH_TOKEN"`
3. Run the file.
Raw data
{
"_id": null,
"home_page": "https://github.com/quintindunn/lapsepy",
"name": "lapsepy",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "social media,lapsepy,api,api wrapper",
"author": "Quintin Dunn",
"author_email": "dunnquintin07@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/04/04/2360739aabd2a2196af2be5b945c4253d3bbe61e6e079b4293f71ad42a94/lapsepy-1.2.0.tar.gz",
"platform": null,
"description": "![LapsePy](https://github.com/quintindunn/lapsepy/blob/main/icon.png?raw=true)\n<div align = \"center\">\n\t<img src = \"https://img.shields.io/pypi/v/lapsepy?label=PYPI%20Version\">\n\t<img src = \"https://img.shields.io/pypi/l/lapsepy\">\n\t<img src = \"https://img.shields.io/github/stars/quintindunn/lapsepy?label=GitHub%20Stars\">\n</div>\n\n## Install\n```pip install lapsepy```\n\n## [Getting Started](https://github.com/quintindunn/lapsepy/blob/main/docs/GettingStarted.md)\n\n## Features:\n* Modify your bio, display name, date of birth, emojis, and username. Many past what's allowed on the app!\n* Upload any image to your darkroom and make it develop at any time!\n* Get your friends feed, and download images.\n\n## Getting your refresh token:\nOne of the most challenging parts of this project is authentication, it uses Apple's App Attest in place of a captcha. As far as I'm aware there's no work around without jailbreaking your phone / using a modified version of the app. I'm planning on waiting for Lapse's Android version to try to reverse engineer it there.\n\n### How to get your refresh token (Windows-Iphone):\n#### Method 1 (Semi automated):\n* Follow the instructions on my [LapsePyRefreshTokenSniffer](https://github.com/quintindunn/LapseRefreshTokenSniffer/) project.\n#### Method 2 (Completely manual):\n* Log out of the app\n* Install [MitMProxy](https://mitmproxy.org/) **Make sure to install all certificates required. [Certificates](https://docs.mitmproxy.org/stable/concepts-certificates/)**\n* Start MitMWeb ignoring the host `register.appattest.apple.com` using `mitmweb --ignore-hosts register.appattest.apple.com`\n* Get your computer's ip address. Open your terminal and write `ipconfig`\n* On your phone go to Settings -> Network -> <Your network> -> info -> proxy -> manual and enter the proxy information.\n* Open the Lapse app and sign in.\n* Watch your proxies API calls for the second call to `https://auth.production.journal-api.lapse.app/verify` and inspect it.\n* Go to the Response tab, and set `view` to `json`\n* Copy the refresh token from the response.\n\n\n## How to use examples:\n1. Clone the repository `git clone https://github.com/quintindunn/lapsepy.git`\n2. OPTION 1: Set your refresh token in your environment variable as `REFRESH_TOKEN`<br>\nOPTION 2: In the examples replace the `os.getenv(\"REFRESH_TOKEN\")` with `\"YOUR_REFRESH_TOKEN\"`\n3. Run the file.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python API wrapper for the social media app Lapse.",
"version": "1.2.0",
"project_urls": {
"Homepage": "https://github.com/quintindunn/lapsepy"
},
"split_keywords": [
"social media",
"lapsepy",
"api",
"api wrapper"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3e19b20790fe7910034304d5d77b09dbebf91686643d8268573e191d7a0b0100",
"md5": "ac37462c0fd384ca9222dbd00fd7a994",
"sha256": "034fb1ccd8287a26b83e751d89e23f6e639b231352c75782b82954e03f20a388"
},
"downloads": -1,
"filename": "lapsepy-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ac37462c0fd384ca9222dbd00fd7a994",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 32760,
"upload_time": "2023-12-04T15:24:00",
"upload_time_iso_8601": "2023-12-04T15:24:00.695476Z",
"url": "https://files.pythonhosted.org/packages/3e/19/b20790fe7910034304d5d77b09dbebf91686643d8268573e191d7a0b0100/lapsepy-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "04042360739aabd2a2196af2be5b945c4253d3bbe61e6e079b4293f71ad42a94",
"md5": "ef795654a9d9e12c06ce07e8e5b19dfe",
"sha256": "3ddf929da68ea21b66de2b76c0a384e20db40833093f7b665e85bb8b4da1c252"
},
"downloads": -1,
"filename": "lapsepy-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "ef795654a9d9e12c06ce07e8e5b19dfe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26678,
"upload_time": "2023-12-04T15:24:01",
"upload_time_iso_8601": "2023-12-04T15:24:01.858935Z",
"url": "https://files.pythonhosted.org/packages/04/04/2360739aabd2a2196af2be5b945c4253d3bbe61e6e079b4293f71ad42a94/lapsepy-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-04 15:24:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "quintindunn",
"github_project": "lapsepy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "lapsepy"
}