Welcome to the July 2024 release of the Anon platform. Key highlights include:

  • Bug fixes for Link SDK
  • Runtime SDK support for Chrome
  • Custom proxy configuration
  • New API endpoints
  • Anon Actions Library

๐Ÿ› Fix: Account linking improvements

Fixed issues when linking accounts for certain integrations:

  • Resolved memory leak with WKWebView
  • Migrated HTTP client to Combine for improved multithreading
  • Simplified internal SwiftUI view builders for increased responsiveness

๐Ÿ› Fix: Connection completion enhancements

Addressed โ€œhangingโ€ and false positive success messages for certain integrations by implementing new logic for connection completion.

Runtime SDK v0.6.0

๐Ÿ†• Custom proxy configuration

Bring Your Own Proxy (BYOP) or use Anonโ€™s proxy network.

In the past, developers using Anon automatically used our proxy network while utilizing our Runtime SDK.

With the latest SDK update, you now have the option to use Anonโ€™s proxy or configure your own proxy with setupAnonBrowserWithContext by using the new proxy configuration property:

{
  /**
   * Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example `http://myproxy.com:3128` or
   * `socks5://myproxy.com:3128`. Short form `myproxy.com:3128` is considered an HTTP proxy.
   */
  server: string;

  /**
   * Optional comma-separated domains to bypass proxy, for example `".com, chromium.org, .domain.com"`.
   */
  bypass?: string;

  /**
   * Optional username to use if HTTP proxy requires authentication.
   */
  username?: string;

  /**
   * Optional password to use if HTTP proxy requires authentication.
   */
  password?: string;
};

Hereโ€™s an example for how to configure your own proxy:

const { browserContext } = await setupAnonBrowserWithContext(
  client,
  account,
  { 
    type: "local", 
    input: {
      proxy: { server: "coolproxy.com:80", username: "foo", password: "bar" } 
    }
  },
);

Use Anon proxy:

const { browserContext } = await setupAnonBrowserWithContext(
  client,
  account,
  { 
    type: "local", 
    input: {
      proxy: { isAnonProxyEnabled: true } 
    }
  },
);

The proxy property is a union of types, so it can also take the form

{ isAnonProxyEnabled: bool } 

Likewise, to turn off proxying altogether, set the field as { isAnonProxyEnabled: false }

const { browserContext } = await setupAnonBrowserWithContext(
  client,
  account,
  { type: "local", 
	  input: {
		  proxy: { isAnonProxyEnabled: false } 
	  }
  },
);

or omit the proxy field entirely

const { browserContext } = await setupAnonBrowserWithContext(
  client,
  account,
  { type: "local", input: {}},
);

Anon Chrome Extension Library v0.6.0

๐Ÿ†• Runtime SDK support for Chrome

Initialize the Anon Runtime in a background service worker:

import { AnonRuntime } from "@anon/sdk-browser-extension";

const anonRuntime = new AnonRuntime({
  client: {
    environment: "sandbox",
    authToken: "your API Key",
  },
});

anonRuntime.start();

Run an authenticated user session:

import { AnonRuntime, AnonClient } from "@anon/sdk-browser-extension";

const anonClient = new AnonClient({
  environment: "sandbox",
  clientId: "your sdk client ID",
  authToken: "your API Key",
});

const sessions = await ANON_CLIENT.getSessions();
const [session] = sessions.filter((session) => {
  return (
    session.appUser.id === "your users id" &&
    sesssion.app === "linkedin"
  );
});

await AnonRuntime.run(session.id, {
  proxyEnabled: true,
  createTab: true,
});

View full extension code example

Enhanced API

๐Ÿ†• Additional list endpoints

Weโ€™ve added list endpoints for the following resources:

Head to our API reference to learn more!

Anon Actions Library

๐Ÿ†• Pre-built automation scripts

Anon Actions Library provides easy-to-use automation scripts for popular websites, integrating seamlessly with Anon SDK for secure user session access.

Supported platforms and actions:

LinkedIn
  • Create a post (createPost)
  • Get connections (getConnections)
  • Follow a company (followCompanyPage)
  • Send a message (sendMessage)
  • Get user info (getUserInfo)
  • Send connection request (sendConnectionRequest)
Amazon
  • Get all orders (getAllOrders)
  • Search for an item (searchItem)
Instagram
  • Send a direct message (sendMessage)

Key benefits

  • Streamlined development of AI-driven applications
  • Reduced complexity for web automation tasks
  • Faster creation of sophisticated AI agents and workflows
  • Seamless integration with Anon SDK and user sessions

Explore full documentation and examples