Re: [討論] 大家是怎麼看MOPTT的事件呢?

看板Soft_Job作者 (泛用人型編碼器)時間10年前 (2015/07/01 16:34), 10年前編輯推噓21(2108)
留言29則, 20人參與, 最新討論串16/22 (看更多)
※ 引述《dreamnook (亞龍)》之銘言: : 所以有人打算來寫個稍微乾淨的版本發佈嗎? : 我個人有這個意願...但是完全不知道從哪起手 : 還是說已經有人在作了XD? : 推 AmosYang: 如果需求是 open, transparent, secure, 有乎? 06/23 13:45 : 推 AmosYang: 開了個 hackpad: https://goo.gl/uyM5pO 記下初步的想法 06/23 15:29 剛成功以 libssh 為基礎,連上 ptt.cc:22, 然後 dump 進站畫面 https://github.com/twy30/yapa-sandbox 這個程式會把 PTT 進站畫面 dump 下來,存成 data.big5.html , 如下 https://hackpad.com/Yet-Another-PTT-App-xU7NSBB49W3#:h=WAHAHAHAHA,-it-worked 以此為基礎,再搞定編碼 (以 `bbsu` 登入,可以 UTF8 得到資料) ,以及 parsing, 一步一步來 ============================================================ 基本上,最新的開發動作,會記在 hackpad 上,適合協作、討論、 隨手塗鴉 * https://hackpad.com/Yet-Another-PTT-App-xU7NSBB49W3 * 短網址: https://goo.gl/uyM5pO 每達成 milestone, 舊文會整理起來,留下思路,給後人參考 https://twy30.github.io/yet-another-ptt-app/ 程式碼放在 github 上,過兩天睡醒後去挑個開源授權加上去 * 這裡是試作場,視情形會 nuke 掉整個 repo https://github.com/twy30/yapa-sandbox * 正式的程式碼將來會放這裡;目前是空的,只有 gh-pages https://github.com/twy30/yet-another-ptt-app -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 68.4.115.53 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1435739695.A.CCC.html

07/01 16:53, , 1F
07/01 16:53, 1F

07/01 17:00, , 2F
07/01 17:00, 2F

07/01 17:01, , 3F
推,希望有java 的專案可以一起努力
07/01 17:01, 3F
我的打算是把核心部分的 SSH, parser 的部分搞定、開源、並 port 到各平台上,並提供 C#, Java, Obj-C, 等的 wrapper; 希望把入門 門檻降低後,能吸引對各平台及 UI/UX 更有經驗的人來共襄盛舉

07/01 17:12, , 4F
07/01 17:12, 4F

07/01 17:23, , 5F
敬佩敬佩
07/01 17:23, 5F
後面要做的事還有很多 XD ※ 編輯: AmosYang (68.4.115.53), 07/01/2015 18:28:48

07/01 18:29, , 6F
07/01 18:29, 6F

07/01 19:07, , 7F
大推
07/01 19:07, 7F

07/01 19:53, , 8F
推!
07/01 19:53, 8F

07/01 20:00, , 9F
狂推阿
07/01 20:00, 9F

07/01 20:22, , 10F
太棒了 再推一次
07/01 20:22, 10F

07/01 20:22, , 11F
阿 CD中......
07/01 20:22, 11F

07/01 22:43, , 12F
推......(色碼真難搞
07/01 22:43, 12F

07/01 23:05, , 13F
推 正確的方向
07/01 23:05, 13F

07/01 23:48, , 14F
07/01 23:48, 14F

07/02 01:53, , 15F
07/02 01:53, 15F

07/02 09:50, , 16F
07/02 09:50, 16F

07/02 10:28, , 17F
補推
07/02 10:28, 17F

07/02 12:42, , 18F
可以考慮 cordova + socket 然後改寫 PttChrome ext.
07/02 12:42, 18F

07/02 12:43, , 19F
07/02 12:43, 19F
感謝提供參考資料 orz 我對行動平台不很熟,對跨行動平台更是外行;這個要讓有實戰經驗 的人來談談,看這類跨行動平台的作法是否實際

07/02 13:32, , 20F
我想做出更強大的web social版木
07/02 13:32, 20F

07/02 13:49, , 21F
很有心!
07/02 13:49, 21F
※ 編輯: AmosYang (68.4.115.53), 07/02/2015 14:39:42

07/02 17:14, , 22F
不過我專職f2e,還是需要有讀寫ptt的library,很有難度
07/02 17:14, 22F
人各有長,如果能幫忙蒐集、思考 UX/UI 的資料,整理各種 UI 、 各家 app 的長處與短處,整理 top 3 user scenarios ,那就能幫 上很大的忙了

07/02 22:46, , 23F
07/02 22:46, 23F
※ 編輯: AmosYang (68.4.115.53), 07/02/2015 23:39:31 更新了 hackpad * 短網址: https://goo.gl/uyM5pO * https://hackpad.com/Yet-Another-PTT-App-xU7NSBB49W3 懶得一段一段去排版了 :D 若想看排版好的,請移駕至 hackpad 2015-07-02 接下來打算做的事 作個簡易的 C# wrapper for libssh 抓、送 UTF8 資料 登入 ptt:22 用 Java ,重覆以上過程 易言之, proof-of-concept 目前可預見的幾個難關 know-how: compile libssh (+ openssl + zlib) for Windows Phone know-how: compile libssh (+ openssl + zlib) for Android know-how: compile libssh (+ openssl + zlib) for iOS 目前來說,我完全不知道上述三項的「可能性」 :D 要試了才知道 非急切需要,但 really-nice-to-have 的 know-how: compile libssh (+ openssl + zlib) for Windows 雖然各 lib 的官方網站都有提供 pre-compiled binaries for Windows, 但若能掌握此技術, 可就 YAPA 遠景(vision)中的「安全、可信任」 添一分「透明度」 易言之,最理想的狀況,是讓有技術能力的使用者,從 source code 開始,照著文件,在他自己的環境裡編譯所有的東西,然後 deploy 到他自己的裝置上,得以獨立地(independently)檢視此 app 的安全 性; 另一件可做的事 與維護 PTT 的技術人員連絡,問其技術 roadmap 從 PttSuggest 版的資訊看來, PTT 的開發模式目前是在「維護(maintenance)」 ,也就是以修蟲、保持 uptime, performance 為主, 若能知道他們的 roadmap, 尤其是「是否有計畫積極開發 data-access API,以及其時 程」這方面,可避免 YAPA 這邊走怨枉路 其他、更遙遠的事 蒐集、思考 UX/UI 的資料,整理各種 UI 、各家 app 的長處與短 處,整理 top 3 user scenarios, etc. 在桌機平台上,已經有各家成熟的 SSH 程式可使用;在移動裝置上, 則要重新考量 UI/UX, 而不是把目標放在「重製終端機模擬」,因為 移動裝置不適合以 keystroke 為基礎的 UI yurenju@ptt 提到「可以考慮 cordova + socket 然後改寫 PttChrome ext. 給手機用。https://github.com/iamchucky/PttChrome 」 我對行動平台不很熟,對跨行動平台更是外行;這個要讓有實戰經驗 的人來談談,看這類跨行動平台的作法是否實際 2015-07-01 第一次接觸(first contact) https://twy30.github.io/yet-another-ptt-app/blog.txt/2015-07-01-first-contact.txt 第一次接觸 ========== 成功以 libssh 連上 ptt.cc:22 並抓下登入畫面;目前仍是抓 Big5 的資料,下一步是抓回 UTF8 的資料、登入、思考 parser 的設計。 libssh ------ libssh 本身還需要 OpenSSL 與 zlib, * libssh 0.6.5; https://www.libssh.org/ * OpenSSL 1.0.2c; https://www.openssl.org/ * zlib 1.2.8; http://www.zlib.net/ 這三個函式庫的官方網頁上都可找到已編譯好給 Windows 使用的 binary 中間浪費了不少時間在 libssh 0.7, 0.7.1 上;這兩個版本在 Windows 上有 [bug]. 0.6.5 版則沒有這個問題。 [bug]: http://www.libssh.org/archive/libssh/2015-05/0000038.html 隨想 ---- 之前有提過, YAPA (Yet Another Ptt App) 的目的不是在行動裝置 上重現 BBS 介面,是故,不需要投資在「終端機模擬」上,而是要 把主機端送來的訊號變得更方便消化(consume) 。 相對於 SSH 的處理辦法 (把用 C 寫的函式庫移植到目標平台上, 再寫 wrapper) ,我在思考 parser 這部分要怎麼處理。 理論上,若能像 SSH 的作法 (寫一次,再編譯給不同的平台用) , 自然是有 code reuse 的優點;但是,直覺上,感覺那是 too good to be true :D 理由如下: 首先, libssh 是很普通的 C 風格的 API, 是故整合點可以收拾得 很乾淨,且被傳遞的資料是很直來直往的 byte[] 反觀, parser 則可能需要提供 callback, event, 且要傳遞的資料 可能必須有一定的結構;這樣的複雜度再加上一層 wrapper, *感覺 上* 對 UI 層來說,會很難用 是故,或許 parser 不應該走 SSH 的處理方向… 又,後面還有兩隻大魔王…不知道 libssh 在 Android 與 iOS 上 能否編譯成功... orz ※ 編輯: AmosYang (68.4.115.53), 07/02/2015 23:59:05

07/03 00:53, , 24F
iOS,之前有查到這個 https://github.com/Lejdborg/NMSSH
07/03 00:53, 24F

07/03 08:49, , 25F
勿忘iOS現在要提供64bit的lib才能上架
07/03 08:49, 25F
感謝樓上兩位提供資訊 orz ※ 編輯: AmosYang (68.4.115.53), 07/03/2015 13:49:18

07/05 21:12, , 26F
07/05 21:12, 26F

07/08 01:13, , 27F
iOS 問題其實好解決, 做成 CocoaPods 就搞定了, 等做的
07/08 01:13, 27F

07/08 01:15, , 28F
差不多再說吧; 倒是想問為什麼選 libssh
07/08 01:15, 28F
當初作的比較 https://twy30.github.io/yet-another-ptt-app/blog.txt/2015-06-26-shoulders-of-titans.txt * http://www.openssh.com/ * SSH server & client in C/C++, ported to various platforms * BSD license * used by PuTTY * time-tested * https://www.libssh.org/ * SSH library in C/C++, ported to various platforms * LGPL license * pre-compiled binaries available for Windows * used by GitHub, KDE * well-documented * http://www.libssh2.org/ * SSH library in C/C++, ported to various platforms * BSD license *感覺上* libssh 是最平易近人的 :D

07/08 01:16, , 29F
如果用 libssh2 的話 iOS 也有現成的
07/08 01:16, 29F
※ 編輯: AmosYang (68.4.115.53), 07/14/2015 17:02:56
文章代碼(AID): #1LawOlpC (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 16 之 22 篇):
文章代碼(AID): #1LawOlpC (Soft_Job)