在查python code 裡面的 "at" 符號(@) 是什麼的時候,發現初學者基本上看不懂,再加上現在OO 都學得很爛。
所以分享一個比較容易理解的,python Decorator Pattern 範例,雖然這樣用其實根本違反 Decorator Pattern 的意義,但主要是讓人理解運行狀況。
基本上,把她想成是對某個樣本,實際做擴充就可以了。
code:
兩個輸出都是:
Hans
tow
參考:
https://en.wikipedia.org/wiki/Decorator_pattern
https://puremonkey2010.blogspot.tw/2010/11/oo-decorator-pattern.html
http://www.hansshih.com/post/85896158975/%E8%90%AC%E6%83%A1%E7%9A%84-python-decorator-%E7%A9%B6%E7%AB%9F%E6%98%AF%E4%BB%80%E9%BA%BC
2017年9月25日 星期一
2017年9月1日 星期五
ubuntu Shadowsocks python
Shadowsocks
安裝:
apt-get install python-pip
pip install shadowsocks
設定:
我通常會在自己使用者底下建立ss資料夾方便管理,如果只希望用預設值的可以參考官網,請依照自己習慣動態調整設定黨位置,但注意最後一定要用 root權限,因為會呼叫一個加密lib。
mkdir ssserver
vim
ssserver.json
server 可以打上自己的IP,port也可以自己換,官網有提到有些VPS 服務商會讓非正常port降速可以使用常見port處理,如:443,3389...,但我會建議超過1024比較好,password為倒是時候連線的密碼,method是加密方法,aes-256-cfb 是通常ubuntu server都會內建,至於會不會被破我就不得而知了。
ssserver.json
{
"server": "0.0.0.0",
"server_port": 8388,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "passwd",
"timeout": 300,
"method": "aes-256-cfb",
"fast_open": false
}
執行:
-C 是指定設定黨位置,--log-file 是特別指定log黨寫入位置,-d是背景執行
sudo ssserver -c ~/sserver/ssserver.json --log-file ~/ssserver/ss.log -d start
關閉:
sudo ssserver -c ~/sserver/ssserver.json --log-file ~/ssserver/ss.log -d stop
windows client
Android client
問題排除:
通常遇到最大的問題都是被防火牆擋住了,如果是GCP 跟中華除了本機端的防火牆之外還要特別設定外部防火牆指到VPS,而本機防火牆通常是iptable 跟 ufw。
檢查是否為防火牆擋住:
sudo cat /var/etc/syslog
如果看到[UFW BLOCK] 就是被ufw擋住了:
sudo ufw allow 8388/tcp
如果看到 iptables_INPUT_denied 就是被iptables擋住了:
1.檢查防火牆:
sudo iptables -L -n
2.如果有reject-with icmp-port-unreachable 要先移除,不然就跳過這步驟,下面是移除input第幾個:
sudo iptables -D INPUT 33.新增連入iptables:
sudo iptables -A INPUT -p tcp --dport 8388-j ACCEPT
4.加回iptables:
sudo iptables -A INPUT -j REJECT --reject-with icmp-port-unreachable
訂閱:
文章 (Atom)