使用python同步本地時間

服務器超售到不行,cpu時間隔一段時間就滿好多。嘗試配置了標準了自動的時間同步,效果不理想。於是用python調用worldtimeapi.org的api配合crontab來修正系統時間。

import subprocess,requests,time

def main():
    try:
        response = requests.request("GET", "http://worldtimeapi.org/api/timezone/Asia/Hong_Kong")
        timeJson=response.json()
        timeAbs = abs(timeJson['unixtime']-time.time())
        if timeAbs > 15 :
            subprocess.call(['date','+%T','-s',timeJson['datetime'][11:19]])
            print("time synced")
        else:
            print(timeAbs)
            
    except:
        print("net error")
    
if __name__ == '__main__':
    main()
#添加crontab任務
crontab -e
#每兩小時檢查一次
0 */2 * * * /usr/local/bin/python3 /home/42/time.py >> /home/42/t.log 2>&1

python使用pyftpdlib實現ftp服務

需要使用ftp分享文件,記得很久之前折騰過ftp服務的搭建,賬號權限設置都挺複雜,這次使用python和pyftpdlib實現,幾分鐘就搞定啦。

#安裝pyftpdlib,當然還是推薦在虛擬環境裡裝
pip install pyftpdlib

然後新建一個python文件myFtp.py,內容如下:

import os

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer

def main():
    # Instantiate a dummy authorizer for managing 'virtual' users
    authorizer = DummyAuthorizer()

    # 第一行新建一個具有讀寫權限的用戶(用戶名,密碼,ftp文件夾)
    # 第二行新建匿名讀取賬戶
    authorizer.add_user('user', '12345', '.', perm='elradfmwMT')
    authorizer.add_anonymous(os.getcwd())

    # Instantiate FTP handler class
    handler = FTPHandler
    handler.authorizer = authorizer

    # 設置一個個性化歡迎語 (客戶端來連接的時候會返回給它)
    handler.banner = "基於pyftpdlib的ftp服務已準備好"

    # Specify a masquerade address and the range of ports to use for
    # passive connections.  Decomment in case you're behind a NAT.
    #handler.masquerade_address = '151.25.42.11'
    #handler.passive_ports = range(60000, 65535)

    # 監聽任意ip目標的2121端口,ftp標準端口是21
    address = ('', 2121)
    server = FTPServer(address, handler)

    # set a limit for connections
    server.max_cons = 256
    server.max_cons_per_ip = 5

    # start ftp server
    server.serve_forever()

if __name__ == '__main__':
    main()
#最後運行就可以了
python myFtp.py

其實這次也是走了彎路的,那就是先嘗試了Twisted,stackoverflow的網友說可以一行命令實現ftp服務。結果pip裝不上,需要下載了安裝包用

pip install 
裝。裝好後匿名用戶可以跑,設置了密碼就顯示密碼錯誤,搜索一番也沒找到辦法,於是使用了pyftpdlib。雖然實現ftp服務失敗了,但Twisted確實是一個很厲害的項目,有時間的話可以學習一下。 Twisted also supports many common network protocols, including SMTP, POP3, IMAP, SSHv2, and DNS.

火狐啟用未簽名的附加元件

昨天還好好的,也沒升級火狐,今天一打開大片插件都被禁用了,理由是沒有簽名,所以不夠安全。但是忽然用不了很不方便啊,臨時的解決辦法是:瀏覽器輸入about:config,搜索欄輸入xpinstall.signatures.required,將其值改為false,即可啟用。

忽然禁用,而且沒有提示怎麼開啟,很多用戶都會很困擾吧。如果尊重用戶的話,希望可以告知用戶,在用戶願意為自己安全負責的情況下如何開啟被禁用的插件。幾百萬人使用的插件,說禁用就禁用了,傷害面不會有點大嗎?


升級到60.6.2esr後問題得以修復。

拯救BT下載的好項目trackerslist

家裡用的便宜的天威寬帶,20M下行,2M上行。最早是可以正常下載bt資源的。然後不知道從什麼時候起就變成了速度要麼沒有,要麼只有幾k,無奈放棄。治到前幾天發現了這個項目:trackerslist。無論是用transmission還是Vuze都可以「方便」的加入更多的tracker,速度一下子就上來了。沒有虛擬貨幣無法捐贈,僅祝作者好人一生平安。

衛星圖

衛星圖可以帶來比繪製地圖更真實的體驗。網頁版谷歌地圖提供的衛星圖已經很方便,專業版還可以看過往的衛星圖,在時間跨度上看地貌是非常震撼的,比如深圳的南山半島(建造)和岩手的鵜住居(破壞)。

Google地球專業版可以直接從官方網站下載。為Linux用戶提供64位元的適用於 Debian/Ubuntu的deb包,和適用於 Fedora/openSUSE的rpm包。安裝後應該會出現在程序菜單網絡子菜單下。

#通過代理打開Google地球專業版
proxychains4 google-earth-pro
##如果有更新可能會報未導入Google公鑰的錯誤,通過下面命令導入即可
sudo rpm --import https://dl.google.com/linux/linux_signing_key.pub
#導入公鑰後可再嘗試
sudo dnf update google-earth-pro-stable

除了谷歌地圖,OpenStreetMap的編輯器亦提供Bing 空照圖、DigitalGlobe Premium 空照圖、DigitalGlobe Standard 空照圖、Esri 世界衛星圖、Esri 世界衛星圖(清晰版)Beta、Mapbox 衛星圖這六種衛星圖,根據地區不同,有的非常清晰有的則很模糊。

Linux上的離線字典——GoldenDict

GoldenDict是一款方便的字典應用,不僅支持離線字典和屏幕取詞,也支持在線辭典服務。Fedora直接從軟件倉庫安裝goldendict即可,默認的屏幕取詞快捷鍵是Ctrl+C+C。

分享幾個字典的下載地址:https://1drv.ms/f/s!AiSujQyFSc-uab_ItF61BBKnLUs。GoldenDict中的字典順序也是下面順序。

  1. Babylon_English_Chinese_S_.BGL
  2. Babylon_Chinese_S_English.BGL
  3. Oxford_Advanced_Learner_English-Chinese_Dictionary-4th.bgl
  4. ConciseOxfordEnglishDictionary.dsl.dz
  5. Oxford English Dictionary (2nd Edition) .bgl
  6. 现代汉英词典(金山).dsl.dz

安卓也有GoldenDict可用,我用的免費版(谷歌市場:GoldenDict Free),有最大5個字典的限制,但是也夠用了。

使用espeak來發音

#安裝espeak
sudo dnf install espeak
#打開GoldenDict,菜單欄依次選擇
#編輯/字典/字典來源/程式/新增
#新增內容為:
#類型:音訊
#名稱:espeak
#命令列:/usr/bin/espeak -v en -s 120 %GDWORD%
#圖示:/usr/share/doc/espeak/html/images/lips.png
#最後勾選啟用框,保存並重啟GoldenDict就可以有英文發音了

更多字典可以從這些地方獲得:http://download.huzheng.org/(來自:Good offline dictionaries for GoldenDict)