Jauhkan kata sandi dan informasi sensitif lainnya dari kotak masuk dan log obrolan Anda.
Catatan
Lewati instruksi pemasangan.
Rahasia sekali pakai adalah tautan yang hanya dapat dilihat sekali. URL sekali pakai.
Cobalah di onetimesecret.com!
Saat Anda mengirim info sensitif orang seperti kata sandi dan tautan pribadi melalui email atau obrolan, ada salinan informasi yang disimpan di banyak tempat. Jika Anda menggunakan tautan sekali lagi, informasi tetap ada untuk satu tampilan yang berarti tidak dapat dibaca oleh orang lain nanti. Ini memungkinkan Anda untuk mengirim informasi sensitif dengan cara yang aman mengetahui itu dilihat oleh satu orang saja. Anggap saja seperti pesan yang merusak diri sendiri.
Ini adalah versi yang dikembangkan dan dikelola secara aktif dengan fitur terbaru dan pembaruan keamanan.
Ruby 3 Tanpa Node.js: V0.15.0
Ruby 2.7, 2.6 (Legacy - tidak didukung): v0.12.1
Kami sangat merekomendasikan menggunakan rilis terbaru dengan Ruby 3+ untuk kinerja, keamanan, dan set fitur terbaik. Versi Legacy Ruby 2.x disediakan untuk referensi saja dan harus dihindari di lingkungan produksi.
Ada beberapa cara untuk menjalankan onetimesecret menggunakan Docker. Pilih metode yang paling sesuai dengan kebutuhan Anda:
Kami menawarkan gambar pra-built di kedua Github Container Registry dan Docker Hub.
# Pull from GitHub Container Registry
docker pull ghcr.io/onetimesecret/onetimesecret:latest
# OR, pull from Docker Hub
docker pull onetimesecret/onetimesecret:latestJika Anda lebih suka membangun gambar sendiri:
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker build -t onetimesecret . Untuk lingkungan yang membutuhkan dukungan multi-arsitektur:
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker buildx build --platform=linux/amd64,linux/arm64 . -t onetimesecretKami juga menawarkan versi "Lite" dari gambar Docker, yang dioptimalkan untuk penyebaran yang lebih cepat dan pengurangan penggunaan sumber daya. Untuk menggunakan versi lite:
# Pull the lite image
docker pull ghcr.io/onetimesecret/onetimesecret-lite:latest
# OR, build it locally
docker build -f Dockerfile-lite -t onetimesecret:lite .Untuk informasi lebih lanjut tentang gambar Lite Docker, lihat dokumentasi Docker-lite.md.
Terlepas dari bagaimana Anda memperoleh atau membangun gambar, ikuti langkah -langkah ini untuk menjalankan onetimesecret:
Mulai wadah Redis:
docker run -p 6379:6379 -d redis:bookwormTetapkan variabel lingkungan penting:
export HOST=localhost:3000
export SSL=false
export [email protected]
export REDIS_URL=redis://host.docker.internal:6379/0
export RACK_ENV=production Catatan: Variabel COLONEL menetapkan email akun admin. Ini adalah kombinasi lucu dari "Kolonel" (seseorang yang bertanggung jawab) dan "kernel" (seperti di Linux), mewakili administrator sistem.
Jalankan wadah onetimesecret:
docker run -p 3000:3000 -d --name onetimesecret
-e REDIS_URL= $REDIS_URL
-e COLONEL= $COLONEL
-e HOST= $HOST
-e SSL= $SSL
-e RACK_ENV= $RACK_ENV
onetimesecret/onetimesecret:latest Catatan: Ganti onetimesecret/onetimesecret:latest dengan nama gambar Anda jika Anda membangunnya secara lokal.
OneTimesecret sekarang harus berjalan dan dapat diakses di http://localhost:3000 .
Ah ya, paradoks sudo klasik! Inilah upaya saya untuk menangani ini dengan jelas:
Panduan ini mencakup pemasangan onetimesecret secara manual, apakah Anda bekerja dengan lingkungan pengembangan yang ada atau mulai dari sistem yang baru.
Komponen yang Diperlukan:
Pertama, verifikasi jika Anda memiliki dependensi yang diperlukan:
ruby --version # Should be 3.1+
bundler --version # Should be 2.5.x
node --version # Should be 20+
pnpm --version # Should be 9.2+
redis-server -v # Should be 5+Untuk instalasi sistem yang baru, ikuti langkah -langkah ini:
Penting
Jika memulai dengan sistem minimal (seperti wadah Debian baru), instal sudo terlebih dahulu:
# Only if starting as root on a minimal system
apt update && apt install -y sudoInstal System Dependencies:
# For Debian/Ubuntu systems:
sudo apt update
sudo apt install -y git curl build-essential libyaml-dev libffi-dev redis-server ruby3.1 ruby3.1-dev
# Install package managers
sudo gem install bundler
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install -g pnpm@latest
# Start Redis server
sudo service redis-server startCatatan: Jika Anda melihat kesalahan terkait audit saat memasang PNPM dengan sudo, ini normal dalam wadah atau sistem minimal di mana kemampuan audit terbatas.
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret # Install Ruby dependencies
bundle install
# Install Node.js dependencies
pnpm installgit rev-parse --short HEAD > .commit_hash.txt
cp -p ./etc/config.example.yaml ./etc/config.yamlAnda dapat menjalankan aplikasi dengan dua cara:
Terbaik untuk produksi atau pengembangan tanpa perubahan frontend:
pnpm run build:localetc/config.yaml : :development :
:enabled : false # For production
RACK_ENV=production bundle exec thin -R config.ru -p 3000 start
# Or for backend development
RACK_ENV=development bundle exec thin -R config.ru -p 3000 startTerbaik untuk pengembangan frontend aktif dengan pemuatan ulang langsung:
Aktifkan mode pengembangan di etc/config.yaml :
:development :
:enabled : trueMulai server utama:
RACK_ENV=development bundle exec thin -R config.ru -p 3000 startMulai server Vite Dev (di terminal terpisah):
pnpm run devSaat berjalan dalam mode pengembangan (opsi B), aplikasi menggunakan server dev vite untuk pemuatan aset dinamis dan penggantian modul panas. Begini cara kerjanya:
Dalam mode pengembangan ( development.enabled: true ), aplikasi memuat aset secara dinamis dari server vite dev:
{{#frontend_development}}
< script type =" module " src =" {{ frontend_host }}/dist/main.ts " > </ script >
< script type =" module " src =" {{ frontend_host }}/dist/@vite/client " > </ script >
{{/frontend_development}} Dalam mode produksi ( development.enabled: false ), ia menggunakan aset statis yang sudah dibangun:
{{^frontend_development}}
{{{vite_assets}}}
{{/frontend_development}}Pengaturan ini memungkinkan fitur seperti penggantian modul panas dan pembaruan instan selama pengembangan frontend, sambil memastikan kinerja yang optimal dalam produksi.
OneTimesecret membutuhkan file config.yaml untuk semua instalasi. Variabel lingkungan dapat digunakan untuk mengganti pengaturan tertentu, tetapi file config.yaml harus selalu ada.
Buat file konfigurasi:
cp -p ./etc/config.example.yaml ./etc/config.yaml Tinjau dan edit ./etc/config.yaml sesuai kebutuhan. Minimal, perbarui kunci rahasia dan mendukungnya dengan aman.
File ./etc/config.yaml adalah metode konfigurasi utama. Ini menggunakan sintaks ERB untuk menggabungkan variabel lingkungan, memungkinkan konfigurasi yang fleksibel:
---
:site :
:host : <%= ENV['HOST'] || 'localhost:7143' %>
:domains :
:enabled : <%= ENV['DOMAINS_ENABLED'] || false %>Dalam format ini:
HOST ) ditetapkan, nilainya akan digunakan. Area utama untuk dikonfigurasi di config.yaml :
Untuk pengaturan cepat atau penyebaran kontainer, Anda dapat menggunakan variabel lingkungan untuk mengganti pengaturan config.yaml :
export HOST=localhost:3000
export SSL=false
export [email protected]
export REDIS_URL=redis://username:password@hostname:6379/0
export RACK_ENV=production Untuk berbagai skenario penyebaran, termasuk pengaturan Docker dan pengembangan lokal, Anda dapat menggunakan file .env untuk mengatur variabel lingkungan:
Buat file .env:
cp -p .env.example .env Edit file .env dengan konfigurasi yang Anda inginkan.
Penggunaan tergantung pada pengaturan Anda:
Untuk pengembangan lokal, muat variabel sebelum menjalankan aplikasi:
set -a
source .env
set +a Untuk penyebaran Docker, Anda dapat menggunakan opsi --env-file :
docker run --env-file .env your-image-nameDalam Compose Docker, Anda dapat menentukan file .env di Docker-Compose.yml:
services :
your-service :
env_file :
- .envFile .env serba guna dan dapat digunakan dalam berbagai skenario penyebaran, menawarkan fleksibilitas dalam cara Anda mengelola variabel lingkungan Anda.
config.yaml selalu diperlukan, bahkan saat menggunakan variabel lingkungan..env , tetapi tidak keduanya, untuk menghindari kebingungan.config.yaml , hanya nilai literal dalam konfigurasi yang akan digunakan. Penting
Gunakan nilai yang aman untuk kunci SECRET sebagai variabel lingkungan atau sebagai site.secret Cekret di etc/config.yaml . Setelah ditetapkan, jangan ubah nilai ini. Buat dan simpan cadangan di lokasi di luar kantor yang aman. Mengubah rahasia dapat mencegah dekripsi rahasia yang ada.
Untuk daftar lengkap opsi konfigurasi yang tersedia, lihat komentar di file config.example.yaml .
Untuk menghasilkan kunci rahasia yang aman dan acak 256-bit (32-byte), Anda dapat menggunakan perintah berikut dengan OpenSSL:
openssl rand -hex 32 Jika OpenSSL tidak diinstal, Anda dapat menggunakan perintah dd sebagai fallback:
dd if=/dev/urandom bs=32 count=1 2> /dev/null | xxd -p -c 32 Catatan: Sementara perintah dd memberikan alternatif yang masuk akal, menggunakan OpenSSL direkomendasikan untuk tujuan kriptografi.
Jika Anda menemukan kesalahan "Nama Kontainer '/Onetimesecret' sudah digunakan":
# If the container already exists, you can simply start it again:
docker start onetimesecret
# OR, remove the existing container
docker rm onetimesecret Setelah menghapus wadah, Anda dapat menjalankan perintah docker run reguler lagi.
Untuk pengaturan Docker Compose, lihat repo Docker Compose khusus.
Untuk menjalankan dalam mode debug:
ONETIME_DEBUG=true bundle exec thin -e dev start Saat menjalankan server vite dalam mode pengembangan, itu akan secara otomatis memuat ulang saat file berubah. Pastikan bahwa RACK_ENV diatur ke development atau development.enabled Diperoleh di etc/config diatur ke false .
Kami menggunakan kerangka kerja pre-commit untuk mempertahankan kualitas kode. Untuk mengaturnya:
Instal pra-komit:
pip install pre-commitInstal Git Hooks:
pre-commit installIni akan memastikan bahwa kait pra-komit berjalan sebelum setiap komit, membantu mempertahankan kualitas dan konsistensi kode.
Untuk melihat lapisan gambar dan mengoptimalkan bangunan Anda, gunakan:
docker history < image_id >Saat menggunakan produksi, pastikan Anda:
Contoh Penyebaran Produksi:
export HOST=example.com
export SSL=true
export [email protected]
export REDIS_URL=redis://username:password@hostname:6379/0
export RACK_ENV=production
docker run -p 3000:3000 -d --name onetimesecret
-e REDIS_URL= $REDIS_URL
-e COLONEL= $COLONEL
-e HOST= $HOST
-e SSL= $SSL
-e RACK_ENV= $RACK_ENV
onetimesecretPastikan semua informasi sensitif diamankan dengan benar dan tidak terpapar dalam skrip atau lingkungan penyebaran Anda.
Bagian ini memberikan gambaran umum layanan yang mirip dengan proyek kami, menyoroti fitur unik mereka dan bagaimana mereka membandingkan. Alternatif -alternatif ini mungkin berguna bagi pengguna yang mencari fungsionalitas tertentu atau ingin menjelajahi berbagai opsi di domain yang sama. Dengan menyajikan informasi ini, kami bertujuan untuk memberi pengguna kami pandangan komprehensif tentang opsi yang tersedia di ruang berbagi informasi yang aman.
Catatan: Penasihat hukum in-house kami (Codium-Pr-Agent-Pro Bot) menyarankan untuk menambahkan pengantar ini dan penafian pada akhirnya.
| Url | Melayani | Keterangan | Fitur khas |
|---|---|---|---|
| https://pwpush.com/ | Pusher Kata Sandi | Alat yang menggunakan cookie browser untuk membantu Anda berbagi kata sandi dan informasi sensitif lainnya. | Tautan sementara dan menghancurkan diri untuk berbagi kata sandi |
| https://scrt.link/en | Bagikan rahasia | Layanan yang memungkinkan Anda untuk berbagi informasi sensitif secara anonim. Penting bagi jurnalis, pengacara, politisi, whistleblower, dan individu yang tertindas. | Berbagi pesan anonim dan menghancurkan diri sendiri |
| https://cryptgeon.com/ | Cryptgeon | Layanan untuk berbagi rahasia dan kata sandi dengan aman. | Menawarkan generator rahasia, generator kata sandi, dan kubah rahasia |
| https://www.vanish.so/ | Menghilang | Layanan untuk berbagi rahasia dan kata sandi dengan aman. | Pesan yang merusak diri sendiri dengan enkripsi yang kuat |
| https://password.link/en | Kata sandi. Link | Layanan untuk mengirim dan menerima informasi sensitif dengan aman. | Pembuatan tautan aman untuk berbagi informasi sensitif |
| https://sebsauvage.net/ | Sebauvage.net | Situs web yang menawarkan berbagai informasi dan layanan. | Perangkat lunak untuk memulihkan komputer curian |
| https://www.sharesecret.co/ | Saham | Layanan untuk berbagi kata sandi dengan aman di Slack dan Email. | Berbagi Kata Sandi Aman dengan Integrasi Slack dan Email |
| https://teampassword.com/ | TeamPassword | Manajer Kata Sandi untuk tim. | Manajemen kata sandi tim yang cepat, mudah digunakan, dan aman |
| https://secretshare.io/ | Bagikan Rahasia | Layanan untuk berbagi kata sandi dengan aman. | Enkripsi yang kuat untuk data dalam perjalanan dan istirahat |
| https://retriever.corgea.io/ | Retriever | Layanan untuk meminta rahasia dengan aman. | Amankan permintaan rahasia dan pengambilan dengan enkripsi |
| https://winden.app/s | Winden | Layanan untuk berbagi rahasia dan kata sandi dengan aman. | Secara aman mentransfer file dengan enkripsi ujung ke ujung |
| https://www.snote.app/ | Ular | Ruang kerja yang berfokus pada privasi dengan enkripsi ujung ke ujung. | Kolaborasi Aman pada Proyek, To-DOS, Tugas, dan File Bersama |
| https://www.burnafterreading.me/ | Terbakar setelah membaca | Layanan untuk berbagi berbagai jenis informasi sensitif. | Pesan yang merusak diri sendiri dengan enkripsi frasa sandi Diceware |
| https://pvtnote.com/en/ | Pvtnote | Layanan untuk mengirim pesan pribadi yang menghancurkan diri sendiri. | Desain bersih dengan pesan yang merusak diri sendiri |
| https://k9crypt.xyz/ | K9crypt | Platform pesan yang aman dan anonim. | Enkripsi ujung ke ujung dengan penghapusan pesan 2 jam |
Diringkaskan, diambil, dan dikumpulkan oleh perintah cohere r+, diformat oleh claude 3.5 sonnet, dan proofread oleh github copilot.
Dimasukkannya layanan ini dalam daftar ini tidak menyiratkan dukungan. Pengguna didorong untuk melakukan penelitian dan uji tuntas mereka sendiri sebelum menggunakan salah satu layanan yang terdaftar, terutama saat menangani informasi sensitif.