將密碼和其他敏感信息保留在收件箱中,並聊天日誌。
筆記
跳過安裝說明。
一個曾經的秘密是只能查看一次的鏈接。一次性URL。
在Onetimesecret.com上嘗試一下!
當您通過電子郵件或聊天向人們發送敏感信息(例如密碼和私人鏈接)時,在許多地方存儲了這些信息的副本。如果您使用Onime鏈接,則單個查看的信息持續存在,這意味著以後別人無法閱讀它。這使您可以安全地發送敏感信息,因為一個人只會看到它。將其視為自我毀滅的信息。
這是具有最新功能和安全更新的積極開發和維護版本。
Ruby 3無節點:v0.15.0
Ruby 2.7,2.6(遺產 - 不支持):V0.12.1
我們強烈建議將最新版本與Ruby 3+一起使用,以獲得最佳性能,安全性和功能集。傳統紅寶石2.x版本僅提供參考,應在生產環境中避免。
有多種使用Docker運行OneTimesEcret的方法。選擇最適合您需求的方法:
我們在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 Image的“ 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圖像的更多信息,請參閱Docker-lite.md文檔。
無論您如何獲得或構建圖像,都可以按照以下步驟運行OneTimesEcret:
啟動一個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中)的好玩的組合。
運行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注意:替換onetimesecret/onetimesecret:latest圖像名稱。
OnetimesEcret現在應在http://localhost:3000上運行並可以訪問。
啊,是的,經典的蘇多悖論!這是我清楚處理這一點的嘗試:
本指南涵蓋了手動安裝Onetimesecret,無論您是使用現有開發環境還是從新鮮系統開始。
所需的組件:
首先,驗證是否具有所需的依賴項:
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.yaml您可以通過兩種方式運行該應用程序:
最適合無前端變化的生產或開發:
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 start最適合活躍的前端開發,並進行現場重新加載:
在etc/config.yaml中啟用開發模式:
:development :
:enabled : true啟動主服務器:
RACK_ENV=development bundle exec thin -R config.ru -p 3000 start啟動Vite Dev Server(在單獨的終端中):
pnpm run dev在開發模式下運行(選項B)時,應用程序使用Vite的Dev Server進行動態資產加載和熱模塊更換。這是其工作原理:
在開發模式( 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}}該設置啟用了諸如Hot Module更換和前端開發過程中的即時更新之類的功能,同時確保生產的最佳性能。
OneTimesEcret需要所有安裝的config.yaml文件。環境變量可用於覆蓋特定的設置,但是config.yaml文件必須始終存在。
創建配置文件:
cp -p ./etc/config.example.yaml ./etc/config.yaml根據需要查看和編輯./etc/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-name在Docker-Compose中,您可以在docker-compose.yml中指定.env文件:
services :
your-service :
env_file :
- .env.ENV文件用途廣泛,可用於各種部署場景,為您管理環境變量的方式提供了靈活性。
config.yaml文件。.env文件方法,但不是兩者都避免混淆。config.yaml中刪除環境變量引用,則僅使用配置中的文字值。 重要的
使用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在etc/config中啟用為false 。
我們使用pre-commit框架來維持代碼質量。設置它:
安裝預加入:
pip install pre-commit安裝git鉤:
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-Pro-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/ | Snote | 具有端到端加密的以隱私為重點的工作區。 | 確保在項目,待辦事項,任務和共享文件上進行協作 |
| https://www.burnafterreading.me/ | 閱讀後燃燒 | 用於共享各種敏感信息的服務。 | 使用Diceware Passphrase加密的自我毀滅消息 |
| https://pvtnote.com/en/ | pvtnote | 用於發送私人自毀消息的服務。 | 與自毀消息的清潔設計 |
| https://k9crypt.xyz/ | k9crypt | 一個安全且匿名的消息平台。 | 帶有2小時消息刪除的端到端加密 |
由Cohere Command R+進行了總結,獲取和整理,由Claude 3.5十四行詩格式,並由Github Copilot進行了校對。
將這些服務納入此列表並不意味著認可。鼓勵用戶在使用任何列出的服務之前,尤其是在處理敏感信息時進行自己的研究和盡職調查。