惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
小众软件
小众软件
美团技术团队
Martin Fowler
Martin Fowler
爱范儿
爱范儿
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
J
Java Code Geeks
B
Blog
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
博客园 - Franky

mephisto.cc

修复rime-ice无法弹出候选框的问题 开机滚动字体显示优化 个人网站安全防护 树莓派上部署Vaultwarden 使用goaccess实时分析Caddy日志 个人网站监控 Hugo全站AVIF记 Linux下尝试使用Godot开发小游戏 Arch linux dae 透明代理 Airflow接管galler-dl下载任务 如何使用gallery-dl批量下载图像 Arch核显下如何愉快玩Dota2和CS2 Arch/labwc 环境网络相关设置 Rime添加dota2词库 Arch 重装记录 Supertuxkart iOS版终于发布了 打造自己的流媒体音乐服务 剪切板管理工具clipcat推荐 MangoHud性能监控 微信小程序开发记 Rofi试用 解决Arch下VSCode无法输入中文的问题 独立窗口管理器下无法录屏问题处理 上海市二手房成交数据监控 OpenLDAP监控 Arch linux如何顺畅连接蓝牙设备 使用Git和Ansible管理配置文件 Arch Linux SSL VPN 客户端配置 简单获取celery任务实时结果 Arch linux下iNode客户端的安装和使用方法
Linux和iPhone互传文件
2022-05-27 · via mephisto.cc

当你用 Linux 工作学习的时,需要在电脑和手机间相互传送文件,这个时候你会发现没有一个像 airdrop 那样的快捷传输方式,动手能力强或者爱折腾的,可以搭建 samba,NFS,FTP,NAS 等服务来处理,但是感觉有点重,杀鸡用牛刀。下面介绍的这个命令行软件,个人觉得轻量又好用,走的 http 协议,只要有浏览器的设备都可以使用

安装软件

  • 没有 golang 环境的先安装 golang,比如 ubuntu 系统
  • 安装
1go install github.com/codeskyblue/gohttpserver@latest
  • 默认安装地址
1➜  ~ go env | grep -i path
2GOPATH="/home/mephisto/go"
3➜  ~ ls -al /home/mephisto/go/bin
4total 10223
5drwxrwxr-x 2 mephisto mephisto        3 May 27 13:42 .
6drwxrwxr-x 4 mephisto mephisto        4 May 27 13:42 ..
7-rwxrwxr-x 1 mephisto mephisto 15626232 May 27 13:42 gohttpserver
8        ➜  ~
  • 为方便使用,也可以放到系统环境变量 PATH 中
1sudo ln -s /home/mephisto/go/bin/gohttpserver /usr/bin/gohttpserver

简单使用

  • 监听 8000 端口,开启上传功能, 如下所示,选择的交换目录为/home/mephisto/Pictures/iPhone
1pwd
2/home/mephisto/Pictures/iPhone
3➜  gohttpserver -r ./ --port 8000 --upload
42022/05/27 14:08:04 httpstaticserver.go:75: root path: ./
52022/05/27 14:08:04 main.go:185: plistproxy: "https://plistproxy.herokuapp.com/plist"
62022/05/27 14:08:04 main.go:244: listening on ":8000", local address http://192.168.199.230:8000
72022/05/27 14:08:05 httpstaticserver.go:90: Started making search index
82022/05/27 14:08:05 httpstaticserver.go:92: Completed search index in 167.371µs

电脑浏览器打开 http://192.168.199.230:8000, 上面输出日志中有提示这个地址

  • 手机扫码访问,按图操作上传或者下载

  • 图示

    gohttpserver

更多功能请查看帮助

 1➜  ~ gohttpserver --help
 2usage: gohttpserver [<flags>]
 3
 4Flags:
 5-h, --help                     Show context-sensitive help (also try --help-long and --help-man).
 6    --version                  Show application version.
 7    --conf=CONF                config file path, yaml format
 8-r, --root=ROOT                root directory, default ./
 9    --prefix=PREFIX            url prefix, eg /foo
10    --port=PORT                listen port, default 8000
11-a, --addr=ADDR                listen address, eg 127.0.0.1:8000
12    --cert=CERT                tls cert.pem path
13    --key=KEY                  tls key.pem path
14    --auth-type=AUTH-TYPE      Auth type <http|openid>
15    --auth-http=AUTH-HTTP      HTTP basic auth (ex: user:pass)
16    --auth-openid=AUTH-OPENID  OpenID auth identity url
17    --theme=THEME              web theme, one of <black|green>
18    --upload                   enable upload support
19    --delete                   enable delete support
20    --xheaders                 used when behide nginx
21    --cors                     enable cross-site HTTP request
22    --debug                    enable debug mode
23-p, --plistproxy=PLISTPROXY    plist proxy when server is not https
24    --title=TITLE              server title
25    --google-tracker-id=GOOGLE-TRACKER-ID
26                                set to empty to disable it

最后,这个软件理论上,只要能跑起来,可以用在任何支持 http 协议的设备间使用,不限于 linux 和 iPhone