2024.06.29

因为有些时候需要从其他人的电脑上copy点文件过来看看。

而用向日葵或者是todesk 转发速度有限很慢，

用微信之类的工具倒是满速，不过这台电脑可能不会安装微信。

用百度云等之类，先上传，在转发，就更麻烦了，不仅要先下云盘，还要上传，还要分享，分享之后，还需要我手动用百度云下载，如果这个时候我没有会员，那就不知道是猴年马月的事情了。

---

我只需要一个网速够快的服务器就可以解决这个事情。

而且分享的事情我已经解决了，通过ererything自带的文件服务器功能。

那我只需要再开一个端口，用于文件上传就可以了，这个东西用java开源的框架自带，用python的 flask 框架也可以做，而且我之前实现过。

不过想了想，我其实并不需要这些框架，为了实现这个需求太重了。我仅仅是需要一个文件可以上传和下载的文件管理器，而且是仅仅需要上传功能即可。

----

我想起之前用过的postjson 的开发的一个独立的exe, 是我之前用作这个需求的初期版本，不过后面被 everything 替换掉了。

找到这个exe，运行发现并没有办法上传，原因未知，找到这个官网都404了，提示nginx error。

----

于是求助 chatgpt ,他给我一个选择是使用pyhon 的http.server 建立一个文件服务器，这个方案看到就被否掉了，我之前做文件服务器的时候使用过，虽然只有一行脚本，但这个并不好用，首先是速度上，有限制，原因只是，就是很慢，其次是默认不支持中文，还是需要写一些代码做转换，我感觉很没有必要。

优化是肯定可行的，但为了这么一个自发性的需求，花时间研究这个很没有意义。

----

然后依次验证了几个方案，有些是要docker安装，也就是运行在linux上的，pass,有些支持windows ，**HFS** 但是文件共享并不方便，内部自称一体，还有用户管理，等乱七八糟的，先登录才能用。

---

就突然就感觉为什么这么简单的需求，没有现成的 几M的exe ，运行即可用的时候，突然想到，也是，我这个需求很奇葩，一般人也不会有一个大带宽的暴漏在公网的服务器，就算是有一般也是linux。而且端口裸漏，基本很容易被爆掉。

我应该搜索局域网工具，然后暴漏在公网即可。但是局域网一般都有更好的选择，比如SMB，FTP，HTTP 反而很小众。

---

又换了几个关键词，发现他告诉我可以使用nginx，只需要配置nginx即可。大喜过望。

因为本来我有又配nginx 在那台电脑上，按照提示，改了配置，重启，又生成了一个简单的html 和js配合上传的文件，测试，果然可以了。

多了几个，发现文件一旦超过100M, 上传就会失败。

查了查发现是 nginx的限制，继续更改配置文件。重启。失败。能上传继续卡100M

在这里折腾了两个小时，一直怀疑是我哪里没有配置好，所以失败了。

后来在一个犄角旮瘩里，看到除了配置失败，还有可能是浏览器缓存导致的。

远程了另一台电脑测试，成功。

-----

看了下网页，又感觉我需要在上传成功之后，展示文件列表。继续gpt生成，一次搞定，完美上传速度，可以吃满局域网。

----

然后我又让gpt写了c#的上传代码，测试，单线程的，上传比网页要慢。C#肯定是要优于js的，也就是依旧是我的问题。

想了想，让GPT写了一个分块上传，速度拉满了。新的问题来了，nginx的上传模块，不支持分块上传，需要我在服务端处理分块上传并在最后合并这些分块。

那不如一开始的时候就选择使用完整的后台框架，比如flask,接收的时候处理一下分块。

问题就回到了原点。

那就是取舍的问题。

不如就使用网页上传吧，C# 开一个网页，然后我远程的时候，手动上传回来就可以了。

------



