Skip to content
This repository was archived by the owner on Oct 24, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
c1cc848
renamed ksigner.py to ksigner-cli.py
qlrd Sep 28, 2023
11a8e3c
added grid layout for 'MainPage'
qlrd Sep 28, 2023
26dae67
added click button effect on Sign and Verify Buttons
qlrd Sep 28, 2023
43dca54
updated README.md
qlrd Sep 29, 2023
ed0024f
updated directions of transition on ksigner-gui.py
qlrd Sep 30, 2023
5c7d2e7
Added FileChooser popup to choose a file to be hashed
qlrd Sep 30, 2023
47d3d36
Changed font_name to terminus.ttf
qlrd Sep 30, 2023
57a2e5e
Create pylint.yml
qlrd Sep 30, 2023
1c8c77f
Added some pydoc on classes
qlrd Sep 30, 2023
63fca18
merge with remote
qlrd Sep 30, 2023
cda8e4e
separated many Screen classes to its modules
qlrd Oct 1, 2023
b984d00
added a .pylintrc file
qlrd Oct 1, 2023
7cad711
linted all files
qlrd Oct 1, 2023
f6e0e4b
replaced FileChooserIconView to FileChooserListView once the last is …
qlrd Oct 2, 2023
ed340d8
Hashing files on Load file and encode to QRCode
qlrd Oct 2, 2023
8d131a7
added qrcodescreen
qlrd Oct 4, 2023
c8b5b95
Added label with filename and hash string for QRCodeScreen
qlrd Oct 4, 2023
5a6c6db
replaced qrcode generation
qlrd Oct 5, 2023
be3cfc2
refactored QRCodeScreen
qlrd Oct 5, 2023
692d65f
added some functions to parse qrcode on texture
qlrd Oct 6, 2023
d62073b
fixed the process of showing qrcodes on a screen
qlrd Oct 6, 2023
b9ae0c2
linted files
qlrd Oct 6, 2023
4270285
de-linted qrcodescreen to fix error
qlrd Oct 6, 2023
d2825f6
added step messages above qrcode indicating how to sign
qlrd Oct 9, 2023
e5fda3a
added event on_touch_down to when users touch screen in QRCodeScreen,…
qlrd Oct 10, 2023
9b0cdf6
Refactored tree's files
qlrd Oct 12, 2023
87166cd
Implemented keys esc|enter|backspace|left in QRCodeScreen to back to …
qlrd Oct 12, 2023
859441e
added capture camera to ScanScreen
qlrd Oct 13, 2023
cdb2167
fixed ScanScreen with labels and camera
qlrd Oct 13, 2023
773d07f
modified some messages on scan signature
qlrd Oct 14, 2023
f31fa98
moved some files to refactor file's tree
qlrd Oct 16, 2023
c26c5f7
added separate scans for each signature and public key
qlrd Oct 17, 2023
7fb60e8
linted some srcs
qlrd Oct 17, 2023
05f8c8c
fixed logger level for DEBUG on src/ksigner-cli.py
qlrd Oct 18, 2023
66ee853
added scanner class on cli module
qlrd Oct 22, 2023
0b155de
Linted many files
qlrd Oct 23, 2023
7401230
Updated README with informations about zbar dependencies
qlrd Oct 23, 2023
ac55c64
added a superclass LoggedScreen
qlrd Oct 23, 2023
b367b99
fixed 'sign' command on cli
qlrd Oct 23, 2023
f71970e
fixed CLI signer and verifyer
qlrd Oct 24, 2023
16c5ef6
added subclassing of files, with more modular code
qlrd Oct 26, 2023
0ce75d7
Fixed loggers and subclasses in some screens
qlrd Oct 26, 2023
7a81991
added cache system to share key/values between Screens
qlrd Oct 27, 2023
340f6d9
Fixed release of camera to scan signature and scan pubkey
qlrd Oct 29, 2023
8174aa8
refactored some code and added popup to choose a file to be verified …
qlrd Oct 29, 2023
b68fe7b
fixed verify process on VerifyScreen, from selecting files and verifi…
qlrd Oct 29, 2023
22bbd2c
Adjusted verify signature popup
qlrd Oct 30, 2023
416916b
adjusted verifyer popup to 0.9 scale
qlrd Oct 31, 2023
e1e5748
added alert message after creating signature or public key on scan sc…
qlrd Oct 31, 2023
6850d5f
Added poethepoet package as a pyinstaller build helper
qlrd Nov 2, 2023
e5ad41e
added dynamic pyinstaller builder
qlrd Nov 2, 2023
52a3663
added poethepoet as dev dependencie
qlrd Nov 2, 2023
48da311
updated README
qlrd Nov 2, 2023
4235d36
Linted so many files
qlrd Nov 3, 2023
cb9b175
Changed some linter on remote github ci
qlrd Nov 3, 2023
7aa40c4
Merge pull request #11 from qlrd/kivy
qlrd Nov 3, 2023
cd24fd9
Added build ci
qlrd Nov 3, 2023
6eee211
Added build ci II
qlrd Nov 3, 2023
bf96d87
Added build ci III
qlrd Nov 3, 2023
6fe5149
fixed '_id' type in ActionerScreen class
qlrd Nov 6, 2023
11a4a24
added more github actions
qlrd Nov 7, 2023
8693747
added poetry.lock
qlrd Nov 7, 2023
5854ad8
fixing build (ldconfig and libmtdev pacakge)
qlrd Nov 7, 2023
f05a01b
added headless X server for linux build
qlrd Nov 8, 2023
27d34ee
Trying to use xvfb to build kivy app
qlrd Nov 8, 2023
98f67f0
Changed some WARNING messages to DEBUG messages
qlrd Nov 8, 2023
54b9140
added enhancement ISSUE template
qlrd Nov 9, 2023
c300c6a
added fontawesome icon to export sha256 button
qlrd Nov 14, 2023
377a2c1
added icon glyphs (checked box) to verify screen's buttons
qlrd Nov 16, 2023
c568ff9
fixed cheked boxes on buttons of sign and verify screen
qlrd Nov 16, 2023
1266b93
Added checker for file extension on verify sign
qlrd Nov 16, 2023
05c7d51
made some classes a multiple inheritance ones
qlrd Nov 16, 2023
819a7e6
fixed pyinstaller build with icons on app
qlrd Nov 17, 2023
2cb5c5b
removed fat logger from cli
qlrd Nov 19, 2023
590d1d4
linted cli/actioner.py
qlrd Nov 19, 2023
59d2321
Changed ~Export sha256 message~ expression in sign menu to ~Load file…
qlrd Nov 20, 2023
bdccefe
(lint) Changed ~Export sha256 message~ expression in sign menu to ~Lo…
qlrd Nov 20, 2023
de9ca70
added a string escape step to insert backslash before whitespaces in …
qlrd Nov 20, 2023
e37fea0
added pyOpenSSL as module to verification
qlrd Nov 21, 2023
fa83ec2
fixed .github/dependabot.yml constant failing
qlrd Nov 23, 2023
78499b4
Bump black from 23.10.0 to 23.11.0
dependabot[bot] Nov 23, 2023
fd3ccc4
fixing badFilesArray typo in ci job
qlrd Nov 23, 2023
8c8e455
Merge pull request #19 from selfcustody/dependabot/pip/black-23.11.0
qlrd Nov 23, 2023
5bcbfe8
Bump pyinstaller from 5.13.2 to 6.2.0
dependabot[bot] Nov 23, 2023
34f6c3b
Merge pull request #17 from selfcustody/dependabot/pip/pyinstaller-6.2.0
qlrd Nov 23, 2023
23aafea
Bump poethepoet from 0.24.1 to 0.24.4
dependabot[bot] Nov 23, 2023
aa94126
Merge pull request #18 from selfcustody/dependabot/pip/poethepoet-0.24.4
qlrd Nov 23, 2023
1b78963
Bump pylint from 2.17.7 to 3.0.2
dependabot[bot] Nov 23, 2023
75a4dff
Merge pull request #16 from selfcustody/dependabot/pip/pylint-3.0.2
qlrd Nov 23, 2023
bb0d861
Bump cryptography from 41.0.5 to 41.0.6
dependabot[bot] Nov 29, 2023
40fc9ea
Merge pull request #20 from selfcustody/dependabot/pip/cryptography-4…
qlrd Nov 29, 2023
5af0859
updated python version
qlrd Dec 3, 2023
09dc308
Added drop behavior on button that loads the file to be verified
qlrd Dec 4, 2023
38253ba
added drop behavior to 3 buttons on verify screen: load file, load si…
qlrd Dec 5, 2023
01a3562
fixed drop behaviour at verify screen
qlrd Dec 5, 2023
825abca
made pre-verification of 'None' files at Verify screen
qlrd Dec 6, 2023
82aa49f
added clear_widgets method to qrcode screen and actioner screen to re…
qlrd Dec 6, 2023
cad5de8
Fixed grammar on Verify Screen (when user feed a file to be verified)
qlrd Dec 7, 2023
ca0a1d1
Bump pyinstaller from 6.2.0 to 6.3.0
dependabot[bot] Dec 11, 2023
a52bc07
Added build for windows (attempt I)
qlrd Dec 12, 2023
d64c5d1
Added python 3.11.7 as compatible version
qlrd Dec 12, 2023
8f5da6f
Adding KIVY_GL_BACKEND=angle_sdl2 to build in windows with opengl 1.1
qlrd Dec 12, 2023
c541dbc
removed any trace of logging module that was causing error on windows…
qlrd Dec 13, 2023
70f1dba
removed poetry.lock from badFiles Array in .github/workflows/ci.yml
qlrd Dec 26, 2023
ad1b7eb
Merge pull request #26 from selfcustody/dependabot/pip/pyinstaller-6.3.0
qlrd Dec 26, 2023
1b52bcb
Bump pylint from 3.0.2 to 3.0.3
dependabot[bot] Dec 26, 2023
793bc82
Merge pull request #27 from selfcustody/dependabot/pip/pylint-3.0.3
qlrd Dec 26, 2023
39e1d0b
Bump black from 23.11.0 to 23.12.1
dependabot[bot] Dec 26, 2023
859b08b
Merge pull request #29 from selfcustody/dependabot/pip/black-23.12.1
qlrd Dec 26, 2023
6c00c1d
Fixed error that create decode error on verify step
qlrd Dec 27, 2023
8ae95f6
Bump pillow from 10.1.0 to 10.3.0
dependabot[bot] Apr 1, 2024
8011558
Merge pull request #39 from selfcustody/dependabot/pip/pillow-10.3.0
odudex Dec 8, 2025
75ba328
chore: Update dependencies with security vulnerabilities
odudex Dec 8, 2025
053cc4a
chore: Update dependencies
odudex Dec 8, 2025
dfe3a63
Bump poethepoet from 0.24.4 to 0.38.0
dependabot[bot] Dec 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---

name: 🐞 Bug report
about: Create a report to help us improve
title: "[Bug] the title of bug report"
labels: bug
assignees: ''

---

#### Describe the bug
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/enhancement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: 🔥 Enhancement
about: New feature or request
title: "[Enhancement] the title of new feature or enhancement"
labels: enhancement
assignees: ''

---

#### Describe the new feature or enhancement
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/help_wanted.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: 🥺 Help wanted
about: Confuse about the use of ksigner
title: "[Help] the title of help wanted report"
labels: help wanted
assignees: ''

---

#### Describe the problem you confuse
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!-- Thank you for contributing! -->

### Description

<!-- Please insert your description here and provide especially info about the "what" this PR is solving -->

### What is the purpose of this pull request? <!-- (put an "X" next to an item) -->

- [ ] Bug fix
- [ ] New Feature
- [ ] Documentation update
- [ ] Other
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
29 changes: 29 additions & 0 deletions .github/workflows/black.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Black

on: [push]

jobs:

lint:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11"]
steps:

- name: Checkout
uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry
poetry install

- name: Stylish the code with black through poethepoet
run: poetry run poe black
66 changes: 66 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Build

on: [push]

jobs:

Build:

name: "Build for ubuntu-latest"
strategy:
matrix:
os: ["ubuntu-latest", "windows-latest"]
python-version: ["3.10", "3.11"]

runs-on: ${{ matrix.os }}

steps:

- name: Checkout
uses: actions/checkout@v3

- name: Install OS dependencies
if: ${{ runner.os == 'Linux' }}
run: |
sudo apt-get install -y libzbar0 libmtdev1 libmtdev-dev
sudo ldconfig -v

- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}

- name: Install python dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade Cython
pip install poetry
poetry install

# With linux, build needs some display.
# Running without a headless display
# into github-action worker
# will cause a "Couldn't connect to X Server"
# To fix that, setup a headless window server
- name: Build executables for linux
if: ${{ runner.os == 'Linux' }}
uses: coactions/setup-xvfb@v1
with:
run: poetry run poe build

# Github-action with windows
# will show `GL: Minimum required OpenGL version (2.0) NOT found!`
# to fix that use the given solution:
# https://github.com/kivy/kivy/issues/5248#issuecomment-384308843
- name: Build executables for Windows
if: ${{ runner.os == 'Windows' }}
env:
KIVY_GL_BACKEND: angle_sdl2
run: poetry run poe build

# Upload artifacts
- name: Upload ksigner-cli and ksigner-gui artifacts
uses: actions/upload-artifact@v3
with:
name: ksigner-${{ runner.os }}-py${{ matrix.python-version }}
path: ./dist/ksigner-*
97 changes: 97 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: CI

on:
pull_request_target:
branches:
- main

permissions:
pull-requests: write

jobs:

job1:

name: Check Not Allowed File Changes
runs-on: ubuntu-latest
outputs:
markdown_change: ${{ steps.filter_markdown.outputs.change }}
markdown_files: ${{ steps.filter_markdown.outputs.change_files }}

steps:

- name: Check Not Allowed File Changes
uses: dorny/paths-filter@v2
id: filter_not_allowed
with:
list-files: json
filters: |
change:
- '.pylintrc'
- 'src/terminus.ttf'
- 'src/fa-regular-6.4.2.css'
- 'src/fa-regular-6.4.2.ttf'
- 'src/fa-regular-6.4.2.fontd'

# ref: https://github.com/github/docs/blob/main/.github/workflows/triage-unallowed-contributions.yml
- name: Comment About Changes We Can't Accept
if: ${{ steps.filter_not_allowed.outputs.change == 'true' }}
uses: actions/github-script@v6
with:
script: |
let workflowFailMessage = "It looks like you've modified some files that we can't accept as contributions."
try {
const badFilesArray = [
'.pylintrc',
'src/terminus.ttf',
'src/fa-regular-6.4.2.css',
'src/fa-regular-6.4.2.ttf',
'src/fa-regular-6.4.2.fontd'
]
const reviewMessageArray = [
"👋 Hey there kruxer,",
"\n",
"It looks like you've modified some files that we can't accept as contributions. The complete list of files we can't accept are:",
"\n",
badFilesArray.join("\n -"),
"\n",
"You'll need to revert all of the files you changed in that list using [GitHub Desktop](https://docs.github.com/en/free-pro-team@latest/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit);' or \`git checkout origin/main <file name>\`.",
"Once you get those files reverted, we can continue with the review process.",
":octocat:"
]
createdComment = await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.number,
body: reviewMessageArray.join('\n'),
})
workflowFailMessage = `${workflowFailMessage} Please see ${createdComment.data.html_url} for details.`
} catch(err) {
console.log("Error creating comment.", err)
}
core.setFailed(workflowFailMessage)

- name: Check Not Linted Markdown
if: ${{ always() }}
uses: dorny/paths-filter@v2
id: filter_markdown
with:
list-files: shell
filters: |
change:
- added|modified: '*.md'


job2:
name: Lint Markdown
runs-on: ubuntu-latest
needs: job1
if: ${{ always() && needs.job1.outputs.markdown_change == 'true' }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Lint markdown
run: npx markdownlint-cli ${{ needs.job1.outputs.markdown_files }}
29 changes: 29 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Lint

on: [push]

jobs:

lint:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11"]
steps:

- name: Checkout
uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry
poetry install

- name: Analysing the code with pylint through poethepoet
run: poetry run poe lint
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@ build
dist
*.spec
*.sha256*.txt
src/__pycache__
*.sig
*.log
*.pem
src/**/__pycache__
Loading
Loading