一般技術參考目錄
名詞
※ 無順序
PCND
CDN技術是將資源分佈在不同的伺服器中,用戶訪問網站時,從最近(連通性最好的)CDN的節點伺服器獲取資源,以達到加速訪問、減少網站主機壓力的效果。
通常說的PCND是則讓普通用戶成為節點,將需要的內容緩存到硬盤中,並利用空閒帶寬上傳數據(內容分發),最後獲得佣金的行為。
但通過個人寬帶盈利的行為是不被運營商所允許的,因此運營商會或會停用、限速用於PCDN的賬戶——這沒什麼,但問題在於運營商的判斷標準,很多運營商(點名河南聯通)並沒有識別用戶流量類型的技術(或單純懶政),而是一刀切所有高上傳量的用戶寬帶,將上行限制到5-10Mbps以內,甚至不予申訴。
這對我這種BT/PT、向網盤大量傳輸數據的用戶來說絕對是無妄之災。而且PCDN用戶與運營商的鬥爭從未停止,甚至很多PCDN用戶為了中和自己的上下行流量比例而侵入了BT社區[1],是絕對的毒瘤——當然,它們有時也披着「邊緣算力存儲伺服器」的外衣,但本質上就只是PCDN。
[1] | 關於近期anacrolix等無限下載的BT工具的說明與對策:https://docs.qq.com/doc/DQnJBTGJjSFZBR2JW
清零盤
通過一些方式(不知道哪來的技術、廠商流出的清零工具[1]等)清除SMART信息(包含寫入的數據量、通電時間、壞道情況等),以偽裝成新盤欺騙小白。
不過清零與質量並無直接關係,只是隱去了硬盤的實際狀態,奸商是否清零硬盤也是取決於是否有清零工具,是有些硬盤可以清零(例如,Seagate SMART RESET (NEW VIDEO) (how-to-reset-smart-results) 、HDD Toshiba, сброс SMART в Victoria),但並非所有硬盤都可以,例如西數HC550截止目前(2024-12)無任何流出清零工具的跡象,不過市面上的礦盤也都是1w+小時的了。
[1] | 例如2022年技嘉「泄露」了SSD清零工具:
ssd_utility_firmware_update_tool_EGFM13.2
,據網友討論波及了使用群联E16
主控的很多非技嘉品牌SSD,但該工具似只能重置寫入量不能重置通電時間。
礦盤
隨着虛擬貨幣的流行,礦卡一詞映入我們的視野,簡單來說便是通過計算區塊獲得虛擬貨幣[1],需要顯卡高負載的持續工作,壓榨硬件性能,直到收益下降然後拋售,顯卡挖礦流行的那段時間瘋狂到我將花800元購買且用了一年多的rx588以2550元的價格出售了——雖然代價是我沒有新顯卡用,只能用RTX960開最低畫質玩地平線4。
後來又流行起了奇亞幣,它使用硬盤挖礦[2][3],於是那段時間又沒硬盤可買了;還有幾乎從未中止過的#PCND。但與礦卡不同,它們需要的只是存儲空間。
以奇亞幣為例,挖奇亞幣涉及到plotting
(對應寫操作)及farming
(對應讀操作),對機械硬盤壽命有影響的非正常操作是大量且頻繁的寫入資源,plotting占這條,但機械硬盤的寫入效率相對於固態太低了,如果用機械硬盤寫數據,那收益也都歸別人了,因此寫入的操作都是用固態硬盤完成(所以二手固態別隨意買),而後將最終需要用來farming的數據寫入機械硬盤,讀數據對機械硬盤(特指以HC550為首的高性能企業硬盤)的損害相對較小;PCDN亦如此,少量的寫入,更多的讀取(但PCDN看情況,如果存儲的是熱門資源,如替流媒體平台分流,寫入相對就是少的,但如果需求變化頻繁,負擔也會越大,這個過程是不可控的)。
所以在挖礦與邊緣計算(PCDN)流行趨勢顯頹的那段時間的礦盤非常吃香,畢竟上hc550企業硬盤(及其他同類如希捷銀河X16/8)參與挖礦/PCDN的通常都是與某些公司簽協議,把機器託管到機房內,生產環境不會很惡劣,但比同樣環境下伺服器/數據中心退役的硬盤寫入量少太多了。
但是隨着挖礦的沒落,二手盤被再分配見底,但正常需求仍舊未減、廠商不積極生產、PCDN抬頭,硬盤的價格也是水漲船高。
[1] | 挖礦原理:https://liaoxuefeng.com/books/blockchain/bitcoin/mining/index.html
[2] | 通俗解釋:Chia幣為什麼能用硬盤挖礦?:https://www.qianhei.net/paogenwendi/246.html
[3] | 硬盤危機——Chia 挖礦背後的原理與技術細節(一):https://dgideas.net/2021/hard-drive-crisis-the-principles-and-technical-details-behind-chia-mining-i/
硬盤體積
廠商與系統計算空間容量的方式差異、體積單位的混用所惹的誤會引來了不少的矛盾[1]。
體積計算基礎:
- 廠商:10進制;
- Windows:2進制;
10進制與2進制計算方式的差異:
- 10進制(x1000):1 TB = 1000 GB = 1,000,000 MB = 1,000,000,000 KB = 1,000,000,000,000 Byte
- 2進制(x1024):1 TiB = 1024 GiB = 1,048,576 MiB = 1,073,741,824 KiB = 1,099,511,627,776 Byte
這麼一換算硬盤空間直接「縮水」了9%:
- 體現到1TB硬盤上便是:1 TB = 1,000,000,000,000 Byte = 976,562,500 KiB ≈ 953,674 MiB ≈ 931 GiB;
- 體現到16TB硬盤上便是:16 TB = 16,000,000,000,000 Byte = 15,625,000,000 KiB ≈ 15,258,789 MiB ≈ 14,901 GiB ≈ 14.55 TiB;
除了廠商與文件管理系統的計算差異,單位的混用也非常嚴重,例如macOS、部分LInux發行版的桌面環境以1000進制及XB顯示容量,而上至windows以1024進制計算卻仍舊以XB而非XiB顯示容量,下至筆者日常生活中也並未嚴苛單位的用法。
[1] | b、B、KB、Kib、MB、MiB、GB、GiB、TB、TiB的區別:https://www.cnblogs.com/Silence-1018/p/17556885.html
網絡速度
同#硬盤體積般也是易混淆、誤解的。
網速的單位通常是Xb(bit per second,縮寫為bps),而體積的單位是XB(Byte);換算關係為 1 XB(byte) = 8 Xb(bit)。例如 10 MB/s 表示每秒傳輸 10 Megabyte 即 10MB 的數據,而 10 Mbps 代表每秒傳輸 10 Megabit 即 1.25 MB 的數據。
除了計量網速外,還常用於表示影視的碼率,視頻的碼率是 10 Mbps 則代表平均每秒傳輸 1.25 MB 的數據。
- 碼率特殊一點,通常計算碼率是將
视频体积/时长*8=码率
計算的,例如10GB、1h的視頻碼率便是22.22Mbps,這屬於平均碼率。這種稱謂區分是對應了編碼方式:固定碼率(CBR)、可變碼率(VBR)[1]。
[1] | 固定碼流 可變碼流:https://www.cnblogs.com/ostin/p/9917382.html
Base64
Base64是一種編碼方式,將二進制數據編碼為由64個ASCII字符(0-9、26個大/小寫英文字母、+
和/
)組成的字符串。可以用於傳輸文本、圖片等各種數據。例如瀏覽器拓展SingleFile保存的網頁副本就會將圖片進行base64編碼再保存字符串而不是下載圖片文件。
也可以通過直接通過瀏覽器解碼base64,根據文件屬性的不同設置好MIME類型,例如網頁:data:text/html;base64,xxxxxxx
,圖片:data:image/png;base64,xxxxxxx
,就可以自動解碼並渲染為網頁或圖片。
編解碼網站可直接搜索:PNG/xxx to Base64
子域名
如「wiki.scio.icu」中,「.icu」是頂級域(也稱一級域名);「scio」是二級域名,購買域名就是購買它們的組合;「wiki」是三級域名,這個是自定義且無限制的,如果需要,可以繼續創建四級域、五級域…
根據網上聽來的消息,域名原型應當是:wiki.scio.icu.
,icu.
是一級域名/頂級域名,由註冊icu後綴的人持有,它向域名代理商授權xxx.icu.
的販售權限,反正掛上.
是可以正常解析,至於是類似於中文。
按英文.
解析的防呆設計還是寫到了哪個規範文檔中、某些歷史遺留因素我就不知道了。
不過我注意到很多人將「xxx.xxx.org
」稱呼為「二級域名」/「免費提供二級域名」。對此反正按照非專業的邏輯來,我也認為如此,scio.icu
是一級域名,至於.icu
那是後綴(或者零級也挺符合對IT行業的刻板印象的),但既然知道了這個衝突,為了避免歧義,我就儘量通稱為「子域」;不管被稱呼為什麼,反正我不是專業的,我認為目的只是使用的話,能理解什麼意思就行。
CF盾
cloudflare提供的DNS代理服務。
優點:
- 私隱:訪客只能知道cf的ip,而不知道你伺服器的真實ip,但注意在伺服器配置禁止使用ip直接訪問不然私隱效果就名存實亡了;
- 防攻擊:獲取不到真實ip,攻擊的只是cf的ip,而cf根本d不動的,但不是防所有類型;
- 加速:原理似乎是有一部分內容被cf緩存,用戶訪問網站,cf直接呈現緩存的內容,不僅可以節省伺服器的資源耗損,而且cf的連通性/延遲一般也比普通伺服器好,但不包括國內;
- 免費:cf財大氣粗)。
缺點:
- CF很多的ip(絕大多數公開的ip段)都被牆了或者國內訪問速度很慢,所以對國內來說反而是「減速盾」,有個半優半喜的好處:
- 對VPN不友好,部分廉價節點訪問套了cf的站會卡在檢查環境上很久。
DDoS
※ 參考維基百科:Denial-of-service attack
非常樸素和暴力的攻擊方式,就是世界各地的設備(肉雞)向目標發送大量垃圾請求,佔滿伺服器的帶寬、性能,使其他正常的訪客無法訪問服務(如果流量是付費的,那麼還會讓目標承受巨大的財產損失)。
另一種(應當是DDoS的子類)難防的是CC攻擊(Challenge Collapsar),就是通過各種手段(ua、請求的資源、IP)一切都偽裝成了正常請求,難以分辨流量(IP)到底是惡意攻擊還是正常訪問。或許在防禦時會讓正常用戶的體驗受損。
靜態與動態網站
具體的我也說不清,簡單來說:
- 靜態網站就是單純的html文件[1],比如系列站點的主站的「
hxxps://scio.icu/index.html
」,要想修改網站內容,需要手動編輯html文件(直接從伺服器編輯,或本地編輯好傳輸到伺服器)。 - 動態網站則具備交互性、實時變動等功能,你目前看到的html頁面是伺服器在你訪問時實時生成的,然後再推送給瀏覽器。如果選擇了其他的參數,內容也會改變,比如「
hxxps://wiki.scio.icu/index.php?title=页面标题&action=history
」,「?
」後面跟着的就是參數,「title=xxx
」指頁面的標題,「&
」是連結不同參數的符號,「action=history
」指歷史頁面,可以查看歷史編輯記錄。伺服器中並不存在這些具體的頁面,信息都存在於數據庫中,你訪問的網站含什麼參數(假設參數有效),它輸出什麼信息。
簡單來說:
- 動態網站是用php/asp/jsp這類腳本工具提供(與頁面/伺服器)交互與實現高級功能、mysql/PostgreSQL這類數據庫管理系統存儲網站資源(存儲的是字符串,不包含文件),前者動態調用後者的資源組織出需要的數據並輸出html文件給瀏覽器;
- 靜態網站是html+css+js這些靜態資源組成的(靜態網站生成器也是輸出這些靜態資源),雖然js可以提供部分交互功能,但總歸是在模擬動態操作而不是動態資源。
- 靜態網站就像打印出來的文件(訪客)只能看不能修改;動態網站就像電子稿,根據需要調整輸出的內容,還可以直接在頁面上修改內容。
- 這只是簡單的區分手段,更簡單的是將其理解為:動態網站可以前台(線上)編輯內容,而靜態網站只能後台(本地)編輯內容。
- 靜態網站的優點是響應速度快、資源消耗少。缺點對於記錄生活的個人博客(編輯頻繁),或體量大的站點(內容相互引用、需要建立較為複雜的聯繫)並不友好,甚至會影響創作熱情。
[1] | 包含css等樣式文件和js腳本,後者可以提供一些交互功能,但不與數據庫交互,交互效果也都是提前設定好的事件。
郵件管理客戶端和郵件轉發
郵件管理客戶端,如Thunderbird,可以接管郵箱的收發信,通過SMTP(發信)、IMAP(收信)或POP3(轉發(不會影響原郵箱的狀態))來實現,具體郵件提供商的smtp/imap地址、端口可以查看官方文檔或者詢問客服,比如阿里雲(域名郵箱)的是:
- 收件伺服器地址:
- POP 伺服器地址:
pop.qiye.aliyun.com
端口110
,SSL 加密端口995
- IMAP 伺服器地址:
imap.qiye.aliyun.com
端口143
,SSL 加密端口993
- POP 伺服器地址:
- 發件伺服器地址:
- SMTP 伺服器地址:
smtp.qiye.aliyun.com
端口25
, SSL 加密端口465
- SMTP 伺服器地址:
- 如果郵件伺服器/端口被牆,或許能收信,但無法發信(可以本地:
telnet ip/url port
測試,在線工具:國內/國外),即使給ip設置白/黑名單、開了全局、改DNS都無濟於事,暫不知具體原因。
郵件轉發:如可以將阿里雲郵箱收到的郵件,轉發到谷歌郵箱中。操作:
- 在谷歌郵箱的設置頁面的「查收其他帳號的郵件:」欄選擇「添加郵件帳號」
- 輸入阿里雲的郵箱地址,比如我的是「scio@scio.icu」
- 默認的選項是「從我的其他帳號導入電子郵件 (POP3)」(另一個是灰色的,不支持)
- 輸入用戶名(重複一遍郵箱地址)、密碼(該自建郵箱的密碼)、POP伺服器/端口(見上面列出的地址);剩下四個複選框是體驗上的,想開就開不想開也不影響使用(如果開啟了ssl,即可端口換成995)。
操作
不可播放引用的youtube視頻
解決方案:使用https或localhost
在本地網站引用視頻時遇到的問題,起初以為是版權限制,但是越想越不對勁,嵌入代碼又沒什麼特殊的,IFrame Player API頁面又什麼提示沒有,但有很多案例(案例1,案例2),一開始沒注意到什麼關鍵信息,一是沒朝這方面想,二是提問者跟我的情況也不太一樣,然後無意間看到:這個回答,才知道了答案。因此可以配置本地ssl證書,或者直接用localhost代替127.0.0.1。
從url保存視頻到youtube播放列表
youtube原生支持便捷創建播放列表的功能:https://www.youtube.com/watch_videos?video_ids=AwyRYse4kss,QoitiIbdeaM,drlB2RT_XiA
一直添加id即可,訪問此url會自動創建播放列表,但上限為50個。對此可以自行批量轉換或使用其他人現成的工具;
安裝拓展:Multiselect for YouTube™
(Chrome/Firefox);
訪問創建的播放列表使用此url:https://www.youtube.com/playlist?list=TLGG-RYNtSKMoDgyNzA4MjAyMw
;
- 注意播放列表的id是「
list=xxxxx
」;視頻的id是「v=xxxx
」; - 默認跳轉的url這個拓展無法識別播放列表內的內容。
點擊屏幕右上角的拓展按鈕,全選根據需要保存到播放列表即可。
tg保存設為不可轉發群組的圖像
※ 或具有時效性。
鼠標左鍵點擊圖像,在圖像展開的過程中按下shift+鼠標右鍵圖像,即可喚出正常的右鍵菜單欄,點的慢點沒關係,不慢太多就行;
Web端測試:firefox系可行,chrome不可行,Chromium系是否都不可行不清楚,據反饋說桌面版客戶的也可行。
使谷歌文檔可翻譯
url後添加/mobilebasic
(若有/edit
,替換掉即可),因為現有主流翻譯插件(如TWP)無法翻譯這種被框住的裏頭的內容。
一個網卡設備配置兩個不同網段的IP位址
創作
批量刪除文檔中的各種標點符號
通過正則表達式,所以基本上市面的文本編輯工具都支持。
- 在替換的工具欄勾選「正則表達式」,輸入「
[,。、“”《》()—?!:''…=【】]
」替換的內容留空就行,就能一次性刪除方括號內的字符; - 示例是常用的中文字符,我是用來統計字數,因為一般的統計功能可以將英文字符忽略,但中文字符無法與文本區分。
用Unicode碼輸入字符
Fcitx輸入法:默認是「ctrl+shift+alt+u
」喚醒u碼輸入。
u+3010
是【
u+3011
是】
u+203b
是※
u+3000
是
可以通過站長工具>Unicode編碼、Unicode 15.0 字符代碼表之類的地方查詢u碼。