Skip to content

cssnr/zipline-android

Repository files navigation

GitHub Downloads GitHub Release Version Lint GitHub Top Language GitHub Last Commit GitHub Repo Size GitHub Discussions GitHub Forks GitHub Repo Stars GitHub Org Stars Discord Ko-fi

Zipline Android Application

GitHub Release

Important

Google Play Testers Needed! See this discussion for more details.

Android Application to Upload, Share and Manage your Files and URLs for a Self-Hosted Zipline v4 Server.

Allows you to Share or Open files and Shorten URLs directly to a Zipline v4 server. Includes a Native File List for Viewing, Editing and Downloading files locally.

We are also developing a browser addon Zipline Web Extension.

Install

Note

Google Play is in Closed Testing. To be included see this discussion.

Get on GitHub Get on Obtainium Get on Google Play

📲 Click to View QR Codes 📸

QR Code GitHub

QR Code Obtainium

QR Code Google Play

Note: Until published on the play store, you may need to allow installation of apps from unknown sources.

  • Supports Android 8 (API 26) 2017 +

Downloading and Installing the apk should take you to the settings area to allow installation if not already enabled. For more information, see Release through a website.

View Manual Steps to Install from Unknown Sources
  1. Go to your device settings.
  2. Search for "Install unknown apps" or similar.
  3. Choose the app you will install the apk file from.
    • Select your web browser to install directly from it.
    • Select your file manager to open it, locate the apk and install from there.
  4. Download the Latest Release.
  5. Open the download apk in the app you selected in step #3.
  6. Choose Install and Accept any Play Protect notifications.
  7. The app is now installed. Proceed to the Setup section below.

Setup

  1. Install and open the app on your device.
  2. Log in as you normally would on the website.
  3. Done! You can now share and open files with Zipline.
  4. Optionally add a Stats Widget to your Home Screen.

To use, share or open any file and choose the Zipline app. The app will then be upload the file to your Zipline server. Additionally, the URL is copied to the clipboard and the preview is show in the app.

The Files List can be used to view, edit, download, or delete any file. This supports multi-select and infinite scroll. You can choose how many fies to load each time. Lastly you can set this as your start destination if preferred over the web view.

Features

  • Share or Open any File, Media, Text or URL
  • Preview, Edit and set Options before Uploading
  • Native File List with Multi-Select, Favorite and Delete
  • Home Screen Widget with File Stats and App Shortcuts
  • Supports Two-Factor Authentication and Custom Headers

Planned

  • Add URL Management Page
  • Add Default Upload Options
  • Add Per-Upload Options Overrides
  • Add File Edit Options to File List

Known Issues

  • After deleting files and then scrolling in the file list it skips the number of files deleted when loading.
    • To work around, after deleting files, scroll to the top and pull down to refresh.
  • The File List does not work properly if you have 0 files or there is an error fetching files.
  • Please Open a New Issue if you don't see yours.

Troubleshooting

  • Most navigation and display issues can be fixed by fully closing the app and restarting it.
  • If you encounter issues with the media in the file list, try clearing the application cache.
  • If you encounter issues with authentication, try clearing the application data (resets settings and auth).
  • If all of the above fail, try re-installing the application and let us know what happened.

If you are having trouble using the app, please reach out to us on Discord or via GitHub.

Screenshots

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

Support

For general help or to request a feature, see:

If you are experiencing an issue/bug or getting unexpected results, you can:

Development

This section briefly covers running and building in Android Studio and the Command Line.

Building

To build the app you must first add a Google Services file and optionally prepare highlightjs.

  1. Building this app requires a valid app/google-services.json file. For more info see Google Services.

  2. To build the text preview run bash .github/scripts/prepare.sh or manually add highlightjs to assets/preview/dist.

Proceed to Android Studio or Command Line below.

Android Studio

  1. Download and Install Android Studio.

https://developer.android.com/studio

  1. Ensure that usb or wifi debugging is enabled in the Android developer settings and verify.

  2. Then build or run the app on your device.

    • Import the Project
    • Run Gradle Sync

To Run: Select a device and press Play ▶️

To Build:

  • Select the Build Variant (debug or release)
  • Build > Generate App Bundles or APK > Generate APKs

Command Line

Note: This section is a WIP! For more details see the release.yaml.

You will need to have ADB installed.

Click Here to Download and Install a Release
$ wget https://github.com/cssnr/zipline-android/releases/latest/download/app-release.apk
$ ls
app-release.apk

$ which adb
C:\Users\Shane\Android\sdk\platform-tools\adb.EXE

$ adb devices
List of devices attached
RF9M33Z1Q0M     device

$ adb -s RF9M33Z1Q0M install app-release.apk
Performing Incremental Install
Serving...
All files should be loaded. Notifying the device.
Success
Install command complete in 917 ms

See below for more details...

  1. Download and Install the Android SDK Platform Tools.

https://developer.android.com/tools/releases/platform-tools#downloads

Ensure that adb is in your PATH.

  1. List and verify the device is connected with:
$ adb devices
List of devices attached
RF9M33Z1Q0M     device
  1. Build a debug or release apk.
./gradlew assemble
./gradlew assembleRelease

Note: Use gradlew.bat for Windows.

  1. Then install the apk to your device with adb.
$ cd app/build/outputs/apk/debug
$ adb -s RF9M33Z1Q0M install app-debug.apk
$ cd app/build/outputs/apk/release
$ adb -s RF9M33Z1Q0M install app-release-unsigned.apk

Note: you may have to uninstall before installing due to different certificate signatures.

For more details, see the ADB Documentation.

Google Services

This app uses Firebase Google Services. Building requires a valid google-services.json file in the app directory.
You must add org.cssnr.zipline to a Firebase campaign here: https://firebase.google.com/

To enable/disable Firebase DebugView use the following commands:

# set
adb shell setprop debug.firebase.analytics.app org.cssnr.zipline

# unset
adb shell setprop debug.firebase.analytics.app .none.

# check
adb shell getprop debug.firebase.analytics.app

Only 1 app can be in debug mode at a time and this must be set every restart.

Note: Firebase is disabled in debug builds. See the manifestPlaceholders in the build.gradle.kts file debug config.

Contributing

Please consider making a donation to support the development of this project and additional open source projects.

Ko-fi

Zipline Projects

Screenshot

Related Projects

You can also star this project on GitHub and support other related projects:

Additional Android projects:

For a full list of current projects visit: https://cssnr.github.io/

About

Zipline v4 Android Application to Upload, Download and Manage Files and URLs.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Languages