GithubHelp home page GithubHelp logo

jelling-linux's Introduction

Jelling is a simple daemon for Linux which receives OTP tokens from FreeOTP.

Dependencies

* systemd >= 221
* bluez >= 5.42

How to Build and Install

# meson build
# ninja -C build
# ninja -C build install

How to Run

  1. Start and enable Jelling:

    systemctl enable --now jelling.service

Test Results

Device OS Adv. Connect Discovery Pair GATT
iPhone 6+ iOS 11.2
Nexus 5x LineageOS 14.1
Pixel Android 8.1 beta

How to Test

  1. Make sure your phone and computer are NOT paired.

  2. Start Jelling on your computer.

  3. Install and open LightBlue on your phone.

  4. Does LightBlue see your computer within a few seconds (<30)? If so, advertisement is working.

  5. Click on your computer in LightBlue. Does it successfully connect? Do you see Jelling among the list of services? The Jelling Service UUID is: B670003C-0079-465C-9BA7-6C0539CCD67F. If so, connection and service discovery are working. If not, you'll have to get Bluetooth packet logs to see whether connection or service discovery is failing.

  6. Click on the service. Do you see the Jelling characteristic? The Jelling Characteristic UUID is: B670003C-0079-465C-9BA7-6C0539CCD67F. Is it listed as write-only? If so, discovery is working.

  7. Attempt to perform a write operation in LightBlue against the characteristic. A good test value is 30 (which is hex for 0 in ASCII). Does the device attempt to pair? Does it succeed? If so, pairing is working.

  8. If pairing succeeds, perform the previous step again. This time, instead of pairing it should perform the actual GATT write. Does your computer type 0? If so, the GATT write is working.

  9. Submit a pull request which updates the above table with your test results.

jelling-linux's People

Contributors

npmccallum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jelling-linux's Issues

An OTP token app as Gnome Shell Extension

Not sure I'm posting at the right place but...
It would be pretty useful to create an app very similar to FreeOTP but for desktop linux.
Ideally, as using OTP token is something people need often in a day, it could be a widget in gnome shell that would give the code in 1 click and allow copy in 1 more click.

mention CONFIG_INPUT_UINPUT=y in README.md

● jelling.service - Jelling BTLE OTP Receiver daemon
Loaded: loaded (/lib/systemd/system/jelling.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2018-09-25 11:07:50 EDT; 1min 57s ago
Process: 25446 ExecStart=/usr/local/libexec/jelling (code=exited, status=1/FAILURE)
Main PID: 25446 (code=exited, status=1/FAILURE)

Sep 25 11:07:50 zorro systemd[1]: Started Jelling BTLE OTP Receiver daemon.
Sep 25 11:07:50 zorro jelling[25446]: /usr/local/libexec/jelling: Error opening (null): Bad address

jelling.c compiling error

I was tying to run the jelling by following README.md instruction. At point 2, it states Start Jelling on your computer. by which I assumed compiling the jelling.c file with gcc and run the executable. Running gcc jelling.c returns a error saying jelling.c:32:28: fatal error: systemd/sd-bus.h: No such file or directory. compilation terminated.. After a few Google search I found a solve where issuing sudo apt install libsystemd-dev command was recommended. While sudo apt install libsystemd-dev solved the above mentioned error but left me with another one. I am linking the error message as it is quite a long one. What am I doing wrong?

Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.