Code Monkey home page Code Monkey logo

libsecret.v's Introduction

libsecret.v

Minimal implementation of libsecret (Secret Service API) for managing secrets in Vlang. The examples from the C docs are implemented.

Installation

This library uses the libsecret/secret.h C-headers. The following dependencies are required:

  • libsecret-1-0
  • libsecret-1-dev

On Debian-based distro's, these can be installed via:

sudo apt install -y libsecret-1-0 libsecret-1-dev

Note: libsecret expects this to be exected on a GUI-system. If you try to run this on a headless server, you may get an error like Cannot autolaunch D-Bus without X11 $DISPLAY.

v install robinvandernoord.libsecret

Usage

import robinvandernoord.libsecret

// initial setup:
struct Metadata {
    // you can store anything you like here!
    // It will be converted to JSON.

    text string
}

schema := libsecret.get_schema()

// save a password:
schema.store_password("Label Description", "my-password", Metadata {"text string"})

// load password with metadata:
mut metadata := Metadata {} // start with an empty object to fill

password := schema.load_password("Label Description", mut metadata)

println(password or {"missing password"}) // -> "my-password"
println(metadata) // Metadata { text: "text string" }

// remove password:
assert schema.remove_password("Label Description")

Example in Seahorse

libsecret.v's People

Contributors

robinvandernoord avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

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.