如何開設像「靠北XX」那樣的 Facebook 匿名發文粉絲團?試試這個開源專案吧!

Sung, Guo-Heng
10 min readMay 8, 2016

--

前言:為避免浪費大家的時間,我開門見山的說明一下

本文內容

O 臉書粉專匿名發文開源系統(Facebook Anonymous Publisher)中文教學

X 匿名性內容需求

X 匿名粉專經營方法

X 實名制與匿名制的差異

X 臉書粉專匿名發文系統使用教學

適合讀者

O 程式設計初學者

X 完全不懂程式設計的人

X 工程師/開發者

所以如果你在尋求 X 的內容的話,可以直接左轉跳出本文。

正文開始

兩年前開始流行的「告白XX」、「約炮XX」、「靠北XX」臉書粉專大都是基於頁面管理服務如 CrushNinja、AnonyMonkey 來解決技術層面的問題。這兩個服務提供文字內容自動發布到指定粉專上,但缺乏圖片壓浮水印文字的功能,就多數使用者偏好來說,圖片比較易於吸引他們的目光。兩年前我也想做匿名粉專,但並不想使用上述兩個純文字服務,我更希望利用圖文生產器來做,但無論是當時或現在都沒能力開發出來。於是我把目光放在 Github 上,寄望有天哪位大神願意分享自己的智慧結晶造福大眾。今年偶然發現「朕的生產器」作者開放了一套自己的有圖文功能的匿名發文系統在 Github,還揪甘心的提供了英文詳細教學。可參考 Demo

首先,這套軟體想解決的問題是:1). 手動審查與發布需要耗費大量時間;2). 純文字內容對讀者的吸引力不足。而他不只提供如同 CrushNinja 和 AnonyMonkey 的頁面管理服務,更增加了浮水印文字圖片功能。

所以現在我就簡略翻譯一下英文教學內容

第一步:創建臉書紛絲專頁(Facebook Pages)

我想創建一個粉絲專頁應該不用說明。如果真的不會的話,臉書會一步步教你怎麼做。當你創好粉專之後,記得到粉專頁面的次選單找到「關於」頁籤,拉到頁面最下方會看到「Facebook 專頁編號」,把那組號碼寫在你的筆記本上。

第二步:創建臉書應用程式(Facebook App)

如果你還不是臉書開發者,請讓臉書教你怎麼成為一位開發者。當你已完成註冊,請到 Apps 主控台找到「新增應用程式」選項,在跳出來的頁面選擇最右邊的「網站」,先填入這個應用程式的「名稱」之後,下方對跳出「創建一個新的臉書應用 ID」,填寫 email 並選擇一個類別按下「建立應用程式編號」就完成了開發的一小步。

點擊右上角「跳過快速啟動」進入到應用程式主控台。選擇左側選單第三項「應用程式審查」,頁面上方會有個預設為「否」的開關按鈕,將狀態改成「是」之後會跳出對話頁面詢問你是否確定要公開此應用程式,不要遲疑,選擇「確認」。回到主控台頁面,將「應用程式編號」和「應用程式密鑰」寫在你的筆記本上。

第三步:取得粉專存取權限(Access Tokens)

利用 Graph API 測試工具取得暫時性的「權限」,在右上方有個應用程式下拉選單並點擊選擇你剛創建的應用程式。在應用程式下拉選單下方還有個下拉選單,點擊選擇「取得用戶存取權限」後會跳出一個存取權限清單頁面,勾選「manage_pages」、「publish_actions」、「publish_pages」三項後按下「取得存取權限」,再次跳出一個我們平常玩臉書心理測驗時跳出的授權確認頁面,選擇「是」,選擇「公開」,選擇「確認」後回到剛剛的 Graph API 測試工具頁面。這時可以發現文字框內有一組編號,將它複製在筆記本,那就是你的「暫時存取權杖」。

接下來的比較麻煩,請先複製下方連結網址到瀏覽器網址列上:

https://graph.facebook.com/oauth/access_token? client_id={APP_ID}& client_secret={APP_SECRET}& fb_exchange_token={SHORTLIVED_ACCESS_TOKEN}& grant_type=fb_exchange_token

在 {大寫英文字母} 中依序鍵入你剛寫在筆記本上的「應用程式編號」、「應用程式密鑰」,還有剛剛的「暫時存取權杖」,然後按 Enter 送出請求。根據開發者的教學,理應取得一組「長期存取權杖」,然而我在這個地方遇到了麻煩。臉書對我的請求送回了下列這段:

{

“error”: {

“message”: “Invalid Client ID”,

“type”: “OAuthException”,

“code”: 101,

“fbtrace_id”: “HU/Ssowwpzv”

}

}

由於不清楚錯誤在哪裡,所以我用了一個不求甚解的解法,就是透過 Access Token Debugger 工具,在除錯列上輸入「暫時存取權杖」按下除錯,在「存取資訊」下方點擊「延展存取權限」後會跑出一個「長期存取權杖」。將該編號記下來結束這一步驟。

第四步:註冊 OpenShift 帳號和部署應用

這步驟是滿麻煩的,同樣沒有帳號的人需要先註冊 OpenShift 帳號,email 驗證並同意使用規範後點擊「立刻創建你的第一個應用程式」。第一步是選擇應用程式類型,直接搜尋「Laravel 5.0」並選擇它。第二步是設定這個應用程式,在 Public URL 填入你想要的公開網址名稱,我這邊用的範例是 demo-myfap.rhcloud.com。最重要的來了,在 Source Code 貼上這個網址:

https://github.com/kxgen/facebook-anonymous-publisher

剩下的欄位無需更動,請直接按下 Create Application 創建應用程式。通常會會需要1–3分鐘左右的時間才會完成,如果一時沒反應請勿驚慌。第三步也是麻煩人物,我們要使用命令列工具產生 ssh key 來驗證我們用的本地端設備。本文以 Mac 作業系統提供的 Terminal 為主,請打開「終端機」並輸入下列指令:

$ ssh-keygen -t rsa -b 4096

Generating public/private rsa key pair.

當輸入後會看到跳出一段文字叫你輸入一個儲存的檔案,請填入 id_rsa_openshift 後按 Enter。

Enter file in which to save the key (/Users/yourname/.ssh/id_rsa): id_rsa_openshift

接著會跳出問你要不要設定密碼,請直接按 Enter 不設密碼。

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

你會繼續看到一些關於 ssh key 的資訊。

Your identification has been saved in id_rsa_openshift.

Your public key has been saved in id_rsa_openshift.pub.

The key fingerprint is:

SHA256:KR08ZVqrfZUU0O4nY3TDyWVgZ2SIIDg5iCaPpi9BDMz yourname@device.local

輸入下列指令來查看 ssh key:

$ cat ~/.ssh/id_rsa_openshift.pub

你會看到類似下面這段亂碼

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYcnn3tA4B0GUM4SxNA2zilkTuMGPpzHg4YEUitabUSimts9H4PuFBU00/N3w2jPCifzAicT+LHRZ0e9ksnXvVKdwH3GMA6FG92/Xepq2/F3Be3+jRB9EtHNY6Q6e5FtGn8M7PzbOQ2LpuSH65IjOqfVWCifuNdD/yZYCVRrv7UH4FnBXcdVa1t6rglbb4mrQbS9V5XB60Qrkth/n/PmSQU0CJct1tG1VOx7MYa7dGjlN/LC//Cb0DIa7lIj7ZjF873zKJ7R5Y4hOOHklHaS6+x1rO1YMjmykKXHK+ifs/iJiJHmha5vb9An602szw1KqGodZBoduZLjkGMdRn5QZJ yourname@device.local

回到 OpneShift 頁面,複製貼上你的 SSH key 後按儲存。這樣一來便能在終端機上使用 $ git clone 指令直接把 OpenShift 上面的專案直接複製到本機電腦上。點選 Continue to the application overview page 連結之後,複製應用程式的 URL(本範例是 demo-myfap.rhcloud.com)。

第五步:註冊 Google reCAPTCHA 服務

同樣,沒有 Google 帳號的人請註冊登入後註冊新網站的 Label 填入應用程式名稱,在 Domains 中將第四步複製的應用程式 URL 貼上,接著 Owner 欄位填上自己的 email 後點選 Register。記得再次將 Site Key 和 Secret Key 繼在筆記本上。

第六步:更改匿名發佈應用程式設定

恭喜!到了這一步已經完成了80%,剩下的部分還能用到 git 來同步主機跟本機的檔案。請找到第四步透過 git clone 複製主機檔案的資料夾並找到一個名為 publisher.php 的檔案(路徑是./config/publisher.php)。使用任何一個你喜歡的程式碼編輯器(我是用 Sumlime Text)打開並設定編輯該應用程式。設定完成後存檔離開。再次打開終端機並輸入下列指令:

$ cd /path/to/your/repo/folder
$ git add .
$ git commit -m ‘update publisher settings’
$ git push

整個部署應用程式流程,在當這 git push 指令完成之後就大功告成了!請前往應用網站主控台網址 http://yourdomain/admin/setting 設定匿名發文系統的頁面資訊。別忘記去你的網站首頁發文測試功能喔!

第七步:註冊 Uptime Robot 服務並監控主機狀況

監控主機狀況是很重要的工作,開發者建議使用 Uptime Robot 服務,填入姓名、email、密碼後按下註冊,驗證資訊無誤後登入系統。在主控台選擇 Add New Monitor,在跳出選單欄位中, Monitor Type 選擇 HTTP(s) ,Friendly Name 欄位填入你喜歡的名字,最重要的是在 URL(or IP) 中填入你的應用程式 URL 後點擊 Create Monitor 即完成。

以上就是開設匿名粉專比較麻煩但很有趣的方法。

附錄

什麼是 Git?

開源軟體專案簡介

Github 到底是什麼?

OpenShift 簡介

Facebook Anonymous Publisher 簡介

--

--

Sung, Guo-Heng

An outdoor evangelist, generative AI explorer, and ex-farmer. Looks at agriculture, food & beverage industry.