已经安装了 libsodium 但不能 运行 shadowsocks with chacha20

have installed libsodium but can't run shadowsocks with chacha20

其实我是Linux中的菜鸟。 我只是做和学习一些东西作为网络教程。

由于某些原因,我使用了 shadowsocks。 服务器使用chacha20.

所以,我安装了 libsodium。

首先,我下载 libsodium-stable

tar vxf libsodium-stable-2018-10-23.tar.gz
cd libsodium-stable
./configure
make -j4
make check
make install

那我运行 须藤 sslocal -c ss.json

不支持chacha20方法..

所以,为什么?

这里是运行 make -j4 && make check:

make -j8 && make check
Making all in builds
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/builds'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/builds'
Making all in contrib
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/contrib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/contrib'
Making all in dist-build
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/dist-build'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/dist-build'
Making all in msvc-scripts
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/msvc-scripts'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/msvc-scripts'
Making all in src
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/src'
Making all in libsodium
make[2]: Entering directory '/home/taylor/ss/libsodium-stable/src/libsodium'
Making all in include
make[3]: Entering directory '/home/taylor/ss/libsodium-stable/src/libsodium/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/taylor/ss/libsodium-stable/src/libsodium/include'
make[3]: Entering directory '/home/taylor/ss/libsodium-stable/src/libsodium'
  CC       crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphashx24_ref.lo
  CC       crypto_sign/ed25519/ref10/libsodium_la-obsolete.lo
  CC       crypto_shorthash/siphash24/libsodium_la-shorthash_siphashx24.lo
  CC       crypto_generichash/blake2b/ref/libssse3_la-blake2b-compress-ssse3.lo
  CC       crypto_pwhash/argon2/libssse3_la-argon2-fill-block-ssse3.lo
  CC       crypto_generichash/blake2b/ref/libsse41_la-blake2b-compress-sse41.lo
  CC       crypto_generichash/blake2b/ref/libavx2_la-blake2b-compress-avx2.lo
  CC       crypto_pwhash/argon2/libavx2_la-argon2-fill-block-avx2.lo
  CC       crypto_stream/chacha20/dolbeau/libavx2_la-chacha20_dolbeau-avx2.lo
  CC       crypto_pwhash/argon2/libavx512f_la-argon2-fill-block-avx512f.lo
  CC       crypto_aead/chacha20poly1305/sodium/libsodium_la-aead_chacha20poly1305.lo
  CC       crypto_aead/xchacha20poly1305/sodium/libsodium_la-aead_xchacha20poly1305.lo
  CC       crypto_auth/libsodium_la-crypto_auth.lo
  CC       crypto_auth/hmacsha256/libsodium_la-auth_hmacsha256.lo
  CC       crypto_auth/hmacsha512/libsodium_la-auth_hmacsha512.lo
  CC       crypto_auth/hmacsha512256/libsodium_la-auth_hmacsha512256.lo
  CC       crypto_box/libsodium_la-crypto_box.lo
  CC       crypto_box/libsodium_la-crypto_box_easy.lo
  CC       crypto_box/libsodium_la-crypto_box_seal.lo
  CC       crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305.lo
  CC       crypto_core/ed25519/ref10/libsodium_la-ed25519_ref10.lo
  CC       crypto_core/hchacha20/libsodium_la-core_hchacha20.lo
  CC       crypto_core/hsalsa20/ref2/libsodium_la-core_hsalsa20_ref2.lo
  CC       crypto_core/hsalsa20/libsodium_la-core_hsalsa20.lo
  CC       crypto_core/salsa/ref/libsodium_la-core_salsa_ref.lo
  CC       crypto_generichash/libsodium_la-crypto_generichash.lo
  CC       crypto_generichash/blake2b/libsodium_la-generichash_blake2.lo
  CC       crypto_generichash/blake2b/ref/libsodium_la-blake2b-compress-ref.lo
  CC       crypto_generichash/blake2b/ref/libsodium_la-blake2b-ref.lo
  CC       crypto_generichash/blake2b/ref/libsodium_la-generichash_blake2b.lo
  CC       crypto_hash/libsodium_la-crypto_hash.lo
  CC       crypto_hash/sha256/libsodium_la-hash_sha256.lo
  CC       crypto_hash/sha512/libsodium_la-hash_sha512.lo
  CC       crypto_hash/sha256/cp/libsodium_la-hash_sha256_cp.lo
  CC       crypto_hash/sha512/cp/libsodium_la-hash_sha512_cp.lo
  CC       crypto_kdf/blake2b/libsodium_la-kdf_blake2b.lo
  CC       crypto_kdf/libsodium_la-crypto_kdf.lo
  CC       crypto_kx/libsodium_la-crypto_kx.lo
  CC       crypto_onetimeauth/libsodium_la-crypto_onetimeauth.lo
  CC       crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305.lo
  CC       crypto_onetimeauth/poly1305/donna/libsodium_la-poly1305_donna.lo
  CC       crypto_pwhash/argon2/libsodium_la-argon2-core.lo
  CC       crypto_pwhash/argon2/libsodium_la-argon2-encoding.lo
  CC       crypto_pwhash/argon2/libsodium_la-argon2-fill-block-ref.lo
  CC       crypto_pwhash/argon2/libsodium_la-argon2.lo
  CC       crypto_pwhash/argon2/libsodium_la-blake2b-long.lo
  CC       crypto_pwhash/argon2/libsodium_la-pwhash_argon2i.lo
  CC       crypto_pwhash/argon2/libsodium_la-pwhash_argon2id.lo
  CC       crypto_pwhash/libsodium_la-crypto_pwhash.lo
  CC       crypto_scalarmult/libsodium_la-crypto_scalarmult.lo
  CC       crypto_scalarmult/curve25519/ref10/libsodium_la-x25519_ref10.lo
  CC       crypto_scalarmult/curve25519/libsodium_la-scalarmult_curve25519.lo
  CC       crypto_secretbox/libsodium_la-crypto_secretbox.lo
  CC       crypto_secretbox/libsodium_la-crypto_secretbox_easy.lo
  CC       crypto_secretbox/xsalsa20poly1305/libsodium_la-secretbox_xsalsa20poly1305.lo
  CC       crypto_secretstream/xchacha20poly1305/libsodium_la-secretstream_xchacha20poly1305.lo
  CC       crypto_shorthash/libsodium_la-crypto_shorthash.lo
  CC       crypto_shorthash/siphash24/libsodium_la-shorthash_siphash24.lo
  CC       crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphash24_ref.lo
  CC       crypto_sign/libsodium_la-crypto_sign.lo
  CC       crypto_sign/ed25519/libsodium_la-sign_ed25519.lo
  CC       crypto_sign/ed25519/ref10/libsodium_la-keypair.lo
  CC       crypto_sign/ed25519/ref10/libsodium_la-sign.lo
  CC       crypto_sign/ed25519/ref10/libsodium_la-open.lo
  CC       crypto_stream/chacha20/libsodium_la-stream_chacha20.lo
  CC       crypto_stream/chacha20/ref/libsodium_la-chacha20_ref.lo
  CC       crypto_stream/libsodium_la-crypto_stream.lo
  CC       crypto_stream/salsa20/libsodium_la-stream_salsa20.lo
  CC       crypto_stream/xsalsa20/libsodium_la-stream_xsalsa20.lo
  CC       crypto_verify/sodium/libsodium_la-verify.lo
  CC       randombytes/libsodium_la-randombytes.lo
  CC       sodium/libsodium_la-codecs.lo
  CC       sodium/libsodium_la-core.lo
  CC       sodium/libsodium_la-runtime.lo
  CC       sodium/libsodium_la-utils.lo
  CC       sodium/libsodium_la-version.lo
  CPPAS    crypto_stream/salsa20/xmm6/libsodium_la-salsa20_xmm6-asm.lo
  CC       crypto_stream/salsa20/xmm6/libsodium_la-salsa20_xmm6.lo
  CC       crypto_scalarmult/curve25519/sandy2x/libsodium_la-curve25519_sandy2x.lo
  CC       crypto_scalarmult/curve25519/sandy2x/libsodium_la-fe51_invert.lo
  CC       crypto_scalarmult/curve25519/sandy2x/libsodium_la-fe_frombytes_sandy2x.lo
  CPPAS    crypto_scalarmult/curve25519/sandy2x/libsodium_la-sandy2x.lo
  CC       crypto_box/curve25519xchacha20poly1305/libsodium_la-box_curve25519xchacha20poly1305.lo
  CC       crypto_box/curve25519xchacha20poly1305/libsodium_la-box_seal_curve25519xchacha20poly1305.lo
  CC       crypto_core/ed25519/libsodium_la-core_ed25519.lo
  CC       crypto_pwhash/scryptsalsa208sha256/libsodium_la-crypto_scrypt-common.lo
  CC       crypto_pwhash/scryptsalsa208sha256/libsodium_la-scrypt_platform.lo
  CC       crypto_pwhash/scryptsalsa208sha256/libsodium_la-pbkdf2-sha256.lo
  CC       crypto_pwhash/scryptsalsa208sha256/libsodium_la-pwhash_scryptsalsa208sha256.lo
  CC       crypto_pwhash/scryptsalsa208sha256/nosse/libsodium_la-pwhash_scryptsalsa208sha256_nosse.lo
  CC       crypto_scalarmult/ed25519/ref10/libsodium_la-scalarmult_ed25519_ref10.lo
  CC       crypto_secretbox/xchacha20poly1305/libsodium_la-secretbox_xchacha20poly1305.lo
  CC       crypto_stream/salsa2012/ref/libsodium_la-stream_salsa2012_ref.lo
  CC       crypto_stream/salsa2012/libsodium_la-stream_salsa2012.lo
  CC       crypto_stream/salsa208/ref/libsodium_la-stream_salsa208_ref.lo
  CC       crypto_stream/salsa208/libsodium_la-stream_salsa208.lo
  CC       crypto_stream/xchacha20/libsodium_la-stream_xchacha20.lo
  CC       randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo
  CC       crypto_aead/aes256gcm/aesni/libaesni_la-aead_aes256gcm_aesni.lo
  CC       crypto_onetimeauth/poly1305/sse2/libsse2_la-poly1305_sse2.lo
  CC       crypto_pwhash/scryptsalsa208sha256/sse/libsse2_la-pwhash_scryptsalsa208sha256_sse.lo
  CC       crypto_stream/chacha20/dolbeau/libssse3_la-chacha20_dolbeau-ssse3.lo
  CCLD     libsse41.la
  CC       crypto_stream/salsa20/xmm6int/libavx2_la-salsa20_xmm6int-avx2.lo
  CCLD     libavx512f.la
  CC       randombytes/salsa20/librdrand_la-randombytes_salsa20_random.lo
libtool: warning: '-version-info/-version-number' is ignored for convenience libraries
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: warning: '-version-info/-version-number' is ignored for convenience libraries
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     libssse3.la
  CCLD     libsse2.la
  CCLD     libaesni.la
libtool: warning: '-version-info/-version-number' is ignored for convenience libraries
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: warning: '-version-info/-version-number' is ignored for convenience libraries
libtool: warning: '-version-info/-version-number' is ignored for convenience libraries
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     librdrand.la
libtool: warning: '-version-info/-version-number' is ignored for convenience libraries
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     libavx2.la
libtool: warning: '-version-info/-version-number' is ignored for convenience libraries
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     libsodium.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[3]: Leaving directory '/home/taylor/ss/libsodium-stable/src/libsodium'
make[2]: Leaving directory '/home/taylor/ss/libsodium-stable/src/libsodium'
make[2]: Entering directory '/home/taylor/ss/libsodium-stable/src'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/home/taylor/ss/libsodium-stable/src'
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/src'
Making all in test
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/test'
Making all in default
make[2]: Entering directory '/home/taylor/ss/libsodium-stable/test/default'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/taylor/ss/libsodium-stable/test/default'
make[2]: Entering directory '/home/taylor/ss/libsodium-stable/test'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/home/taylor/ss/libsodium-stable/test'
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/test'
make[1]: Entering directory '/home/taylor/ss/libsodium-stable'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable'
Making check in builds
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/builds'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/builds'
Making check in contrib
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/contrib'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/contrib'
Making check in dist-build
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/dist-build'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/dist-build'
Making check in msvc-scripts
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/msvc-scripts'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/msvc-scripts'
Making check in src
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/src'
Making check in libsodium
make[2]: Entering directory '/home/taylor/ss/libsodium-stable/src/libsodium'
Making check in include
make[3]: Entering directory '/home/taylor/ss/libsodium-stable/src/libsodium/include'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/home/taylor/ss/libsodium-stable/src/libsodium/include'
make[3]: Entering directory '/home/taylor/ss/libsodium-stable/src/libsodium'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/home/taylor/ss/libsodium-stable/src/libsodium'
make[2]: Leaving directory '/home/taylor/ss/libsodium-stable/src/libsodium'
make[2]: Entering directory '/home/taylor/ss/libsodium-stable/src'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/home/taylor/ss/libsodium-stable/src'
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/src'
Making check in test
make[1]: Entering directory '/home/taylor/ss/libsodium-stable/test'
Making check in default
make[2]: Entering directory '/home/taylor/ss/libsodium-stable/test/default'
make  aead_aes256gcm aead_chacha20poly1305 aead_xchacha20poly1305 auth auth2 auth3 auth5 auth6 auth7 box box2 box7 box8 box_easy box_easy2 box_seal box_seed chacha20 codecs core1 core2 core3 core4 core5 core6 ed25519_convert generichash generichash2 generichash3 hash hash3 kdf keygen kx metamorphic misuse onetimeauth onetimeauth2 onetimeauth7 pwhash_argon2i pwhash_argon2id randombytes scalarmult scalarmult2 scalarmult5 scalarmult6 scalarmult7 secretbox secretbox2 secretbox7 secretbox8 secretbox_easy secretbox_easy2 secretstream shorthash sign sodium_core sodium_utils sodium_version stream stream2 stream3 stream4 verify1 sodium_utils2 sodium_utils3 core_ed25519 pwhash_scrypt pwhash_scrypt_ll scalarmult_ed25519 siphashx24 xchacha20
make[3]: Entering directory '/home/taylor/ss/libsodium-stable/test/default'
  CC       aead_aes256gcm.o
  CCLD     aead_aes256gcm
  CC       aead_chacha20poly1305.o
  CCLD     aead_chacha20poly1305
  CC       aead_xchacha20poly1305.o
  CCLD     aead_xchacha20poly1305
  CC       auth.o
  CCLD     auth
  CC       auth2.o
  CCLD     auth2
  CC       auth3.o
  CCLD     auth3
  CC       auth5.o
  CCLD     auth5
  CC       auth6.o
  CCLD     auth6
  CC       auth7.o
  CCLD     auth7
  CC       box.o
  CCLD     box
  CC       box2.o
  CCLD     box2
  CC       box7.o
  CCLD     box7
  CC       box8.o
  CCLD     box8
  CC       box_easy.o
  CCLD     box_easy
  CC       box_easy2.o
  CCLD     box_easy2
  CC       box_seal.o
  CCLD     box_seal
  CC       box_seed.o
  CCLD     box_seed
  CC       chacha20.o
  CCLD     chacha20
  CC       codecs.o
  CCLD     codecs
  CC       core1.o
  CCLD     core1
  CC       core2.o
  CCLD     core2
  CC       core3.o
  CCLD     core3
  CC       core4.o
  CCLD     core4
  CC       core5.o
  CCLD     core5
  CC       core6.o
  CCLD     core6
  CC       ed25519_convert.o
  CCLD     ed25519_convert
  CC       generichash.o
  CCLD     generichash
  CC       generichash2.o
  CCLD     generichash2
  CC       generichash3.o
  CCLD     generichash3
  CC       hash.o
  CCLD     hash
  CC       hash3.o
  CCLD     hash3
  CC       kdf.o
  CCLD     kdf
  CC       keygen.o
  CCLD     keygen
  CC       kx.o
  CCLD     kx
  CC       metamorphic.o
  CCLD     metamorphic
  CC       misuse.o
  CCLD     misuse
  CC       onetimeauth.o
  CCLD     onetimeauth
  CC       onetimeauth2.o
  CCLD     onetimeauth2
  CC       onetimeauth7.o
  CCLD     onetimeauth7
  CC       pwhash_argon2i.o
  CCLD     pwhash_argon2i
  CC       pwhash_argon2id.o
  CCLD     pwhash_argon2id
  CC       randombytes.o
  CCLD     randombytes
  CC       scalarmult.o
  CCLD     scalarmult
  CC       scalarmult2.o
  CCLD     scalarmult2
  CC       scalarmult5.o
  CCLD     scalarmult5
  CC       scalarmult6.o
  CCLD     scalarmult6
  CC       scalarmult7.o
  CCLD     scalarmult7
  CC       secretbox.o
  CCLD     secretbox
  CC       secretbox2.o
  CCLD     secretbox2
  CC       secretbox7.o
  CCLD     secretbox7
  CC       secretbox8.o
  CCLD     secretbox8
  CC       secretbox_easy.o
  CCLD     secretbox_easy
  CC       secretbox_easy2.o
  CCLD     secretbox_easy2
  CC       secretstream.o
  CCLD     secretstream
  CC       shorthash.o
  CCLD     shorthash
  CC       sign.o
  CCLD     sign
  CC       sodium_core.o
  CCLD     sodium_core
  CC       sodium_utils.o
  CCLD     sodium_utils
  CC       sodium_version.o
  CCLD     sodium_version
  CC       stream.o
  CCLD     stream
  CC       stream2.o
  CCLD     stream2
  CC       stream3.o
  CCLD     stream3
  CC       stream4.o
  CCLD     stream4
  CC       verify1.o
  CCLD     verify1
  CC       sodium_utils2.o
  CCLD     sodium_utils2
  CC       sodium_utils3.o
  CCLD     sodium_utils3
  CC       core_ed25519.o
  CCLD     core_ed25519
  CC       pwhash_scrypt.o
  CCLD     pwhash_scrypt
  CC       pwhash_scrypt_ll.o
  CCLD     pwhash_scrypt_ll
  CC       scalarmult_ed25519.o
  CCLD     scalarmult_ed25519
  CC       siphashx24.o
  CCLD     siphashx24
  CC       xchacha20.o
  CCLD     xchacha20
make[3]: Leaving directory '/home/taylor/ss/libsodium-stable/test/default'
make  check-TESTS
make[3]: Entering directory '/home/taylor/ss/libsodium-stable/test/default'
make[4]: Entering directory '/home/taylor/ss/libsodium-stable/test/default'
PASS: aead_aes256gcm
PASS: aead_chacha20poly1305
PASS: aead_xchacha20poly1305
PASS: auth
PASS: auth2
PASS: auth3
PASS: auth5
PASS: auth6
PASS: auth7
PASS: box
PASS: box2
PASS: box7
PASS: box8
PASS: box_easy
PASS: box_easy2
PASS: box_seal
PASS: box_seed
PASS: chacha20
PASS: codecs
PASS: core1
PASS: core2
PASS: core3
PASS: core4
PASS: core5
PASS: core6
PASS: ed25519_convert
PASS: generichash
PASS: generichash2
PASS: generichash3
PASS: hash
PASS: hash3
PASS: kdf
PASS: keygen
PASS: kx
PASS: metamorphic
PASS: misuse
PASS: onetimeauth
PASS: onetimeauth2
PASS: onetimeauth7
PASS: pwhash_argon2i
PASS: pwhash_argon2id
PASS: randombytes
PASS: scalarmult
PASS: scalarmult2
PASS: scalarmult5
PASS: scalarmult6
PASS: scalarmult7
PASS: secretbox
PASS: secretbox2
PASS: secretbox7
PASS: secretbox8
PASS: secretbox_easy
PASS: secretbox_easy2
PASS: secretstream
PASS: shorthash
PASS: sign
PASS: sodium_core
PASS: sodium_utils
PASS: sodium_version
PASS: stream
PASS: stream2
PASS: stream3
PASS: stream4
PASS: verify1
PASS: sodium_utils2
PASS: sodium_utils3
PASS: core_ed25519
PASS: pwhash_scrypt
PASS: pwhash_scrypt_ll
PASS: scalarmult_ed25519
PASS: siphashx24
PASS: xchacha20
============================================================================
Testsuite summary for libsodium 1.0.16
============================================================================
# TOTAL: 72
# PASS:  72
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/home/taylor/ss/libsodium-stable/test/default'
make[3]: Leaving directory '/home/taylor/ss/libsodium-stable/test/default'
make[2]: Leaving directory '/home/taylor/ss/libsodium-stable/test/default'
make[2]: Entering directory '/home/taylor/ss/libsodium-stable/test'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/home/taylor/ss/libsodium-stable/test'
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable/test'
make[1]: Entering directory '/home/taylor/ss/libsodium-stable'
make[1]: Nothing to be done for 'check-am'.
make[1]: Leaving directory '/home/taylor/ss/libsodium-stable'

那我运行

sudo sslocal -c ss.json

显示为:

2018-11-01 23:00:59 ERROR   method chacha20 not supported

希望你能帮助我。非常感谢。

添加: 遇到这个问题后,我下载了很多版本的libsodium。并按照我上面所说的安装它们。

我使用 Ubuntu,这对我有用:

  • 第一,

    sudo apt install software-properties-common -y

  • 接下来安装更新前的目录

    sudo add-apt-repository ppa:max-c-lv/shadowsocks-libev -y

    sudo apt update

  • 现在,安装 chacha20 工具供 ubuntu 使用)

    sudo apt install shadowsocks-libev