A Privacy focused, easy sharable, open source and trackingless diff viewer.
MIT License
A diff viewer that gives you sharable diff view links but does not store your data. (This takes inspiration from typescript playground how it stores your code in url itself) but the for very large data we will be doing end to end encryption just like excalidraw
so you can still have sharable links without worrying if you should store your enterprise data or not.
You can take a look at the source code itself. All your data is kept as hash fragment in URL which never makes its way to server. Totally avoiding man in middle and XSS attacks to steal your data or any data breach. The data always stays in your URL and browser and never makes its way on the wire. Thats the main motive behind developing this tool. More about reasoning, why and how can be found in Motivation section below.
I realise we are missing a diff viewer that is
I realise as a developer community we are missing on a diff viewer tool that does not store your data on their server to give you links to diff view to share with your teams. There can be serious implications of storing your enterprise data on some server that you don’t know anything about.
Also current diff tools lack one major ability that is to compare any two text blocks. Many diff viewers out there target specific text types like JSON etc which is not what we want most of the time.
Also due to lack of such tool, if you want to see the the diff again you have to do the following
This is still a mechnical part that can be easily automated. But most such tools out there right now store your data to give you sharable diff URLs which was a concerning thing at least for me for security reasons.
The simplest solution in my opinion will be
In the chase of one such tool I ended up creating one as I did not find any that satisfied my requirements. This is open source and has very easy user interface. Here is the link to the tool https://diffviewer.vercel.app/ It has following benefits
Here is a link to sample diff view
Please check all To dos and upcoming things here
# install dependencies
$ npm install
# serve with hot reload at localhost:3000
$ npm run dev
# build for production and launch server
$ npm run build
$ npm run start
# generate static project
$ npm run generate
This guide provides detailed instructions on how to self-host the offline-diff-viewer application using Docker and Docker Compose. Self-hosting allows you to run the application on your own server, providing you with full control over its environment and configuration.
$ docker build -t offline-diff-viewer .
$ docker run -d \
--name offline-diff-viewer \
-p 3000:80 \
--security-opt no-new-privileges:true \
-v /var/log/nginx:/var/log/nginx \
--restart unless-stopped \
-e NODE_ENV=production \
-e NODE_OPTIONS=--openssl-legacy-provider \
offline-diff-viewer
$ docker compose up -d --build