Amplframe 類似 Flickr 的新網站

其實有日找著找著就看到 Amplframe,站長在 Mobile01 上發表一個鏡頭社群網站,也稍微說了製作的原因,甚至開公開了一些有趣的資料,像是大家喜歡在哪個時間修照片,哪個時間拍照,雖然網站感受上使用者還不多,不過站長那麼有心很開心的也就試用了一下。

Amplfram.com

介面上其實挺不賴的,單一照片可上傳 20MB,每個鏡頭可選 6 張特色照片,缺點大概就是稍慢吧。

當然其實還有一些問題,蠻多鏡頭沒在資料庫內還要去提交,網站是不是會長久經營也不知道,希望能長長久久啦。

自架 WordPress 上傳媒體發生 HTTP 錯誤

WordPress 上傳檔案大小很多人都了解,透過更改 php.ini 可以讓上傳的檔案大一點,不過有時候卻發現檔案大小不超過限制,上傳又會出現 HTTP 錯誤,那是怎麼回事呢?


既然都說是 HTTP 錯誤,就來看一下網頁伺服器錯誤。
cat /var/log/nginx/error.log | grep error

問題顯而易見,太大放不進去。

使用自己習慣的編輯工具更改 nginx 設定檔即可,例如 vi /etc/nginx/nginx.conf,並在 http{ } 內新增 client_max_body_size 20M;


nginx -t 測試一下沒問題就能 restart nginx。

LOG 不是 LOG 辛酸的,就是要能在出問題時能拿來使用

Google Dns 與 Cloudflare 新增 Minecraft SRV 紀錄

雖然前陣子有發文如何找出 SRV 真實 IP,不過總是要來個,那麼如何新增 SRV 紀錄呢?
現在常見的 DNS 代管蠻流行的就屬於 CloudFlare,而我因為工作因素也有接觸到 Google DNS,CloudFlare 的 SRV 較為淺顯易懂,一個蘿蔔一個坑,那邊要填入東西就填入,Google DNS 就沒那麼友善了。

CloudFlare 示範:
畢竟 SRV 終究要指向一個真實的位置,所以要先在上面設定一個 A 與 AAAA 紀錄,不過我相信台灣多數是沒有 IPv6 可用,所以新增 A 紀錄即可

假設我希望玩家可使用 crlab.com.tw 連上我的創世神伺服器,而其實 crlab.com.tw 是指向某個隱藏好的 A 或 AAAA 紀錄,例如可能是 XDXD.crlab.com.tw 那麼就先新增一個相關紀錄。

Name 例如本次的 XDXD,IPv4 就填寫主機的 IP,後面有個橘色雲記得關閉,之後按下綠色的 Add Record,完成後就能新增 SRV 紀錄。

Service name 填寫 _minecraft,Protocol 預設的 TCP,Name 因為我想要使用 crlab.com.tw 所以就填寫 @,假設想要玩家使用 server.crlab.com.tw,那麼 Name 就要填寫 server。
接下來就是填寫目標主機與 Port。

第一與第二維持 1 即可,第三個假設伺服器使用 25565 就填寫 25565,Target 就填寫要指向的目標,例如 XDXD.crlab.com.tw。
接下來玩家就能透過 crlab.com.tw 連線到伺服器。

Google DNS 示範:
其實 Google Dns 的 SRV 設定挺不友善的,不像 CloudFlare 有指引,不過其實記得那邊該填寫什麼就好。

提示只有 0 1 587 這誰知道呢?其實多設定記一下就知道就好,概念上也是相同,需要有個真正的 A 或 AAAA 紀錄,接下來新增 SRV 紀錄來對應就好。


DNS 名稱就填入 _minecraft._tcp, SRV 紀錄則是 0 0 Port位置 目標主機,例如:0 0 25565 host.crlab.com.tw

Dcard 刪文查找

每次在 Dcard 上看到 FB 貼文,難免有些勁爆的內容讓人想點進去看,不過卻偶爾發生甚至貼文剛出現當下,可能才幾秒鐘的時間差,點進去就發現文章已經不見,這樣的狀況不禁令人懷疑,是不是 Dcard 沒有真的刪文,而有權限的人還是看得到貼文,他也不知道這篇文可能被刪除,導致可能真的被刪除的文章就上了 FB,Dcard 也常發生多重新整理幾次文章又出現的狀況,是系統問題?還是真的刪文不徹底?我也不知道不過只好仰賴一下 Google 來幫助我們找到消失的貼文。


解決方法也蠻簡單的,點上方網址列。

可以在網址後方加一個空白,之後會有個 Google 搜尋,點下去就是了。

一般而言就會看到如下圖的結果。

舉例綠色網址那邊有個箭頭,點下去有個頁庫存檔。

基本上就能看到被刪除的貼文,不過大概只能看到被刪除幾天內的文章,太久暫存也會消失,這時候也沒效了。

Minecraft 伺服器概念上防禦 DDoS

近來巴哈版上有非常多的 DDoS 狀況,雖然很多人改為 SRV 認為就比較安全,不過前文 找出 Minecraft 伺服器真實 IP 也簡單的破解 SRV 就可以防止 DDoS 的幻想,是不是真的要花大筆大筆的金錢去承租 OVH 主機來開立伺服器,這就作為開服者本身要思考的,創世神伺服器為你帶來的收入真的多於你支出伺服器的錢嗎?如果沒有又遇到攻擊,還花錢去承租主機來抵禦,那倒不如放手,暫時拔了網路線吧!

但是承租主機也不是安全的絕對保證,最佳的方法肯定還是要花錢,不過只需要理解一些常見 DDoS 的服務就能得知怎麼去提高攻擊者攻擊你伺服器的代價。

這是某個 DDoS 的服務,我相信我也 99% 肯定,打的人有接近 100% 自身沒有真正發動 DDoS 的實力,而是透過網路上的服務發動攻擊,這張圖表標示著價格,但需要注意的是方案越貴,可以攻擊的時間越長,一天可發動的次數也越多,但是同時攻擊的目標至多還是不超過 2,當然能夠多買方案讓他打的目標變多,不過服務也要錢,攻擊者花的錢可能遠大於你所花費的金錢,只要攻擊者要付出的代價越高,你就越不會成為目標。

創世神伺服器本身可以使用家裡的電腦,當然並不是要玩家直接連線家中的主機,而是建立入口,透過 BungeeCord 為伺服器建立進入伺服器的入口,而作為入口的伺服器可以選在日本的 Linode 或是新加坡的 DigitalOcean,回到剛才提到的 DDoS,如果你只有一個入口,如果受到攻擊肯定會有影響,不過當入口變多了呢?只要用最便宜的 VPS 一個月 5 美金的方案,建立 5 台,也就是攻擊者必須有能力同時攻擊你的 5 個入口,玩家才可能無法再進入伺服器,不過前面也提了,打 5 個目標,那麼攻擊者又要付出多少代價呢?依照表格換算約 6000 新台幣左右,但你只花了不到 1000 元就讓攻擊者必須付出多達 6000 元的代價,如果你有 2000 元的預算承租主機作為入口,他就必須花費甚至破萬的金錢來把所有的入口打下。

多台主機一直是各種服務的防禦方式之一,不論是網頁伺服器或是遊戲伺服器,只要提高攻擊的代價,自然就會減少被攻擊風險。

找出 Minecraft 伺服器真實 IP

找出伺服器 IP 其實挺簡單的,除了一般常見 DNS 設置 A 與 AAAA 紀錄外,現在更流行於創世神伺服器的則是 SRV,雖然能理解為了避免被找出真實 IP 而被攻擊,不過還是來教簡單的方式找出真實 IP。

一般而言常見的 A 與 AAAA 記錄透過簡單的 Ping 或是 nslookup 即可輕鬆找出真實 IP,雖然 Ping 伺服器不一定會有回應,不過當你 Ping 某機器時他的 IP 就會被透露出來,這很多人都會也沒什麼技術上的難度。

IPv4

IPv6

不過有些情況下就會遇到 nslookup 查不到,但是 Minecraft 又能連上該伺服器,基本上就能判定該伺服器使用 SRV 紀錄。

不用安裝軟體,Windows 與 Linux 和 macOS 都有內建 nslookup 指令,使用 nslookup 指令再透過一些參數即可輕鬆找出真實位置。

開啟命令提示字元或是終端機,輸入 nslookup 之後再輸入 set type=srv,即可切換為查詢 SRV 紀錄。


之後便能輸入目標來查詢,一般而言假設連上伺服器的位置是:facebook.com,那麼你需要在前端加入 _minecraft._tcp.,也就是 _minecraft._tcp.facebook.com,所以把整段 _minecraft._tcp.facebook.com 打在剛剛開的且設定過查詢目標的 nslookup 就能查出 SRV 紀錄。

真實目標不會是 IP,可能是一個被隱藏好的 A 與 AAAA 紀錄,不過無所謂,只要 A 或 AAAA 紀錄顯示出來,就能簡單的 Ping 一下或是透過 nslookup 查詢真實 IP。

剛剛的 nslookup 可以再輸入 set type=a 或是 set type=aaaa,不過以台灣來說超過 95% 以上使用 set type=a 即可,再輸入剛剛查詢到的真實目標,即可找出真實 IP。

簡單測試一下巴哈我的世界上的一些伺服器。

當然 _minecraft._tcp. 這段是可以更改的,不過透過軟體 wireshark 撈一下 Minecraft 連線時的封包也能簡單找出紀錄,有機會再來教。

至於找出真實 IP 可以做什麼,難不成是攻擊?當然不是,有了主機確切的 IP,就可透過 traceroute 來檢視連線至伺服器的路徑有無異常,或是用來更嚴苛的用途,例如某伺服器可能打著我們使用高級的 OVH 主機,查到之後卻發現原來不過就是個 hinet 的位置,那麼該伺服器的說法就有疑慮。

看延遲大約 230ms 上下,可猜測該伺服器幾乎不可能在國內,若在遊戲中遊玩可能會感受些許的延遲。

查看路徑,確認伺服器應該是在加拿大。

查 IP 資料可見是 OVH 的主機。

所以找出真實 IP 是有其必要性,對於玩家找電信除錯或是回報路由問題,電信業者也會要求提供 traceroute 資料,如果不知道真實 IP 怎麼去測試呢?

2017 基礎教學 Folding@home 分散式運算軟體

我想有接觸分散式運算的人多少都會聽過 Folding@home 這套軟體,這是一套用來研究蛋白質摺疊、誤折、聚合等所引起的相關疾病,由史丹福大學化學系所主持的一項蛋白質研究計畫,可別小看這套軟體所運算出的結果,有很多的蛋白質結構研究論文都參照了這個計畫的成果,經過報告證實,此軟體的運算結果是正確的,也就是不會讓你白費電力去運算錯誤的結果,這項計畫在 PS3 也實行已久,當 PS3 閒置時就會開始運算,全世界的 PS3 提供了世界,總量約 35%
以上的運算能力,那麼介紹就到這邊,接下來教你如何安裝並且開始你的運算吧。

首先可以到官網

往下拉就會看到 START FOLDING
繼續閱讀 “2017 基礎教學 Folding@home 分散式運算軟體”

WordPress Nginx rewrite 規則

網路上雖然蠻多教學都會教你把請求轉到 index.php,看似簡單不過還有些地方要注意,wp-admin 可能會導致 404 發生,3 行簡單的做法就能正常運作囉。
location / {
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

Let’s encrypt 免費 SSL 憑證教學

雖然這篇文來的有點遲,不過還是不免俗的簡單介紹一下免費的憑證,Let’s Encrypt 是由多家大型公司為推廣 HTTPS 而成立的一個組織,網路上已經有蠻多教學文章了,不過個人認為 EFF(電子前哨基金會)推的 certbot 最為好用,至於網路上 SSL For Free,個人是不太信任這種服務就是了。

Certbot 的安裝很簡單先使用 dnf 指令安裝就好
dnf install certbot
之後就能下指令取得要的憑證
certbot certonly

繼續閱讀 “Let’s encrypt 免費 SSL 憑證教學”

Nginx 錯誤 Address already in use 解決

原本 dnf install nginx 用得好好的,也不知道是怎樣,就想加一些 module,試了一下 Google 的 PageSpeed Module,他有提供個自動化安裝腳本,這才想說不對,慘慘慘總之後來先是 rm -rf 自動化腳本安裝的 Nginx,先來試試 start nginx,問題浮現啦 Orz。

看一下錯誤紀錄 Address already in use,當然也想說那很簡單先 stop,這才驚覺不對好像 stop 不了,我的網站還能連。

繼續閱讀 “Nginx 錯誤 Address already in use 解決”