mirror of
https://github.com/Catfriend1/syncthing-android.git
synced 2025-09-11 21:43:23 +08:00
build: F-Droid v2 (#1585)
This commit is contained in:
3
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
3
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -44,10 +44,9 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: App install source - see wiki for details on release channels
|
label: App install source - see wiki for details on release channels
|
||||||
options:
|
options:
|
||||||
- F-Droid release build
|
- GitHub or F-Droid release build
|
||||||
- GitHub trusted debug build
|
- GitHub trusted debug build
|
||||||
- GitHub untrusted debug build
|
- GitHub untrusted debug build
|
||||||
- GitHub release build
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
6
.github/workflows/build-app.yaml
vendored
6
.github/workflows/build-app.yaml
vendored
@ -65,12 +65,12 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
set -eu
|
||||||
mv "app/build/outputs/apk/debug/app-debug.apk" "app/build/outputs/apk/debug/com.github.catfriend1.syncthingandroid_debug_v${{ env.VERSION }}_${{ env.COMMIT_HASH }}.apk"
|
mv "app/build/outputs/apk/debug/app-debug.apk" "app/build/outputs/apk/debug/com.github.catfriend1.syncthingfork_debug_v${{ env.VERSION }}_${{ env.COMMIT_HASH }}.apk"
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: com.github.catfriend1.syncthingandroid_debug_v${{ env.VERSION }}_${{ env.COMMIT_HASH }}.apk
|
name: com.github.catfriend1.syncthingfork_debug_v${{ env.VERSION }}_${{ env.COMMIT_HASH }}.apk
|
||||||
path: app/build/outputs/apk/debug/com.github.catfriend1.syncthingandroid_debug_v${{ env.VERSION }}_${{ env.COMMIT_HASH }}.apk
|
path: app/build/outputs/apk/debug/com.github.catfriend1.syncthingfork_debug_v${{ env.VERSION }}_${{ env.COMMIT_HASH }}.apk
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
4
.github/workflows/release-app.yaml
vendored
4
.github/workflows/release-app.yaml
vendored
@ -69,11 +69,11 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
set -eu
|
set -eu
|
||||||
#
|
#
|
||||||
mv "app/build/outputs/apk/release/app-release.apk" "app/build/outputs/apk/release/com.github.catfriend1.syncthingandroid_release_v${{ env.VERSION }}.apk"
|
mv "app/build/outputs/apk/release/app-release.apk" "app/build/outputs/apk/release/com.github.catfriend1.syncthingfork_release_v${{ env.VERSION }}.apk"
|
||||||
#
|
#
|
||||||
cd "app/build/outputs/apk/release"
|
cd "app/build/outputs/apk/release"
|
||||||
echo '${{ secrets.GNUPG_SIGNING_KEY_BASE64 }}' | base64 -d | gpg --import
|
echo '${{ secrets.GNUPG_SIGNING_KEY_BASE64 }}' | base64 -d | gpg --import
|
||||||
sha256sum "com.github.catfriend1.syncthingandroid_release_v${{ env.VERSION }}.apk" | gpg --clearsign > sha256sum.txt.asc
|
sha256sum "com.github.catfriend1.syncthingfork_release_v${{ env.VERSION }}.apk" | gpg --clearsign > sha256sum.txt.asc
|
||||||
|
|
||||||
- uses: ncipollo/release-action@v1
|
- uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
[](https://opensource.org/licenses/MPL-2.0)
|
[](https://opensource.org/licenses/MPL-2.0)
|
||||||
<a href="https://github.com/Catfriend1/syncthing-android/releases/latest" alt="GitHub release"><img src="https://img.shields.io/github/v/release/Catfriend1/syncthing-android" /></a>
|
<a href="https://github.com/Catfriend1/syncthing-android/releases/latest" alt="GitHub release"><img src="https://img.shields.io/github/v/release/Catfriend1/syncthing-android" /></a>
|
||||||
<a href="https://tooomm.github.io/github-release-stats/?username=Catfriend1&repository=syncthing-android" alt="GitHub Stats"><img src="https://img.shields.io/github/downloads/Catfriend1/syncthing-android/total.svg" /></a>
|
<a href="https://tooomm.github.io/github-release-stats/?username=Catfriend1&repository=syncthing-android" alt="GitHub Stats"><img src="https://img.shields.io/github/downloads/Catfriend1/syncthing-android/total.svg" /></a>
|
||||||
<a href="https://f-droid.org/packages/com.github.catfriend1.syncthingandroid" alt="F-Droid release"><img src="https://img.shields.io/f-droid/v/com.github.catfriend1.syncthingandroid.svg" /></a>
|
<a href="https://f-droid.org/packages/com.github.catfriend1.syncthingfork" alt="F-Droid release"><img src="https://img.shields.io/f-droid/v/com.github.catfriend1.syncthingfork.svg" /></a>
|
||||||
<a href="https://fdroid-metrics.streamlit.app/package_details?package=com.github.catfriend1.syncthingandroid"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgithub.com%2Fkitswas%2Ffdroid-metrics-dashboard%2Fraw%2Frefs%2Fheads%2Fmain%2Fprocessed%2Fmonthly%2Fcom.github.catfriend1.syncthingandroid.json&query=%24.total_downloads&style=for-the-badge&logo=fdroid&label=F-Droid%20%F0%9F%93%A5%20last%20month" /></a>
|
<a href="https://fdroid-metrics.streamlit.app/package_details?package=com.github.catfriend1.syncthingfork"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgithub.com%2Fkitswas%2Ffdroid-metrics-dashboard%2Fraw%2Frefs%2Fheads%2Fmain%2Fprocessed%2Fmonthly%2Fcom.github.catfriend1.syncthingfork.json&query=%24.total_downloads&style=for-the-badge&logo=fdroid&label=F-Droid%20%F0%9F%93%A5%20last%20month" /></a>
|
||||||
<a href="https://hosted.weblate.org/projects/syncthing/android/catfriend1/"><img src="https://hosted.weblate.org/widget/syncthing/android/catfriend1/fork-stringsxml/svg-badge.svg" alt="Translation status" /></a>
|
<a href="https://hosted.weblate.org/projects/syncthing/android/catfriend1/"><img src="https://hosted.weblate.org/widget/syncthing/android/catfriend1/fork-stringsxml/svg-badge.svg" alt="Translation status" /></a>
|
||||||
[](https://github.com/Catfriend1/syncthing-android/actions/workflows/build-app.yaml)
|
[](https://github.com/Catfriend1/syncthing-android/actions/workflows/build-app.yaml)
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "com.github.catfriend1.syncthingandroid"
|
applicationId = "com.github.catfriend1.syncthingfork"
|
||||||
minSdk = libs.versions.min.sdk.get().toInt()
|
minSdk = libs.versions.min.sdk.get().toInt()
|
||||||
targetSdk = libs.versions.target.sdk.get().toInt()
|
targetSdk = libs.versions.target.sdk.get().toInt()
|
||||||
versionCode = libs.versions.version.code.get().toInt()
|
versionCode = libs.versions.version.code.get().toInt()
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
This is a fork of the Syncthing-Android wrapper for Syncthing that brings major enhancements like:
|
This is a fork of the Syncthing-Android wrapper for Syncthing that brings major enhancements like:
|
||||||
* Folder, device and overall sync progress can easily be read off the UI.
|
* Folder, device and overall sync progress can easily be read off the UI.
|
||||||
* "Syncthing Camera" - an optional feature (with optional permission to use the camera) where you can take pictures with your friend, partner, ... on two phones into one shared and private Syncthing folder. No cloud involved. - FEATURE CURRENTLY IN BETA STAGE -
|
|
||||||
* "Sync every hour" to save even more battery
|
* "Sync every hour" to save even more battery
|
||||||
* Individual sync conditions can be applied per device and per folder
|
* Individual sync conditions can be applied per device and per folder
|
||||||
* Recent changes UI, click to open files.
|
* Recent changes UI, click to open files.
|
||||||
@ -12,17 +11,7 @@ This is a fork of the Syncthing-Android wrapper for Syncthing that brings major
|
|||||||
|
|
||||||
Syncthing-Fork for Android is a wrapper for Syncthing that provides an Android UI instead of Syncthing's built-in Web UI. Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.
|
Syncthing-Fork for Android is a wrapper for Syncthing that provides an Android UI instead of Syncthing's built-in Web UI. Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.
|
||||||
|
|
||||||
Goals of the fork:
|
Please seek help on the forum and/or social media apps first before creating issues on the tracker. Please keep in mind that Syncthing-Fork was born as a personal interest to help family and friends use Syncthing on Android. It was not targeted at the currently more than 100.000 users even though the results are shared with you and the community. Thank you.
|
||||||
* Develop and try out enhancements together with the community.
|
|
||||||
* Release the wrapper more frequently to identify and fix bugs caused by changes in the syncthing submodule
|
|
||||||
* Make enhancements configurable in the UI, users should be able to turn them on and off
|
|
||||||
|
|
||||||
Comparison between upstream and fork at the time of writing this:
|
|
||||||
* Both contain the syncthing binary built from the official source at GitHub
|
|
||||||
* Syncing functionality and reliability depends on the syncthing binary submodule version.
|
|
||||||
* Fork gets along with upstream and sometimes they pick up my improvements.
|
|
||||||
* Strategy and release frequency is different
|
|
||||||
* Only the wrapper containing the Android UI is addressed by the fork.
|
|
||||||
|
|
||||||
Website: https://github.com/Catfriend1/syncthing-android
|
Website: https://github.com/Catfriend1/syncthing-android
|
||||||
|
|
||||||
@ -30,7 +19,7 @@ Source code: https://github.com/Catfriend1/syncthing-android
|
|||||||
|
|
||||||
How Syncthing writes to external SD card: https://github.com/Catfriend1/syncthing-android/blob/master/wiki/SD-card-write-access.md
|
How Syncthing writes to external SD card: https://github.com/Catfriend1/syncthing-android/blob/master/wiki/SD-card-write-access.md
|
||||||
|
|
||||||
Wiki, FAQ and helpful articles: https://github.com/Catfriend1/syncthing-android/wiki
|
Wiki, FAQ and helpful articles: https://github.com/Catfriend1/syncthing-android/tree/main/wiki#readme
|
||||||
|
|
||||||
Issues: https://github.com/Catfriend1/syncthing-android/issues
|
Issues: https://github.com/Catfriend1/syncthing-android/issues
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<uses-permission android:name="com.github.catfriend1.syncthingandroid.permission.RECEIVE_SYNC_STATUS" />
|
<uses-permission android:name="com.github.catfriend1.syncthingfork.permission.RECEIVE_SYNC_STATUS" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<receiver android:name=".SyncStatusReceiver" android:exported="true">
|
<receiver android:name=".SyncStatusReceiver" android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="com.github.catfriend1.syncthingandroid.ACTION_NOTIFY_FOLDER_SYNC_COMPLETE" />
|
<action android:name="com.github.catfriend1.syncthingfork.ACTION_NOTIFY_FOLDER_SYNC_COMPLETE" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
</application>
|
</application>
|
||||||
|
@ -9,7 +9,7 @@ public class SyncStatusReceiver extends BroadcastReceiver {
|
|||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
String action = intent.getAction();
|
String action = intent.getAction();
|
||||||
if ("com.github.catfriend1.syncthingandroid.ACTION_NOTIFY_FOLDER_SYNC_COMPLETE".equals(action)) {
|
if ("com.github.catfriend1.syncthingfork.ACTION_NOTIFY_FOLDER_SYNC_COMPLETE".equals(action)) {
|
||||||
Log.d("SyncStatusReceiver", "Received broadcast");
|
Log.d("SyncStatusReceiver", "Received broadcast");
|
||||||
Log.d("SyncStatusReceiver", "deviceId: " + intent.getStringExtra("deviceId"));
|
Log.d("SyncStatusReceiver", "deviceId: " + intent.getStringExtra("deviceId"));
|
||||||
Log.d("SyncStatusReceiver", "folderId: " + intent.getStringExtra("folderId"));
|
Log.d("SyncStatusReceiver", "folderId: " + intent.getStringExtra("folderId"));
|
||||||
|
@ -1 +1 @@
|
|||||||
com.github.catfriend1.syncthingandroid.debug
|
com.github.catfriend1.syncthingfork.debug
|
||||||
|
@ -8,6 +8,7 @@ IssueTracker: https://github.com/Catfriend1/syncthing-android/issues
|
|||||||
Translation: https://hosted.weblate.org/projects/syncthing/android/catfriend1
|
Translation: https://hosted.weblate.org/projects/syncthing/android/catfriend1
|
||||||
Changelog: https://github.com/Catfriend1/syncthing-android/releases
|
Changelog: https://github.com/Catfriend1/syncthing-android/releases
|
||||||
|
|
||||||
|
Name: Syncthing-Fork v1
|
||||||
AutoName: Syncthing-Fork
|
AutoName: Syncthing-Fork
|
||||||
|
|
||||||
RepoType: git
|
RepoType: git
|
||||||
|
45
scripts/fdroid/com.github.catfriend1.syncthingfork.yml
Normal file
45
scripts/fdroid/com.github.catfriend1.syncthingfork.yml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
Categories:
|
||||||
|
- Cloud Storage & File Sync
|
||||||
|
- Internet
|
||||||
|
License: MPL-2.0
|
||||||
|
WebSite: https://github.com/Catfriend1/syncthing-android/wiki
|
||||||
|
SourceCode: https://github.com/Catfriend1/syncthing-android
|
||||||
|
IssueTracker: https://github.com/Catfriend1/syncthing-android/issues
|
||||||
|
Translation: https://hosted.weblate.org/projects/syncthing/android/catfriend1
|
||||||
|
Changelog: https://github.com/Catfriend1/syncthing-android/releases
|
||||||
|
|
||||||
|
AutoName: Syncthing-Fork
|
||||||
|
|
||||||
|
RepoType: git
|
||||||
|
Repo: https://github.com/Catfriend1/syncthing-android.git
|
||||||
|
Binaries: https://github.com/Catfriend1/syncthing-android/releases/download/v%v/com.github.catfriend1.syncthingfork_release_v%v.apk
|
||||||
|
|
||||||
|
Builds:
|
||||||
|
- versionName: 2.0.7.0
|
||||||
|
versionCode: 2000700
|
||||||
|
commit: 1fb311060269933631f6af0d3737ef6f98942deb
|
||||||
|
subdir: app
|
||||||
|
submodules: true
|
||||||
|
sudo:
|
||||||
|
- echo "deb https://deb.debian.org/debian trixie main" > /etc/apt/sources.list.d/trixie.list
|
||||||
|
- apt-get update
|
||||||
|
- apt-get install -y -t trixie golang-go openjdk-21-jdk-headless
|
||||||
|
- update-alternatives --auto java
|
||||||
|
- apt-get install -y autogen automake autopoint bzip2 g++ libc-dev make gettext
|
||||||
|
libtool pkg-config rename shtool
|
||||||
|
gradle:
|
||||||
|
- yes
|
||||||
|
scanignore:
|
||||||
|
- syncthing/src/github.com/syncthing/syncthing/lib/model/testdata
|
||||||
|
|
||||||
|
AllowedAPKSigningKeys: d374b8de5057013143c7d1515a015598c2df403be8160cae01a58c227e6e86aa
|
||||||
|
|
||||||
|
MaintainerNotes: |-
|
||||||
|
The submodule in syncthing/src/github.com/syncthing/syncthing must be
|
||||||
|
pristine, as the version/release information is taken from git.
|
||||||
|
|
||||||
|
AutoUpdateMode: Version
|
||||||
|
UpdateCheckMode: Tags ^v2[a-z0-9.]*$
|
||||||
|
UpdateCheckData: gradle/libs.versions.toml|version-code\s=\s"(\d+)"|.|version-name\s=\s"(.*)"
|
||||||
|
CurrentVersion: 2.0.7.0
|
||||||
|
CurrentVersionCode: 2000700
|
@ -8,7 +8,7 @@ The following instructions to solve the problem by preparing the Android TV for
|
|||||||
* Locate / Download Google platform-tools, navigate to folder where adb.exe resides. Open Command Prompt here
|
* Locate / Download Google platform-tools, navigate to folder where adb.exe resides. Open Command Prompt here
|
||||||
* Type the following:
|
* Type the following:
|
||||||
|
|
||||||
${applicationId} = com.github.catfriend1.syncthingandroid
|
${applicationId} = com.github.catfriend1.syncthingfork
|
||||||
|
|
||||||
*adb start-server*
|
*adb start-server*
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@ You can receive the folder sync complete event from Syncthing-Fork by using a Br
|
|||||||
Prerequisites:
|
Prerequisites:
|
||||||
- Declare our permission in your "AndroidManifest.xml"
|
- Declare our permission in your "AndroidManifest.xml"
|
||||||
```
|
```
|
||||||
<uses-permission android:name="com.github.catfriend1.syncthingandroid.permission.RECEIVE_SYNC_STATUS" />
|
<uses-permission android:name="com.github.catfriend1.syncthingfork.permission.RECEIVE_SYNC_STATUS" />
|
||||||
```
|
```
|
||||||
|
|
||||||
- Add a receiver to your "AndroidManifest.xml"
|
- Add a receiver to your "AndroidManifest.xml"
|
||||||
```
|
```
|
||||||
<receiver android:name=".SyncStatusReceiver" android:exported="true">
|
<receiver android:name=".SyncStatusReceiver" android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="com.github.catfriend1.syncthingandroid.ACTION_NOTIFY_FOLDER_SYNC_COMPLETE" />
|
<action android:name="com.github.catfriend1.syncthingfork.ACTION_NOTIFY_FOLDER_SYNC_COMPLETE" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
```
|
```
|
||||||
@ -33,7 +33,7 @@ public class SyncStatusReceiver extends BroadcastReceiver {
|
|||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
String action = intent.getAction();
|
String action = intent.getAction();
|
||||||
if ("com.github.catfriend1.syncthingandroid.ACTION_NOTIFY_FOLDER_SYNC_COMPLETE".equals(action)) {
|
if ("com.github.catfriend1.syncthingfork.ACTION_NOTIFY_FOLDER_SYNC_COMPLETE".equals(action)) {
|
||||||
Log.d("SyncStatusReceiver", "Received broadcast");
|
Log.d("SyncStatusReceiver", "Received broadcast");
|
||||||
Log.d("SyncStatusReceiver", "deviceId: " + intent.getStringExtra("deviceId"));
|
Log.d("SyncStatusReceiver", "deviceId: " + intent.getStringExtra("deviceId"));
|
||||||
Log.d("SyncStatusReceiver", "folderId: " + intent.getStringExtra("folderId"));
|
Log.d("SyncStatusReceiver", "folderId: " + intent.getStringExtra("folderId"));
|
||||||
|
@ -3,7 +3,7 @@ HMD Global phones have been reported to kill apps with a manufacturer-specific i
|
|||||||
To work around this, connect your phone to a computer running ADB.
|
To work around this, connect your phone to a computer running ADB.
|
||||||
If you like to allow Syncthing-Fork to attempt to disable DuraSpeed system-wide when your phone boots, issue the following commands:
|
If you like to allow Syncthing-Fork to attempt to disable DuraSpeed system-wide when your phone boots, issue the following commands:
|
||||||
|
|
||||||
${applicationId} = com.github.catfriend1.syncthingandroid
|
${applicationId} = com.github.catfriend1.syncthingfork
|
||||||
|
|
||||||
* adb shell pm grant ${applicationId} android.permission.WRITE_SECURE_SETTINGS
|
* adb shell pm grant ${applicationId} android.permission.WRITE_SECURE_SETTINGS
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ Remote control by broadcast intents has to be enabled under "Settings" > "Behavi
|
|||||||
Syncthing can be controlled externally by sending Broadcast-Intents. Applications like **Tasker**, **Llama** or **Automate** now can _start_ or _stop_ Syncthing on behalf of the user.
|
Syncthing can be controlled externally by sending Broadcast-Intents. Applications like **Tasker**, **Llama** or **Automate** now can _start_ or _stop_ Syncthing on behalf of the user.
|
||||||
Use cases would be to run Syncthing only in special conditions - like at home and charging, or once every night, ...
|
Use cases would be to run Syncthing only in special conditions - like at home and charging, or once every night, ...
|
||||||
|
|
||||||
${applicationId} = com.github.catfriend1.syncthingandroid
|
${applicationId} = com.github.catfriend1.syncthingfork
|
||||||
|
|
||||||
The following intent actions are available:
|
The following intent actions are available:
|
||||||
* Let Syncthing Follow Run Conditions
|
* Let Syncthing Follow Run Conditions
|
||||||
|
@ -1,32 +1,24 @@
|
|||||||
Syncthing-Fork "Wrapper for Syncthing" has these release channels:
|
Syncthing-Fork "Wrapper for Syncthing" has these release channels:
|
||||||
|
|
||||||
<b>1. F-Droid release build</b>
|
<b>1. GitHub and F-Droid release build</b>
|
||||||
|
|
||||||
* <b>"COMMON USER" - please choose this!</b>
|
* <b>"COMMON USER" - please choose this!</b>
|
||||||
* Published on [F-Droid](https://f-droid.org/packages/com.github.catfriend1.syncthingandroid/) and [GitHub release page](https://github.com/Catfriend1/syncthing-android/releases/latest)
|
* Published on [F-Droid](https://f-droid.org/packages/com.github.catfriend1.syncthingfork/) and [GitHub release page](https://github.com/Catfriend1/syncthing-android/releases/latest)
|
||||||
* File name is like: com.github.catfriend1.syncthingandroid_fdroid_1.30.0.3_1234567.apk
|
* File name is like: com.github.catfriend1.syncthingfork_release_v2.0.7.0.apk
|
||||||
* Certificate hash: yei5Ybhe9jZNx7NG4WE9MgjnfsPqbHCzUhHvfedPEuU=
|
|
||||||
* Signing Certificate SHA256 fingerprint: <details>C9:E8:B9:61:B8:5E:F6:36:4D:C7:B3:46:E1:61:3D:32:08:E7:7E:C3:EA:6C:70:B3:52:11:EF:7D:E7:4F:12:E5</details>
|
|
||||||
|
|
||||||
<b>2. GitHub release build</b>
|
|
||||||
|
|
||||||
* If you don't like to use F-Droid for some reason, please choose this!
|
|
||||||
* Only published on [GitHub release page](https://github.com/Catfriend1/syncthing-android/releases/latest)
|
|
||||||
* File name is like: com.github.catfriend1.syncthingandroid_release_1.30.0.3_1234567.apk
|
|
||||||
* Certificate hash: 03S43lBXATFDx9FRWgFVmMLfQDvoFgyuAaWMIn5uhqo=
|
* Certificate hash: 03S43lBXATFDx9FRWgFVmMLfQDvoFgyuAaWMIn5uhqo=
|
||||||
* Signing Certificate SHA256 fingerprint: <details>D3:74:B8:DE:50:57:01:31:43:C7:D1:51:5A:01:55:98:C2:DF:40:3B:E8:16:0C:AE:01:A5:8C:22:7E:6E:86:AA</details>
|
* Signing Certificate SHA256 fingerprint: <details>D3:74:B8:DE:50:57:01:31:43:C7:D1:51:5A:01:55:98:C2:DF:40:3B:E8:16:0C:AE:01:A5:8C:22:7E:6E:86:AA</details>
|
||||||
|
|
||||||
<b>4. GitHub debug build</b>
|
<b>2. GitHub debug build</b>
|
||||||
|
|
||||||
* Only published on GitHub
|
* Only published on GitHub
|
||||||
* Can be obtained by looking at the [action workflow builds](https://github.com/Catfriend1/syncthing-android/actions) and artifacts.
|
* Can be obtained by looking at the [action workflow builds](https://github.com/Catfriend1/syncthing-android/actions) and artifacts.
|
||||||
* It's for maintainers and contributors who require a second installation of the app on their phone for testing purposes.
|
* It's for maintainers and contributors who require a second installation of the app on their phone for testing purposes.
|
||||||
* File name is like: com.github.catfriend1.syncthingandroid_debug_1.30.0.3_1234567.apk
|
* File name is like: com.github.catfriend1.syncthingfork_debug_v2.0.8.0_1234567.apk
|
||||||
* TRUSTED builds from this repository owners:
|
* TRUSTED builds from this repository owners:
|
||||||
* * Certificate hash: x9QGpAqFQXg1+79ADsY1k0uBrj7+W1HF+PN3BunPZrM=
|
* * Certificate hash: x9QGpAqFQXg1+79ADsY1k0uBrj7+W1HF+PN3BunPZrM=
|
||||||
* * Signing Certificate SHA256 fingerprint: <details>C7:D4:06:A4:0A:85:41:78:35:FB:BF:40:0E:C6:35:93:4B:81:AE:3E:FE:5B:51:C5:F8:F3:77:06:E9:CF:66:B3</details>
|
* * Signing Certificate SHA256 fingerprint: <details>C7:D4:06:A4:0A:85:41:78:35:FB:BF:40:0E:C6:35:93:4B:81:AE:3E:FE:5B:51:C5:F8:F3:77:06:E9:CF:66:B3</details>
|
||||||
* UNTRUSTED builds from contributors of forks:
|
* UNTRUSTED builds from contributors of forks:
|
||||||
* * Debug builds triggered from potentially untrusted sources, e.g. fork repositories use a [PUBLIC signing certificate](https://github.com/Catfriend1/syncthing-android/blob/main/debug_scripts/debug.keystore.pub). This offers NO security at all. The content of these builds is NOT authored NOR approved by this repository. They are offered for TESTING PURPOSES only and are NOT production ready.
|
* * Debug builds triggered from potentially untrusted sources, e.g. fork repositories use a [PUBLIC signing certificate](https://github.com/Catfriend1/syncthing-android/blob/main/scripts/debug/debug.keystore.pub). This offers NO security at all. The content of these builds is NOT authored NOR approved by this repository. They are offered for TESTING PURPOSES only and are NOT production ready.
|
||||||
* * If they would not be signed by the same PUBLIC key, contributors who forked the app and opened a PR here would not be able to try out their contributed changes on their own phone or emulator by upgrading from their previous build as the CI build process would use a different debug signing key for each superseding build.
|
* * If they would not be signed by the same PUBLIC key, contributors who forked the app and opened a PR here would not be able to try out their contributed changes on their own phone or emulator by upgrading from their previous build as the CI build process would use a different debug signing key for each superseding build.
|
||||||
* * Public UNTRUSTED key <details>Certificate hash: 0fTGzY6Ii7fxLbtKzA5t94Zid/ECP5Gj5w/s5xRLOGM=<br>SHA256 fingerprint: D1:F4:C6:CD:8E:88:8B:B7:F1:2D:BB:4A:CC:E:6D:F7:86:62:77:F1:2:3F:91:A3:E7:F:EC:E7:14:4B:38:63</details>
|
* * Public UNTRUSTED key <details>Certificate hash: 0fTGzY6Ii7fxLbtKzA5t94Zid/ECP5Gj5w/s5xRLOGM=<br>SHA256 fingerprint: D1:F4:C6:CD:8E:88:8B:B7:F1:2D:BB:4A:CC:E:6D:F7:86:62:77:F1:2:3F:91:A3:E7:F:EC:E7:14:4B:38:63</details>
|
||||||
|
|
||||||
@ -50,7 +42,7 @@ keytool -list -printcert -jarfile "/path/to/release.apk" | grep "SHA256: " | cut
|
|||||||
## https://sisik.eu/cert
|
## https://sisik.eu/cert
|
||||||
```
|
```
|
||||||
|
|
||||||
Future releases might be signed with GPG. Here is the public key which allows you to verify a release is "genuine". This happens under the assumption that the build process on GitHub Actions was not tampered with.
|
Releases are signed using GPG. Here is the public key which allows you to verify a release is "genuine". This happens under the assumption that the build process on GitHub Actions was not tampered with.
|
||||||
|
|
||||||
Public key: Catfriend1
|
Public key: Catfriend1
|
||||||
```
|
```
|
||||||
|
Reference in New Issue
Block a user