2022-11-21
今天一件事編寫數據庫CURD的部分,第二件事是關於服務端和客戶端的驗證問題,因為驗證是個比較短的過程,所以方案裡目前最優先的就是使用HTTP來做這個事情,但是沒想到目前比較流行的rust的http庫代碼都很大,reqwest加進來就足足有1.4兆了,而且客戶端還是優化過的,包著輕量化的想法,想了想還是隻能用TCP來搞定。 ...
今天一件事編寫數據庫CURD的部分,第二件事是關於服務端和客戶端的驗證問題,因為驗證是個比較短的過程,所以方案裡目前最優先的就是使用HTTP來做這個事情,但是沒想到目前比較流行的rust的http庫代碼都很大,reqwest加進來就足足有1.4兆了,而且客戶端還是優化過的,包著輕量化的想法,想了想還是隻能用TCP來搞定。 ...
今天重新考慮了一下Tunnel和客戶端連接的設計,如果按照昨天的方案來,一個Tunnel對應一個TID,會出現客戶端管理困難的問題,所有的客戶端只需要輸入同一個TID就能直接連接到服務器,而客戶端對服務器又是匿名的。 ...
今天工作主要優化了Config文件配置都部分,以及重構了整個項目的結構,現在看起來清爽多了,整個系統今天又想出了優化邏輯的方法,tunnel可以直接生產一個TID,客戶端直接通過TID來連接tunnel,這樣就不用做特別複雜的校驗了,還能一定程度保證客戶端的匿名性。下個禮拜開始寫客戶端和服務器的連接邏輯吧。 ...
今天主要是編寫服務端的端口轉發部分:A端口轉發進來的數據發送給B端口,B端口進來發給A端口。中間也遇到了一些問題。 evio不支持異步讀寫,不過這個在issue裡面也找到了解決方案,可以通過連接手動喚醒,出發數據接收的回調。 客戶端的通信問題,因為服務端是沒法主動去連接客戶端的,只能被動接收。搞得我一開始的想法都被推翻了,屮啊。在客戶端在連接服務器之前還需要進行一次通信,來知道具體是哪個端口執行長連接。 不過後面就差不多搞定了。 ...
今天主要編寫服務端的代碼,大概也就打了個框架,還有就是我放棄了iris,原因是因為這個框架太重了,加上iris都文檔還寫在github wiki裡,md這個github的wiki巨tm難用,目錄欄字體小,加上訪問巨慢,體驗極差。 ...
今天主要研究Socks5反向代理的問題,最後想完的時候都已經下午了,說實話一上午的時間都浪費掉了。 一開始我還以為只要代理機器做一個TCP轉發就行,但是不行(因為轉發需要目標機,這樣Sock代理就失去意義了),然後我又想了一個做Socks雙重代理,服務端代理,目標代理機器再一個代理,但是這樣哪裡怪怪的,後面才想到實際上只要服務端做轉發就可以了,將代理流量轉發到代理機器上。 ...
今天發現了eh-viewer的客戶端還有其他版本在維護。 https://github.com/Ehviewer-Overhauled/Ehviewer 很濃的MaterialUI氣息,不知道為什麼最近開源的安卓客戶端使用MaterialUI的APP越來越多了,我不是很喜歡Material,主要是我覺得Material用圓角簡直是濫用,到處都是圓角又大又醜。動畫效果的設計也過於浮誇了。 相比之下Fluent反而會耐看一些。 ...
今天整理了一下自己的歌單,網易雲從2016年使用開始到現在,點了❤️的歌已經上千首了。很多歌都壓在最下面,後面的時間都沒聽了,今天做了幾個新的分類歌單。
今天遇到了非常奇怪的問題,Lepton打開後一直卡登陸了,而且Lepton也沒有走CFW的流量,不清楚是什麼問題導致的。
最近把我所有在github上軟件的許可證換成了The Unlicense. 為啥呢.. 這個就不得不說一下關於理查德·馬修·斯托曼的一個故事.. 理查德·馬修·斯托曼可以說是GNU的領袖. 別和我說你不知道GNU是什麼.. 如果你不知道也不用去查, 等會會講到.. 上世紀80年代, 黑客文化被資本主義侵蝕, 誕生了很多專利軟件, 在黑客社區裡有相當一部分的人都流失了, 應該說是被挖走了. ...