2022年8月3日 星期三

從svn跳槽到git繼續使用數字版號

 最近要被強迫從 svn 的版控系統改為由 git 控制版本,因為習慣SVN的數字版號了,很明顯就能看出哪個版本比較新, git 的亂數版號就完全搞不清楚到底哪個版本比較新了,所以決定找出在 git 也能用數字版號的方法,google了一下發現 git 有這個指令

git rev-list HEAD

使用這個指令會列出目前所有的亂數版號,push 過幾次就有幾個,就只要計算有幾行就能轉換成數字版號了

我用來編寫版本的程式長這樣

version.php 

<?php
return[
'date'      =>'$Date: 2022-08-03 15:12:13 +0800 (週三, 03 八月 2022) $',
'build'     =>'$Rev: 101 $'
]; 
// 2022/08/03 14:49:16.91 

以往只要寫程式 更改 最下面那行的時間,commit時,svn 會幫忙更改 $Date跟 $Rev,現在改由bat檔幫忙計算後填入,程式如下

version.bat 

@echo off
::計算git push次數
FOR /F "tokens=1" %%a in ('git rev-list HEAD ^| find /v /c ""') do set /a veri=%%a+1
set x=version.php
:: 刪除 build 那行
findstr /v "build" %x% > temp
type temp > %x%
:: 刪除有 // 的那行
findstr /v "^//" %x% > temp2
type temp2 > %x%
:: 刪除 ]; 那行
findstr /v "^];" %x% > temp3
type temp3 > %x%
:: 清空多餘變數
del /f temp
del /f temp2
del /f temp3
:: 填回build+Rev
@echo 'build'     =^>'^$Rev^: %veri% ^$' >> %x%
:: 填回];
@echo ]; >> %x%
:: 填回時間
@echo // %date% %time% >> %x%

2021年12月3日 星期五

Gate.io 交易所領取 Startup 空投教學

還沒註冊 Gate交易所的可以看此篇教學,記得用我的推薦碼註冊唷  https://www.gate.io/signup/6414106

Gate交易所有個超好的福利是可以參加 Startup,也就是新幣上架之前就先領到或買到新上架的幣,通常在開盤的前幾分鐘內都會漲一波,此時賣出就可以小賺一筆。跟幣安的 launchpad 其實是相同的東西,而Gate交易所參加的門檻更低,而且幾乎每天都有新的 Startup 可以參加

那要怎麼參加 Startup 呢? Startup 的最低參加資格是要成為VIP,只要成為VIP1以上的會員就有資格可以參加 Startup,而成為VIP最簡單的方法就是持有GT(Gate Token,GATE交易所自身的貨幣),以目前幣價來說,100個GT持有成本大約是700美元左右,只要連續14天持有100個GT就成為VIP1的會員了(低於100會降等),其他等級的VIP資格可以參考這邊

買滿100顆之後要等14天,是因為VIP等級看的是14天的平均持倉數,所以有錢的大大也可以一次買1400顆,隔天就可成為VIP1,過幾天後更直升VIP3,要看自己的14天平均持倉可以點這邊查詢,那要如何確定自己的VIP等級呢?

可以從APP首頁進去點左上角的人頭,打開的選單最上面就有顯示目前的VIP等級


有了VIP之後就是要參加 Startup 了,在APP首頁選擇 Startup ,若找不到可以按旁邊的更多,然後再按右上角的編輯把 Startup 加入快捷列中,下次就可以直接點選了




進入 Startup 之後就會看到目前進行中或尚未開始的活動,點選已經開始的活動進入




進入之後再點選參與認購



會先要求要簽屬一份同意書,請勾選我同意之後按確定



然後會跳回認購畫面,再按一次參與認購

此時VIP等級的重要性就顯現出來了,可以認購的份數是根據VIP等級來決定的,公式是等級的平方*10,因此等級1的可買10份,等級2可買40份,等級3可買90份,依此類推,並在最後時間結束之後根據活動參與人數分配每人最終拿到的數量。

此外有個最重要最重要的就是,參加認購到底要不要花錢,若在圖片內的紅框看到"免費"兩個字,代表這次活動就是完全免費,天上掉下來的禮物,只是要準備好你購買的份數*金額的USDT在現貨帳號內就好,不會扣錢,若沒有免費二字,則會按比例扣除相對應的金額,例如分配下來最後只能分到1 USDT買120的新幣,那就會扣除1 USDT,給你相對應的新幣。

上面提到的買100個GT目前大約需要700美元,再加上這邊購買10份需要200美元,總計VIP1只要投入900美元左右就能開始領空投,但是我會建議放多一點進去以備不時之需,建議至少放入950-1000美元吧


按下購買完成之後,確認畫面下方已經有購買紀錄,那就是成功了,等著倒數計時結束之後拿幣吧


在 Startup 點選右上角可以看到之前參與過的活動與拿到多少新幣,支付金額指的是USDT,獲取金額指的是新幣,有沒有真正扣錢,這邊是不顯示的,要去看USDT的帳單或是以活動當初顯示的內容為準



那新幣領到了,最重要的賣掉要怎麼賣呢?
有的認購活動下方會寫出開盤時間,若沒有的話可以在首頁的新幣區找看看



若還是沒有就得到現貨交易去搜尋了,點選APP最下方的交易,確認是在現貨交易內,點選交易對的文字,會跳出搜尋框,輸入新幣的名字,找到後點下去,就會顯示還有多久就可以開始交易了
若沒有搜尋到有可能是交易對開沒開啟,一般在活動結束前的1-2小時就會開啟交易對了




知道開賣時間之後,就是重頭戲了,有鑑於90%的新幣都是開賣當下會衝出一個高價,因此建議開盤前幾分鐘內就把它賣掉


要賣的方法很簡單,但是千萬要確認賣出跟買入的分頁,可別按錯就糗了,點選賣出,並輸入要賣的價格跟數量,因為新幣通常是要全部賣掉,可以直接點選數量下方的拉霸,直接拉到100%,省去輸入要賣多少幣的時間,下面的格子會告訴你這樣的金額成上數量可以賣多少錢,右邊中間的數字是現在價格為多少,確定要以這個價格賣出的時候就按下現貨賣出,此時時可能會要你輸入資金密碼,要輸入當時註冊帳號時填入的資金密碼,最後送出就掛上委託單了。

掛上委託單之後可以在下方的委託欄位看到內容,如果馬上就完成交易了會看不到委託內容,此時可以點右邊的按鈕進入成交紀錄查看,若是一筆很大的單子有可能會被分成多次成交,所以單筆成交金額不一定會是當初看到的總額,但是加總起來會是相同的

但是由於新幣的波動幅度很大,沒有達到委託價,價格就瞬間往下掉是很可能的,此時建議馬上取消掛單改掛新價格,在下面的委託單上點選撤銷,並在上面的賣出欄位填上新價格,重新掛單,若價格實在掉得太快,輸入價格的時間都跟不上調價時,就可以輸入一個低一點的價格,系統會依據當時的價格自動媒合高價位上去,例如:輸入1塊時,價格掉到0.95,撤單改0.95時,價格又掉到0.85,此時怕撤單再改會繼續往下掉,可以在新價格輸入0.7,系統會根據現在價格,自動媒合超過0.7的買單,最終可能以0.82的價格成交,或是運氣好,剛好遇到大額買單,以0.9的價格成交也是有可能的,但這樣子的手續費會多收一些(根據VIP等級有所不同,約多萬分之一),不過在這個速度之下,被收取的手續費跟跌價的程度相比之下是絕對划算的

以上就是如何在Gate.io 交易所領取 Startup 新幣空投的教學

2021年12月1日 星期三

Gate.io 加密貨幣交易所註冊教學

 Gate.io 交易所目前排名約為世界前10,跟幣安比起來的差異是有很多幣安還沒上的小幣,若知道某種幣即將在幣安上架,可以先來Gate買起來,等上幣安再賣掉



以下開始介紹如何註冊Gate.io 交易所,建議使用web版註冊,因為iOS版的app,一開始進入會是亂碼


  1. 使用我的推薦連結進入註冊,可以享第一年手續費9折且終身10%返傭 https://www.gate.ac/signup/6414106 
  2. 填入用戶名稱、email、跟密碼,記得確認是否有邀請人ID,然後按下一步
  3. 填入資金密碼,這非常重要,千萬別忘記了,下單、提款...等都要這個密碼
  4. 之後去收email確認註冊,再去下載app在手機上登入,要注意不要抓到假的app,登入的時候會要求去email收認證碼


  5. 登入成功之後會覺得頁面怪怪的,因為UI上的文字很奇怪,是因為語系沒抓到,先按左上角的人頭,再選mine_prefe_set
  6. 進去之後第一個語言設置選繁體中文就正常了,看個人習慣我還會選擇綠漲紅跌,匯率設置成USD

  7. 之後要開始進行KYC,也就是所謂的實名認證,要完成這一步才算是完成註冊,才能使用完整功能,一樣按左上角的人頭,選擇安全中心



  8. 進入之後選擇身分認證,稍後也可以回到這邊設定google二階段認證碼綁定與手機號碼綁定


  9. 按照畫面要求的輸入資料,提供身分證正反面的照片以及手寫的紙上面要寫他的同意說明然後自拍,大概過1-2天就能通過人工審核,就可以進行交易囉

  10. 打開APP如果這行如果消失了,就是通過審查了,就能夠開始每天的簽到領福利或是交易了



    另外Gate有好幾個網址,這邊要特別提醒一下,因為加密貨幣的詐騙網站很多,我個人是只從 https://gate.io 連線,如果要在電腦版登入,可以使用QR Code登入的方式,可以省下輸入二階段驗證碼的功夫
  • 登入時右邊會有QR Code顯示出來
  • 使用APP右上角的掃瞄功能去掃QR Code
  • 掃描完後在手機上按確認,電腦版就可以登入了

2021年10月29日 星期五

在ubuntu上自動更新cloudflare的ddns

之前常常在GCP上開免費的機器來玩,但是因為沒有使用靜態IP,所以如果連不上了有可能是因為IP被換掉了,就要開GCP的介面去查IP,昨天覺得實在是太煩了,就研究了一下怎樣才能達到自動更新Cloudflare的DNS紀錄,自然的碰到了坑,所以寫這篇記錄一下...

  • 安裝依賴套件
    • apt install libdata-validate-ip-perl libio-socket-ssl-perl
  • 下載新版 ddclient 並解壓縮
  • 進入解壓縮後的資料夾 把 ddclient 複製到 /usr/sbin/
    • cp ddclient /usr/sbin/
  • 建立兩個資料夾
    • mkdir /etc/ddclient /var/cache/ddclient
  • 建立設定檔
    • vim /etc/ddclient/ddclient.conf
  • 內容為
    • daemon=300 # 多久檢查一次
    • syslog=yes # 是否將 log 寫入 syslog
      pid=/var/run/ddclient.pid
      protocol=cloudflare
      use=web
      web=https://ipinfo.io/ip
      ssl=yes
      login= # Cloudlfare 登入帳號(Email)
      password= # Cloudflare API key,可在 https://dash.cloudflare.com/profile/api-tokens 取得
      zone=example.com # 域名
      dynamic1.example.com # 要更新的 DNS Record,多筆請用 , 分隔
  • 設定system service
    • cp sample-etc_systemd.service /etc/systemd/system/ddclient.service
      systemctl enable ddclient.service
      systemctl start ddclient.service
  • 測試指令
    • sudo ddclient -daemon=0 -debug -verbose -noquiet
API Key 要特別注意,因為ddclient不支援API Token,只支援API Key,因為這邊我卡了快1小時...WTF...

2020年8月14日 星期五

快速複製 Web 版 google drive 資料夾路徑對應的本機資料夾

 在使用google drive web版時,常常會遇到想在本機開啟這個檔案(如果有裝PC版程式),但是卻因為路徑太複雜,打開檔案總管要點很久所以很麻煩的情況,請把以下指令貼在chrome的書籤內容上,用chrome打開要開啟的google drive資料夾畫面,再點一下這個書籤就會產生出檔案總管的路徑囉,磁碟機代號記得改成自己的

var p="G:\\";
var o=document.getElementsByClassName('o-Yc-o-T');
for(var i=0;i<o.length;i++){
    console.log(o[i].textContent)
p+=o[i].textContent+"\\";
}
p+=document.getElementsByClassName('h-R-w-d-ff')[0].textContent
prompt('copy path',p);

懶人版:

javascript:(function()%7Bfor(var p%3D"G%3A%5C%5C"%2Co%3Ddocument.getElementsByClassName("o-Yc-o-T")%2Ci%3D0%3Bi<o.length%3Bi%2B%2B)p%2B%3Do%5Bi%5D.textContent%2B"%5C%5C"%3Bp%2B%3Ddocument.getElementsByClassName("h-R-w-d-ff")%5B0%5D.textContent%2Cprompt("copy path"%2Cp)%7D)()

2020年8月10日 星期一

快速產生 Rclone 複製 google drive 資料夾指令

 最近開始使用傳說中無限容量的google 共用雲端硬碟,搭配上AutoRclone,近乎完美,唯一缺點是rclone的指令好煩阿,每次都要在那邊剪剪貼貼,才能產出一組能用的指令,煩~~~

於是有了以下的產生器,請把以下指令貼在chrome的書籤內容上,用chrome打開要複製的google drive資料夾,再點一下這個書籤就會產生出所需的指令囉

P.S 指令內容請依照自身需求修改,XXXXXXXX改為目的資料夾ID

let a="python3 rclone_sa_magic.py -s ";
let b=location.href.split("/");
b=b[b.length-1];
let c=" -d ";
let d='XXXXXXXXXXXXXXXXXXXXX';
let e=' -dp "';
let f='/'+document.getElementsByClassName('h-R-w-d-ff')[0].textContent+'" -b 1 -e 600';
let g=a+b+c+d+e+f;
console.log(g);
prompt('copy to cmd',g)

懶人版:

javascript:(function()%7Blet%20a%3D%22python3%20rclone_sa_magic.py%20-s%20%22%2Cb%3Dlocation.href.split(%22%2F%22)%3Bb%3Db%5Bb.length-1%5D%3Blet%20c%3D%22%20-d%20%22%2Cd%3D%22XXXXXXXXXXXXXXXX%22%2Ce%3D'%20-dp%20%22'%2Cf%3D%22%2F%22%2Bdocument.getElementsByClassName(%22h-R-w-d-ff%22)%5B0%5D.textContent%2B'%22%20-b%201%20-e%20600'%2Cg%3Da%2Bb%2Bc%2Bd%2Be%2Bf%3Bconsole.log(g)%2Cprompt(%22copy%20to%20cmd%22%2Cg)%7D)()




2020年5月28日 星期四

在 cloudflare 免費使用無限多個 url redirect by workers

Cloudflare 是一家著名的免費CDN服務商,可以幫你把整個domain都做快取,而且他提供免費DNS的服務,一般免費的DNS服務大多可以設定50條左右的DNS規則,而Cloudflare 提供的免費DNS服務,可以免費使用1000條的規則,簡直完爆市面上所有DNS服務廠商。

但是這麼棒的DNS服務廠商也是有缺點的,就是他支援的domain URL redirect,免費的版本只能使用3個,對於我這麼愛用url redirect的人來說真是痛苦...

不過好在cloudflare提供workers這種serverless的服務,免費版一天最多能有10萬次request,寫點code就能使用一天10萬次的url redirect,對一般人來說,超級夠用拉~~~

使用方法
1.創造一個workers,命名為url_redirect
2.填入以下代碼

async function handleRequest(request) {
  let requestURL = new URL(request.url)
  console.log(requestURL.hostname)
  let path = requestURL.hostname.split('.')[0]
  let location = redirectMap[path]
  if (location) {
    return Response.redirect(location, 301)
  }
  return fetch(request)
}
addEventListener('fetch', async event => {
  event.respondWith(handleRequest(event.request))
})
const redirectMap = {
  apple: 'https://www.apple.com/',
  google: 'https://www.google.com/',
  yahoo: 'https://www.yahoo.com/',
}


3. redirectMap 就是要轉址的url 依此類推,填完後儲存並發布
4.到要部屬的domain下點worker,新增路由如下,並指定worker為url_redirect
*.your_domain/*

5.最重要的一點,dns那邊要配合設定CNAME,url隨便打就可以了,沒做此步驟是不會生效的

6.之後 打 xxx.you_domain 就會自動 URL redirect到想去的地方囉