Thursday, November 24, 2022

HEX and ACSII convert with command line

Convert HEX to ASCII with command line and save into a file:

> echo 'd7b00402659ba2abd2cb0db27fa2b656' | xxd -r -p > 'common.key'

Convert ASCII to HEX with command line from a file:

> cat 'common.key' | od -A n -t x1 | sed 's/ *//g'

Monday, May 15, 2017

利用google drive架設FTP Server

我想這年代應該也沒什麼人在玩FTP了吧。
但老實說FTP算是架構很完善的檔案上傳下載protocol。
而且FTP的Client功能也都很完整,resume, retry, queue等等功能都很好用。
FTP Server的部份,配合一些script,利用sfv, zip, unzip, rar, unrar,上傳檔案的功能,也可以有即時verify的機制。
早期在玩0day topsite時,配合irc channel,再寫一些script,就可以達成auto transfer。
一有新東西上傳到FTP Server,馬上就可以配合script,把你想要的東西下載回家,或是FXP到別人的FTP site。
這個年代web當道,想要分享檔案幾乎都是利用免空來分享。
0day topsite應該還是在用IRC+FTP。
但因為要加入0day group的標準太高,要經營一個0day group,更是相當艱辛。
而且一旦退出了0day group,想要再回鍋也幾乎不可能。
再加上台灣慢的要命的寬頻,架個FTP site,要一堆HDD,要開著一台Server。
電費不便宜,HDD也不便宜,而且24小時在操,又壞很快。
所以已經有超過十多年沒在用FTP了。

最近,發現了Google App for Education可以提供免費的無限空間可以使用。
於是就想說,是否可以把Google Drive當成FTP的HDD來使用。
只要能把Google Drive mount到Linux上的話,架個FTP site應該沒什麼問題。
Google了一下,還真的可以把Google Drive mount到Linux上。
馬上就開了一台Ubuntu的VM,把Google Drive mount上去。
步驟如下:

  1. Apply google OAuth
  2. Enable google drive API
  3. Install google-drive-ocamlfuse
  4. 修改/etc/fuse.conf
    1. user_allow_other #拿掉
  5. 執行
    1. >google-drive-ocamlfuse -headless -id OAuth_ID -secret OAuth_Secret
    2. >google-drive-ocamlfuse -o allow_other /mount_point
  6. 安裝與設定FTP Server (個人喜歡用glftpd來架site)

因為Google Drive是利用web API的方式來溝通,所以檔案在下載時,會透過API先下載到cache的目錄下,再傳回給FTP client。
如果單個檔案很大時,像是單檔10G的1080p mkv檔案,initial time會超級高,要等超級久,FTP client才會開始下載。
因為是先下載一份到cache,再傳回到FTP client。所以流量要算2倍。下載一個10G的MKV,要用掉20G的流量。

如果考慮到頻寬不足,FTP site不想放在家,想要省電費,可以利用VPS來架設FTP site。
現在大部份的VPS,包月的話,其實都有流量限制。
但是日本的VPS,幾乎都沒有流量限制。但會有高流量的懲罰機制,一段時間內用超過某流量,某段時間內頻寬會變很小等等。
日本網友們測試之後有一家的VPS,沒有這種機制。
http://vps.sakura.ad.jp/
不過這家的VPS,需要日本信用卡才能付款。(PS:台灣發行的JCB信用卡可以付款。)

所以只要申請個VPS,(最便宜有看過每個月540日幣的VPS)
然後把Google Drive mount上去,再架個FTP server。
一個無限容量的FTP site就完成了。

Wednesday, January 8, 2014

[Linux] CentOS + Dropbox + git

1. CentOS上用command line安裝Dropbox
> wget --no-check-certificate -O dropbox.tar.gz "https://www.dropbox.com/download?plat=lnx.x86_64"
> tar xvfz dropbox.tar.gz
> cd .dropbox-dist ; ./dropboxd
這時候會出現一串URL,用browser去連那個URL,然後輸入dropbox的帳號密碼。
> ./dropboxd &

2. 安裝git
> sudo yum install git

3. 設定git
> git config --global user.name "yourname"
> git config --global user.email "username@e-mail"
> git config --global alias.st status
> git config --global alias.co checkout
> git config --global color.ui true
> git config --global credential.helper cache
> git config --global credential.helper 'cache --timeout=3600'
> git config --global http.sslVerify false

4. dropbox上repository設定
> mkdir -p ~/Dropbox/Project/newproject
> cd ~/Dropbox/Project/newproject
> git init --bare

5. 開發目錄repository設定
> mkdir -p ~/Project/newproject
> cd ~/Project/newproject
> git init
把code copy進~/Project/newproject目錄下

6. commit code到dropbox
> git add .
> git commit -m "initial version"
> git remote add dropbox ~/Dropbox/Project/newproject
> git push dropbox master

7. 測試pull
刪除project目錄
> rm -rf ~/Project/newproject
重建project目錄
> mkdir ~/Project/newproject
> git init
> git remote add dropbox ~/Dropbox/Project/newproject
> git pull dropbox master


Thursday, April 18, 2013

[Android] Sony Xperia Z SO-02E的Camera設成靜音

1. 需要有root權限。
2. 需要把/system路徑設成rw
3. mv /system/media/audio/camera /system/media/audio/camera1 (把camera目錄改個其他名字就行了。)

ps: 修改/system/build.prop 中 ro.camera.sound.forced=0,這招無效。

--
Reference:

XPERIA Z(SO-02E)のシャッター音を消す方法【要root化/悪用厳禁!!】

[Android] 變更/system目錄權限為可讀寫

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

[Android] Sony Xperia Z SO-02E 上安裝 sshd

1. 取得手機的root權限
2. 透過Google Play,安裝 BusyBox
3. 透過Google Play,安裝 DropBear SSH Server II
4. 用手機執行BusyBox然後點選install
5. 用手機執行DropBear SSH Server II,然後點選install,再到設定去修改root的密碼

[Android] Root Sony Xperia Z SO-02E (DoCoMo)

http://blog.huhka.com/2013/03/root-xperia-z-so-02e-rootingkit.html

Saturday, December 1, 2012

[MACOSX] 在Mac Mini 2012上,使用外接USB HDD上的WIN8開機

環境:
Model : Mac Mini 2012 (MacBook Air 2012應該也行)
OS : MACOSX Mountain Lion 10.8.2
Boot Camp Assistant : Version 5.0.1 (456)

準備:
1. 安裝好Windows 8的vmware guest os
2. Windows 8的安裝光碟ISO
3. 外接的USB HDD
4. NT6 快捷安裝器(官網:http://bbs.wuyou.com/viewthread.php?tid=143569&extra=&page=1

步驟:
1. 利用Boot Camp Assistant在USB的HDD上,做出可開機的Windows 8安裝系統。
這步驟是關鍵,因為用Boot Camp Assistant做出來的USB HDD,才能順利的在MAC上開機。
做出來的USB HDD WIN8安裝系統,並沒有要用來安裝WIN8,
這步驟只是要利用Boot Camp Assistant做出,可以在MAC上開機的USB HDD分割區而已。

執行Boot Camp Assistant


勾選 Create a Windows7 or later version install disk 跟 Download the latest Windows support software from Apple



選擇好Windows 8的安裝光碟ISO跟USB HDD之後,就會開始製作可以在MAC上開機的USB HDD了。
做好之後,USB HDD的根目錄下,會有「WindowsSupport」這個目錄,裏面放的是Windows版用的Boot Camp安裝程式,還有Drivers,把「WindowsSupport」這個目錄全部COPY到vmware guest os可以讀取的share folder中。

2. 打開Windows 8的vmware guest os,並把Windows 8的安裝光碟ISO mount到vmware guest os的光碟機上。
(這步驟中所使用的USB HDD,與第1步驟中做出來的USB HDD WIN8安裝系統是同一顆USB HDD)

然後執行NT6快捷安裝器。

選擇光碟上source目錄下的install.wim檔案。
Install Partition與Boot Partition選擇USB HDD的磁碟機代號。
勾選Install to USB Hard Disk。
按下Install Now就會開始Format USB HDD,並安裝Windows 8到USB HDD上。

中間會出點小問題,按下YES。


製作完成後,不要重開機,選NO。


把Windows用的Boot Camp的安裝程式還有Drivers,copy到USB HDD上。

可以在MacBook Air上開機的Windows 8 USB HDD就製作完成了。
到System Preferences -> Startup Disk,選擇從Windows開機,然後Restart進入Windows 8。

3. 進入Windows 8之後,安裝Boot Camp還有Drivers。

PS:
1. 這過程,無法套用到Windows 7上。
2. 完全不需要用到rEFIt。
3. 這方法,在Windows 8不會藍底白字,也不會當機。
4. 做好的Windows 8 USB HDD,拿到MacBook Air 2012上,也可以使用。但是會挑USB外接盒,同一顆硬碟,在有的USB外接盒上無法順利開機。

Thursday, November 8, 2012

[MACOSX] Screen Sharing Client (VNC)

Screen Sharing.app的目錄
/System/Library/CoreServices/

執行後,在HOST的地方輸入「IP:Port」
就可以遠端搖控別台MACOSX。

Wednesday, November 16, 2011

[MACOSX] 在vim中使用 PageDown PageUp Home End

1. Terminal -> Preferences -> Settings -> Keyboard
2. 修改以下4個快速鍵設定。(\033按ESC就會跑出來)

Home \033[1~
End \033[4~
PageUp \033[5~
PageDown \033[6~ 

3. 刪掉與上面重覆的快速鍵設定。
4. 使用FN+上下左右,就可以pageup, pagedown, home, end。

==
Reference: [Mac 指令] 在 Vim 中使用 PageDown PageUp Home End