lapsepy


Namelapsepy JSON
Version 1.2.0 PyPI version JSON
download
home_pagehttps://github.com/quintindunn/lapsepy
SummaryA Python API wrapper for the social media app Lapse.
upload_time2023-12-04 15:24:01
maintainer
docs_urlNone
authorQuintin Dunn
requires_python
licenseMIT
keywords social media lapsepy api api wrapper
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![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"
}
        
Elapsed time: 0.14753s