windows 上運行 sslocal 提示 libcrypto(OpenSSL) not found 解決辦法

系統環境:

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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章