Contrac

Rating: 
5
Your rating: None Average: 5 (12 votes)

Contrac is a beta-quality Corona-Warn-App compatible exposure notification app. It uses the Google/Apple Exposure Notification protocol and Germany's Corona-Warn-App backend servers.

The app supports sending/receiving exposure notification Bluetooth beacons, downloading and checking diagnosis keys from the servers and uploading positive test results using a TeleTAN.

The implementation is fully separate from the official implementations, so I can't offer any guarantee that it will necessarily work as expected. If you enter a TeleTAN it'll be officially registered (assuming the code works) so please only use it with real test results.

The app doesn't support the automatic download of test results using a QR code and it also requires nudging daily to download the diagnosis keys from the server. Both of these are things I hope to fix in the future.

The earlier alpha version of the app (thanks everyone for testing it) ran against a test instance of the official cwa test server. However, in practice the test server works slightly differently to the real thing. Therefore I'm afraid I can't offer any guarantee that the app will work as expected; please bear this in mind. It's also likely to affect your phone's battery life.

You use it at your own risk I'm afraid.

Having said that, if you discover it's not working as expected, or even if it is working as expected, please let me know or file a bug report.

Because the app requires Bluetooth 4.1 or later, it's unfortunately not compatible with Jolla 1 or Jolla C devices. I've also had reports it has problems on the Xperia X, but it should work on the later X devices.

Installing the app will install a background service that will continue to scan/broadcast even if you close the app. The service is stopped and uninstalled when you remove the app.

The source is available on github. PRs are welcome!

As of version 0.7.4-2, if you've not yet upgraded to the latest 3.4.0 release of Sailfish OS you'll need a different version of the app, which you can download from here.

Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-contrac-0.0.1-1.armv7hl.rpm229.23 KB30/07/2020 - 22:54
File harbour-contrac-0.1.1-1.armv7hl.rpm236.98 KB09/08/2020 - 14:54
File harbour-contrac-0.2.1-1.armv7hl.rpm242.29 KB22/08/2020 - 16:52
File harbour-contrac-0.3.1-1.armv7hl.rpm244.41 KB24/08/2020 - 16:06
File harbour-contrac-0.4.1-1.armv7hl.rpm251.26 KB01/09/2020 - 18:49
File harbour-contrac-0.5.1-1.armv7hl.rpm274.71 KB07/09/2020 - 00:11
File harbour-contrac-0.6.1-1.armv7hl.rpm607.78 KB14/09/2020 - 23:10
File harbour-contrac-0.6.2-1.armv7hl.rpm607.89 KB16/09/2020 - 23:27
File harbour-contrac-0.7.1-1.armv7hl.rpm615.53 KB04/10/2020 - 18:54
File harbour-contrac-0.7.2-1.armv7hl.rpm622.56 KB05/10/2020 - 00:54
File harbour-contrac-0.7.3-1.armv7hl.rpm622.98 KB08/10/2020 - 20:30
File harbour-contrac-0.7.4-1.armv7hl.rpm622.87 KB08/10/2020 - 23:28
File harbour-contrac-0.7.4-2.armv7hl.rpm624.79 KB14/10/2020 - 00:08
Changelog: 

* Tue July 7 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.0.1-1
- Initial alpha release.
- Supports beacon scan and send.

* Sun Aug 9 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.1.1-1
- Supports diagnosis key downloads from the test server.
- Supports diagnosis key upload to the test server.
- Adds a setting page for configurating the sever to use.

* Sat Aug 22 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.2.1-1
- Adds TeleTAN submission by the user.
- Adds separate pages to show upload and download progress.
- Improves error reporting for uploads and downloads.
- Streamlines the main page to remove progress indicators and add a status line.

* Mon Aug 24 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.3.1-1
- Adds persistent state to contracd.
- Send/received counts are now persistent.
- The enabled state of scanning/advertising is now persistent.
- The SIGINT signal is now handled by contracd.
- Diagnosis keys are now available for upload without needing to enable scan/receive.

* Tue Sep 1 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.4.1-1
- Adds encrypted beacon metadata send/receive.
- Refines the data aggregation algorithm to give improved results.
- Adds unit tests for metadata, metadata validity and data aggregation.
- Improves the beacon matching unit tests.

* Sun Sep 6 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.5.1-1
- Diagnosis key files are now tested directly after download.
- The risk status is shown in the UI, along with other useful info.

* Mon Sep 14 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.6.1-1
- Adds new Chinese translations.
- Adds an improved cover page with status and actions.
- Improves the About page, which now includes contributors.
- Adds support for configuring the device attenuation values.
- The risk configuration is downloaded from the Corona Warn App servers.

* Wed Sep 16 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.6.2-1
- Updates the Chinese translations.
- Fixes a timing bug so that an update can now be performed every day.

* Sun Oct 4 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.7.1-1
- Updates the Chinese translations, thanks to dashinfantry.
- Updates the German translations, thanks to spodermenpls.
- Switches to using the official Corona-Warn-App servers.
- Uses the server REST API rather than the S3 protocol for diagnosis key downloads.
- Allows network errors to be cleared by clicking on the label.
- Adds an info banner to the main app, warning that functionality isn't guaranteed.
- Old diagnosis key downloads are cleaned up if they're over 15 days old.
- Calculates the need for fresh downloads at startup based on cached folders.
- Performs the Corona-Warn-App specific "combined risk score" calculation.
- Uses the low/high risk threshold configuration downloaded from the server.

* Sun Oct 4 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.7.2-1
- Attempt to download data only from last 14 days (to avoid an error from day 15).

* Thu Oct 8 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.7.3-1
- Fix BLE state machine to allow graceful shutdown when filtering isn't supported.

* Thu Oct 8 2020 David Llewellyn-Jones <david@flypig.co.uk> 0.7.4-1
- Fix BLE state machine to allow graceful restart when filtering isn't supported.

 

Comments

flypig's picture

Great! That sounds perfect :) Please do try it out, but bear in mind the warnings that it's still work-in-progress, so you should probably continue using the official app for the timebeing if you need the functionality. Please let me know how you get on.

objectifnul's picture

Please see the description of the app, first sentence.

flypig's picture

Ah, yes, I misunderstood. Thanks again, I fixed it now :)

objectifnul's picture

Perhaps "contact" would make more sense than "contract".

flypig's picture

Thanks for the suggestion. Contrac (it's supposed to be short for contact tracing) is just a working title, so I'm very open to ideas on this.

unmaintained's picture

Great to see it finally arrive on OpenRepos

flypig's picture

Thanks, but still with lots of warnings. It's taken a lot longer than I expected!

unmaintained's picture

"Sent: 2" means it seems to be working I guess? :)

flypig's picture

Ooh. That's a good sign, yes :) And good to know too, thank you. It'll send a new one every 10 minutes.

unmaintained's picture

Is this app supposed to be working just in Germany alone?

I see "Received: 3" nevertheless.

That's so exciting :)

flypig's picture

Ooh, I think you're the first person to ever receive a "real"  beacons with it :)

Whereabouts are you based?

Pages