<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gotp/cli_test.go, branch dev</title>
<subtitle>CLI to manage Time-based OTP.</subtitle>
<id>http://git.kilabit.info/gotp/atom?h=dev</id>
<link rel='self' href='http://git.kilabit.info/gotp/atom?h=dev'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/'/>
<updated>2024-06-22T10:21:56Z</updated>
<entry>
<title>all: implement command "export"</title>
<updated>2024-06-22T10:21:56Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-06-22T09:35:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=dbe4f9722bbd63f685b36606abbfd97cbf1dfb10'/>
<id>urn:sha1:dbe4f9722bbd63f685b36606abbfd97cbf1dfb10</id>
<content type='text'>
The "export" command export all issuers to file or standard output,

	$ gotp export &lt;FORMAT&gt; [FILE]

List of known supported FORMAT is: uri.
If FILE is not defined it will print to standard output.
The list of exported issuers are printed in order of its label.
</content>
</entry>
<entry>
<title>all: replace module "share" with "pakakeh.go"</title>
<updated>2024-03-26T09:05:13Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-03-26T09:05:13Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=bd4157bbd951d7207d5398006c98cebe483e459f'/>
<id>urn:sha1:bd4157bbd951d7207d5398006c98cebe483e459f</id>
<content type='text'>
The "share" module has been moved to moved from github, to sourcehut.
</content>
</entry>
<entry>
<title>cli: ask for passphrase when removing or renaming label</title>
<updated>2024-01-29T19:08:55Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-01-29T19:08:55Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=267821d95857ed51e2e5e23556884c383d94ca24'/>
<id>urn:sha1:267821d95857ed51e2e5e23556884c383d94ca24</id>
<content type='text'>
Even though rename does not read the encrypted secret, as long as the
private key is in use, it should ask for passphrase.

The remove operation allow only the one that know the private key can
modify the issuer.
</content>
</entry>
<entry>
<title>all: use [lib/crypto.LoadPrivateKeyInteractive]</title>
<updated>2024-01-29T19:01:41Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-01-29T19:01:41Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=77ba620765a5682e05169be8b8740df925f612c8'/>
<id>urn:sha1:77ba620765a5682e05169be8b8740df925f612c8</id>
<content type='text'>
The lib/crypto.LoadPrivateKeyInteractive provides a simple way to read
passphrase from stdin that also support SSH_ASKPASS.

While at it, add test for Cli with passphrase.
</content>
</entry>
<entry>
<title>all: make the path to private key static</title>
<updated>2024-01-28T10:45:39Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-01-28T09:37:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=3aa08b00a1151249c6172f0739daac6be5ef857f'/>
<id>urn:sha1:3aa08b00a1151249c6172f0739daac6be5ef857f</id>
<content type='text'>
Instead of prompting user, make the private key static, located at
"$XDG_CONFIG_DIR/gotp/gotp.key".

Implements: https://todo.sr.ht/~shulhan/gotp/1
</content>
</entry>
<entry>
<title>all: implement command "get"</title>
<updated>2023-10-06T09:35:12Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-06T09:35:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=aedc3c206dd997c6dd96ce53a807b0b6ae635b3c'/>
<id>urn:sha1:aedc3c206dd997c6dd96ce53a807b0b6ae635b3c</id>
<content type='text'>
The "get" command get and print the issuer by its LABEL.
This will print the issuer secret, unencrypted.
</content>
</entry>
<entry>
<title>all: add task linter and fix all warnings</title>
<updated>2023-10-06T06:49:39Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-06T06:49:39Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=c5cc07900c67c2c8b565758dc4a66bc36b8cd7a9'/>
<id>urn:sha1:c5cc07900c67c2c8b565758dc4a66bc36b8cd7a9</id>
<content type='text'>
We use revive [1], fieldalignment [2], and shadow [3] as linters.

[1] https://github.com/mgechev/revive
[2] https://pkg.go.dev/golang.org/x/tools@v0.13.0/go/analysis/passes/fieldalignment/cmd/fieldalignment
[3] https://pkg.go.dev/golang.org/x/tools@v0.13.0/go/analysis/passes/shadow/cmd/shadow
</content>
</entry>
<entry>
<title>all: unfold private key path before reading</title>
<updated>2023-10-06T03:03:04Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-07-24T06:01:36Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=8a1a81a6428ae970569d9c2a506acf90deb2e0c4'/>
<id>urn:sha1:8a1a81a6428ae970569d9c2a506acf90deb2e0c4</id>
<content type='text'>
By unfolding, user can set the path to private key using "~" that points
to their home.
This make the key can works across home directory, in case user have
multiple homes (Linux and macOS have different home path and maybe
user name, but both can use "~" as substitution for $HOME)
</content>
</entry>
<entry>
<title>all: load private key only when needed</title>
<updated>2023-05-19T15:31:56Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-05-19T15:31:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=a31b534b36eda669bab99819e4b45fa343ff38d9'/>
<id>urn:sha1:a31b534b36eda669bab99819e4b45fa343ff38d9</id>
<content type='text'>
In case the configuration use private key with passphrase, the bash
completion will hang due to the command ask for passphrase.

This changes fix this issue by loading private key only when doing add,
generate, import, or remote-private-key.
</content>
</entry>
<entry>
<title>all: add command to remove the private key</title>
<updated>2023-05-15T17:20:40Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-05-15T17:20:40Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/gotp/commit/?id=de4158b930a2afcfa59947ae2cd7127943751805'/>
<id>urn:sha1:de4158b930a2afcfa59947ae2cd7127943751805</id>
<content type='text'>
The remove-private-key decrypt the issuer's value back using previous
private key and store it back to file as plain text.
</content>
</entry>
</feed>
