推 dreamnook: 07/01 16:53
推 snowwolf725: 推 07/01 17:00
推 Deltaguita: 推,希望有java 的專案可以一起努力 07/01 17:01
我的打算是把核心部分的 SSH, parser 的部分搞定、開源、並 port
到各平台上,並提供 C#, Java, Obj-C, 等的 wrapper; 希望把入門
門檻降低後,能吸引對各平台及 UI/UX 更有經驗的人來共襄盛舉
推 y2468101216: 推 07/01 17:12
→ deray: 敬佩敬佩 07/01 17:23
後面要做的事還有很多 XD
※ 編輯: AmosYang (68.4.115.53), 07/01/2015 18:28:48
推 now99: 推 07/01 18:29
推 kewang: 大推 07/01 19:07
推 chirs1985: 推! 07/01 19:53
推 ntddt: 狂推阿 07/01 20:00
→ Deltaguita: 太棒了 再推一次 07/01 20:22
→ Deltaguita: 阿 CD中...... 07/01 20:22
推 felixgugu: 推......(色碼真難搞 07/01 22:43
推 denkeni: 推 正確的方向 07/01 23:05
推 CRPKT: 推 07/01 23:48
推 henry5405: 07/02 01:53
推 chris80072: 推 07/02 09:50
推 Deltaguita: 補推 07/02 10:28
→ yurenju: 可以考慮 cordova + socket 然後改寫 PttChrome ext. 07/02 12:42
感謝提供參考資料 orz
我對行動平台不很熟,對跨行動平台更是外行;這個要讓有實戰經驗
的人來談談,看這類跨行動平台的作法是否實際
推 takasaki: 我想做出更強大的web social版木 07/02 13:32
我有想過類似的事; 一些舊文
https://www.ptt.cc/bbs/BBSview/M.1412448166.A.06C.html
https://www.ptt.cc/bbs/PublicIssue/M.1412560751.A.5A6.html
https://www.ptt.cc/bbs/PublicIssue/M.1412648534.A.0E4.html
https://www.ptt.cc/bbs/PublicIssue/M.1412613173.A.BC1.html
https://www.ptt.cc/bbs/PublicIssue/M.1412614674.A.D90.html
推 roger00: 很有心! 07/02 13:49
※ 編輯: AmosYang (68.4.115.53), 07/02/2015 14:39:42
推 takasaki: 不過我專職f2e,還是需要有讀寫ptt的library,很有難度 07/02 17:14
人各有長,如果能幫忙蒐集、思考 UX/UI 的資料,整理各種 UI 、
各家 app 的長處與短處,整理 top 3 user scenarios ,那就能幫
上很大的忙了
推 DeathWatch: 讚 07/02 22:46
※ 編輯: 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
推 deray: 勿忘iOS現在要提供64bit的lib才能上架 07/03 08:49
感謝樓上兩位提供資訊 orz
※ 編輯: AmosYang (68.4.115.53), 07/03/2015 13:49:18
推 nfsong: 推 07/05 21:12
更新
* 最新發展: https://goo.gl/uyM5pO ( https://hackpad.com/xU7NSBB49W3 )
* 舊文整理: https://twy30.github.io/yet-another-ptt-app/
2015-07-03 選擇與變化
https://twy30.github.io/yet-another-ptt-app/blog.txt/2015-07-03-choices-and-changes.txt
2015-07-06 進擊 の OpenPTT
https://twy30.github.io/yet-another-ptt-app/blog.txt/2015-07-06-attack-on-OpenPTT.txt
※ 編輯: AmosYang (68.4.115.53), 07/07/2015 17:09:45
→ uranusjr: iOS 問題其實好解決, 做成 CocoaPods 就搞定了, 等做的 07/08 01:13
→ uranusjr: 差不多再說吧; 倒是想問為什麼選 libssh 07/08 01:15
當初作的比較
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
→ uranusjr: 如果用 libssh2 的話 iOS 也有現成的 07/08 01:16
※ 編輯: AmosYang (68.4.115.53), 07/14/2015 17:02:56