本文來源:51CTO部落格,作者:youerning
連結:http://blog.51cto.com/youerning/2087099
這裡的手機指安卓機。
大家都知道安卓機用的是Linux核心,所以理論上Linux可做的事情,手機都能做,下麵列舉一些有意思的事情。
必備技能: 會Linux。
其實這個比較簡單,只需裝一個App, 但是有些技巧可以講講。
所需材料
-
安卓手機 必須
-
擁有公網IP的機器 非必須
-
無限流量卡 非必須
-
root許可權 必須
Root
root手機根據手機訊號的不同,會有不同的辦法,所以這裡就不細講,請自行百度,或google.
安裝linux deploy
透過某個應用市場下載並安裝
線上安裝
線上安裝是比較扯淡的,因為在國內實在是比較慢的,原因你懂的。
離線安裝
透過以下地址可下載自己所需的映象
http://sourceforge.net/projects/linuxonandroid/files/
使用者名稱/密碼:android/changeme
推薦安裝ssh客戶端:JuiceSSH
最好的安卓ssh客戶端,沒有之一。
其實這個這個章節有點泛指的意思,任何你覺得需要在公網上能做的事情,都可以在內網完成,因為在內網裡面你可能有舊電腦,舊伺服器,舊手機。一切被限制在內網的資源(有記憶體,cpu。)
所需材料
-
安卓手機 必須
-
擁有公網IP的機器 非必須
-
無限流量卡 非必須
-
root許可權 非必須
系統環境
這裡的環境你可以用上面的Linux deploy部署的Linux環境也可以使用下麵要說的方式,不同的在於下麵的方式不需要root
Linux deploy
如上
termux
透過某的應用商店下載並安裝
安裝JucieSSH
之所以不用termux自帶的shell環境,是因為較於JuiceSSH來說,實在時太難用了。
安裝openssh
開啟termux後,在終端輸入pkg install sshd以安裝openssh
執行sshd命令啟動sshd,這樣就可以透過其他ssh客戶端連線了,但是預設只能用金鑰登陸
使用JuiceSSH連線
1.首先在電腦端,透過ssh命令生成金鑰,然後將公鑰私鑰的文字傳到手機.
2.在開啟JucieSSH之後,依次點選連線 -> 認證 -> 點選認證頁面下麵左下角的”+”.
3.暱稱,使用者名稱可隨便填,然後點選私鑰。如下圖所示
4.貼上第一步生成的金鑰。如下圖所示
5.最後點選完成
6.在termux中匯入公鑰。如下圖所示
7.使用JucieSSH連線.在JuiceSSH中新建連線,如下圖所示
8.點選新建的連線,連線成功後,如下圖
使用電腦連線
只要保障在同一區域網,然後用上面生成的私鑰連線即可
總結
準備好環境後,你就可以使用termux做linux下幾乎所有可做的事情了,比如安裝python,golang,nodejs等開發環境,以及一些其他的軟體。
termux比較易用,但是前面的連線實在時比較麻煩,上面是我的連線辦法,如果有更好的連線辦法還望告知。
由於眾所周知的原因,大多數時候家庭網路都是不會分配公網IP的,所以我們需要一些手段得到能夠從公網訪問的路徑。下麵介紹三種。我主要說第三種。
NATAPP
這是一個專門做內網穿透服務的網站,有免費服務,不過需要實名認證。
地址如下:https://natapp.cn/
ngrok
這個應該時比較出名的內網穿透方式了,可是由於伺服器在國外,再者是免費的,所以可能不穩地以及延遲大。
frp
這個是屬於比較新起之秀了,但是門檻較之上面兩種,比較高。
需要一個有公網IP的伺服器,可以使用雲伺服器或者及其便宜的vps。
專案地址:https://github.com/fatedier/frp
其實看到這裡你也許會有疑問,我有公網伺服器或者雲主機,為啥還要用手機呢。主要有以下兩點
-
如果是便宜的vps,可能記憶體只有256MB或者192MB, 因為我們主要需要的是公網IP。但是很多手機記憶體都是1GB或者2GB甚至更高的。即,可以將負載高的東西放在本地,公網IP所在的伺服器只是轉發流量。
-
這裡只是一個拋磚引玉的示例,只要能內網穿透,你就可以將很多內網的東西放到內網了。
軟體環境
這裡以golang web的hello world為例,你當然可以用其他任何的語言以及方式執行一個web服務。
安裝golang
在手機上執行pkg install golang
建立程式軟體
包含以下內容
執行程式
go run main.go &
瀏覽器訪問http://:8088
分別下載伺服器版本的frp以及安卓手機的frp
伺服器如果是linux,就根據32或者64位下載相應以linux開頭的frp,如frp_0.16.0_linux_386.tar.gz
安卓手機下載以arm結尾的frp版本,如
frp_0.16.0_linux_arm.tar.gz
下載地址:https://github.com/fatedier/frp/releases
配置服務端
建立配置檔案web-server.conf
配置客戶端
建立配置檔案web-client.conf
執行
服務端frps -c web-server.conf
客戶端frpc -c web-client.conf
最後訪問http://
這裡只是一個展示,其實關於http轉發有更多可以設定的細節,參考:https://github.com/fatedier/frp
這裡暫時還只是一個概念,有一個暫時沒有剋服的問題。相較於網上的一堆代理網站也不一定可行。
你也許不知道的是,每當你將手機設定飛行樣式然後解除飛行樣式,那麼你的公網出口IP就會改變,所以如果透過某個IP能夠調取手機開關飛行樣式API,那麼在手機上執行爬蟲會是一個不錯的選擇,因為有大量的IP可切換,不怕被封IP。
所需材料
-
安卓手機 必須
-
擁有公網IP的機器 非必須
-
無限流量卡 必須
-
root許可權 非必須
-
做一個私用的Pass平臺。因為計算機記憶體資源主要用內網環境的,但是可以透過公網訪問。
-
做一個下載器。
-
做一個私有雲盤。
-
做一個….
理論上在Linux上能做的事情,安卓手機上都能做。其實叫做Linux的威力也許更適合。
●編號306,輸入編號直達本文
●輸入m獲取到文章目錄
Linux學習
更多推薦《18個技術類公眾微信》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。