Clientbibliotheken
De officiële client is onetime-ruby, die API v1 en v2, alle regionale domeinen en aangepaste basis-URL’s ondersteunt.
Alles wat verder op deze pagina staat, wordt door de community onderhouden. De meeste van deze
bibliotheken dateren van vóór API v2 en de regionale domeinen, dus ze roepen meestal de
verouderde v1-endpoints aan op onetimesecret.com — lees bij elke vermelding de
statusopmerking en controleer of een bibliotheek werkt met jouw regio of zelfgehoste
instantie voordat je erop vertrouwt.
| Taal | Bibliotheek | Laatste activiteit¹ | Regionaal / aangepast domein |
|---|---|---|---|
| Ruby | onetime-ruby (officieel) | 2026-06 | ✅ alle regio’s + aangepaste basis-URL |
| Go | go-onetimesecret | 2026-05 | US-host |
| Python | onetimesecret-cli | 2024-11 | regio-optie US / EU |
| Go | otsgo | 2024-03 | niet gedocumenteerd |
| PowerShell | OneTimeSecret | 2021-06 | aangepaste basis-URL |
| Bash | onetimesecret-bash | 2020-05 | aangepaste host |
| Python | py_onetimesecret | 2019-05 | ❌ (Python 2-tijdperk) |
| C# | OneTimeSharp | 2018-05 | ❌ |
| Java | onetime-java | 2014-06 | alleen zelfgehoste URL |
| Perl | Net::OneTimeSecret | 2012-02 | ❌ |
¹ Meest recente commit of release op het moment van de laatste controle (2026-07).
GitHub-pagina - onetime-ruby door Delano — officiële client, actief onderhouden (laatste commit 2026-06). Ondersteunt API v1 (verouderd) en v2, regionale domeinen en aangepaste basis-URL’s. Vereist Ruby 3.1+, geen runtime-afhankelijkheden.
Gebruiksvoorbeeld
Sectie getiteld “Gebruiksvoorbeeld”require 'onetime/api'
api = Onetime::API.new('YOUR_EMAIL', 'YOUR_OTS_APIKEY')options = { secret: 'Jazz, jazz and more jazz.', recipient: 'example@onetimesecret.com', ttl: 7200}
ret = api.post('/share', options)puts ret['secret_key']Python
Sectie getiteld “Python”GitHub-pagina - onetimesecret-cli
door slashpass — onderhouden door de community (laatste
commit 2024-11). Ondersteunt een regio-optie (us / eu).
Gebruiksvoorbeeld
Sectie getiteld “Gebruiksvoorbeeld”from onetimesecret import OneTimeSecretCli
cli = OneTimeSecretCli(ONETIMESECRET_USER, ONETIMESECRET_KEY)cli.create_link("secret") # return a link like https://onetimesecret.com/secret/xxxxxxxxxxxGitHub-pagina - py_onetimesecret
door Vladislav Stepanov — niet meer onderhouden (laatste
commit 2019; het voorbeeld hieronder is Python 2). Gebruikt de verouderde v1-API en werkt
alleen met onetimesecret.com.
Gebruiksvoorbeeld
Sectie getiteld “Gebruiksvoorbeeld”from onetimesecret import OneTimeSecret
o = OneTimeSecret("YOUR_EMAIL", "YOUR_OTS_APIKEY")secret = o.share(u"test")
print o.retrieve_secret(secret["secret_key"])# {u'secret_key': u'dtr7ixukiolpx1i4i87kahmhyoy2q65',# u'value': u'test'}Net::OneTimeSecret op CPAN door Kyle Dawkins — niet meer onderhouden (laatste release 0.04, 2012-02). Dateert van vóór API v2 en de regionale domeinen.
Gebruiksvoorbeeld
Sectie getiteld “Gebruiksvoorbeeld”#!/usr/bin/env perl
use Net::OneTimeSecret;
# Note: replace these with yours in order for this to work!my $customerId = 'YOUR_EMAIL';my $testApiKey = 'YOUR_OTS_APIKEY';
my $api = Net::OneTimeSecret->new( $customerId, $testApiKey );my $result = $api->shareSecret( 'Jazz, jazz and more jazz.', passphrase => 'thepassword', recipient => 'kyle@shoffle.com', ttl => 7200, );printf( "%s\n", $result->{secret_key} );
my $secret = $api->retrieveSecret( $result->{secret_key}, passphrase => "thepassword" );printf( "%s\n", $secret->{value} );GitHub-pagina - onetime-java door Marcin Pawlowski — niet meer onderhouden (laatste commit 2014-06). Accepteert een instantie-URL en werkt daardoor mogelijk met een zelfgehoste instantie, maar dateert van vóór API v2.
Gebruiksvoorbeeld
Sectie getiteld “Gebruiksvoorbeeld”OneTimeSecret ots = new OneTimeSecretRestImpl( "https://path/to/ots/instance", "ots-username", "ots-apikey");
GenerateResponse generateResponse = ots.generate( new GenerateRequest.Builder() .withPassphrase("supersecret") .build());
RetrieveResponse retrieveResponse = ots.retrieve( new RetrieveRequest.Builder() .withSecretKey(generateResponse.getSecretKey()) .withPassphrase("supersecret") .build());
assertEquals(generateResponse.getValue(), retrieveResponse.getValue());GitHub-pagina - OneTimeSharp
door Vladislav Stepanov — niet meer onderhouden (laatste
commit 2018-05). Gebruikt de verouderde v1-API en werkt alleen met onetimesecret.com.
Gebruiksvoorbeeld
Sectie getiteld “Gebruiksvoorbeeld”// You can use OneTimeSharp in any of your projects which are compatible with .NET (4.0+) or Mono (2.10.8+).using VStepanov.OneTimeSharp;
class Test{ static void Main(string[] args) { var ots = new OneTimeSecret("YOUR_EMAIL", "YOUR_OTS_APIKEY");
var generated = ots.GenerateSecret();
Console.WriteLine(generated.Value); // LR*?us*A(UT*
Console.WriteLine(generated.SecretKey); // ikzx3m77j5by8411cg5lk5fvfylvl0i Console.WriteLine(ots.GetSecretLink(generated)); // https://onetimesecret.com/secret/ikzx3m77j5by8411cg5lk5fvfylvl0i
var shared = ots.ShareSecret("Hello, OTS!");
Console.WriteLine(shared.MetadataKey); // kd6rgsucl98qbgu9eavjq4k5sdxsom0 Console.WriteLine(ots.GetMetadataLink(shared)); // https://onetimesecret.com/private/kd6rgsucl98qbgu9eavjq4k5sdxsom0 }}GitHub-pagina - go-onetimesecret
door Corbalt — onderhouden door de community (laatste
commit 2026-05, bijgewerkt voor de host us.onetimesecret.com). Bevat een CLI.
Gebruiksvoorbeeld
Sectie getiteld “Gebruiksvoorbeeld”import ots "github.com/corbaltcode/go-onetimesecret"
client := ots.Client{ Username: "user@example.com", Key: "my api key",}
metadata, err := client.Put("the launch codes", "passphrase", 0, "")if err != nil { // handle error}
secret, err := client.Get(metadata.SecretKey, "passphrase")if err != nil { // handle error}
// prints "the launch codes"print(secret)Gebruiksvoorbeeld als CLI
Sectie getiteld “Gebruiksvoorbeeld als CLI”$ go install github.com/corbaltcode/go-onetimesecret/cmd/ots@latest
$ ots put 'what is essential is invisible to the eye'hdjk6p0ozf61o7n6pbaxy4in8zuq7sm ifipvdpeo8oy6r8ryjbu8y7rhm9kty9
$ ots get hdjk6p0ozf61o7n6pbaxy4in8zuq7smwhat is essential is invisible to the eye
$ ots genrVjbS$twCJkS 4nwhy7v4fnabayqc5auv4ogh0nfr20 flsdlaun6hwczqu9utmc0vts5xj9xu1
$ ots burn flsdlaun6hwczqu9utmc0vts5xj9xu1flsdlaun6hwczqu9utmc0vts5xj9xu1Go (lib)
Sectie getiteld “Go (lib)”GitHub-pagina - otsgo door Emídio Neto — onderhouden door de community (laatste release v1.1.0, 2024-03). Ondersteuning voor regionale domeinen is niet gedocumenteerd.
Gebruiksvoorbeeld
Sectie getiteld “Gebruiksvoorbeeld”// Build a new clientclient := ots.NewClient( WithUsername("otsuser@domain.com"), WithApiKey("xxxxxxxx"),)
// Send a request with contextctx := context.Background()response, err := client.GetStatus(ctx)if err != nil { panic(err)}
fmt.Println(response.Status)PowerShell
Sectie getiteld “PowerShell”GitHub-pagina - OneTimeSecret
door Craig Gumbley — niet meer onderhouden (laatste
release 2021-06). Ondersteunt een aangepaste -BaseUrl en kan dus naar een regio of
zelfgehoste instantie verwijzen, maar dateert van vóór API v2.
Gebruiksvoorbeeld
Sectie getiteld “Gebruiksvoorbeeld”# Install from the PowerShell galleryInstall-Module -Name OneTimeSecret -Scope CurrentUser
# Set connection informationSet-OTSAuthorizationToken -Username user@mail.com -APIKey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Generate a new shared secretNew-OTSSharedSecret -Secret "Very Secret" -Passphrase 1234 -Recipient user@mail.com
# Retrieve a secretGet-OTSSecret -SecretKey qqevnp70b4uoiax4knzhwlhros6ne7x -Passphrase 1234
# View all functions that are availableGet-Command -Module OneTimeSecret | Select NameGitHub-pagina - onetimesecret-bash
door Eric Engstrom — niet meer onderhouden (laatste
commit 2020-05). Ondersteunt een aangepaste host via ots_set_host, maar dateert van vóór API
v2 en de regionale domeinen.
Gebruiksvoorbeeld als scripting-API
Sectie getiteld “Gebruiksvoorbeeld als scripting-API”# source for use anonymously (secrets created anonymously)source ots.bash
# or, source with specific auth credentialsAPIUSER="USERNAME"APIKEY="APIKEY"source ots.bash -u $APIUSER -k $APIKEY
# check status of serverots_status
# create a secret and get back the URLURL=$(echo "secret" | ots_share)
# share a multi line secret via HEREDOC.URL=$(ots_share <<-EOF This is a Secret ... on multiple linesEOF)
# pass options to share or generate.URL=$(ots_share ttl=600 \ passphrase="shared-secret" \ recipient="someone@somewhere.com" <<< "SECRET")
# fetch the secret datalocal DATA="$(ots_retrieve "$URL")"
# share/generate a new secret, and get back the private metadata keylocal KEY=$(ots_metashare <<< "SECRET")local KEY=$(ots_metagenerate)
# get a list of private metadata keys recently created.# note that this requires valid authentication credentialslocal -a RECENT=( $(ots_recent) )
# check on the current state of a secret, given the private keyots_state $KEY
# burn a secret, given the private keyots_burn $KEYGebruiksvoorbeeld als CLI
Sectie getiteld “Gebruiksvoorbeeld als CLI”# Share a secret (from stdin)./ots shareSECRET^D
# Share a secret (via HEREDOC)./ots share <<-EOF This is a multi-line secret via HEREDOC. Something else goes here.EOF
# Get/Retrieve a secret:./ots get <key|url>./ots retrieve <key|url>
# Burn a secret, given its private metadata key:./ots burn <key>