İstemci Kütüphaneleri
Resmi istemci onetime-ruby kütüphanesidir; API v1 ve v2’yi, tüm bölgesel alan adlarını ve özel temel URL’leri destekler.
Bu sayfadaki diğer her şey topluluk tarafından sürdürülmektedir. Bu
kütüphanelerin çoğu API v2’den ve bölgesel alan adlarından öncedir; bu nedenle genellikle
onetimesecret.com üzerindeki kullanımdan kaldırılmış v1 uç noktalarını çağırırlar. Her girişin
durum notunu kontrol edin ve bir kütüphaneye güvenmeden önce bölgenizde veya kendi barındırdığınız
örneğinizde çalıştığını doğrulayın.
| Dil | Kütüphane | Son etkinlik¹ | Bölgesel / özel alan adı |
|---|---|---|---|
| Ruby | onetime-ruby (resmi) | 2026-06 | ✅ tüm bölgeler + özel temel URL |
| Go | go-onetimesecret | 2026-05 | US sunucusu |
| Python | onetimesecret-cli | 2024-11 | US / EU bölge seçeneği |
| Go | otsgo | 2024-03 | belgelenmemiş |
| PowerShell | OneTimeSecret | 2021-06 | özel temel URL |
| Bash | onetimesecret-bash | 2020-05 | özel sunucu |
| Python | py_onetimesecret | 2019-05 | ❌ (Python 2 dönemi) |
| C# | OneTimeSharp | 2018-05 | ❌ |
| Java | onetime-java | 2014-06 | yalnızca kendi barındırdığınız URL |
| Perl | Net::OneTimeSecret | 2012-02 | ❌ |
¹ Son denetim (2026-07) sırasındaki en son commit veya sürüm.
GitHub sayfası - onetime-ruby, Delano tarafından — resmi istemci, aktif olarak sürdürülüyor (son commit 2026-06). API v1 (kullanımdan kaldırıldı) ve v2’yi, bölgesel alan adlarını ve özel temel URL’leri destekler. Ruby 3.1+ gerektirir, çalışma zamanı bağımlılığı yoktur.
Kullanım örneği
“Kullanım örneği” başlıklı bölümrequire '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
“Python” başlıklı bölümGitHub sayfası - onetimesecret-cli,
slashpass tarafından — topluluk tarafından sürdürülüyor (son
commit 2024-11). Bir bölge seçeneğini (us / eu) destekler.
Kullanım örneği
“Kullanım örneği” başlıklı bölümfrom onetimesecret import OneTimeSecretCli
cli = OneTimeSecretCli(ONETIMESECRET_USER, ONETIMESECRET_KEY)cli.create_link("secret") # return a link like https://onetimesecret.com/secret/xxxxxxxxxxxGitHub sayfası - py_onetimesecret,
Vladislav Stepanov tarafından — sürdürülmüyor (son
commit 2019; aşağıdaki örnek Python 2’dir). Kullanımdan kaldırılmış v1 API’sini yalnızca
onetimesecret.com üzerinde kullanır.
Kullanım örneği
“Kullanım örneği” başlıklı bölümfrom 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'}CPAN üzerinde Net::OneTimeSecret, Kyle Dawkins tarafından — sürdürülmüyor (son sürüm 0.04, 2012-02). API v2’den ve bölgesel alan adlarından öncedir.
Kullanım örneği
“Kullanım örneği” başlıklı bölüm#!/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 sayfası - onetime-java, Marcin Pawlowski tarafından — sürdürülmüyor (son commit 2014-06). Bir sunucu örneğinin (instance) URL’sini aldığından kendi barındırdığınız kurulumda çalışabilir, ancak API v2’den öncedir.
Kullanım örneği
“Kullanım örneği” başlıklı bölümOneTimeSecret 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 sayfası - OneTimeSharp,
Vladislav Stepanov tarafından — sürdürülmüyor (son
commit 2018-05). Kullanımdan kaldırılmış v1 API’sini yalnızca onetimesecret.com üzerinde kullanır.
Kullanım örneği
“Kullanım örneği” başlıklı bölüm// 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 sayfası - go-onetimesecret,
Corbalt tarafından — topluluk tarafından sürdürülüyor (son
commit 2026-05, us.onetimesecret.com sunucusu için güncellendi). Bir CLI içerir.
Kullanım örneği
“Kullanım örneği” başlıklı bölümimport 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)CLI olarak kullanım örneği
“CLI olarak kullanım örneği” başlıklı bölüm$ 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 (kütüphane)
“Go (kütüphane)” başlıklı bölümGitHub sayfası - otsgo, Emídio Neto tarafından — topluluk tarafından sürdürülüyor (son sürüm v1.1.0, 2024-03). Bölgesel alan adı desteği belgelenmemiş.
Kullanım örneği
“Kullanım örneği” başlıklı bölüm// 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
“PowerShell” başlıklı bölümGitHub sayfası - OneTimeSecret,
Craig Gumbley tarafından — sürdürülmüyor (son
sürüm 2021-06). Özel bir -BaseUrl desteklediğinden bir bölgeye veya kendi barındırdığınız
örneğe yönlendirilebilir, ancak API v2’den öncedir.
Kullanım örneği
“Kullanım örneği” başlıklı bölüm# 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 sayfası - onetimesecret-bash,
Eric Engstrom tarafından — sürdürülmüyor (son
commit 2020-05). ots_set_host aracılığıyla özel bir sunucuyu destekler, ancak API
v2’den ve bölgesel alan adlarından öncedir.
Betik API’si olarak kullanım örneği
“Betik API’si olarak kullanım örneği” başlıklı bölüm# 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 $KEYCLI olarak kullanım örneği
“CLI olarak kullanım örneği” başlıklı bölüm# 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>