Please answer these questions before submitting your issue. Thanks!
(Please mention that if the issue you filed is solved, you may wish to close it by yourself. Thanks again.)
(PS, you can remove 3 lines above, including this one, before post your issue.)
v3.1.3 Manually compiled from github
Ubuntu 16.04 LTS and Debian 9 both tested
Run command systemctl status shadowsocks.service
Use systemd to manage shadowsocks-libev service
root@admin:/lib/systemd/system# systemctl status shadowsocks.service
● shadowsocks.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
root@admin:/lib/systemd/system# systemctl status shadowsocks-libev.service
● shadowsocks-libev.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
root@admin:/lib/systemd/system# ss-server
2018-03-01 03:45:48 INFO: using tcp fast open
2018-03-01 03:45:48 INFO: plugin "obfs-server" enabled
2018-03-01 03:45:48 INFO: UDP relay enabled
2018-03-01 03:45:48 INFO: initializing ciphers... xchacha20-ietf-poly1305
2018-03-01 03:45:48 INFO: using nameserver: 8.8.8.8
2018-03-01 03:45:48 INFO: tcp server listening at 127.0.0.1:54475
2018-03-01 03:45:48 INFO: udp server listening at [::0]:443
2018-03-01 03:45:48 INFO: udp server listening at 0.0.0.0:443
2018-03-01 03:45:48 INFO: running from root user
2018-03-01 03:45:48 [simple-obfs] INFO: using tcp fast open
2018-03-01 03:45:48 [simple-obfs] INFO: obfuscating enabled
2018-03-01 03:45:48 [simple-obfs] INFO: tcp port reuse enabled
2018-03-01 03:45:48 [simple-obfs] INFO: listening at 0.0.0.0:443
2018-03-01 03:45:48 [simple-obfs] INFO: tcp port reuse enabled
2018-03-01 03:45:48 [simple-obfs] INFO: listening at [::0]:443
2018-03-01 03:45:48 [simple-obfs] INFO: running from root user
{
"server":["[::0]","0.0.0.0"],
"server_port":443,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"*************",
"timeout":600,
"method":"xchacha20-ietf-poly1305",
}
And there are nothing related with shadowsocks when I run cd /lib/systemd/system && ls
Not shadowsocks.service
But
cd /lib/systemd/system
ls shadowsocks-libev*
shadowsocks-libev-local.service [email protected]
[email protected] [email protected]
[email protected] shadowsocks-libev.service
Config file in /etc/shadowsocks-libev/config.json
Strat systemctl start [email protected]
@whour Thanks but It did nothing helpful, like that? I'm sure that my config file path is /etc/shadowsocks-libev/config.json
root@admin:~# systemctl status [email protected]
● [email protected]
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
cd /lib/systemd/system
cat shadowsocks-libev-server\@.service
# This file is part of shadowsocks-libev.
#
# Shadowsocks-libev is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This is a template unit file. Users may copy and rename the file into
# config directories to make new service instances. See systemd.unit(5)
# for details.
[Unit]
Description=Shadowsocks-Libev Custom Server Service for %I
Documentation=man:ss-server(1)
After=network.target network-online.target
[Service]
Type=simple
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/%i.json
User=nobody
Group=nobody
LimitNOFILE=32768
[Install]
WantedBy=multi-user.target
check you systemd services.
@whour There is no that file, and that is the main reason why i can not use systemd to manage shadowsocks service. I post my compile log here if it helps you to find anything useful. I means that compile from released code will not auto create systemd related shadowsock service.
~/shadowsocks-libev-3.1.3 ~
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for pcre-config... pcre-config
checking for pcre headers in ... not found
checking for library containing pcre_exec... -lpcre
checking pcre.h usability... yes
checking pcre.h presence... yes
checking for pcre.h... yes
checking pcre/pcre.h usability... no
checking pcre/pcre.h presence... no
checking for pcre/pcre.h... no
checking for asciidoc... /usr/bin/asciidoc
checking for xmlto... /usr/bin/xmlto
checking for gzip... /bin/gzip
checking for mv... /bin/mv
checking for a sed that does not truncate output... (cached) /bin/sed
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for thread local storage (TLS) class... __thread
checking for mbedtls_cipher_setup in -lmbedcrypto... yes
checking whether mbedtls supports Cipher Feedback mode or not... ok
checking whether mbedtls supports the ARC4 stream cipher or not... ok
checking whether mbedtls supports the Blowfish block cipher or not... ok
checking whether mbedtls supports the Camellia block cipher or not... ok
checking for sodium_init in -lsodium... yes
checking for version of libsodium... yes
checking for ares_library_init in -lcares... yes
checking for C/C++ restrict keyword... __restrict
checking for netdb.h... yes
checking for library containing inet_ntop... none required
checking whether inet_ntop is declared... yes
checking for what kind of host... Linux
checking whether gcc is Clang... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking whether more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking if -fstack-protector and -fstack-protector-all are supported.... yes
configure: -fstack-protector enabled in CFLAGS
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking linux/tcp.h usability... yes
checking linux/tcp.h presence... yes
checking for linux/tcp.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking for netdb.h... (cached) yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for unistd.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking linux/random.h usability... yes
checking linux/random.h presence... yes
checking for linux/random.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for net/if.h... yes
checking for linux/if.h... yes
checking for linux/netfilter_ipv4.h... yes
checking for linux/netfilter_ipv6/ip6_tables.h... yes
checking whether byte ordering is bigendian... no
checking for inline... inline
checking for ssize_t... yes
checking whether to enable assertions... yes
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for an ANSI C-conforming const... yes
checking for pid_t... yes
checking for size_t... yes
checking for ssize_t... (cached) yes
checking for uint16_t... yes
checking for uint8_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking return type of signal handlers... void
checking for memset... yes
checking for select... yes
checking for setresuid... yes
checking for setreuid... yes
checking for strerror... yes
checking for get_current_dir_name... yes
checking for getpwnam_r... yes
checking for setrlimit... yes
checking for connect in -lsocket... no
checking for malloc... yes
checking for memset... (cached) yes
checking for posix_memalign... yes
checking for socket... yes
checking ev.h usability... yes
checking ev.h presence... yes
checking for ev.h... yes
checking libev/ev.h usability... no
checking libev/ev.h presence... no
checking for libev/ev.h... no
checking for ev_loop_destroy in -lev... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating shadowsocks-libev.pc
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating libbloom/Makefile
config.status: creating libcork/Makefile
config.status: creating libipset/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
make all-recursive
make[1]: Entering directory '/root/shadowsocks-libev-3.1.3'
Making all in libcork
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/libcork'
CC src/libcork/cli/libcork_la-commands.lo
CC src/libcork/core/libcork_la-allocator.lo
CC src/libcork/core/libcork_la-error.lo
CC src/libcork/core/libcork_la-gc.lo
CC src/libcork/core/libcork_la-hash.lo
CC src/libcork/core/libcork_la-ip-address.lo
CC src/libcork/core/libcork_la-mempool.lo
CC src/libcork/core/libcork_la-timestamp.lo
CC src/libcork/core/libcork_la-u128.lo
CC src/libcork/ds/libcork_la-array.lo
CC src/libcork/ds/libcork_la-bitset.lo
CC src/libcork/ds/libcork_la-buffer.lo
CC src/libcork/ds/libcork_la-dllist.lo
CC src/libcork/ds/libcork_la-file-stream.lo
CC src/libcork/ds/libcork_la-hash-table.lo
CC src/libcork/ds/libcork_la-managed-buffer.lo
CC src/libcork/ds/libcork_la-ring-buffer.lo
CC src/libcork/ds/libcork_la-slice.lo
CC src/libcork/posix/libcork_la-directory-walker.lo
CC src/libcork/posix/libcork_la-env.lo
CC src/libcork/posix/libcork_la-exec.lo
CC src/libcork/posix/libcork_la-files.lo
CC src/libcork/posix/libcork_la-process.lo
CC src/libcork/posix/libcork_la-subprocess.lo
CC src/libcork/pthreads/libcork_la-thread.lo
CCLD libcork.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/libcork'
Making all in libipset
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/libipset'
CC src/libipset/libipset_la-general.lo
CC src/libipset/bdd/libipset_la-assignments.lo
CC src/libipset/bdd/libipset_la-basics.lo
CC src/libipset/bdd/libipset_la-bdd-iterator.lo
CC src/libipset/bdd/libipset_la-expanded.lo
CC src/libipset/bdd/libipset_la-reachable.lo
CC src/libipset/bdd/libipset_la-read.lo
CC src/libipset/bdd/libipset_la-write.lo
CC src/libipset/map/libipset_la-allocation.lo
CC src/libipset/map/libipset_la-inspection.lo
CC src/libipset/map/libipset_la-ipv4_map.lo
CC src/libipset/map/libipset_la-ipv6_map.lo
CC src/libipset/map/libipset_la-storage.lo
CC src/libipset/set/libipset_la-allocation.lo
CC src/libipset/set/libipset_la-inspection.lo
CC src/libipset/set/libipset_la-ipv4_set.lo
CC src/libipset/set/libipset_la-ipv6_set.lo
CC src/libipset/set/libipset_la-iterator.lo
CC src/libipset/set/libipset_la-storage.lo
CCLD libipset.la
copying selected object files to avoid basename conflicts...
ar: `u' modifier ignored since `D' is the default (see `U')
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/libipset'
Making all in libbloom
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/libbloom'
CC murmur2/libbloom_la-MurmurHash2.lo
CC libbloom_la-bloom.lo
CCLD libbloom.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/libbloom'
Making all in src
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/src'
CC libshadowsocks_libev_la-jconf.lo
CC libshadowsocks_libev_la-utils.lo
CC libshadowsocks_libev_la-json.lo
CC libshadowsocks_libev_la-udprelay.lo
CC libshadowsocks_libev_la-cache.lo
CC libshadowsocks_libev_la-netutils.lo
CC libshadowsocks_libev_la-local.lo
CC libshadowsocks_libev_la-crypto.lo
CC libshadowsocks_libev_la-aead.lo
CC libshadowsocks_libev_la-stream.lo
CC libshadowsocks_libev_la-ppbloom.lo
CC libshadowsocks_libev_la-base64.lo
CC libshadowsocks_libev_la-plugin.lo
CC libshadowsocks_libev_la-http.lo
CC libshadowsocks_libev_la-tls.lo
CC libshadowsocks_libev_la-rule.lo
CC libshadowsocks_libev_la-acl.lo
CC ss_local-utils.o
CC ss_local-jconf.o
CC ss_local-json.o
CC ss_local-udprelay.o
CC ss_local-cache.o
CC ss_local-netutils.o
CC ss_local-local.o
CC ss_local-crypto.o
CC ss_local-aead.o
CC ss_local-stream.o
CC ss_local-ppbloom.o
CC ss_local-base64.o
CC ss_local-plugin.o
CC ss_local-http.o
CC ss_local-tls.o
CC ss_local-rule.o
CC ss_local-acl.o
CC ss_tunnel-utils.o
CC ss_tunnel-jconf.o
CC ss_tunnel-json.o
CC ss_tunnel-udprelay.o
CC ss_tunnel-cache.o
CC ss_tunnel-netutils.o
CC ss_tunnel-tunnel.o
CC ss_tunnel-crypto.o
CC ss_tunnel-aead.o
CC ss_tunnel-stream.o
CC ss_tunnel-ppbloom.o
CC ss_tunnel-base64.o
CC ss_tunnel-plugin.o
CC ss_server-utils.o
CC ss_server-netutils.o
CC ss_server-jconf.o
CC ss_server-json.o
CC ss_server-udprelay.o
CC ss_server-cache.o
CC ss_server-resolv.o
CC ss_server-server.o
CC ss_server-crypto.o
CC ss_server-aead.o
CC ss_server-stream.o
CC ss_server-ppbloom.o
CC ss_server-base64.o
CC ss_server-plugin.o
CC ss_server-http.o
CC ss_server-tls.o
CC ss_server-rule.o
CC ss_server-acl.o
CC ss_manager-utils.o
CC ss_manager-jconf.o
CC ss_manager-json.o
CC ss_manager-netutils.o
CC ss_manager-manager.o
CC ss_redir-utils.o
CC ss_redir-jconf.o
CC ss_redir-json.o
CC ss_redir-netutils.o
CC ss_redir-cache.o
CC ss_redir-udprelay.o
CC ss_redir-redir.o
CC ss_redir-crypto.o
CC ss_redir-aead.o
CC ss_redir-stream.o
CC ss_redir-ppbloom.o
CC ss_redir-base64.o
CC ss_redir-plugin.o
CCLD libshadowsocks-libev.la
CCLD ss-local
ar: `u' modifier ignored since `D' is the default (see `U')
CCLD ss-tunnel
CCLD ss-server
CCLD ss-manager
CCLD ss-redir
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/src'
Making all in doc
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/doc'
GEN ss-local.xml
GEN shadowsocks-libev.xml
GEN ss-manager.xml
GEN ss-nat.xml
GEN ss-redir.xml
GEN ss-server.xml
GEN ss-tunnel.xml
GEN shadowsocks-libev.html
GEN ss-local.html
GEN ss-manager.html
GEN ss-nat.html
GEN ss-redir.html
GEN ss-server.html
GEN ss-tunnel.html
GEN shadowsocks-libev.8
GEN ss-local.1
GEN ss-manager.1
GEN ss-nat.1
GEN ss-redir.1
GEN ss-server.1
GEN ss-tunnel.1
rm ss-server.xml ss-local.xml ss-redir.xml ss-nat.xml ss-tunnel.xml shadowsocks-libev.xml ss-manager.xml
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/doc'
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3'
make[1]: Leaving directory '/root/shadowsocks-libev-3.1.3'
Making install in libcork
make[1]: Entering directory '/root/shadowsocks-libev-3.1.3/libcork'
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/libcork'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/libcork'
make[1]: Leaving directory '/root/shadowsocks-libev-3.1.3/libcork'
Making install in libipset
make[1]: Entering directory '/root/shadowsocks-libev-3.1.3/libipset'
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/libipset'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/libipset'
make[1]: Leaving directory '/root/shadowsocks-libev-3.1.3/libipset'
Making install in libbloom
make[1]: Entering directory '/root/shadowsocks-libev-3.1.3/libbloom'
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/libbloom'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/libbloom'
make[1]: Leaving directory '/root/shadowsocks-libev-3.1.3/libbloom'
Making install in src
make[1]: Entering directory '/root/shadowsocks-libev-3.1.3/src'
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/src'
/bin/mkdir -p '/usr/local/lib'
/bin/bash ../libtool --mode=install /usr/bin/install -c libshadowsocks-libev.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libshadowsocks-libev.lai /usr/local/lib/libshadowsocks-libev.la
libtool: install: /usr/bin/install -c .libs/libshadowsocks-libev.a /usr/local/lib/libshadowsocks-libev.a
libtool: install: chmod 644 /usr/local/lib/libshadowsocks-libev.a
libtool: install: ranlib /usr/local/lib/libshadowsocks-libev.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/bin/mkdir -p '/usr/local/bin'
/bin/bash ../libtool --mode=install /usr/bin/install -c ss-local ss-tunnel ss-server ss-manager ss-redir '/usr/local/bin'
libtool: install: /usr/bin/install -c ss-local /usr/local/bin/ss-local
libtool: install: /usr/bin/install -c ss-tunnel /usr/local/bin/ss-tunnel
libtool: install: /usr/bin/install -c ss-server /usr/local/bin/ss-server
libtool: install: /usr/bin/install -c ss-manager /usr/local/bin/ss-manager
libtool: install: /usr/bin/install -c ss-redir /usr/local/bin/ss-redir
/bin/mkdir -p '/usr/local/bin'
/usr/bin/install -c ss-nat '/usr/local/bin'
/bin/mkdir -p '/usr/local/include'
/usr/bin/install -c -m 644 shadowsocks.h '/usr/local/include'
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/src'
make[1]: Leaving directory '/root/shadowsocks-libev-3.1.3/src'
Making install in doc
make[1]: Entering directory '/root/shadowsocks-libev-3.1.3/doc'
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3/doc'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/usr/local/share/doc/shadowsocks-libev'
/usr/bin/install -c -m 644 shadowsocks-libev.html ss-local.html ss-manager.html ss-nat.html ss-redir.html ss-server.html ss-tunnel.html '/usr/local/share/doc/shadowsocks-libev'
/bin/mkdir -p '/usr/local/share/man/man1'
/usr/bin/install -c -m 644 ss-local.1 ss-manager.1 ss-nat.1 ss-redir.1 ss-server.1 ss-tunnel.1 '/usr/local/share/man/man1'
/bin/mkdir -p '/usr/local/share/man/man8'
/usr/bin/install -c -m 644 shadowsocks-libev.8 '/usr/local/share/man/man8'
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3/doc'
make[1]: Leaving directory '/root/shadowsocks-libev-3.1.3/doc'
make[1]: Entering directory '/root/shadowsocks-libev-3.1.3'
make[2]: Entering directory '/root/shadowsocks-libev-3.1.3'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/usr/local/lib/pkgconfig'
/usr/bin/install -c -m 644 shadowsocks-libev.pc '/usr/local/lib/pkgconfig'
make[2]: Leaving directory '/root/shadowsocks-libev-3.1.3'
Read this.
https://github.com/shadowsocks/shadowsocks-libev/tree/master/debian
https://github.com/shadowsocks/shadowsocks-libev#build-deb-package-from-source
Most helpful comment
Not
shadowsocks.serviceBut
cd /lib/systemd/systemConfig file in
/etc/shadowsocks-libev/config.jsonStrat
systemctl start [email protected]