๐ฆโ๐ฆ Store and retrieve files on the ATmosphere
Store and retrieve files on the ATmosphere (like Bluesky)
Written entirely in Bash Shell. No NodeJS here!
curl -sSL https://zio.sh/atfile/install.sh | bash
echo 'ATFILE_USERNAME="<your-atproto-username>"' > ~/.config/atfile.env # e.g. alice.bsky.social, did:plc:vdjlpwlhbnug4fnjodwr3vzh, did:web:twitter.com
echo 'ATFILE_PASSWORD="<your-atproto-password>"' >> ~/.config/atfile.env
atfile help
curl
exiftool
) (optional: set ATFILE_SKIP_NI_EXIFTOOL=1
to ignore)file
(only on *BSD, macOS, or Linux)gpg
) (optional: needed for upload-crypt
, fetch-crypt
)jq
mediainfo
) (optional: set ATFILE_SKIP_NI_MEDIAINFO=1
to ignore)md5sum
(optional: set ATFILE_SKIP_NI_MD5SUM=1
to ignore)
websocat
(optional: needed for stream
)bsky.network
(@*.bsky.social
) account, limit the amount of files you upload to Bluesky PBC's servers. Heed the copyright warning: do not upload copyrighted files.did:web
accounts supported!com.atproto.*
endpoints, there should be no reason these won't workPDS_BLOB_UPLOAD_LIMIT=<bytes>
There are three ways of installing ATFile. Either:
curl|bash
")curl -sSL https://zio.sh/atfile/install.sh | bash
This will automatically fetch the latest version of ATFile and install it in an appropriate location, as well as creating a blank configuration file. Once downloaded and installed, the locations used will be output. They are as follows:
$HOME/.local/bin/atfile
sudo
/root
: /usr/local/bin/atfile
$HOME/.config/atfile.env
$HOME/.local/bin/atfile
sudo
/root
: /usr/local/bin/atfile
$HOME/Library/Application Support/atfile.env
/boot/system/non-packaged/bin/atfile
$HOME/config/settings/atfile.env
$HOME
is always /home
on HaikuIf $XDG_CONFIG_HOME
is set, this will overwrite the config directory (e.g. setting XDG_CONFIG_HOME=$HOME/.local/share/atfile
will result in the config being stored at $HOME/.local/share/atfile/atfile.env
).
Custom config paths are supported, but set after-the-fact โ see Manually below.
To install manually, see tags on @zio.sh/atfile, and download the required version under Artifacts. This can be stored and run from anywhere (and is identical to the version curl|bash
fetched โ this installed version can also be moved to custom locations at whim).
Don't forget to mark as executable with chmod +x atfile.sh
. It's also a good idea to remove the version from the filename, as ATFile can update itself (with atfile update
) and will overwrite the file (this functionality can be disabled with ATFILE_DISABLE_UPDATER=1
).
Config locations are identical to those above (see Automatic ("curl|bash
") above). To use a custom path, set $ATFILE_PATH_CONF
. Variables can also be used (and overridden) with exports โ see atfile help
โ Environment Variables for more.
If you've pulled this repository, you can also use ATFile by simply calling ./atfile.sh
โ it functions just as a regular compiled version of ATFile, including reading from the same config file. Debug messages are turned on by default: disable these by setting ATFILE_DEBUG=0
.
To compile, run ./atfile.sh build
. The built version will be available at ./bin/atfile-<version>[+git.<hash>].sh
.
Using a development version against your ATProto account could potentially inadvertently damage records.
See atfile help
.
(Todo)
Development mainly takes place on Tangled, with GitHub acting as a mirror. If possible, please use Tangled for your contributions: since it is powered by ATProto, you can log in using your Bluesky account.
When submitting Pull Requests, target the dev
branch: main
is the current stable production version, and PRs will be rejected targeting this branch.
macos
)linux-mingw
) and Termux (linux-termux
).ATFILE_SKIP_UNSUPPORTED_OS=1
ATFILE_FORCE_OS=<os>
bsd-freebsd
, bsd-netbsd
, bsd-openbsd
linux
, linux-mingw
, linux-musl
, linux-termux
haiku
, macos
, solaris
#!/usr/bin/env bash
forces Bash)PowerShell Announcements (with AtProtocol)
A set of PowerShell 7 commands that use the BlueSky API. You can skeet and upload images from a PowerShell prompt as well as view your feed and timeline.
A collection of bots for bluesky along with some systemd services to keep them running. Might include more devop-y stuff later
Your Brand Here!
50K+ engaged viewers every month
Limited spots available!
๐ง Contact us via email๐ฆ Contact us on Bluesky