Linux和iPhone互傳文件
當你用 Linux 工作學習的時,需要在電腦和手機間相互傳送文件,這個時候你會發現沒有一個像 airdrop 那樣的快捷傳輸方式,動手能力強或者愛折騰的,可以搭建 samba,NFS,FTP,NAS 等服務來處理,但是感覺有點重,殺雞用牛刀。下面介紹的這個命令行軟件,個人覺得輕量又好用,走的 http 協議,只要有瀏覽器的設備都可以使用
安裝軟件
- 沒有 golang 環境的先安裝 golang,比如 ubuntu 系統
1sudo apt install golang
- 安裝
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
1➜ pwd
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, 上面輸出日誌中有提示這個地址
-
手機掃碼訪問,按圖操作上傳或者下載
-
圖示
更多功能請查看幫助
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
最後修改於: Tuesday, December 26, 2023
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。