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, 10:02:42 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

22 sources
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
I am performing a similar file system tree navigation asynchronously in Node.js which is just a shallow API over the C Linux FS APIs. I can see you are using opendir and closedir functions? What is the benefit from using the opendir function[1] when readdir[2] can be called on a location directly? Is the benefit that opendir returns a file descriptor for use in opening a stream to gather directory object descriptors? [1] https://man7.org/linux/man-pages/man3/opendir.3.html [2] https://man7.org/linux/man-pages/man3/readdir.3.html Your project is probably more mature but if you want an alternate approach to examine here is I have been doing it: https://github.com/prettydiff/share-file-systems/blob/master... I considering changing my use of readdir to use the withFileTypes option so that it returns a list of directory entries (objects of a
Read the rest
rtifact name and type) instead of a list of conditions to discern types like I am doing on lines 382-432.
In Bfs 3.0: The Fastest Find Yet
Solved. Solved for both Windows and Linux (Debian, Arch, Fedora). I might have unlikely solved this of OSX as well, but I am not buying Apply hardware just to test it. What my solution does is check for certificates created by the project during a build step. If the certificates don't exist it creates them, installs them in the OS, and also installs them in the browser. Installation in the browsers is required in Linux and only for FireFox in Windows. These are cert chains containing a self-signed root, intermediary CA, and a local domain cert. I have these certs configured to work with my own domains so that I can connect to a subdomain addressed to a loopback IP and the cert recognizes that domain, but the domain "localhost" works as well. Sometimes its nice to access a real domain to avoid any restrictions imposed upon accessing a
Read the rest
ddress "localhost". You just have to change the domains at the bottom of your OpenSSL option files. Here is how I solved it with vanilla TypeScript in Node.js (also requires locally installed OpenSSL): * OpenSSL option file 1 - https://github.com/prettydiff/share-file-systems/blob/master... * OpenSSL option file 2 - https://github.com/prettydiff/share-file-systems/blob/master... * Certificate library - https://github.com/prettydiff/share-file-systems/blob/master... * Certificate interface from build tool - https://github.com/prettydiff/share-file-systems/blob/master... * Certificate installation - https://github.com/prettydiff/share-file-systems/blob/master... If you have any questions just open a Github issue on the project.
In Easy HTTPS for your private networks
I am not sure why this qualifies as a front page article. To achieve color schemes in CSS only follow these steps. 1) Remove ALL color information from your CSS files and relocate that into a new CSS file only for color information. That is your default color scheme. 2) In that color scheme file prefix each rule with the same class name, possibly colorDefault. 3) Create a second color only CSS file with dark colors. This is your dark color scheme. Change the colorDefault class name to something else, possibly: colorDark. 4) Include those color files in your site using either media queries from the primary CSS or link tags in the HTML. 5) Finally add class name colorDefault to your HTML body tag. Use JavaScript to change that one class name as the user selects a different color scheme on user interaction. Here is an example: https://github
Read the rest
In CSS Only dark mode without JS

Showing the 15 most recent of 22 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.