40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
|
|
# Pithos for Android
|
||
|
|
|
||
|
|
The browser app (`Pithos/web`) in a WebView, plus what a phone adds:
|
||
|
|
|
||
|
|
- **Save to Pithos** in other apps' share menus: shared files wait in a bar
|
||
|
|
above the file list and go into the open folder with *Upload here*.
|
||
|
|
- **Downloads** land in the phone's Downloads folder (MediaStore on Android 10+).
|
||
|
|
- **Upload** opens the system file picker (several files at once).
|
||
|
|
- Links to other sites open in the phone's browser; Back steps back in the app.
|
||
|
|
|
||
|
|
The page's own files ship inside the APK and are answered by the app under
|
||
|
|
the gateway's origin (`https://s3.silentmode.st`), so the page is the same
|
||
|
|
same-origin client as in a browser: sign-in, the account API and S3 go to
|
||
|
|
the network, and files are encrypted and decrypted in the page. The origin
|
||
|
|
moves to `https://pithos.silentmode.st` once that name has a DNS record
|
||
|
|
(a remembered sign-in is kept per origin, so it is asked for again once).
|
||
|
|
|
||
|
|
Sign-in needs Ed25519 in Web Crypto: an up-to-date Android System WebView
|
||
|
|
(Chrome 137 or newer).
|
||
|
|
|
||
|
|
## Build
|
||
|
|
|
||
|
|
No Gradle: JDK 8, build-tools 30.0.3 and platform android-30, like Ariadne.
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
powershell -File build.ps1 # build\pithos-debug.apk
|
||
|
|
powershell -File build.ps1 -Release # build\pithos-v<version>.apk, release key
|
||
|
|
```
|
||
|
|
|
||
|
|
The release key (`release.keystore` + `release-keystore-password.txt`) is
|
||
|
|
made on the first release build and must be kept forever: Android installs
|
||
|
|
an update only when it is signed by the same key. Neither file goes in git.
|
||
|
|
|
||
|
|
## Not yet
|
||
|
|
|
||
|
|
- Your own Sia account (s3d on your computer) is not reachable from a phone;
|
||
|
|
the app opens Drives on Silent Mode, and S3 keys for them.
|
||
|
|
- Photo backup, share links from the app, Theseus ID sign-in.
|
||
|
|
- iOS (needs a Mac to build).
|