Project Pie Cannon

Pie Cannon is an easy way to upload files to the internet and get a shareable link. File goes in, link comes out.

It doesn't come with a backend because you're expected to bring your own. A plain old FTP/SFTP+HTTP server will work fine, but support for more backends is on the way.

This project is separated into a library and a desktop application (targeting mainly GNU/Linux), with an Android application in the works.

How to build

Run mvn clean install in this directory to build the lib and desktop modules.

If the ANDROID_HOME environment variable exists, android will also be built.

Under GNU Guix System, the guix_activate_environment script can be used to create an environment that contains necessary packages for building this app.

F-Droid

If the fdroid command is available, the app can be built using fdroid build. The Guix environment script will add the fdroidserver package to the generated environment.

How to install

GNU/Linux

desktop contains a wrapper script that will call the version of piecannon-desktop-app installed in your maven repository, and then open the uploaded file in your browser. You can copy or symlink this wrapper script anywhere. Typically you would put it in ~/bin or ~/.local/bin. Make sure that directory is in your PATH.

Windows

TODO

Mac OS

TODO

How to use

Place a servers.json in the Pie Cannon data directory. For GNU/Linux this is XDG_DATA_HOME (by default this would be ~/.local/share/piecannon) (create this directory if it does not exist. For Android this would be the app's "externalFilesDir" (probably something like Android/data/net.monarchpass.piecannon/files - the app will tell you when you launch it). See servers.example.json for an example of such a file. Whenever you initiate a file upload, Pie Cannon will select one of your defined servers at random and upload the file.

For SFTP servers (the only supported type as of now), the path is relative to your home directory and should be where url points to. i.e. a file uploaded to path should be downloadable at url. In the future Pie Cannon should be able to get SSH credentials from your agent so you won't need to put a password in this file.

Description
"PieCannon" is an app for sharing files easily using a server you own or a third-party service.
Readme 140 KiB
Languages
Java 97.7%
Makefile 1.2%
Shell 1.1%