Skip to content

Cookie Sync in Burst #414

@elgatito

Description

@elgatito

Description

Currently there are websites that are protected by captchas or Cloudflare to block robots.
While there are ways to bypass it using browser emulators (like Jakett, etc), it can be not available for all the platforms.

As an alternative approach we now have a code in Burst that can use cookies, synced from other devices, that run Chrome.
Burst will get cookies into HTTP client and use them for doing requests.

In case providers.json is having configuration, that describes session cookie for specific provider - Burst will try to skip authentication and consider ourselves as logged in (so no login/password required in this case to be filled in Burst settings).

How it works

We use open-source Chrome addon - https://github.com/Andiedie/sync-my-cookie .
It allows setting what websites you want to sync, and puts a file with cookies into your Github profile as a Gist file.
Optionally, if you set an encryption password, it will encrypt contents, so it would be safe to share the gist.

The minimal required setup is:

  1. Create Github account (if not having)
  2. Create personal Github access token that has access to read/write Gists
  3. Install Chrome addon
  4. Fill in Github access token in addon settings and optionally password (to encrypt uploaded cookies).
  5. Open website you want to enable syncing and enable cookie sync.
  6. Fill in Github access token in Burst and optionally password (if you used encryption).

That is it. Burst will read cookies on each search, apply to http client session.

Things to take into mind

Create sessions in the same network as Burst is running. It is a common practice to use IP-dedicated sessions, so IP address of Burst should be the same as the one used by Chrome to log in/authenticate.

It can be that there are multiple domains involved into authentication process on specific provider website. Chrome addon is syncing only the website you ask to, it does not store every cookie everywhere.

Providers configuration

To configure provider as the one that can re-use cookies to bypass authentication, you need to specify cookie name, that we try to find:

        "languages": "en",
        "login_cookie": "sid_session",
        "login_failed": "...",
        "login_object": "...",
        "login_path": "...",

login_cookie in this example is saying which cookie do we need (non expired one) to consider we have required cookie to skip authentication. Cookie is checked for the domain, provided in base_url parameter.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions