Well fucking done. I wanted to build this ~5 years ago, but nodejs wasn't mature enough. I tried in Java but doing your own UPnP implementation is no fun.
Thanks! Yeah nodejs streams and async IO seemed like an ideal use case for this type of tool, plus I wanted to have the easiest approach to passing files between 2 people as possible (we use it at work all the time). Obv a lot has happened in 5 years with nodejs, so I realize it was likely an order of magnitude easier for me to get up-and-running in the last couple months with this tool than it would've been for you 5 years ago haha.
Thanks for the heads up on the name clash (obviously never heard of the TXR language before this). I named it based on a couple of factors being 1. something that's easy to remember and makes sense (txr ~ transfer) and 2. the NPM module name wasn't taken yet :)
I can change the name, but our projects are pretty much totally different and I'm not trying to make any money off this tool so would prefer to just leave it as is if it won't confuse too many people.
In 2009, I didn't rely on what I heard of or hadn't heard of; I googled very thoroughly before naming my project and its principal executable.
A name clash is a problem for any FOSS distro that builds both packages. People don't directly choose and use everything that is installed in a distro. A lot of is is pulled in by dependencies, for instance.
Interresting but it really doesn't seem that simple. I usually just use rsync whenever I need to move some stuff from one machine to the other.
I can't really take your word for it that you won't store any files, furthermore that might not even be legal, depedending on your country you must log transactions as a service provider.
What about SSL / encryption if you want to run the server your self, I took a peek at the source code and it be nice if certificate was configurable through the config files or ENV vars.
I think WebSockets should stay in the browser, but maybe that is just me being pedantic.
Thanks for the feedback and recommendations. I agree I could add support for an SSL cert to be used within the express server (today the Heroku dyno is just using Let's Encrypt, which is abstracted from the app itself). I imagine I could add this over a weekend that I have time in the near future.
> Interresting but it really doesn't seem that simple...
Thanks for the feedback, but can you elaborate on how you feel it's not? I'm not sure it could get any simpler to send files than `txr listen username` and `txr send -u username -f filepath`, but I'm willing to listen. Maybe you mean setting up the server isn't simple? Even that is as easy as `txr-server` from the command line though with the package installed...
> I can't really take your word for it that you won't store any files...
I appreciate this sentiment, but that's why the server component is included in the package. If you don't trust the default server on Heroku (which is primarily just for someone to quickly gain an understanding of how to use it, not to actually use permanently moving forward), set up a server on your machine or local network and use it instead :)
8 comments
[ 0.22 ms ] story [ 30.7 ms ] threadI can change the name, but our projects are pretty much totally different and I'm not trying to make any money off this tool so would prefer to just leave it as is if it won't confuse too many people.
In 2009, I didn't rely on what I heard of or hadn't heard of; I googled very thoroughly before naming my project and its principal executable.
A name clash is a problem for any FOSS distro that builds both packages. People don't directly choose and use everything that is installed in a distro. A lot of is is pulled in by dependencies, for instance.
Would it make sense to pair this with WireGuard, to provide end-to-end encrypted file transfer?
If we setup a WireGuard connections between two nodes, then run the server and client through this link, it should work seamlessly, right?
I can't really take your word for it that you won't store any files, furthermore that might not even be legal, depedending on your country you must log transactions as a service provider.
What about SSL / encryption if you want to run the server your self, I took a peek at the source code and it be nice if certificate was configurable through the config files or ENV vars.
I think WebSockets should stay in the browser, but maybe that is just me being pedantic.
> Interresting but it really doesn't seem that simple...
Thanks for the feedback, but can you elaborate on how you feel it's not? I'm not sure it could get any simpler to send files than `txr listen username` and `txr send -u username -f filepath`, but I'm willing to listen. Maybe you mean setting up the server isn't simple? Even that is as easy as `txr-server` from the command line though with the package installed...
> I can't really take your word for it that you won't store any files...
I appreciate this sentiment, but that's why the server component is included in the package. If you don't trust the default server on Heroku (which is primarily just for someone to quickly gain an understanding of how to use it, not to actually use permanently moving forward), set up a server on your machine or local network and use it instead :)