Cypher-ZKTeko
also known as Cypher ZKTeko
Reads the punches off a ZKTeco terminal and turns them into reports payroll will accept.
Cypher Store is the only true source for this app. Every official build of Cypher-ZKTeko comes from here. A copy from anywhere else — another site, a mirror, an APK forum — was not published by Kencypher, and nothing about what is inside it is guaranteed.
On Linux, extract the archive and run the binary inside it. No installation and no root needed.
What Cypher-ZKTeko is
Cypher-ZKTeko is a desktop console for ZKTeco biometric attendance terminals. It reaches the device over the network, a USB export or a serial port, pulls the enrolled users and the punch buffer, applies your shift policy, and produces twelve kinds of report. The thing that makes it usable for payroll is that absences are reported rather than dropped: every employee gets a row for every date in range, so an Absent or a Missing Out day appears instead of quietly vanishing from the total.
Cypher-ZKTeko features
What it actually does.
Three ways to the device
Reach the terminal over the network, read a USB export it wrote, or talk to it on a serial port. The endpoint is saved once in Settings and reused every time the app starts.
One shift policy, everywhere
Grace period, half-day thresholds, the overtime margin and which weekdays count as working days live in Settings and drive every report. Change the policy and every view changes with it.
Machine codes that match
A device that reports 1, 01 or 001 resolves to the same employee, whether it sent a user_id or a uid. Mismatched codes are the usual reason a person disappears from an attendance report.
Twelve report types
Full Attendance, Employee Summary, Single Employee, Department, Daily, Monthly, Missing Attendance, Absent, Late Arrival, Early Leaving, Overtime and Raw Punch — all judged by one rule, so Present, Late, Half Day and Absent mean the same thing in every one.
Exports that survive the trip
Excel with filters and a summary tab, PDF with a cover page and repeating headers, plus CSV and JSON. Sort order and the summary sheet are yours to choose.
Device tools
Read and sync the terminal clock, enable or disable the device, restart it, or clear the punch buffer once you have the records safely out.
Cypher-ZKTeko screenshots
Captured from a real device running this build. Tap any image to enlarge it.
How to use Cypher-ZKTeko
From a fresh install to the thing working.
1 Install it
- Extract the whole .zip into one folder. setup.exe, data1.bin and data2.bin must stay together — the installer reads its payload from the two .bin files sitting beside it, so running setup.exe on its own will fail.
- Run setup.exe from that folder. It asks for administrator rights because it installs into Program Files.
- Your settings, logs and exports are written to %APPDATA%\Cypher-ZKTeko rather than the install folder, so they survive an upgrade and need no admin rights.
2 Install it on Linux
- Extract the archive and run ./install.sh. It installs into ~/.local/share/Cypher-ZKTeko, puts a launcher on your PATH and adds an entry to the applications menu. No root needed.
- Nothing has to be installed first: the Python runtime, Tk and every library are inside the archive.
- Built against glibc 2.35, so it runs on Ubuntu 22.04 and anything newer, including Debian 12 and Fedora 36+.
- Settings, logs and exports go to ~/.config/Cypher-ZKTeko, so an upgrade never touches your data.
3 Connect the terminal
- Open Connection and choose how you are reaching the device: network, a USB export, or serial.
- For a network device, enter its IP and port. The connection log on that page shows exactly what happened, which is the fastest way to tell a wrong IP from a blocked port.
- Once it connects, the device identity is read back so you can confirm you are on the right machine.
- Put the address into Settings so it is remembered. You only type it once.
4 Set the shift policy before the first report
- Open Settings and set the grace period, the half-day thresholds, the overtime margin and which weekdays are working days.
- This is worth doing first: every report is judged against these numbers, and running reports before setting them is the usual reason a run looks wrong.
- Add your company details here too — they appear on the PDF cover page.
5 Pull attendance and export it
- Open Employees to confirm the enrolled users came through, then Attendance to see the punches for a date range.
- Open Reports and pick one of the twelve types. The summary strip across the top gives you the totals, and rows are coloured by status.
- Open Export, choose Excel, PDF, CSV or JSON, pick a sort order, and decide whether you want the summary sheet.
- Exports land in %APPDATA%\Cypher-ZKTeko\exports.
Built with
Licence
Made by Kencypher. Not open source.
Cypher-ZKTeko was written by Kencypher. The source is not published and is not licensed for reuse. You have permission to run it — that is the whole of it.
You may
- Run it on as many of your own machines as you like
- Use it for anything, including commercial work
- Pass an unmodified copy to a friend, free
You may not, without asking
- Sell it or charge for access
- Re-upload or mirror it anywhere
- Rebrand it or publish it as your own
- Decompile it or lift its assets
This is enforced. Re-uploading it, repackaging it, stripping the author's name off it or passing it off as your own is copyright infringement — protected without registration under the Berne Convention — and is pursued with DMCA takedowns to the host, CDN, app store and search engine, platform reports for impersonation, and legal proceedings where the infringement is commercial, repeated, or involves falsely claiming authorship.
Asking first is free, and the answer is usually yes — kencypher56@gmail.com. The only official source is this store; a copy from anywhere else is not one Kencypher published.
Good to know
- Every day-level report is judged by one rule, so Present, Late, Half Day and Absent mean the same thing in every view and every export.
- Test probes the terminal on a separate connection and never drops a live session. If the network answers but Connect still fails, Diagnose tells you it is the communication password or the ZKTeco handshake, not the network.
- 79 automated tests cover the shift rules, identity matching, the device connection, the USB export parser and all four exporters.
- Settings, logs and exports live in %APPDATA%\Cypher-ZKTeko on Windows and ~/.config/Cypher-ZKTeko on Linux, so an upgrade never touches them.
- Clearing the punch buffer cannot be undone, so it sits in Device Tools, away from the everyday screens. Export first.