เก็บรหัสผ่านและข้อมูลที่ละเอียดอ่อนอื่น ๆ จากกล่องจดหมายและบันทึกการแชทของคุณ
บันทึก
ข้ามไปยังคำแนะนำการติดตั้ง
ความลับเพียงครั้งเดียวคือลิงค์ที่สามารถดูได้เพียงครั้งเดียว URL แบบใช้ครั้งเดียว
ลองใช้ onetimesecret.com!
เมื่อคุณส่งข้อมูลที่ละเอียดอ่อนของผู้คนเช่นรหัสผ่านและลิงก์ส่วนตัวผ่านอีเมลหรือแชทจะมีสำเนาของข้อมูลที่เก็บไว้ในหลาย ๆ ที่ หากคุณใช้ลิงก์เพียงครั้งเดียวข้อมูลยังคงมีอยู่สำหรับการดูเพียงครั้งเดียวซึ่งหมายความว่าคนอื่นไม่สามารถอ่านได้ในภายหลัง สิ่งนี้ช่วยให้คุณสามารถส่งข้อมูลที่ละเอียดอ่อนได้อย่างปลอดภัยเมื่อรู้ว่ามีคนคนหนึ่งเห็นเท่านั้น คิดว่ามันเหมือนข้อความทำลายตัวเอง
นี่คือเวอร์ชันที่ได้รับการพัฒนาและบำรุงรักษาอย่างแข็งขันด้วยคุณสมบัติล่าสุดและการอัปเดตความปลอดภัย
Ruby 3 ไม่มี node.js: v0.15.0
ทับทิม 2.7, 2.6 (มรดก - ไม่รองรับ): v0.12.1
เราขอแนะนำอย่างยิ่งให้ใช้รีลีสล่าสุดกับ Ruby 3+ เพื่อประสิทธิภาพที่ดีที่สุดความปลอดภัยและชุดคุณสมบัติ รุ่นเก่าทับทิม 2.x มีให้สำหรับการอ้างอิงเท่านั้นและควรหลีกเลี่ยงในสภาพแวดล้อมการผลิต
มีหลายวิธีในการเรียกใช้ OneTimesecret โดยใช้ Docker เลือกวิธีการที่เหมาะสมกับความต้องการของคุณมากที่สุด:
เรานำเสนอภาพที่สร้างไว้ล่วงหน้าทั้งใน GitHub Container Registry และ 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 โปรดดูเอกสารประกอบ 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
อ่าใช่ Sudo Paradox คลาสสิก! นี่คือความพยายามของฉันที่จะจัดการกับสิ่งนี้อย่างชัดเจน:
คู่มือนี้ครอบคลุมการติดตั้ง 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+สำหรับการติดตั้งระบบใหม่ให้ทำตามขั้นตอนเหล่านี้:
สำคัญ
หากเริ่มต้นด้วยระบบน้อยที่สุด (เช่นภาชนะเดเบียนสด) ให้ติดตั้ง 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หมายเหตุ: หากคุณเห็นข้อผิดพลาดที่เกี่ยวข้องกับการตรวจสอบเมื่อติดตั้ง PNPM กับ Sudo นี่เป็นเรื่องปกติในคอนเทนเนอร์หรือระบบน้อยที่สุดที่ความสามารถในการตรวจสอบมี จำกัด
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 (ในเทอร์มินัลแยกต่างหาก):
pnpm run devเมื่อทำงานในโหมดการพัฒนา (ตัวเลือก B) แอปพลิเคชันจะใช้เซิร์ฟเวอร์ Dev ของ Vite สำหรับการโหลดสินทรัพย์แบบไดนามิกและการเปลี่ยนโมดูลร้อน นี่คือวิธีการทำงาน:
ในโหมดการพัฒนา ( development.enabled: true ) แอปพลิเคชันโหลดสินทรัพย์แบบไดนามิกจาก Vite Dev Server:
{{#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 ตามต้องการ อย่างน้อยที่สุดให้อัปเดตคีย์ลับและสำรองข้อมูลไว้อย่างปลอดภัย
ไฟล์ ./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 คุณสามารถระบุไฟล์. ENV ใน Docker-compose.yml:
services :
your-service :
env_file :
- .envไฟล์. ENV มีความหลากหลายและสามารถใช้ในสถานการณ์การปรับใช้ต่างๆนำเสนอความยืดหยุ่นในการจัดการตัวแปรสภาพแวดล้อมของคุณ
config.yaml เสมอแม้ว่าจะใช้ตัวแปรสภาพแวดล้อม.env แต่ไม่ใช่ทั้งสองอย่างเพื่อหลีกเลี่ยงความสับสนconfig.yaml จะใช้เฉพาะค่าตัวอักษรในการกำหนดค่าเท่านั้น สำคัญ
ใช้ค่าที่ปลอดภัยสำหรับคีย์ SECRET เป็นตัวแปรสภาพแวดล้อมหรือเป็น site.secret ใน etc/config.yaml เมื่อตั้งค่าอย่าเปลี่ยนค่านี้ สร้างและจัดเก็บข้อมูลสำรองในสถานที่นอกสถานที่ที่ปลอดภัย การเปลี่ยนความลับอาจป้องกันการถอดรหัสความลับที่มีอยู่
สำหรับรายการตัวเลือกการกำหนดค่าที่มีอยู่ทั้งหมดโปรดดูที่ความคิดเห็นในไฟล์ 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 Server ในโหมดการพัฒนามันจะโหลดซ้ำโดยอัตโนมัติเมื่อไฟล์เปลี่ยนไป ตรวจสอบให้แน่ใจว่า RACK_ENV ถูกตั้งค่าเป็นการ development หรือ development.enabled ใน etc/config ถูกตั้งค่าเป็น false
เราใช้เฟรมเวิร์ pre-commit เพื่อรักษาคุณภาพรหัส เพื่อตั้งค่า:
ติดตั้งล่วงหน้า:
pip install pre-commitติดตั้ง hooks 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-Agent-Pro Bot) แนะนำให้เพิ่มการแนะนำนี้และการปฏิเสธความรับผิดชอบในตอนท้าย
| url | บริการ | คำอธิบาย | คุณสมบัติที่โดดเด่น |
|---|---|---|---|
| https://pwpush.com/ | ตัวผลักรหัสผ่าน | เครื่องมือที่ใช้คุกกี้เบราว์เซอร์เพื่อช่วยให้คุณแบ่งปันรหัสผ่านและข้อมูลที่ละเอียดอ่อนอื่น ๆ | ลิงค์ชั่วคราวทำลายตนเองสำหรับการแชร์รหัสผ่าน |
| https://scrt.link/en | แบ่งปันความลับ | บริการที่ช่วยให้คุณแบ่งปันข้อมูลที่ละเอียดอ่อนโดยไม่ระบุชื่อ สิ่งสำคัญสำหรับนักข่าวนักกฎหมายนักการเมืองผู้แจ้งเบาะแสและบุคคลที่ถูกกดขี่ | การแบ่งปันข้อความที่ไม่ระบุชื่อและทำลายตนเอง |
| https://cryptgeon.com/ | Cryptgeon | บริการสำหรับการแบ่งปันความลับและรหัสผ่านอย่างปลอดภัย | เสนอเครื่องกำเนิดความลับเครื่องกำเนิดรหัสผ่านและ Secret Vault |
| https://www.vanish.so/ | หายไป | บริการสำหรับการแบ่งปันความลับและรหัสผ่านอย่างปลอดภัย | ข้อความทำลายตัวเองด้วยการเข้ารหัสที่แข็งแกร่ง |
| https://password.link/en | รหัสผ่านลิงค์ | บริการสำหรับการส่งและรับข้อมูลที่ละเอียดอ่อนอย่างปลอดภัย | การสร้างลิงค์ที่ปลอดภัยสำหรับการแบ่งปันข้อมูลที่ละเอียดอ่อน |
| 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 | ทำให้หมดแรง | บริการสำหรับการแบ่งปันความลับและรหัสผ่านอย่างปลอดภัย | ถ่ายโอนไฟล์อย่างปลอดภัยด้วยการเข้ารหัสแบบ end-to-end |
| https://www.snote.app/ | พ่น | พื้นที่ทำงานที่เน้นความเป็นส่วนตัวพร้อมการเข้ารหัสแบบครบวงจร | การทำงานร่วมกันอย่างปลอดภัยเกี่ยวกับโครงการ to-dos งานและไฟล์ที่ใช้ร่วมกัน |
| https://www.burnafterreading.me/ | เผาไหม้หลังจากอ่าน | บริการสำหรับการแบ่งปันข้อมูลที่ละเอียดอ่อนประเภทต่างๆ | ข้อความทำลายตัวเองด้วยการเข้ารหัสข้อความรหัสผ่าน diceware |
| https://pvtnote.com/en/ | pvtnote | บริการสำหรับการส่งข้อความส่วนตัวทำลายตัวเอง | การออกแบบที่สะอาดด้วยข้อความทำลายตัวเอง |
| https://k9crypt.xyz/ | K9Crypt | แพลตฟอร์มการส่งข้อความที่ปลอดภัยและไม่ระบุชื่อ | การเข้ารหัสแบบ end-to-end ด้วยการลบข้อความ 2 ชั่วโมง |
สรุปดึงและรวบรวมโดยคำสั่ง Coely R+จัดรูปแบบโดย Claude 3.5 Sonnet และพิสูจน์อักษรโดย GitHub Copilot
การรวมบริการเหล่านี้ในรายการนี้ไม่ได้หมายความถึงการรับรอง ผู้ใช้จะได้รับการสนับสนุนให้ดำเนินการวิจัยของตนเองและตรวจสอบสถานะก่อนที่จะใช้บริการใด ๆ ที่ระบุไว้โดยเฉพาะอย่างยิ่งเมื่อจัดการข้อมูลที่ละเอียดอ่อน