Go to file
henne f26490e918 added decrypt script 2024-04-03 10:45:38 +02:00
android huge update, such refactoring much doku (noch nich alles), 6.2.3 compatibility, dependency updates 2024-01-26 01:05:36 +01:00
assets huge update, such refactoring much doku (noch nich alles), 6.2.3 compatibility, dependency updates 2024-01-26 01:05:36 +01:00
ios added scrollbars'n'stuff. logout timeout configurable 2022-02-17 11:47:51 +01:00
lib fix: handle connection time out 2024-03-12 11:54:24 +01:00
test initial commit 2022-01-11 19:19:00 +01:00
web initial commit 2022-01-11 19:19:00 +01:00
.gitignore Improed readme 2022-01-21 16:31:11 +01:00
.metadata initial commit 2022-01-11 19:19:00 +01:00
README.md chore: remove trash from readme 2024-01-31 20:17:31 +01:00
analysis_options.yaml initial commit 2022-01-11 19:19:00 +01:00
build.sh fix: handle error for incorrect url in scanner_users.json 2024-02-12 14:48:50 +01:00
create_json.html added bash script for encryption 2022-01-21 14:07:20 +01:00
decryptKey added decrypt script 2024-04-03 10:45:38 +02:00
encryptKey huge update, such refactoring much doku (noch nich alles), 6.2.3 compatibility, dependency updates 2024-01-26 01:05:36 +01:00
initialize.sh huge update, such refactoring much doku (noch nich alles), 6.2.3 compatibility, dependency updates 2024-01-26 01:05:36 +01:00
pubspec.lock fix: crash on startup, which was not a crash, just a small error being thrown, also exchanged library for autologout 2024-01-31 20:16:36 +01:00
pubspec.yaml fix: handle connection time out 2024-03-12 11:54:24 +01:00

README.md

SnipeIT Scanner App

This is a scanner app for SnipeIT.

Creating JSON File for User Dropdown

// https://snipe.example.com/scanner_users.json
[
    {
        "name": "Max Mustermann",
        "token": "encrypted_token"
    }
]

The Key needs to be an encrypted API Key from SnipeIT. It's encrypted using AES in ECB mode using a numeric secret. The PIN in the login screen is prefixed with 0's until it has a length of 32. A script to generate a user entry for the JSON file lies here

I would not recommend to make this file available to the internet, as it uses weak pin codes as encryption for your access tokens. It's meant to be only available within your company network.

Development

To develop for this project setup an editor according to this After you have set up your editor successfully you need to run the initialize.sh script to initialize this project. It installs all the dependencies.

New Release

To release a new version open pubspec.yaml and edit the version number. Depending on your changes, increase either the major, minor or bugfix number. Also you need to increase the build number by one.

e.g. current version string: version: 1.3.5+16 next version: version: 1.3.6 next build number: 17 so your next tag should read version: 1.3.6+17

After this commit your code to the repository 🤓.

Run the build.sh script (if you are on linux or macos) It currently runs flutter build appbundle --release but if in the future this app needs more steps to build, it can be simply added to the build.sh

google REQUIRES build numbers to be unique when uploading to the play store!

Finally your new build (for the android app) resides in build/app/outputs/bundle which you can then distribute to your devices.