outline-vpn-api


Nameoutline-vpn-api JSON
Version 6.4.0 PyPI version JSON
download
home_pageNone
SummaryPython API wrapper for Outline VPN
upload_time2025-11-01 22:22:33
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords outline vpn api wrapper rest
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # outline-vpn-api

A Python API wrapper for [Outline VPN](https://getoutline.org/)

[![Test](https://github.com/jadolg/outline-vpn-api/actions/workflows/test.yml/badge.svg)](https://github.com/jadolg/outline-vpn-api/actions/workflows/test.yml) ![](https://img.shields.io/pypi/dm/outline-vpn-api.svg) [![codecov](https://codecov.io/github/jadolg/outline-vpn-api/branch/main/graph/badge.svg?token=SLYnaHOxz2)](https://codecov.io/github/jadolg/outline-vpn-api)

## How to use

```python
from outline_vpn.outline_vpn import OutlineVPN

# Setup the access with the API URL (Use the one provided to you after the server setup)
client = OutlineVPN(api_url="https://127.0.0.1:51083/xlUG4F5BBft4rSrIvDSWuw",
                    cert_sha256="4EFF7BB90BCE5D4A172D338DC91B5B9975E197E39E3FA4FC42353763C4E58765")

# Get all access URLs on the server
for key in client.get_keys():
    print(key.access_url)

# Create a new key
new_key = client.create_key()

# Or create a key with a specific attributes
key = client.create_key(
    key_id="new_key_001",
    name="Yet another test key",
    data_limit=1024 * 1024 * 20,
    method="aes-192-gcm",
    password="test",
    port=2323,
)

# Rename it
client.rename_key(new_key.key_id, "new_key")

# Delete it
client.delete_key(new_key.key_id)

# Set a monthly data limit for a key (20MB)
client.add_data_limit(new_key.key_id, 1000 * 1000 * 20)

# Remove the data limit
client.delete_data_limit(new_key.key_id)

```

## API documentation

<https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/shadowbox/server/api.yml>

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "outline-vpn-api",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "\"Jorge Alberto D\u00edaz Orozco (Akiel)\" <diazorozcoj@gmail.com>",
    "keywords": "outline, vpn, api, wrapper, rest",
    "author": null,
    "author_email": "\"Jorge Alberto D\u00edaz Orozco (Akiel)\" <diazorozcoj@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/7f/96/7bafc093235b2359abd44e26f5a73f6ccd9c98d478684ceed4d1a9d02fe7/outline_vpn_api-6.4.0.tar.gz",
    "platform": null,
    "description": "# outline-vpn-api\n\nA Python API wrapper for [Outline VPN](https://getoutline.org/)\n\n[![Test](https://github.com/jadolg/outline-vpn-api/actions/workflows/test.yml/badge.svg)](https://github.com/jadolg/outline-vpn-api/actions/workflows/test.yml) ![](https://img.shields.io/pypi/dm/outline-vpn-api.svg) [![codecov](https://codecov.io/github/jadolg/outline-vpn-api/branch/main/graph/badge.svg?token=SLYnaHOxz2)](https://codecov.io/github/jadolg/outline-vpn-api)\n\n## How to use\n\n```python\nfrom outline_vpn.outline_vpn import OutlineVPN\n\n# Setup the access with the API URL (Use the one provided to you after the server setup)\nclient = OutlineVPN(api_url=\"https://127.0.0.1:51083/xlUG4F5BBft4rSrIvDSWuw\",\n                    cert_sha256=\"4EFF7BB90BCE5D4A172D338DC91B5B9975E197E39E3FA4FC42353763C4E58765\")\n\n# Get all access URLs on the server\nfor key in client.get_keys():\n    print(key.access_url)\n\n# Create a new key\nnew_key = client.create_key()\n\n# Or create a key with a specific attributes\nkey = client.create_key(\n    key_id=\"new_key_001\",\n    name=\"Yet another test key\",\n    data_limit=1024 * 1024 * 20,\n    method=\"aes-192-gcm\",\n    password=\"test\",\n    port=2323,\n)\n\n# Rename it\nclient.rename_key(new_key.key_id, \"new_key\")\n\n# Delete it\nclient.delete_key(new_key.key_id)\n\n# Set a monthly data limit for a key (20MB)\nclient.add_data_limit(new_key.key_id, 1000 * 1000 * 20)\n\n# Remove the data limit\nclient.delete_data_limit(new_key.key_id)\n\n```\n\n## API documentation\n\n<https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/shadowbox/server/api.yml>\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python API wrapper for Outline VPN",
    "version": "6.4.0",
    "project_urls": {
        "Homepage": "https://github.com/jadolg/outline-vpn-api",
        "Issues": "https://github.com/jadolg/outline-vpn-api/issues"
    },
    "split_keywords": [
        "outline",
        " vpn",
        " api",
        " wrapper",
        " rest"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fc325e7c73dd39fb40b1ce67c8184a9f9b12cf0128ef5395139d7f0aa32e44ee",
                "md5": "d1161cd81516a9912185e7414ce71935",
                "sha256": "678c8bba02dcd640296daf52c77a2442160aa61501dbde2c398df47dd7004719"
            },
            "downloads": -1,
            "filename": "outline_vpn_api-6.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d1161cd81516a9912185e7414ce71935",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 5755,
            "upload_time": "2025-11-01T22:22:32",
            "upload_time_iso_8601": "2025-11-01T22:22:32.185414Z",
            "url": "https://files.pythonhosted.org/packages/fc/32/5e7c73dd39fb40b1ce67c8184a9f9b12cf0128ef5395139d7f0aa32e44ee/outline_vpn_api-6.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7f967bafc093235b2359abd44e26f5a73f6ccd9c98d478684ceed4d1a9d02fe7",
                "md5": "b7ce6dd01e0822d7c9f62f942e0439ea",
                "sha256": "f57a5a00884aacd31bed201c8b3eb5e127eebca58619ad80c8b137fafcb006a9"
            },
            "downloads": -1,
            "filename": "outline_vpn_api-6.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b7ce6dd01e0822d7c9f62f942e0439ea",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 22718,
            "upload_time": "2025-11-01T22:22:33",
            "upload_time_iso_8601": "2025-11-01T22:22:33.222916Z",
            "url": "https://files.pythonhosted.org/packages/7f/96/7bafc093235b2359abd44e26f5a73f6ccd9c98d478684ceed4d1a9d02fe7/outline_vpn_api-6.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-01 22:22:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jadolg",
    "github_project": "outline-vpn-api",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "outline-vpn-api"
}
        
Elapsed time: 1.64014s