パスワードやその他の機密情報を受信トレイとチャットログから保管してください。
注記
インストール手順にスキップします。
かつての秘密は、一度だけ表示できるリンクです。使い捨てURL。
onetimesecret.comで試してみてください!
電子メールやチャットを介してパスワードやプライベートリンクなどの人々に敏感な情報を送信すると、多くの場所に保存されている情報のコピーがあります。代わりにかつてのリンクを使用する場合、情報は単一の視聴のために持続します。つまり、後で他の人が読むことはできません。これにより、1人だけが見ていることを知って、機密情報を安全な方法で送信できます。自己破壊的なメッセージのように考えてください。
これは、最新の機能とセキュリティの更新を備えた積極的に開発および維持されたバージョンです。
node.jsなしのルビー3:v0.15.0
Ruby 2.7、2.6(レガシー - サポートされていない):V0.12.1
Ruby 3+を使用して最新リリースを使用して、最高のパフォーマンス、セキュリティ、機能セットを使用することを強くお勧めします。 Legacy Ruby 2.xバージョンは参照のみで提供されており、生産環境では避ける必要があります。
dockerを使用してonetretを実行するには複数の方法があります。ニーズに最適な方法を選択してください。
GitHubコンテナレジストリとDocker Hubの両方で事前に構築された画像を提供しています。
# Pull from GitHub Container Registry
docker pull ghcr.io/onetimesecret/onetimesecret:latest
# OR, pull from Docker Hub
docker pull onetimesecret/onetimesecret:latest自分で画像を作成したい場合:
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker build -t onetimesecret . マルチアーキテクチャサポートを必要とする環境の場合:
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker buildx build --platform=linux/amd64,linux/arm64 . -t onetimesecretまた、Dockerイメージの「Lite」バージョンも提供しています。これは、より迅速な展開とリソースの使用量を削減するために最適化されています。 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 .Lite Docker Imageの詳細については、docker-lite.mdドキュメントを参照してください。
画像の取得方法または構築方法に関係なく、次の手順に従ってoneTimeCretを実行します。
Redisコンテナを起動します:
docker run -p 6379:6379 -d redis:bookworm必須環境変数を設定します。
export HOST=localhost:3000
export SSL=false
export [email protected]
export REDIS_URL=redis://host.docker.internal:6379/0
export RACK_ENV=production注: COLONEL変数は、管理者アカウントのメールを設定します。これは、システム管理者を表す「大佐」(担当者)と「カーネル」(Linuxのように)の遊び心のある組み合わせです。
OnetimeCret容器を実行します。
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注: onetimesecret/onetimesecret:latestしてください。
oneTimeseCretはhttp://localhost:3000で実行され、アクセスできるようになりました。
ああ、はい、古典的なsudoパラドックス!これがこれを明確に処理する私の試みです:
このガイドは、既存の開発環境で作業している場合でも、新鮮なシステムから始まるかどうかにかかわらず、手動で手動でインストールすることをカバーしています。
必要なコンポーネント:
まず、必要な依存関係があるかどうかを確認します。
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+新鮮なシステムインストールについては、次の手順に従ってください。
重要
最小システム(新鮮なDebianコンテナのような)で始まる場合は、最初にsudoをインストールします。
# Only if starting as root on a minimal system
apt update && apt install -y sudoシステムの依存関係をインストールします:
# 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 start注: SUDOを使用してPNPMをインストールする際に監査関連のエラーが表示された場合、これは監査機能が限られているコンテナまたは最小システムで正常です。
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.yaml2つの方法でアプリケーションを実行できます。
フロントエンドの変更なしで生産または開発に最適:
pnpm run build:localetc/config.yamlでfalseに設定します。 :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 startライブリロードのあるアクティブなフロントエンド開発に最適:
etc/config.yamlの開発モードを有効にします:
:development :
:enabled : trueメインサーバーを開始します:
RACK_ENV=development bundle exec thin -R config.ru -p 3000 startVite Devサーバーを起動します(別の端末):
pnpm run dev開発モード(オプションB)で実行するとき、アプリケーションはViteのDEVサーバーを使用して、動的なアセットロードとホットモジュールの交換を行います。これがどのように機能しますか:
開発モード( development.enabled: true )では、アプリケーションは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}}生産モード( development.enabled: false )では、事前に構築された静的資産を使用します。
{{^frontend_development}}
{{{vite_assets}}}
{{/frontend_development}}このセットアップにより、フロントエンド開発中のホットモジュールの交換やインスタントアップデートなどの機能が可能になり、生産で最適なパフォーマンスが確保されます。
OneTimeseCretには、すべてのインストールにconfig.yamlファイルが必要です。環境変数を使用して特定の設定をオーバーライドできますが、 config.yamlファイルは常に存在する必要があります。
構成ファイルを作成します。
cp -p ./etc/config.example.yaml ./etc/config.yaml必要に応じて、 ./etc/config.yaml config.yamlを確認して編集します。少なくとも、シークレットキーを更新して、しっかりとバックアップします。
./etc/config.yamlファイルは、プライマリ構成方法です。 ERB構文を使用して環境変数を組み込み、柔軟な構成を可能にします。
---
:site :
:host : <%= ENV['HOST'] || 'localhost:7143' %>
:domains :
:enabled : <%= ENV['DOMAINS_ENABLED'] || false %>この形式で:
HOSTなど)が設定されている場合、その値が使用されます。 config.yamlで構成する重要な領域:
迅速なセットアップまたはコンテナの展開については、環境変数を使用して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 Dockerセットアップやローカル開発など、さまざまな展開シナリオについては、 .envファイルを使用して環境変数を設定できます。
.envファイルを作成します。
cp -p .env.example .env目的の構成で.envファイルを編集します。
使用法はセットアップに依存します。
ローカル開発の場合は、アプリケーションを実行する前に変数をロードします。
set -a
source .env
set +a Dockerの展開には、 --env-fileオプションを使用できます。
docker run --env-file .env your-image-namedocker-composeでは、docker-compose.ymlで.envファイルを指定できます。
services :
your-service :
env_file :
- .env.ENVファイルは汎用性が高く、さまざまな展開シナリオで使用でき、環境変数の管理方法に柔軟性を提供します。
config.yamlファイルは常に必要です。.envファイルメソッドのいずれかを選択して、両方ではなく選択します。config.yamlから環境変数参照を削除すると、configのリテラル値のみが使用されます。 重要
SECRETキーの安全な値を環境変数として、またはetc/config.yamlでsite.secretとして使用します。設定したら、この値を変更しないでください。安全なオフサイトの場所にバックアップを作成して保存します。秘密を変更すると、既存の秘密の復号化が妨げられる可能性があります。
使用可能な構成オプションの完全なリストについては、 config.example.yamlファイルのコメントを参照してください。
安全でランダムな256ビット(32バイト)シークレットキーを生成するには、OpenSSLで次のコマンドを使用できます。
openssl rand -hex 32 OpenSSLがインストールされていない場合は、 ddコマンドをフォールバックとして使用できます。
dd if=/dev/urandom bs=32 count=1 2> /dev/null | xxd -p -c 32注: ddコマンドは合理的な代替手段を提供しますが、OpenSSLを使用することを暗号化するために推奨されます。
エラーが発生した場合、「コンテナ名 '/oneTimesecret」がすでに使用されています」:
# If the container already exists, you can simply start it again:
docker start onetimesecret
# OR, remove the existing container
docker rm onetimesecretコンテナを取り外した後、通常のdocker runコマンドを再度実行できます。
Dockerの構成セットアップについては、専用のDocker Compose Repoを参照してください。
デバッグモードで実行するには:
ONETIME_DEBUG=true bundle exec thin -e dev start開発モードでViteサーバーを実行すると、ファイルが変更されると自動的にリロードされます。 RACK_ENVがdevelopmentまたはdevelopment.enabledに設定されていることfalse確認しますetc/config
コードの品質を維持するために、 pre-commitフレームワークを使用します。セットアップするには:
事前コミットのインストール:
pip install pre-commitgitフックを取り付けます:
pre-commit installこれにより、コミット前のフックが各コミットの前に実行され、コードの品質と一貫性の維持に役立ちます。
画像のレイヤーを表示し、ビルドを最適化するには、次を使用します。
docker history < image_id >生産に展開するときは、次のことを確認してください。
例の展開の例:
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
onetimesecretすべての機密情報が適切に保護されており、展開スクリプトや環境に露出していないことを確認してください。
このセクションでは、プロジェクトに似たサービスの概要を説明し、独自の機能と比較方法を強調しています。これらの代替案は、特定の機能を探しているユーザーや、同じドメイン内のさまざまなオプションを探索したいユーザーに役立つ場合があります。この情報を提示することにより、ユーザーに安全な情報共有スペースで利用可能なオプションの包括的なビューを提供することを目指しています。
注:私たちの社内弁護士(Codium-Pr-Agent-Pro Bot)は、最後にこの紹介と免責事項を追加することを提案しました。
| URL | サービス | 説明 | 特徴的な機能 |
|---|---|---|---|
| https://pwpush.com/ | パスワードプッシャー | ブラウザCookieを使用してパスワードやその他の機密情報を共有するのに役立つツール。 | パスワード共有のための一時的な自己破壊リンク |
| https://scrt.link/en | 秘密を共有します | 機密情報を匿名で共有できるサービス。ジャーナリスト、弁護士、政治家、内部告発者、抑圧された個人にとって重要です。 | 匿名の自己破壊的なメッセージ共有 |
| https://cryptgeon.com/ | 暗号 | 秘密とパスワードを安全に共有するためのサービス。 | シークレットジェネレーター、パスワードジェネレーター、およびシークレットボールトを提供します |
| https://www.vanish.so/ | 消えます | 秘密とパスワードを安全に共有するためのサービス。 | 強い暗号化を備えた自己破壊メッセージ |
| https://password.link/en | password.link | 機密情報を安全に送信および受信するためのサービス。 | 機密情報共有のためのセキュアリンク作成 |
| https://sebsauvage.net/ | sebsauvage.net | さまざまな情報とサービスを提供するウェブサイト。 | 盗まれたコンピューターを回復するソフトウェア |
| https://www.sharesecret.co/ | 共有秘密 | Slackと電子メールでパスワードを安全に共有するためのサービス。 | Slackおよび電子メール統合でパスワード共有を保護します |
| https://teampassword.com/ | TeamPassword | チームのパスワードマネージャー。 | 高速で使いやすく、安全なチームパスワード管理 |
| https://secretshare.io/ | 秘密の共有 | パスワードを安全に共有するためのサービス。 | 輸送および安静時のデータの強力な暗号化 |
| https://retriever.corgea.io/ | レトリバー | 秘密を安全に要求するためのサービス。 | 暗号化による秘密の要求と検索を確保します |
| https://winden.app/s | 風車 | 秘密とパスワードを安全に共有するためのサービス。 | エンドツーエンドの暗号化でファイルを安全に転送します |
| https://www.snote.app/ | スノーテ | エンドツーエンド暗号化を備えたプライバシー重視のワークスペース。 | プロジェクト、To-Dos、タスク、共有ファイルに関する安全なコラボレーション |
| https://www.burnafterreading.me/ | 読んだ後に燃えます | さまざまな種類の機密情報を共有するためのサービス。 | Diceware PassPhrase暗号化を使用した自己破壊メッセージ |
| https://pvtnote.com/en/ | pvtnote | プライベートで自己破壊するメッセージを送信するためのサービス。 | 自己破壊的なメッセージでクリーンデザイン |
| https://k9crypt.xyz/ | k9crypt | 安全で匿名のメッセージングプラットフォーム。 | 2時間のメッセージ削除によるエンドツーエンドの暗号化 |
Cohere Command R+によって要約、フェッチ、および照合され、Claude 3.5 Sonnetによってフォーマットされ、Github Copilotが校正しました。
このリストにこれらのサービスを含めることは、承認を意味するものではありません。ユーザーは、特に機密情報を処理する場合、リストされているサービスを使用する前に、独自の研究とデューデリジェンスを実施することをお勧めします。