一个非常简单的 HTTP 文件服务,可以把本地的文件暴露到局域网上。
https://github.com/nanmu42/dsf
虽然python3 -m http.server
也能用,但是...
dsf
提供复制粘贴友好的宿主机 IP 和端口号,这样我就不用自己去查询了。$ dsf -h
dsf 的用法:
-port int
监听端口 (默认 8080)
-root string
文件根目录 (默认 "./")
分享当前工作目录:
$ dsf
listening on: http://127.0.0.1:8080
listening on: http://::1:8080
listening on: http://192.168.0.6:8080
listening on: http://fe80::1234:1e11:abec:5678:8080~~~~
在特定端口分享特定目录:
$ dsf -port 3000 -root ~/images
listening on: http://127.0.0.1:3000
listening on: http://::1:3000
listening on: http://192.168.0.6:8080
listening on: http://fe80::1234:1e11:abec:5678:8080
适用于 Linux, Mac 和 Windows 预编译二进制可以在这里找到: https://github.com/nanmu42/dsf/releases/
Gophers 可以这样安装:
go install github.com/nanmu42/dsf@latest
使用愉快!
MIT
1
yeqizhang 2021-03-30 12:56:43 +08:00 via Android 1
能说说实际应用场景吗?分享文件?
|
2
nanmu42 OP |
3
oott123 2021-03-30 13:11:22 +08:00 via Android 1
此时一位 darkhttpd 用户路过…
|
5
yeqizhang 2021-03-30 13:28:12 +08:00 via Android
@nanmu42 好的,谢谢,请问这个是直接在 exe 目录下直接跑命令就可,还是有个安装过程,自动配了环境变量?
|
6
Tvulin 2021-03-30 13:34:36 +08:00 1
README 里面指定端口似乎写错了...
上面给定的 3000 端口,下面写的 8080 |
7
nanmu42 OP @yeqizhang Windows 的话,推荐下载后改名`dsf.exe`,放到你的 path 里,就可以在 cmd 里执行了。
如果不是特别习惯使用命令行,也可以直接双击执行,就是参数没法调整,而且当前工作目录不好确定。 |
10
love 2021-03-30 13:46:23 +08:00 1
我现在用的是 https://github.com/svenstaro/miniserve/ 这个可以上传文件这点不错的,有时我用手机需要上传文件到电脑用这个也方便
|
11
missdeer 2021-03-30 14:05:07 +08:00 1
我也写过个类似的 https://github.com/missdeer/transfer/,支持了 http3 在某些环境下简直美滋滋
|
12
chenset 2021-03-30 14:07:36 +08:00 1
nginx 不是更简单吗
|
14
XIU2 2021-03-30 15:27:23 +08:00 1
我的一些小项目中附带的 Pages 需要在 git push 前预览一下网页效果。
因为是 Windows 系统,所以平时我都是用 Caddy,试了下你这个效果一样(连命令行参数都一样)。 不过 Caddy 的有 20 MB (感觉有点大材小用),你这个就 4.40 MB~ |
15
jerrodpoole 2021-03-30 15:29:28 +08:00 1
rclone.exe serve http --addr :8080 --user admin --pass password e:/
↑一直用 rclone,也是一条命令搞定支持。也支持 serve webdav/sftp/dlna/ftp 等等 |
16
JustSong 2021-03-30 16:03:45 +08:00 1
我之前也用 Go 写了一个,供参考: https://github.com/songquanpeng/go-file
|
17
0o0O0o0O0o 2021-03-30 17:32:10 +08:00 via Android 1
|
18
loading 2021-03-30 17:51:02 +08:00 via Android 1
nginx 不好么?
或者同是 golang 的 caddy 。 |
19
aheadlead 2021-03-30 17:56:37 +08:00 via iPhone 1
赞 能不能考虑集成个 upnp ?
|
21
love 2021-03-30 18:39:08 +08:00 1
@SenLief 你说的这个是类似 miui 这种文件管理器自带的 ftp 功能吧,也是电脑上可以直接浏览手机内容,且是在文件管理器里,比浏览器要方便传文件吧。
但是传单个或少量文件还是 miniserve 这种方便,因为不需要先在手机打开 ftp 功能再在电脑上打开手机管理界面复制文件。 |
23
Kobayashi 2021-03-30 22:04:23 +08:00 via Android 1
|
24
kukat 2021-03-31 02:11:31 +08:00 1
发现好多轮子 哈哈
我用 caddy |
25
Cbdy 2021-03-31 07:51:49 +08:00 via Android 1
npx serve
|
26
root01 2021-03-31 09:03:28 +08:00 1
chfsgui 最香了
|
27
iminto 2021-03-31 09:24:31 +08:00 1
chfs 是最香的。是我找到的唯一一个满足我需求的。
权限配置很细。未登录可以查看,登陆可以编辑。很多网盘不登陆要么啥都能干,要么就算查看都看不了。而且还支持 webdav 。 可惜就是不开源,而且是 C 语言写的。 |
28
windardyang 2021-03-31 12:58:44 +08:00 1
😀, 看下我这个,不但提供服务器 ,还提供下载器。[godown]( https://github.com/windard/godown/), 同 Golang
|
29
internelp 2021-03-31 14:35:11 +08:00 1
挺好用的工具,赞一个。
|
30
anxn 2021-03-31 16:10:19 +08:00 via Android 1
建议 readme 放一张演示截图
|
32
macy 2021-03-31 20:52:49 +08:00 1
我也写了类似的,也是 electron,没有遇到编译的问题,感觉挺快的,https://github.com/williamnie/netSend,纯 js 的,流下载,内网能跑满带宽
|
33
Y29tL2gwd2Fy 2021-04-01 01:54:44 +08:00 via Android 1
我太菜了 sftp 路过
|
34
bequt 2021-04-01 07:37:42 +08:00 1
在用站内 webd,虽然有广告,但是用 c 写的程序就是爽
|
35
bequt 2021-04-01 07:40:11 +08:00 1
来吧 来吧,一起分享出来吧。看来需求还是有的
|
36
cubecube 2021-04-02 19:21:32 +08:00 1
everything 开 http 就有这个功能
linux 开个 nginx 似乎也解决了 |
37
flynaj 2021-04-04 02:09:38 +08:00 via Android 1
golang 几行代码就可以写出来确实方便快捷。
|