Skip to main content

Simple HTTP Proxy for Autonomy Network

IMPORTANT SECURITY NOTICE!!!!!

Using this HTTP proxy will completely undermine your browser's Cross Site Scripting security measures. Only access sites or applications on the Autonomi Network that you trust, and preferably use Immutable Data Addresses instead of pointers or names, especially when dealing with applications that may handle tokens.

While Immutable Data can generally be considered trustworthy if the source is reliable, it is important to note that such data or programs may still interact with pointers to other content that could change at any time.

This tool is provided without any warranties, and you use it at your own risk. The Autonomi Network offers significant capabilities, but with that power comes substantial risks. Exercise extreme caution regarding the sites and applications you choose to visit.

Overview

This Python package provides a simple HTTP proxy server to access the Autonomi Network.

Currently the only supported Data Type is chunks/files.

TODO:

  • Pointer
  • Scratchpad
  • GraphEntry
  • Register
  • Graph (?)

Goals

The Idea is to create a simple FastAPI server that wraps all basic operations for Datatypes into a simple REST API that can be installed via pip and doesn't require docker/rust to be installed on the system. An easy entry into the Autonomi Network.

Design

Simple Fastapi server served via Uvicorn that comes with a nice Swagger doc website and an OpenAPI interface description. In the Server it just wraps the autonomi-client functionality.

To not send a Private Key across the wire repeatedly the proxy does have a route to either import a specified Private Key or set up a wallet on its own and returns an access token as answer. DO NOT LOOSE THAT ACCESS Token!!! the private key/wallet is stored AES encrypted and token on it are lost if you loose that Token (that is used as symmetric key to access the private key for all put operations)

I Repeat (!) when using the PUT-capabilities you need to handle the Token with care! If you loose it (and didn't import a Private Key you still have a backup from) your token are lost!

Operations

GET:

  • getting Data public/private - no payment required

PUT:

  • uploading/updating data (pointer, scratchpad, chunks/files)

since the current version only implements immutable data there will just be 1 GET and 1 PUT route for them as well as 1 additional PUT route to import/generate a PrivateKey.

endpoint of the server:

http://localhost:17017/v0/docs

Installation and Usage

Installation

You can install autoprox directly from PyPI:

pip install autoprox

Or with uv:

uv pip install autoprox

Usage

After installation, you can start the proxy server by running:

autoprox

By default, the server will run on localhost:17017. You can customize this with command-line arguments:

autoprox --host 0.0.0.0 --port 8000

The Swagger API documentation will be available at:

http://localhost:17017/v0/docs

Example Access

To access a file from the Autonomi Network:

http://localhost:17017/v0/data/get/public/{data_address}/{filename}

For example:

http://localhost:17017/v0/data/get/public/a7d2fdbb975efaea25b7ebe3d38be4a0b82c1d71e9b89ac4f37bc9f8677826e0/dog.png

Metadata

Release files for autoprox 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autoprox 0.1.0
File Size Uploaded
autoprox-0.1.0.tar.gz 4.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autoprox 0.1.0
File Interpreter ABI Platform
autoprox-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.7 kB

Release files / autoprox-0.1.0.tar.gz

Download URL autoprox-0.1.0.tar.gz
Size 4.6 kB
Tags Source
SHA-256 checksum
How to use checksums
1ff26790f0453e708e429dbee12aadfa34d278d385f2bff7d9ccbeccf866fe1e
BLAKE2b-256 checksum
How to use checksums
b380b2d32140ea8a13ae336541c2aa33ba5603b6655db8a548022ac8662ea8e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.13

Release files / autoprox-0.1.0-py3-none-any.whl

Download URL autoprox-0.1.0-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14d9a2f238d92bd4c5a53101a94c21bcb484fbf99005ee9188be0237c791745a
BLAKE2b-256 checksum
How to use checksums
2896ff85d2c782f71bbce1121931ac2829959bbe3d0e23041cb8e4a56751e114
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.13

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page