Skip to content

Commit

Permalink
Merge pull request #113 from Flajt/dev
Browse files Browse the repository at this point in the history
v2
  • Loading branch information
Flajt authored Mar 17, 2024
2 parents 41965bb + 476a761 commit 4e33728
Show file tree
Hide file tree
Showing 76 changed files with 2,943 additions and 1,073 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ Some tips on how to write project fitting code. If you find something missing or


#### BLOCs
Have a look at this: [https://bloclibrary.dev/#/blocnamingconventions](https://bloclibrary.dev/#/blocnamingconventions), ideally everything should be named like this.
Have a look at this: [https://bloclibrary.dev/#/blocnamingconventions](https://bloclibrary.dev/#/blocnamingconventions), _ideally_ everything should be named like this. (I guess)

### Structure
This project attempts a feature based structure, you create a top level folder `featureName` followed by the folders you need see [Folders](#folders) for more information.
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ For general information please checkout the [wiki](https://github.com/Flajt/dece

## About

Decentproof is an app to allow you the creation of temper proof files. The app supports: aac, mp3, mkv and png files.
Decentproof is an app to allow you to create media files and verify their integrity & authenticity afterwards. The app supports: aac, mp3, mkv and png files.
File hashes are securely and privacy friendly stored in the Bitcoin and Etherium blockchain and can easily and *independantly* verified.

> Not a **Dev** ? Check out the [wiki](https://github.com/Flajt/decentproof-app/wiki)
Expand All @@ -38,7 +38,7 @@ A guide on how to get started with everything.
The following things are required to get started:
- Flutter sdk (see [below](#helpfull-ressources) to get it)
- Android Studio & XCode (if MacOS)
- A Code editor (e.g. VSCode, JetBrains, Sublime, Vim) etc.
- A code editor (e.g. VSCode, JetBrains, Sublime, Vim) etc.
- The backend [repository](https://github.com/Flajt/decentproof-backend)

### Let's Go
Expand Down Expand Up @@ -70,6 +70,7 @@ SIGN_URL=url-for-signature-requests
CHECK_KEY_URL=url-to-check-for-new-key
GET_KEY_URL=url-to-get-new-key
VERIFY_URL=url-to-verify-stuff
SENTRY_DSN=sentry-dsn-url
```

## Helpfull Ressources
Expand Down
2 changes: 1 addition & 1 deletion android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ if (keystorePropertiesFile.exists()) {


android {
compileSdkVersion 33
compileSdkVersion 34
ndkVersion flutter.ndkVersion

compileOptions {
Expand Down
6 changes: 6 additions & 0 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,14 @@
<meta-data
android:name="flutterEmbedding"
android:value="2" />
<service android:name="com.pravera.flutter_foreground_task.service.ForegroundService" android:stopWithTask="true" android:foregroundServiceType="specialUse|location" >
<property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" android:value="This service is used to hash a user selected file after creation on user demand. This may take longer than 3 minutes (depending on file size) and can, if the user allows, embed location metadata, which is fetched on demand. To prevent the user from closing the service by accident and creating a issues and to unblock the main thread a foreground service is required."/>
</service>
</application>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
</manifest>
10 changes: 5 additions & 5 deletions android/app/src/main/res/xml/network_security_config.xml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">functionsbhlpj3oi-sign.functions.fnc.nl-ams.scw.cloud</domain>
<pin-set expiration="2024-01-03">
<pin-set expiration="2024-05-02">
<pin digest="SHA-256">bsQTZ/WCGuDkGW/LCTcYTrabBEetCtNVBQWBcbdVRj0=</pin>
</pin-set>
</domain-config>
<domain-config>
<domain includeSubdomains="true">functionsbhlpj3oi-new-key-required.functions.fnc.nl-ams.scw.cloud</domain>
<pin-set expiration="2024-01-03">
<pin-set expiration="2024-05-02">
<pin digest="SHA-256">bsQTZ/WCGuDkGW/LCTcYTrabBEetCtNVBQWBcbdVRj0=</pin>
</pin-set>
</domain-config>
<domain-config>
<domain includeSubdomains="true">functionsbhlpj3oi-get-new-key.functions.fnc.nl-ams.scw.cloud</domain>
<pin-set expiration="2024-01-03">
<pin-set expiration="2024-05-02">
<pin digest="SHA-256">bsQTZ/WCGuDkGW/LCTcYTrabBEetCtNVBQWBcbdVRj0=</pin>
</pin-set>
</domain-config>
<domain-config>
<domain includeSubdomains="true">functionsbhlpj3oi-verify-hash.functions.fnc.nl-ams.scw.cloud</domain>
<pin-set expiration="2024-01-03">
<pin-set expiration="2024-05-02">
<pin digest="SHA-256">bsQTZ/WCGuDkGW/LCTcYTrabBEetCtNVBQWBcbdVRj0=</pin>
</pin-set>
</domain-config>
Expand Down
83 changes: 83 additions & 0 deletions assets/translations/ar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"homePage": {
"options": {
"imageVideo": "صورة/فيديو",
"audio": "الصوت",
"verify": "تحقق من",
"locationWarning": "لقد قمت بتمكين تضمين الموقع، ولكنك قمت بتعطيل خدمة الموقع"
}
},
"introPage": {
"title0": "مرحبا بكم في Decentproof",
"title1": "ما الذي تستطيع القيام به؟",
"title2": "كيف يعمل؟",
"title3": "ملاحظة حول المشاركة",
"title4": "التحقق من الملفات",
"title5": "النهاية",
"tempTitle": "التسجيلات الصوتية",
"body1": "باستخدام هذا التطبيق، يمكنك إنشاء ملفات وسائط متعددة وإثبات لاحقًا أن هذا الملف لم يتم العبث به!",
"body2": "ما عليك سوى تحديد أحد الخيارين في القائمة الرئيسية والبدء في إنشاء ملفك. المدعومة هي: .mp4، .mp3، .png و.aac",
"body3": "يمكنك ببساطة مشاركة الملف من أي تطبيق تريده، لكنني أوصي باستخدام البريد الإلكتروني أو التخزين السحابي أو التصدير المباشر.\n إذا كنت تستخدم تطبيقات أخرى مثل تطبيق الدردشة، فقد تفقد البيانات الوصفية وقد لا تتمكن من التحقق من صحة الملف لاحقًا!",
"body4": "الأمر سهل، ما عليك سوى تحديد الإدخال الثالث في القائمة الرئيسية وتحديد ملفك. كل شيء آخر هو واضح بذاته!",
"body5": "هذا كل شيء، إذا كنت ترغب في دعم التطبيق، أو ترغب في الحصول على مزيد من المعلومات حول كيفية عمله، فلا تتردد في التحقق من الرمز الأيمن العلوي، في الصفحة الرئيسية، خارجًا.",
"tempBody": "في الوقت الحالي، لا يمكن مشاركة التسجيلات الصوتية إلا مباشرة عبر زر المشاركة! (يمكنك رؤيته في صفحة الإرسال في أعلى اليمين) سيتم تغيير هذا في أقرب وقت ممكن. لمزيد من المعلومات يرجى قراءة الأسئلة الشائعة في الإعدادات!",
"next": "التالي",
"skip": "تخطي",
"done": "منتهي"
},
"settingsPage": {
"title": "إعدادات",
"addEmail": "إضافة البريد الإلكتروني",
"description": "إذا كنت ترغب في استلام شهادة الإثبات الخاصة بك للتحقق من الملف بنفسك",
"embedLocation": "تضمين الإحداثيات",
"embedLocationSubtitle": "يحفظ موقعك في ملف الوسائط",
"embedSecret": "إدراج توقيع رقمي",
"embedSecretSubtitle": "تضمين التوقيع في ملفات الوسائط التي تم إنشاؤها"
},
"submissionPage": {
"hash": "\"التجزئة\" الخاصة بك:",
"messageid": "معرف الرسالة",
"submitt": "إرسال",
"submissionSuccess": "تم التقديم بنجاح!"
},
"supportPage": {
"title": "دعم التنمية",
"description": "إذا أعجبك هذا المشروع أو ترغب في معرفة المزيد عنه، عليك إلقاء نظرة على أحد الروابط التالية.",
"support": "دعم التنمية",
"help": "مساعدة في التنمية",
"code": "عرض كود المصدر"
},
"verificationPage": {
"title": "التحقق من الملف",
"notModified": "يبدو أن ملفك لم يتم تعديله",
"error": "حدث خطأ",
"selectFile": "حدد ملف",
"hash": "\"التجزئة\" الخاصة بك:",
"noFile": "لم يتم اختيار اي ملف!",
"id": "معرف رسالتك:",
"showInExplorer": "عرض المعاملة",
"reset": "إعادة ضبط",
"hashMatching": "مطابقة التجزئة؟",
"signatureVerified": "هل التوقيعات الرقمية صالحة؟",
"locationStored": "الموقع المخزن؟"
},
"videoImagePage": {
"photo": "التقاط صورة",
"video": "تأخذ شريط فيديو"
},
"other": {
"home": "العودة إلى الصفحة الرئيسية",
"submit": "إرسال"
},
"notificationChannel": {
"description": "يتم عرض هذا الإشعار بمجرد بدء تجزئة الملف وإضافة بيانات التعريف الخاصة به. يتم عرضه حتى تكتمل العملية."
},
"perperationNotification": {
"title": "إعداد",
"initalDescription": "التهيئة"
},
"verificationNotification": {
"title": "جارٍ التحقق",
"validatingMetaData": "التحقق من صحة البيانات الوصفية"
}
}
20 changes: 16 additions & 4 deletions assets/translations/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
"title3": "Ein Hinweis zum exportieren",
"title4": "Datein verifizieren",
"title5": "Ende",
"tempTitle": "Audio-aufnahmen",
"tempTitle": "Audioaufnahmen",
"body1": "Mit dieser App können Sie Multimediadateien erstellen und später beweisen, dass diese Datei nicht manipuliert wurde!",
"body2": "Wählen Sie einfach eine der 2 Optionen im Hauptmenü und beginnen Sie mit der Erstellung Ihrer Datei. Unterstützt werden: .mp4, .png & .aac",
"body2": "Wählen Sie einfach eine der 2 Optionen im Hauptmenü und beginnen Sie mit der Erstellung Ihrer Datei. Unterstützt werden: .mp4,.mp3 .png & .aac",
"body3": "Sie können die Datei von jeder beliebigen App aus teilen, aber ich empfehlen Ihnen, E-Mail, einen Cloud-Speicher oder den direkten Export zu verwenden. Wenn Sie andere Apps wie z. B. eine Chat-App verwenden, gehen möglicherweise Metadaten verloren und Sie können die Datei später nicht verifizieren!",
"body4": "Das ist ganz einfach: Wählen Sie einfach den dritten Eintrag im Hauptmenü und wählen Sie Ihre Datei aus.",
"body5": "Das war's. Wenn Sie die App unterstützen wollen oder mehr Informationen über ihre Funktionsweise wünschen, können Sie das Symbol oben rechts auf der Hauptseite verwenden.",
Expand All @@ -43,7 +43,7 @@
"supportPage": {
"title": "Unterstützung",
"description": "Wenn Ihnen dieses Projekt gefällt oder Sie mehr darüber wissen möchten, sollten Sie sich einen der folgenden Links ansehen.",
"support": " Entwickler helfen",
"support": " Entwickler unterstützen",
"help": "Entwickler helfen",
"code": "Projekt Code einsehen"
},
Expand All @@ -54,7 +54,7 @@
"selectFile": "Datei auswählen",
"hash": "Ihr Hash:",
"noFile": "Keine Datei ausgewählt!",
"id": "Nachrichten ID",
"id": "Nachrichten ID:",
"showInExplorer": "Transaktion anzeigen",
"reset": "Zurücksetzen",
"hashMatching": "Valider Hash?",
Expand All @@ -68,5 +68,17 @@
"other": {
"home": "Zur Home Page",
"submit": "Bestätigen"
},
"notificationChannel": {
"description": "Diese Nachricht erscheint sobald du anfängst eine Datei zu hashen und Metadaten hinzuzufügen. Sie wird solange angezeigt bis der Prozess abeschlossen ist."
},
"perperationNotification": {
"title": "Media Datei wird vorbereitet",
"initalDescription": "Initialisiere"
},
"verificationNotification": {
"title": "Verifiziere",
"validatingMetaData": "Validiere Metadaten",
"hashing": "Hashen"
}
}
20 changes: 16 additions & 4 deletions assets/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
"title5": "Finish",
"tempTitle": "Audio recordings",
"body1": "With this App you can create multimedia files and later proof that this file has not been tampered with!",
"body2": "Simply select on of the 2 options in the main menu and start creating your file. Supported are: .mp4, .png & .aac",
"body3": "You can simply share the file from any App you want, but I recommend you use E-Mail, a Cloud storage or direct export.\n\nIf you use other apps like a chat app you might loose metadata and might not be able to later validate the file!",
"body2": "Simply select on of the 2 options in the main menu and start creating your file. Supported are: .mp4,.mp3, .png & .aac",
"body3": "You can simply share the file from any App you want, but I recommend you use E-Mail, a Cloud storage or direct export.\nIf you use other apps like a chat app you might loose metadata and might not be able to later validate the file!",
"body4": "Thats easy, simply select the third entry in the main Menu and select your file. Everything else is self explantory!",
"body5": "That's it, if you want to support the App, or would like to get more info about how it works, feel free to check the top right icon, on the main page, out.",
"tempBody": "Currently, audio recordings can only be shared directly via the share button! (You can see it on the submit page on the top right) This will be changed as soon as possible. For more information please read the FAQ in the settings!",
Expand All @@ -28,7 +28,7 @@
"settingsPage": {
"title": "Settings",
"addEmail": "Add E-Mail",
"description": "If you want to save data in the DevNet. Not recommended!",
"description": "If you want to recive your proof certificate to verify the file yourself",
"embedLocation": "Embed Location",
"embedLocationSubtitle": "Embed the location in created media files",
"embedSecret": "Embed Singature",
Expand All @@ -42,7 +42,7 @@
},
"supportPage": {
"title": "Support Development",
"description": "If you would like to get proof certificate to verify the file yourself",
"description": "If you like this project or would like to know more about it, you should take a look at one of the following links.",
"support": "Support development",
"help": "Help development",
"code": "Checkout the code"
Expand All @@ -68,5 +68,17 @@
"other": {
"home": "Back to Home",
"submit": "Submit"
},
"notificationChannel": {
"description": "This notification appears as soon as you start to hash a file and add metadata to it. It will be shown until the process is finished."
},
"perperationNotification": {
"title": "Preperation in progress",
"initalDescription": "Initalizing"
},
"verificationNotification": {
"title": "Verification in progress",
"validatingMetaData": "Validating Metadata",
"hashing": "Hashing"
}
}
Loading

0 comments on commit 4e33728

Please sign in to comment.