HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
prettydiff
share-file-systems
TypeScript2019–2026
prettydiff / share-file-systems

share-file-systems

Use a Windows/OSX like GUI in the browser to share files cross OS privately. No cloud, no server, no third party.

4Distinct people
65Mentions
1Explicit recommenders
146GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Use a Windows/OSX like GUI in the browser to share files cross OS privately. No cloud, no server, no third party.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I started learning JavaScript in 2008. Back then the popular validation tool was JSLint whose motto is: JSLint will hurt your feelings. The idea is that under the sloppiness of…

austincheney used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year65 dated mentions

Observed mentions: 2019-12-31 05:40:38 UTC to 2026-05-05 09:26:18 UTC.

051015202019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 17 mentions; 1 submissions, 16 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 14 mentions; 0 submissions, 14 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 22 mentions; 0 submissions, 22 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC505
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC17116
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC14014
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC22022
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC404
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

65 sources
If anybody needs a practical launching point to study distributed systems maybe I can help. I have a browser/Node.js application that I worked on for several years that is a browser based peer-to-peer file system sharing tool. The application is massive in size, but its easy to tinker with, the build takes about 8 seconds, and the test automation is decent enough for anybody interested to get started. The idea is to invert the transmission model of the web from anonymous connections towards a server instead to trusted connections between owned computers and even restricted connections to different users (and their various devices) all in real time using sockets and streams and a tiered distribution model. https://github.com/prettydiff/share-file-systems I am currently working on a web server application that allows spinning up many diff
Read the rest
erent web servers quickly and a monitoring dashboard that shows the various servers, their connected sockets, port management, and various other things. This all started with the idea that you can proxy and redirect anything super efficiently where a proxy in Node.js is as simple as: proxy.pipe(socket);socket.pipe(proxy);
In Ask HN: Is distributed systems research slowing down?
Try looking at my prior personal project: https://github.com/prettydiff/share-file-systems Imagine loading a large dynamically populated page in the browser with state restoration fully executed as faster than 80ms. I describe that in great detail here: https://github.com/prettydiff/wisdom I built an original test automation engine for that application because I needed something that supported command and control across multiple computers in the browser for a peer-to-peer environment. On just a single computer it achieved 300 points of evaluation in less that 8 seconds with full file system execution from the browser. The application also demonstrated an OS-like GUI in the browser that achieved accessibility with full file system display. Here are the key insights I employed: * Less is more. Focus on architecture with an obsession on simp
Read the rest
licity and reuse even if greatly inconvenient. That often required an irrationally high level of refactoring. * Speed is an understanding of tree models and transmission and nothing more. Always navigate tree models where they are available, such as the file system and the DOM, in preference to string parsing. String parsing, in any form, is a performance killer. Binary payloads and bidirectional communication are vastly superior to HTTP in every conceivable scenario. * Other UI developers are cowardly. Don’t let that limit your ambition. Don’t listen to a bunch of bullshit cliches. Measure things and execute according to evidence. Reinvent absolute everything you see fit, and yes it will make other UI developers cry. Real world users don’t care about the sad tears of your peers.
In Ask HN: How can I improve UI dev skills? Looking for real-world examples
The JavaScript object will be garbage collected as seen fit by the corresponding JavaScript run time irrespective of whether the associated node remains attached to its document. That is challenging to observe when using event listeners, as opposed to assigning events directly to handlers, because listeners interfere with garbage collection. Furthermore, this almost impossible to observe when abstracted by large frameworks. As for a demo I am currently out of town without a computer, but you can use this project to perform experimental qualifiers: https://github.com/prettydiff/share-file-systems That project forms an OS like GUI in the browser without listeners and eliminates most non-locally scoped DOM node references in the event handlers. This allows for localized event handlers with localized DOM node references that are always ready
Read the rest
for garbage collection. This also allows state restoration of greater than 10,000 DOM nodes without a large increase in load time and without increased memory consumption. So instead of normal page load with state restoration of about 80ms blowing up to 10,000 nodes could take up to 300+ms. If you want to achieve extreme performance, in any language, you must absolutely understand your compile target. The compile target of the browser is the DOM. You could also try it on my website which has far less functionality but allows rapid experimentation of the state management. http://prettydiff.com
In HTML Attributes vs. DOM Properties
Some things I learned about trusted localhost HTTPS: * Windows is the easiest... by far. There is only one trust store and its extremely easy to access at different levels of trust. Firefox has its own trust store so you can either add your certs to both the Windows store AND the Firefox trust store or flip a config in Firefox to tell it to use the Windows trust store like everyone else. * Linux is a challenge because you have to add your certificates to the OS trust store and then each browser has their own trust stores. * MacOS is pretty close to impossible, at least fully automated. If the cert is not registered with a third party of the OS's choosing the cert will not be trusted in the browser. The way around this is to manually add your localhost cert chain to the MacOS keychain. If anybody wants an example here is something I wr
Read the rest
ote a ways back in JS (but please be warned its specific to my application: * Build the certificate chain - https://github.com/prettydiff/share-file-systems/blob/master... * Install the cert by OS type - https://github.com/prettydiff/share-file-systems/blob/master... That second sample also installs pcap so that I can serve on localhost over ports 80/443.
In Lcl.host: fast, easy HTTPS in your local dev environment
Some developers believe everything is always a framework or any attempt to avoid frameworks creates a new framework. I cannot help these people. Any non-religion is a cult type nonsense of affirming the consequent fallacy. Otherwise a valid example is this one file that creates a complete OS-like GUI in the browser awaiting content typically populated from WebSocket messaging: https://github.com/prettydiff/share-file-systems/blob/master...
In We have used too many levels of abstractions
If you need to perform real time messaging between two servers use either RPC or WebSockets. These are bidirectional messaging in binary without a round trip or large plain text header. What the data is, where it comes from, or how its generated is completely irrelevant to the transmission. I have a Node.js app written specifically for this scenario. You can try my app to see if it solves for your use case. It is designed right now to support file system streaming, text messaging, status messaging, and so forth. It can be supported to messaging anything you need. Remote instruction execution will require more effort for security reasons. https://github.com/prettydiff/share-file-systems
In Ask HN: Best way to open up an internal API between your two servers

Showing the 15 most recent of 65 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.