A lightweight and secure "One Time Secret" solution for sharing sensitive information safely.
- One-Time Access: Secrets are automatically deleted after being viewed
- Expiration Times: Set secrets to expire after 1 hour, 1 day, or 1 week
- Simple Interface: Clean, dark-themed Bootstrap UI
- Copy Functionality: Easy copy buttons for both secret links and content
- Access Control: Optional IP-based authentication for creating secrets
- Docker Ready: Quick deployment with Docker and Docker Compose
- SQLite Backend: Lightweight database with no additional dependencies
The easiest way to get started is using Docker:
# Pull the image
docker pull roura/simple-ots
# Run the container
docker run -p 80:80 roura/simple-ots
Or using the provided Docker Compose file:
# Clone the repository
git clone https://github.com/rouralberto/simple-ots.git
cd simple-ots
# Start the service
docker-compose up -d
Then navigate to http://localhost
in your browser.
- Enter your sensitive information in the "Secret" field
- Select an expiration time (1 hour, 1 day, or 1 week)
- Click "Create Secret"
- Share the generated URL with the intended recipient
- Open the shared URL
- Click the link to view the secret
- The secret will be displayed only once and then permanently deleted
- Use the copy button to safely copy the content to your clipboard
To restrict who can create secrets, set the AUTH_IPS
environment variable to a comma-separated list of allowed IP addresses:
environment:
AUTH_IPS: 1.1.1.1,8.8.8.8
To set up a development environment:
# Clone the repository
git clone https://github.com/rouralberto/simple-ots.git
cd simple-ots
# Edit docker-compose.yml to mount your local directory
# Start the container
docker-compose up
This project is licensed under the terms of the LICENSE file included in the repository.
Contributions are welcome! Feel free to open issues or submit pull requests.