系統環境:
python 版本:
按照官方步驟安裝 shoadowsocks 之後,運行sslocal 會報異常,如下:
load_openssl raise Exception('libcrypto(OpenSSL) not found') Exception: libcrypto(OpenSSL) not found
我的解決辦法:
安裝 openssl
下載地址: http://slproweb.com/products/Win32OpenSSL.html
安裝完之後,進入庫文件所在系統目錄
我的是,C:\Program Files\OpenSSL-Win32
將libcrypto-1_1.dll 在源目錄拷貝一份,並修改名字爲 libcrypto.dll,這樣做的原因看了文章末尾的第二種方法就會明白
卸載 shadowsocks
目前爲止,通過 pip install shadowsocks 安裝的 shadowsocks 版本最高爲 2.8.2。而官網已經推送了 2.9.1。並且說修復了有關與新版本 openssl 庫相關的問題:
卸載,運行:pip unistall shadowsocks 。
安裝 shadowsocks-2.9.1
下載 shadowsocks 最新的 python 源碼,解壓,在命令行模式下進入它的目錄
運行 python setup.py build && python setup.py install
安裝完成
這樣就解決了
另一種方法:
修改 C:\Users\Lm\Desktop\shadowsocks-2.9.1\shadowsocks\crypto\ 目錄下 openssl.py
libcrypto = util.find_library(('crypto', 'eay32'),
'EVP_get_cipherbyname',
'libcrypto')
改成:
libcrypto = util.find_library(('crypto', 'eay32'),
'EVP_get_cipherbyname',
'libcrypto-1_1')
然後,再執行 python setup.py build && python setup.py install ,進行編譯安裝,這樣也可以解決
問題的原因就是,庫的名稱與 shadowsocks 中不一樣且shadowsocks與新版本的openssl庫上也存在兼容的問題
參考鏈接:
python pip 的簡單命令:https://pip.pypa.io/en/stable/installing/
類似問題的解決:https://github.com/shadowsocks/shadowsocks/issues/701
shadowsocks-python for windows:https://github.com/shadowsocks/shadowsocks/wiki/Install-Shadowsocks-Server-on-Windows