Skip to main content

WiFlip repository

All python source files of WiFlip are available on GitHub:
WiFlip repo

WiFlip is an application that communicates with any PPS4 Clone through wifi.
The main benefit of wiflip is game reprogramming (on Recel System 3 MPU Clones) One can also emulate the switch matrix of the pinball or test the pysical switches of the pin one by one.

Miniprinter emulation is available, so that one can modify the non volatile ram.

Coils can be checked individually.

Replication of the display, on a PC or Mac, allows you for diagnosing the real displays.

Additional protections are available for coils.

Installation

Having recent python installed on your machine, just type:
pip install wiflip

Then, you can launch the GUI with:
wiflip

or with:
wiflip-zero

The only difference between this 2 scripts is that with wiflip-zero, you will ensure to print logging infos to stdout. Might be useful ‹hen things go wrong.

If nothing works, please try to find out where these scripts are located. In the end, try from the python shell:

from wiflip import MSCGui
MSCGui.runApp()

If this also fails, there is a bollock in te soup.

This is likely that your python installation is not good or too complicated for us.

Please try to use a pyinstaller version instead.

Dependencies

Python libraries

  1. pyqt5>=5.15.11
  2. requests
  3. bs4

Make an executable with pyinstaller

That's as easy as bonjour:
pyinstaller wiflip.spec

wiflip.spec resides in this repo.

Signing the executable (PC)

All informations collected from there:
https://gist.github.com/PaulCreusy/7fade8d5a8026f2228a97d31343b335e

⚠️ Warning
Signing the executable will not prevent Windows smartscreen from complaining harshly about the resulting binary. You also have to get on board with Microsoft's developpers plan. And even if you do, it could still complain.

Create certificate

New-SelfSignedCertificate -Type Custom -Subject "CN=AA55 consulting, E=phd@aa55.fr" -KeyUsage DigitalSignature -FriendlyName "WiFlip" -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}") -NotAfter "samedi 30 novembre 2028 14:44:59"

The date for not after can be deduced from powershell command get-date

To see if the command succeeded, enter the following commands :

Set-Location Cert:\CurrentUser\My
Get-ChildItem | Format-Table FriendlyName, Thumbprint, Subject

Save the thumbprint displayed next to the name of your certificate, you will need it for the next step.

Export the certificate

$password = ConvertTo-SecureString -String "pwd" -Force -AsPlainText 
Export-PfxCertificate -cert "Cert:\CurrentUser\My\<YourThumbprint>" -FilePath certificate.pfx -Password $password

Sign the exe

signtool sign /f .\certificate.pfx /p "pwd" /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 wiflip.exe

Make a Windows installer with innosetup

Signing the installer too

The script contains the following lines:

[Setup]
SignTool=signtool

signtool is the name of the powershell command that must be given from the menu tools>configure sign tool, such as:

"signtool.exe" sign /f "C:\Users\garzo\git\wiflip2\dist\certificatel.pfx" /fd SHA256 /t http://timestamp.comodoca.com/authenticode /p "pwd" $f

⚠️ Warning
Look at the difference between the two signing commands: The latter does not contain /td SHA256.

Checking the executable's digest

Starting from dec 1st, 2024, all WiFlip exes will be delivered as links for an installer with the supplied self-signing certificatel.pfx. The hash of the app will also be communicated.

With this measures taken, there are good probabilities that the integrity of the code be preserved, even though you never know.

But, well, you can check the hash, you can check and/or install the certificate from here. That's not nothing!

Checking the hash, as follows:

Get-FileHash .\wiflip.exe -Algorithm SHA256 | Format-List

Metadata

Release files for WiFlip 0.98.29

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for WiFlip 0.98.29
File Size Uploaded Provenance
wiflip-0.98.29.tar.gz 12.9 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for WiFlip 0.98.29
File Interpreter ABI Platform
wiflip-0.98.29-py3-none-any.whl Python 3 none any Details

Total release size: 26.7 MB

Release files / wiflip-0.98.29.tar.gz

Download URL wiflip-0.98.29.tar.gz
Size 12.9 MB
Tags Source
SHA-256 checksum
How to use checksums
1201056a07ec85d2f73c513f0099810fbaa37d1104faf5d42af381c7410cd2f6
BLAKE2b-256 checksum
How to use checksums
74b55d0b37b3a837cc0e15bf456a13b1b6bb34887e19fa33311021d7c20c57f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.13

Release files / wiflip-0.98.29-py3-none-any.whl

Download URL wiflip-0.98.29-py3-none-any.whl
Size 13.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
28f731a15e503a8a831539baa1e8055b46eb8ecb4d8d4c7dc7e702a9509379bb
BLAKE2b-256 checksum
How to use checksums
d3cd85a7566f691238a3d76127b68275a191c1d4245001d2ef4f5bd5488eb5eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.13

Security for WiFlip 0.98.29

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page