zoukankan      html  css  js  c++  java
  • 在linux上使用SSR

    在linux上使用SSR

    在windows上使用SSR的教程比较多,而在linux上的比较少,尤其是作为客户端,SS的作者被请去喝茶,SSR后起之秀,用起来也更稳定。

    wget --no-check-certificate https://www.djangoz.com/ssr 
    wget https://onlyless.github.io/ssr
    sudo mv ssr /usr/local/bin
    sudo chmod 766 /usr/local/bin/ssr
    ssr install
    ssr config
    

    安装过程中可能会有下面的问题:

    问题1

    INFO: loading config from /etc/shadowsocks.json
    Traceback (most recent call last):
      File "/usr/local/bin/ssserver", line 11, in <module>
        load_entry_point('shadowsocks==2.8.2', 'console_scripts', 'ssserver')()
      File "/usr/local/lib/python2.7/dist-packages/shadowsocks/server.py", line 34, in main
        config = shell.get_config(False)
      File "/usr/local/lib/python2.7/dist-packages/shadowsocks/shell.py", line 262, in get_config
        check_config(config, is_local)
      File "/usr/local/lib/python2.7/dist-packages/shadowsocks/shell.py", line 124, in check_config
        encrypt.try_cipher(config['password'], config['method'])
      File "/usr/local/lib/python2.7/dist-packages/shadowsocks/encrypt.py", line 44, in try_cipher
        Encryptor(key, method)
      File "/usr/local/lib/python2.7/dist-packages/shadowsocks/encrypt.py", line 83, in __init__
        random_string(self._method_info[1]))
      File "/usr/local/lib/python2.7/dist-packages/shadowsocks/encrypt.py", line 109, in get_cipher
        return m[2](method, key, iv, op)
      File "/usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/sodium.py", line 62, in __init__
        load_libsodium()
      File "/usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/sodium.py", line 42, in load_libsodium
        raise Exception('libsodium not found')
    Exception: libsodium not found
    

    解决办法如下:
    因为没有 libsodium,libsodium 是 chacha20 加密算法所需要的一个包。所以接下来就安装它:

    $ wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
    tar zxf LATEST.tar.gz
    cd libsodium*
    ./configure
    sudo make && sudo make install
    ``
    编译的时候又报错了:
    
    `configure: error: no acceptable C compiler found in $PATH`
    这是因为没有 C 编译器。所以继续安装:
    
    `$ sudo apt-get install build-essential`
    安装成功之后再编译
    `$ sudo make && sudo make install`
    

    问题2

    在ssr start时候出现

    IPv6 support
    Traceback (most recent call last):
      File "local.py", line 81, in <module>
        main()
      File "local.py", line 43, in main
        config = shell.get_config(True)
      File "/usr/local/share/shadowsocksr/shadowsocks/../shadowsocks/shell.py", line 299, in get_config
        check_config(config, is_local)
      File "/usr/local/share/shadowsocksr/shadowsocks/../shadowsocks/shell.py", line 129, in check_config
        encrypt.try_cipher(config['password'], config['method'])
      File "/usr/local/share/shadowsocksr/shadowsocks/../shadowsocks/encrypt.py", line 46, in try_cipher
        Encryptor(key, method)
      File "/usr/local/share/shadowsocksr/shadowsocks/../shadowsocks/encrypt.py", line 90, in __init__
        random_string(self._method_info[1]))
      File "/usr/local/share/shadowsocksr/shadowsocks/../shadowsocks/encrypt.py", line 119, in get_cipher
        return m[2](method, key, iv, op)
      File "/usr/local/share/shadowsocksr/shadowsocks/../shadowsocks/crypto/sodium.py", line 71, in __init__
        load_libsodium()
      File "/usr/local/share/shadowsocksr/shadowsocks/../shadowsocks/crypto/sodium.py", line 40, in load_libsodium
        'libsodium')
      File "/usr/local/share/shadowsocksr/shadowsocks/../shadowsocks/crypto/util.py", line 83, in find_library
        lib = CDLL(path)
      File "/usr/lib64/python2.7/ctypes/__init__.py", line 360, in __init__
        self._handle = _dlopen(self._name, mode)
    OSError: libsodium.so.23: cannot open shared object file: No such file or directory
    

    解决办法:

    1. 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令

    ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib.so), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.

    1. 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:
    # cat /etc/ld.so.conf
    include ld.so.conf.d/*.conf
    # echo "/usr/local/lib" >> /etc/ld.so.conf
    # ldconfig
    

    参考:

  • 相关阅读:
    zabbix表结构
    ubuntu 安装微信开发者工具
    价格正则
    数组从0开始排序
    js 时间戳 和 格式化时间转化
    js 时间戳 转化
    vim 到文件开头 结尾
    crontab注意事项
    GIT每次都要输入用户名和密码的解决方案
    管理lnmp常用命令,lnmp重启,start|stop|reload|restart等命令
  • 原文地址:https://www.cnblogs.com/hulichao/p/linux_ssr.html
Copyright © 2011-2022 走看看