⚠️ It's an alpha release, use it at your own risk
After many years of searching for a good document tool that is simple, secure and modern, I decided to develop it. NightWriter offers simple, secured by end-to-end encryption and real-time collaborative editing.
Markdown is the markup language. As NightWriter exports your documents in markdown, you can easily convert them in many formats. For example, if you want convert into a docx file, you can use my other project MDdot
The end to end encryption is based on RSA and AES 256. When you create your account, a keypair is generated and the stored private key is encrypted by your master password. Documents are encrypted by AES 256 and the key is encrypted with the public key of the user or the group before to be send to the server.
The server never knows the passwords or even the content of your documents.
The cryptography implementation is done by Forge which is widely used.
NightWriter is built on Go, Gin and GORM for the backend and Vue3, Tui.Editor and tailwindcss for the front.
- Go (in 1.16.x)
- Node (in 16.x) & npm (in 7.x)
Clone this repository and execute:
cd NightWriter
docker-compose up -d
cd front
npm install .
npm run build
cd ../server
cp ../front/dist .
go build
Enjoy !
The frontend uses vitejs
Prequesite: node 16.x
cd front
npm intall .
npm run .
Prequesite: go 1.16+
cd server
go run .
Prequesites: Docker and Docker Compose
- Clone the repo :
git clone https://github.com/Titanexx/NightWriter && cd NightWriter - Launch the server:
- Build the frontend :
docker-compose run frontend - Start the server :
docker-compose up" (or "docker-compose up -d" if you want detach it)
- Build the frontend :
- Rebuild the server:
docker-compose stopdocker-compose build serverdocker-compose up
- Rebuild the frontend:
docker-compose run frontenddocker-compose restart
You need 2 terminals, one for the frontend and the other for the server.
Once your are inside each folder (front and server), run : docker-compose up
The docker for the front has hotreloading but not the server's docker. You need to stop it and run again at each modifications.
NightWriter is dual-licensed - Copyright 2021 Titanex
If you want commercialize service which include NightWriter, you need a commercial, non-free license. If you want a direct support or specific development, you need a non-free license. Otherwise, NightWriter can be used without charge under the terms of GPLv3.
- Add user panel
- Add groups
- Add templates
- Add an encryption for the local private key in localstorage (Avoid the cleartext inside the localstorage)
You can contribute to the project. There is still a lot to do and I have many ideas for the future. You can support by buying ☕, 🍵 or 🍻 https://www.buymeacoffee.com/titanex
Other support ways are coming.
As I used many awesome open source project, I want support some of them. As the project requires a significant investment of time, even a simple coffee will help me to continue the development.
