Skip to content

Latest commit

 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

txt365

🌐 Live Demo: https://txt365.bryansoft.app/ | 中文說明 (Traditional Chinese)

txt365 is a minimalist, lightning-fast cloud notepad built on Cloudflare Workers and D1 database. It embraces the philosophy of "The URL is your note" — no registration, no tracking, just instant productivity.

Features

  • 🚀 Instant Use: Just type a URL and start writing. Copy the URL to share or access your note across devices.
  • 🆔 Flexible Note ID: Supports 2~32 characters (Chinese, English, numbers, hyphens, underscores, and dots).
  • 🔒 Military-Grade Encryption: Optional password protection featuring Client-side PBKDF2 (600,000 iterations, OWASP 2024 standard) + Server-side SHA-256 double hashing with dynamic salt.
  • 🎨 Stateful Glow UI: Ambient border glow and smooth sliding text transitions reflecting real-time sync states.
  • 🗑️ One-Click Deletion: Safely clear and delete notes from the database with confirmation prompts.
  • 🤌 Pinch-to-Zoom Gesture: Seamless touch-gesture font sizing on mobile devices without breaking viewport layout.
  • 🌓 Smart Dark Mode: Automatically adapts to your system's appearance with theme-adaptive SVG logo.
  • Rolling TTL (Time-To-Live): Notes are automatically kept for 365 days after their last update. Inactive notes are cleared automatically to save space.
  • 🌐 Multi-Language Support: Built-in support for 6 languages (EN, zh-TW, zh-CN, JA, VI, TH) with automatic locale detection.
  • 📖 Read Mode URL Hash (#r): Appending #r to the URL (e.g. https://txt365.bryansoft.app/about#r) opens the note directly in Read Mode.
  • ⌨️ Keyboard Shortcuts: Built-in shortcuts for Instant Save (Ctrl+S), New Note (Alt+N), Reading Mode (Alt+R), and Auto Format (Alt+D / Ctrl+Shift+D).
  • 🛠️ Developer Friendly: Built-in monospace fonts, Markdown reading mode, and an intelligent formatter for JSON, JWT, SQL, and HTML.
  • 📱 Responsive Design: Elegant bottom action bar for mobile devices with desktop smart auto-focus.
  • Zero-Build Frontend: A single, beautifully crafted index.html dynamically served by Cloudflare Workers.

Architecture

  • Backend: Cloudflare Workers
  • Database: Cloudflare D1 (Serverless SQLite)
  • Frontend: Vanilla HTML / CSS / JavaScript (No frameworks, pure speed)

Deployment Guide

You can easily deploy your own instance of txt365 using Cloudflare.

1. Prerequisites

  • Node.js installed on your machine
  • A Cloudflare account
  • Wrangler CLI installed (npm install -g wrangler)

2. Setup D1 Database

Create a new D1 database for your project:

npx wrangler d1 create txt365-db

Wrangler will output the database_id. Copy this ID.

3. Configure wrangler.toml

Open wrangler.toml in the project root and replace YOUR_D1_DATABASE_ID with the ID you just copied.

[[d1_databases]]
binding = "DB"
database_name = "txt365-db"
database_id = "YOUR_D1_DATABASE_ID"

4. Initialize the Database Schema

Execute the schema SQL file against your new D1 database to create the required tables:

npx wrangler d1 execute txt365-db --file=./schema.sql --remote

5. Deploy to Cloudflare

Deploy your worker to Cloudflare's edge network:

npx wrangler deploy

That's it! Your private instance of txt365 is now live on the internet.

Local Development

If you want to run txt365 locally for testing or modification:

  1. Initialize local database:
npx wrangler d1 execute txt365-db --file=./schema.sql --local
  1. Start the development server (available on your local network):
npx wrangler dev

The server will be available at http://localhost:8787 (or your local IP address).

License

MIT License

About

An instant, cookie-free, and account-free note-taking service. 極簡、無 Cookie、隨開即用的線上隨手記服務

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages