Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. ATProto
  3. ATFile

ATFile

MITShellv/0.x/0.10.10

A Bash-based CLI tool to store and retrieve files on the ATmosphere (Bluesky/Tangled) using ATProto.

GitHubGitHub
141 stars4 forks0 contributors

What is ATFile?

ATFile is a Bash shell script that allows users to store and retrieve files on the ATmosphere, the decentralized protocol behind platforms like Bluesky and Tangled. It solves the need for a lightweight, dependency-minimal CLI to interact with ATProto's blob storage without requiring a full application stack.

Target Audience

Developers and technical users of ATProto-based platforms (Bluesky, Tangled) who prefer command-line tools and want to automate file operations or integrate ATProto storage into shell scripts.

Value Proposition

It offers a unique pure-Bash implementation that avoids Node.js/runtime overhead, supports optional encryption, and works across multiple operating systems with minimal dependencies.

Overview

📦➔🦋 Store and retrieve files on the ATmosphere

Use Cases

Best For

  • Automating file uploads to Bluesky or Tangled from shell scripts
  • Storing configuration or backup files on ATProto infrastructure
  • Building CLI workflows that integrate with decentralized social platforms
  • Self-hosting file storage on a personal ATProto PDS
  • Experimenting with ATProto's blob storage capabilities
  • Managing encrypted file transfers over ATProto

Not Ideal For

  • Projects requiring native Windows support without MinGW or WSL
  • Teams using musl-based Linux distributions like Alpine or OpenWrt
  • Applications needing to upload large videos to Bluesky due to CDN limitations
  • Environments with strict security policies that forbid curl|bash installations

Pros & Cons

Pros

No Runtime Overhead

Implemented purely in Bash, avoiding Node.js or other runtime dependencies, making it lightweight and ideal for minimal shell environments.

Broad OS Support

Works on Linux, macOS, *BSD, and Haiku, with MinGW/WSL options for Windows, catering to diverse Unix-like systems as highlighted in the OS compatibility list.

Optional Encryption

Integrates GPG for secure file handling with dedicated upload-crypt and fetch-crypt commands, adding a layer of security for sensitive data.

Unix Philosophy Adherence

Designed to do one thing well—ATProto file operations—enabling seamless integration into shell scripts and automation workflows.

Self-Updating Mechanism

Can automatically fetch and install the latest version via a curl|bash pipeline, simplifying maintenance for users.

Cons

Limited Native Windows Support

No native Windows version is available; users must rely on MinGW or WSL, adding setup complexity and potential performance overhead.

Dependency Heavy

Requires multiple packages like curl, jq, and optional tools (ExifTool, GPG), which may not be pre-installed in minimal or restricted environments.

File Size and Platform Limits

Imposes file size constraints (e.g., 100MB default) that can't be auto-detected, and videos on Bluesky have CDN restrictions, limiting usability for large media.

Security Risks with Installation

The recommended curl|bash installation method is often discouraged in secure setups due to potential execution of untrusted code, though it's convenient.

Frequently Asked Questions

Quick Stats

Stars141
Forks4
Contributors0
Open Issues0
Last commit11 months ago
CreatedSince 2024

Tags

#social-media#bluesky#atproto#bash-script#cli-tool#decentralized-web#file-storage#command-line#self-hosted

Built With

w
websocat
B
Bash
c
curl
j
jq
G
GnuPG
e
exiftool

Included in

ATProto57
Auto-fetched 1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub