Skip to main content

A slick and modern Python package for anonymous file sharing

Project description

About

The anonpy module makes it easier to communicate with REST APIs for anonymously uploading and downloading files. It implements an extensible provider-independent class system and also comes with an intuitive CLI or lightweight GUI for interactive usage.

Documentation for this project is located on the GitHub Wiki page.

Installation

anonpy is available on PyPI:

pip install anonpy

Release candidates (preview versions) of this library can be installed with:

pip install -i https://test.pypi.org/simple/ anonpy

To ensure a clean and isolated environment for running anonpy's CLI, it is recommended to install it with the pipx command.

pipx install anonpy

Library

anonpy can be used to interface with a wide variety of REST services by building a contract with the Endpoint class.

from anonpy import AnonPy, Endpoint

api = "https://pixeldrain.com/api/"
endpoint = Endpoint(upload="/file", download="file/{}", preview="/file/{}/info")

anon = AnonPy(api, endpoint)

# retrieve resource meta data without committing to a download
preview = anon.preview("LNcXZ9UM")
print(f"{preview=}")

# download a resource to the current working directory
download = anon.download("LNcXZ9UM", progressbar=True)
print(f"{download=}")

# upload a file
upload = anon.upload("homework.docx", progressbar=True)
print(f"{upload=}")

Command Line Interface

Read the help manual:

anonpy --help

Graphical User Interface

⚠ This feature is currently not implemented yet, but is expected to be released in version 1.2.0

Launch a graphical user interface for uploading and downloading files:

anonpy --gui

Acknowledgements

Historically speaking, this module can be considered a continuation of the anonfile-api project, although any resemblance of compatibility may only be temporary. On 16 August 2023, the anonymous file sharing website https://anonfiles.com shut down due to overwhelming abuse by the community, which was the driving factor for creating a backend-agnostic library that can stand the test of time. That's why to this day, anonpy still uses the anonfiles logo as a small nod to its past.

Special thanks to @aaronlyy for passing on the PyPI name anonpy to @StefanGreve.

See also the list of contributors who participated in the development of this project.

Further Reading

This Project is licensed under the MIT license. Check out the Contributing Guidelines to learn more about how you can help this project grow. Navigate to the Discussions panel to ask questions or make feature requests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anonpy-1.0.0.tar.gz (26.1 kB view hashes)

Uploaded Source

Built Distribution

anonpy-1.0.0-py3-none-any.whl (32.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page