2018年12月1日 星期六

[Raspberry_Pi]使用樹莓派,製作一台具有VPN(PPTP)無線網路路由器(Router)











最近不知為什麼,又開始研究起Router的VPN功能。老實說因為之前決定把家中原本的音樂來源之一Spotify,改為Youtube Music之後,就必須藉由VPN而不是Smart DNS的方式,才能在Google Home聽到Youtube Music。而我原本有一個旅行用的VPN無線網路路由器,所以可以暫時先充當家中主力的VPN無線網路路由器。不過我這台無線網路路由器TOTOLINK iPUPPY是旅行用的,真的沒有辦法負荷太大的流量,而且動作也是卡卡的,我就想這樣下去也不是辦法。但又考量到家中現成的Router已經有兩個了,而且好的Router不僅價格貴,體積也大,因此後來就把腦筋動到體積小、性價比高、功能又多的Raspberry Pi上,用Raspberry Pi來接替我舊的VPN Router。

Raspberry Pi不僅價格便宜,而且性能堪比一些功能不錯的Router,當然 Raspberry Pi不只可以做Router,還可以拿來做攝影監視器,甚至物聯網等其他應用。不過由於我只著重在網路Router功能,所以接下來就是我建立VPN Router的過程囉!


利用橋接的方式連結乙太網路和Wifi熱點



我在網路上有找到一篇利用橋接的方式連結乙太網路和Wifi熱點的文章,直接就是利用Bridge的方式,把eth0和wlan0用一個Br0連接起來。這樣的方式非常簡單,只需要安裝hostapd及bridge-utils套件,再參考以下網址教學,就可以完成一個無線網路路由器了。

但首先要先安裝hostapd及bridge-utils套件,請在命令列輸入
 sudo apt-get update  
 sudo apt-get install bridge-utils hostapd  

另外,在命令列請輸入 sudo nano /etc/network/interfaces進行編輯
 auto lo  
 iface lo inet loopback  
 iface eth0 inet dhcp  
 auto br0  
 iface br0 inet dhcp  
 bridge_ports eth0 wlan0  

然後把下列文字貼上,然後再按Crtl+X,再按Yes確認。
另外,在命令列請輸入 sudo nano /etc/hostapd/hostapd.conf進行編輯

 
interface=wlan0
driver=nl80211
bridge=br0
ssid=Network-Name
channel=1
wmm_enabled=0
wpa=1
wpa_passphrase=Network-Password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0 

另外,在命令列請輸入 sudo nano /etc/default/hostapd進行編輯
然後把
 #DAEMON_CONF=""  
換成
 DAEMON_CONF="/etc/hostapd/hostapd.conf"  

然後把下列文字貼上,然後再按Crtl+X,再按Yes確認。

然後就完成了,很簡單吧!假設你只是要做一個有線轉無線的Router,恭喜你,你已經完成了!

可是,說好的VPN呢?很抱歉!用這個方式只能把有線和無線網路連接起來,但是卻無法有效的把無線網路的流量導到PPTP(VPN協定的一種),所以你的無線網路一樣是沒有經過PPTP協定的,也就是你去看Sling TV或是聽Pandora的時候,就會告訴你你不在美國,你沒有辦法看/聽該網站的內容。

用Hostapd和DNSmasq建立VPN Router



經過前面的體認之後,才深刻發覺,要建立有wifi的VPN router別無他法,只能用Hostapd和DNSmasq這兩個套件(設定)來建立,可是大多數的網站教的我完全看不懂。直到我找到有人把這 Hostapd和DNSmasq的設定簡單化及圖像化,才解決了我沒有辦法好好設定Hostapd和DNSmasq的難關。
以下就是這個文章的教學。一開始先鍵入
 wget -q https://git.io/voEUQ -O /tmp/raspap && bash /tmp/raspap  

然後就會安裝圖形化的Hostapd和DNSmasq的設定介面。


以下是這個介面的默認配置:

IP address: 10.3.141.1
Username: admin
Password: secret
DHCP range: 10.3.141.50 to 10.3.141.255
SSID: raspi-webgui
Password: ChangeMe

接下來就要安裝pptp-linux套件,這樣才可以使用pptp的VPN。
 sudo apt-get install -y pptp-linux  

然後就要在/etc/ppp/peers/pptpconf建立pptpconf,也就是pptp的設定檔。
 sudo nano /etc/ppp/peers/pptpconf  
 //以下就是pptpconf設定檔的內容  
 pty "pptp vpnhostname --nolaunchpppd"  
 name vpnusername  
 password vpnpassword  
 remotename PPTP  
 require-mppe-128  
 require-mschap-v2  
 refuse-eap  
 refuse-pap  
 refuse-chap  
 refuse-mschap  
 noauth  
 persist  
 maxfail 0  
 defaultroute  
 replacedefaultroute  
 usepeerdns  

接著請用指令開啟pptp連線。
 sudo pon pptpconf   

接下來就是自己設置配置規則。
 // 開啟內核轉發:  
 sudo nano /etc/sysctl.conf  
 // 找到下面兩行:  
 #Uncomment the next line to enable packet forwarding for IPv4  
 #net.ipv4.ip_forward=1  
 // 把net.ipv4.ip_forward 前面的#去掉,保存退出。  
 // 立即生效  
 sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"  
 // 設置路由映射規則  
 sudo iptables -t nat -APOSTROUTING -o ppp0 -j MASQUERADE  
 sudo iptables -A FORWARD -i ppp0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT  
 sudo iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT  
 // 保存並添加到啟動加載  
 sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"  
 sudo nano /etc/rc.local  
 // 在 exit 0 前添加如下代碼:  
 sudo pon pptpconf  
 sudo iptables-restore < /etc/iptables.ipv4.nat  

最後再鍵入sudo reboot重開機。
 sudo reboot  

如果沒有意外,重開機完成之後,你就建立了一個wifi名稱為raspi-webgui的熱點,而且可以是具有VPN的wifi熱點,就可以好好享受VPN的樂趣吧!


延伸閱讀:

树莓派3B+ VPN路由(PPTP、AP)- 宁静致远kioye - 來源:CSDN

How to setup PureVPN on Raspberry Pi

Setting up a wifi network on the pi 3 without the GUI

Setting up Wireless Access Point using Raspberry Pi

[Google Home]讓Google Home播放自己上傳的特定類型音樂(新增新版Youtube Music使用心得)

[VPN應用]如何利用VPN+Chromecast在電視上播放Pandora

2018年11月1日 星期四

[WIN10]如何刪除WINDOWS 10中不必要的檔案+更新WINDOWS 10至1803版本








我之前有買了一台HP Stream 13吋的筆記型電腦,這台電腦當初賣的相當便宜,大約1萬左右,又加上附贈1年的Office 365,真的是划算至極!不過這部電腦有一個致命的缺點,就是容量太小,記憶體只有2GB,硬碟容量只有32GB!雖然這樣的容量對Chrome OS來說非常夠用,但是對於WINDOWS 8/10來說卻是捉襟見肘,基本上只要灌完Office和瀏覽器之後,大概就沒辦法再灌一些其他的軟體了,甚至有時候硬碟空間只剩下不到1GB!

雖然硬碟空間很小,但是對於日常的工作來說還算夠用,反正只要把資料放在隨身硬碟就好了。但是最近發現我的電腦提示我WINDOWS 10有重大的版本更新,而且我也覺得我的WINDOWS 10好像也跟別人的不一樣,因此就興起了要更新WINDOWS 10的念頭。但是,重點來了,我的電腦告訴我更新WINDOWS 10需要8GB的硬碟容量,可是我的電腦自從從WIN8升到WIN10之後,硬碟剩下的空間幾乎就是在1~2GB遊走,根本無法滿足更新的需求。

<刪除WIN10內不必要的檔案>


後來,我就在網路上找到了各種可以刪除WIN10內不必要的檔案的文章,我看過之後整理了一下,大致上可以分為幾個方面:

(1)刪除AppData內的檔案
這裡面的檔案,大致上都是一些應用程式的設定資料。如果裡面有一些應用程式你已經不用的話,就大膽的刪除吧!例如你已經把iTunes從你的應用程式刪除,那就可以把iTunes或是Apple的資料夾刪除,相信我,你會發現硬碟會突然多了很多空間。不過因為我急需硬碟空間,我就把這個資料夾裡的資料先備份起來,然後就全部刪了。刪了之後,我的硬碟大概多了2~3GB的空間。
AppData的位置大概是在C:\windows\users\your_username\AppData,要注意的是,AppData是隱藏檔案夾,記得要在檔案瀏覽器中勾選可以觀看隱藏檔案,才能看得到AppData這個資料夾。

(2) 刪除SoftwareDistribution之下的Download檔案夾內的檔案
這個令我很意外的檔案夾,我後來也是很狠心的把這個檔案夾裡的資料全部刪除。基本上我刪除後都還沒遇過問題,不過心臟不夠強的就…再看看囉!但是狠心也是有回報的,我刪了這個資料夾之後,馬上就多了接近4GB的空間,對一個只有32GB的電腦來說,這是一個非常划算的賭注!
這個資料夾的位置在C:\windows\SoftwareDistribution\download

(3)用Windows的磁碟清理工具
經過前面的大掃除之後,很有可能你只差個幾百MB就可以達成8GB的空間。接下來就是使用磁碟清理工具這個基本功了!也許能夠清出來的空間不多,但是能夠擠出個100~200MB也是不無小補。

(4)移除一些不用的app
如果還沒有達到8GB的空間,那接下來就必須狠心的移除一些app,尤其是經過前面這樣的努力之後,居然還差100MB!你一定會很不甘心的尋找硬碟中是否有自己不要的app,然後狠心的移除他們。

(5)把download檔案夾的檔案或自己存在電腦的檔案移出來
也許上一項的動作你平常就在做了,現在就是該把你存在電腦裡有的沒的檔案移出來的時候。或許把檔案宜出來之後,你會發現多出來的空間,會比你想像的還要多呢!

(6)把緩存(virtual memory)調到最小
如果真的還是差一點,就剩下另一個冒險的辦法了!就是想辦法去把緩存調到最小,但是就要冒著開網頁會常常當,開視窗會很慢的風險。以下是大概的步驟。

首先,打開傳統的windows control panel。接著,在control panel底下選擇all control panel items的模式,然後點選system選項。
之後,再點選Advanced system setting→System Properties。
再來,選擇Advanced→Performance,然後在Performance Options中選擇Advanced(到底是有多少個Advanced)。最後,在virtual memory的欄位點選changes,就可以調整virtual memory的大小了。


理論上,virtual可以調到只有200MB,但是最好不要這麼做。因為HP Stream 13的RAM只有2GB呀!若是沒有足夠的virtual memory會出很大的問題的!所以如果前面的做法已經可以幫你空出8GB的空間,那就不要進行這一步。

最後,我的電腦就在前面這些項目的折騰之後,空出了令我吃驚的10GB
話說回來,我原本真的不想條緩存,不過那時候真的只差100~200MB了,為了要空出8GB,只好拼了!結果經過幾次重開機後,我的電腦居然給我控出了10GB(暈)。

<用離線的方式更新Windows 10>

我後來發覺最好的更新方式試用離線的方式,只要想辦法要到合適的版本,就可以直接離線更新了。會想要離線更新也是因為我辛苦的空出8GB以上的空間之後,嘗試著要用線上更新的方式,可是每次都遇到奇奇怪怪的問題而使得更新終止,所以乾脆回到最原始的更新方式,也就是用ISO更新。ISO檔基本上只要用關鍵字『windows 10 1803 download』,應該就可以找到連結了。

接下來就是把下載下來的ISO檔案用滑鼠點擊兩下,你就會發現電腦就會把ISO檔掛載起來。掛載完成後,會出現一個檔案夾視窗,接著就是點選檔案夾視窗中的setup,就會進入安裝/更新的過程了。在安裝的時候,需要注意的地方是,必須準備一顆具有13GB以上空間的隨身碟,這樣才能確保在更新之後,你的一些app還有之前的設定都可以保存下來。但是如果你不在乎的話,也可以不要保存,只是這樣你之前的app跟設定就會全部洗掉了。


不過更新的過程時間非常的長,中途還會經歷幾次重開機,我這次更新基本上就是放著讓他跑,然後就去睡覺了。




最後,WINDOWS 10就這樣更新完成了!我覺得更新後的WIN10,感覺上比較會清理那些不用的/可以刪除的檔案,硬碟的空間也沒像上一個版本那樣窘迫了!


雖然花了很多的時間,很多的精神,還有冒著電腦無法開機的風險,但是能讓我這台1萬元的筆電重新恢復生機,在使用上也比之前版本的更加清爽,再次覺得這次的更新真的是值得的!


延伸閱讀:







2018年10月19日 星期五

[iTunes/iOS/Chromecast]使用Movies Anywhere,讓你可以在Chromecast播放iTunes裡的電影








以往在使用iTunes或iOS購買的電影,幾乎都只能在Apple TV或是iOS的裝置上觀看。雖然之前有介紹可以利用NoteBurner把iTunes的電影下載下來,再去除iTunes電影的DRM的方式,讓iOS裝置或Android裝置都可以觀看iTunes的電影。不過這樣看起還是要經過一番轉換的工作,畢竟去除一部電影DRM的時間也不算短,若要做到即時購買就可以及時觀看,就只能靠Movies Anywhere這個app了。

不過要使用Movies Anywhere之前,必須知道Movies Anywhere有以下條件及限制: (1)一個美國的iTunes帳號,並且要有iTunes的點數。 (2)要有VPN以及Fake GPS app。 (3)只能看美國地區的電影。 (4)只能用購買電影的方式,不支援租賃。

有關美國iTunes帳號的申請在這就不再贅述,網路上都有很多教學。點數卡(iTunes Gift Card) 淘寶也有一堆賣家在賣,所以這方面就不需要擔心了。

iTunes美國帳號註冊完畢後,接下來就是申請Movies Anywhere的帳號了。申請Movies Anywhere的帳號基本上需要美國的IP位置,另外還要加上『地理位置』也要在美國,所以就必須使用VPN還有Fake GPS,使你的IP以及地理位置都會呈現在美國的狀態,這樣子才能通過Movies Anywhere的申帳號請 。帳號申請完成後,就可以透過Movies Anywhere的介面,來購買iTunes的電影囉!

購買電影可以在iPad上用Movies Anywhere購買,然後就會連結到iTunes,這時就需要用到iTunes美國帳號了。




購買完成後,你就會發現你的Library裡面就會出現剛剛購買的電影。



接下來你就可以在iPad上,或是在Android設備上透過Movies Anywhere,觀看你購買的電影了。



雖然這個方法只能限美國的iTunes帳號才能使用,但是買一些卡通在Movies Anywhere播放,確實解決了一些沒有Apple TV的使用者(父母)的窘境,當然對於台灣的使用者來說,可能還是要花點時間習慣沒有中文字幕的電影了。

延伸閱讀:


[iTunes]不用Apple TV也可以在電視上播放iTunes購買或租用的影集或電影

How to use Movies Anywhere to consolidate all your digital films

How to use Movies Anywhere to stream your film collection on every device

[亞馬遜Amazon]使用Tubio,讓你的Fire tv Stick也可以有Chromecast的功能

[Chromecast]使用Tubio,讓Line TV也可以用Chromecast在電視上收看