Code Monkey home page Code Monkey logo

shadowsocksr-libev's Introduction

shadowsocks-libev

Intro

Shadowsocks-libev is a lightweight secured SOCKS5 proxy for embedded devices and low-end boxes.

It is a port of Shadowsocks created by @clowwindy, which is maintained by @madeye and @linusyang.

Current version: 2.5.6 | Changelog

Travis CI: Travis CI

Features

Shadowsocks-libev is written in pure C and only depends on libev and OpenSSL or mbedTLS or PolarSSL.

In normal usage, the memory footprint is about 600KB and the CPU utilization is no more than 5% on a low-end router (Buffalo WHR-G300N V2 with a 400MHz MIPS CPU, 32MB memory and 4MB flash).

For a full list of feature comparison between different versions of shadowsocks, refer to the Wiki page.

Installation

Distribution-specific guide


Pre-build configure guide

For a complete list of avaliable configure-time option, try configure --help.

Using alternative crypto library

There are three crypto libraries available:

  • OpenSSL (default)
  • mbedTLS
  • PolarSSL (Deprecated)
mbedTLS

To build against mbedTLS, specify --with-crypto-library=mbedtls and --with-mbedtls=/path/to/mbedtls when running ./configure.

Windows users will need extra work when compiling mbedTLS library, see this issue for detail info.

PolarSSL (Deprecated)

To build against PolarSSL, specify --with-crypto-library=polarssl and --with-polarssl=/path/to/polarssl when running ./configure.

  • PolarSSL 1.2.5 or newer is required. Currently, PolarSSL does NOT support CAST5-CFB, DES-CFB, IDEA-CFB, RC2-CFB and SEED-CFB.
  • RC4 is only support by PolarSSL 1.3.0 or above.

Using shared library from system

Please specify --enable-system-shared-lib. This will replace the bundled libev, libsodium and libudns with the corresponding libraries installed in the system during compilation and linking.

Debian & Ubuntu

Install from repository

Note: The repositories doesn't always contain the latest version. Please build from source if you want the latest version (see below)

Shadowsocks-libev is available in the official repository for Debian 9("Stretch"), unstable, Ubuntu 16.10 and later derivatives:

sudo apt update
sudo apt install shadowsocks-libev

For Debian Jessie users, please install it from jessie-backports:

sudo sh -c 'printf "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list'
sudo apt update
sudo apt -t jessie-backports install shadowsocks-libev

Build deb package from source

Supported Platforms:

  • Debian 7 (see below), 8, 9, unstable
  • Ubuntu 14.04 (see below), Ubuntu 14.10, 15.04, 15.10 or higher

Note for Ubuntu 14.04 users: Packages built on Ubuntu 14.04 may be used in later Ubuntu versions. However, packages built on Debian 7/8/9 or Ubuntu 14.10+ cannot be installed on Ubuntu 14.04.

Note for Debian 7.x users: To build packages on Debian 7 (Wheezy), you need to enable debian-backports to install systemd-compatibility packages like dh-systemd or init-system-helpers. Please follow the instructions on Debian Backports.

This also means that you can only install those built packages on systems that have init-system-helpers installed.

Otherwise, try to build and install directly from source. See the Linux section below.

cd shadowsocksr-libev
sudo apt-get install --no-install-recommends build-essential autoconf libtool libssl-dev \
    gawk debhelper dh-systemd init-system-helpers pkg-config asciidoc xmlto apg libpcre3-dev zlib1g-dev -y
dpkg-buildpackage -b -us -uc -i
cd ..
sudo dpkg -i shadowsocks-libev*.deb

Configure and start the service

# Edit the configuration file
sudo vim /etc/shadowsocks-libev/config.json

# Edit the default configuration for debian
sudo vim /etc/default/shadowsocks-libev

# Start the service
sudo /etc/init.d/shadowsocks-libev start    # for sysvinit, or
sudo systemctl start shadowsocks-libev      # for systemd

# Prevent the package be overwritten by the defacto shadowsocks-libev
echo "shadowsocks-libev hold" | sudo dpkg --set-selections

Fedora & RHEL

Supported distributions include

  • Fedora 22, 23, 24
  • RHEL 6, 7 and derivatives (including CentOS, Scientific Linux)

Install from repository

Enable repo via dnf:

su -c 'dnf copr enable librehat/shadowsocks'

Or download yum repo on Fedora Copr and put it inside /etc/yum.repos.d/. The release Epel is for RHEL and its derivatives.

Then, install shadowsocks-libev via dnf:

su -c 'dnf update'
su -c 'dnf install shadowsocks-libev'

or yum:

su -c 'yum update'
su -c 'yum install shadowsocks-libev'

OpenSUSE

Install from repository

Use the following command to install from repository.

sudo zypper install shadowsocks-libev

Build from source

You should install zlib-devel and libopenssl-devel first.

sudo zypper update
sudo zypper install zlib-devel libopenssl-devel

Then download the source package and compile.

git clone https://github.com/shadowsocks/shadowsocks-libev.git
cd shadowsocks-libev
./configure && make
sudo make install

Archlinux

sudo pacman -S shadowsocks-libev

Please refer to downstream PKGBUILD script for extra modifications and distribution-specific bugs.

NixOS

nix-env -iA nixos.shadowsocks-libev

Nix

nix-env -iA nixpkgs.shadowsocks-libev

Linux

For Unix-like systems, especially Debian-based systems, e.g. Ubuntu, Debian or Linux Mint, you can build the binary like this:

# Debian / Ubuntu
sudo apt-get install --no-install-recommends build-essential autoconf libtool libssl-dev libpcre3-dev asciidoc xmlto
# CentOS / Fedora / RHEL
sudo yum install gcc autoconf libtool automake make zlib-devel openssl-devel asciidoc xmlto
./configure && make
sudo make install

FreeBSD

su
cd /usr/ports/net/shadowsocks-libev
make install

Edit your config.json file. By default, it's located in /usr/local/etc/shadowsocks-libev.

To enable shadowsocks-libev, add the following rc variable to your /etc/rc.conf file:

shadowsocks_libev_enable="YES"

Start the Shadowsocks server:

service shadowsocks_libev start

OpenWRT

The OpenWRT project is maintained here: openwrt-shadowsocks.

OS X

For OS X, use Homebrew to install or build.

Install Homebrew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Install shadowsocks-libev:

brew install shadowsocks-libev

Windows

For Windows, use either MinGW (msys) or Cygwin to build. At the moment, only ss-local is supported to build against MinGW (msys).

If you are using MinGW (msys), please download OpenSSL or PolarSSL source tarball to the home directory of msys, and build it like this (may take a few minutes):

OpenSSL

tar zxf openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
./config --prefix="$HOME/prebuilt" --openssldir="$HOME/prebuilt/openssl"
make && make install

PolarSSL

tar zxf polarssl-1.3.2-gpl.tgz
cd polarssl-1.3.2
make lib WINDOWS=1
make install DESTDIR="$HOME/prebuilt"

Then, build the binary using the commands below, and all .exe files will be built at $HOME/ss/bin:

OpenSSL

./configure --prefix="$HOME/ss" --with-openssl="$HOME/prebuilt"
make && make install

PolarSSL

./configure --prefix="$HOME/ss" --with-crypto-library=polarssl --with-polarssl=$HOME/prebuilt
make && make install

Usage

For a detailed and complete list of all supported arguments, you may refer to the man pages of the applications, respectively.

    ss-[local|redir|server|tunnel]

       -s <server_host>           host name or ip address of your remote server

       -p <server_port>           port number of your remote server

       -l <local_port>            port number of your local server

       -k <password>              password of your remote server

       [-m <encrypt_method>]      encrypt method: table, rc4, rc4-md5,
                                  aes-128-cfb, aes-192-cfb, aes-256-cfb,
                                  bf-cfb, camellia-128-cfb, camellia-192-cfb,
                                  camellia-256-cfb, cast5-cfb, des-cfb, idea-cfb,
                                  rc2-cfb, seed-cfb, salsa20 ,chacha20 and
                                  chacha20-ietf

       [-f <pid_file>]            the file path to store pid

       [-t <timeout>]             socket timeout in seconds

       [-c <config_file>]         the path to config file

       [-i <interface>]           network interface to bind,
                                  not available in redir mode

       [-b <local_address>]       local address to bind,
                                  not available in server mode

       [-u]                       enable udprelay mode,
                                  TPROXY is required in redir mode

       [-U]                       enable UDP relay and disable TCP relay,
                                  not available in local mode

       [-A]                       enable onetime authentication

       [-L <addr>:<port>]         specify destination server address and port
                                  for local port forwarding,
                                  only available in tunnel mode

       [-d <addr>]                setup name servers for internal DNS resolver,
                                  only available in server mode

       [--fast-open]              enable TCP fast open,
                                  only available in local and server mode,
                                  with Linux kernel > 3.7.0

       [--acl <acl_file>]         config file of ACL (Access Control List)
                                  only available in local and server mode

       [--manager-address <addr>] UNIX domain socket address
                                  only available in server and manager mode

       [--executable <path>]      path to the executable of ss-server
                                  only available in manager mode

       [-v]                       verbose mode

notes:

    ss-redir provides a transparent proxy function and only works on the
    Linux platform with iptables.

Advanced usage

The latest shadowsocks-libev has provided a redir mode. You can configure your Linux-based box or router to proxy all TCP traffic transparently.

# Create new chain
root@Wrt:~# iptables -t nat -N SHADOWSOCKS
root@Wrt:~# iptables -t mangle -N SHADOWSOCKS

# Ignore your shadowsocks server's addresses
# It's very IMPORTANT, just be careful.
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -d 123.123.123.123 -j RETURN

# Ignore LANs and any other addresses you'd like to bypass the proxy
# See Wikipedia and RFC5735 for full list of reserved networks.
# See ashi009/bestroutetb for a highly optimized CHN route list.
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -d 0.0.0.0/8 -j RETURN
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -d 10.0.0.0/8 -j RETURN
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -d 127.0.0.0/8 -j RETURN
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -d 169.254.0.0/16 -j RETURN
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -d 172.16.0.0/12 -j RETURN
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -d 192.168.0.0/16 -j RETURN
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -d 224.0.0.0/4 -j RETURN
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -d 240.0.0.0/4 -j RETURN

# Anything else should be redirected to shadowsocks's local port
root@Wrt:~# iptables -t nat -A SHADOWSOCKS -p tcp -j REDIRECT --to-ports 12345

# Add any UDP rules
root@Wrt:~# ip route add local default dev lo table 100
root@Wrt:~# ip rule add fwmark 1 lookup 100
root@Wrt:~# iptables -t mangle -A SHADOWSOCKS -p udp --dport 53 -j TPROXY --on-port 12345 --tproxy-mark 0x01/0x01
root@Wrt:~# iptables -t mangle -A SHADOWSOCKS_MARK -p udp --dport 53 -j MARK --set-mark 1

# Apply the rules
root@Wrt:~# iptables -t nat -A OUTPUT -p tcp -j SHADOWSOCKS
root@Wrt:~# iptables -t mangle -A PREROUTING -j SHADOWSOCKS
root@Wrt:~# iptables -t mangle -A OUTPUT -j SHADOWSOCKS_MARK

# Start the shadowsocks-redir
root@Wrt:~# ss-redir -u -c /etc/config/shadowsocks.json -f /var/run/shadowsocks.pid

Shadowsocks over KCP

It's quite easy to use shadowsocks and KCP together with kcptun.

The goal of shadowsocks over KCP is to provide a fully configurable, UDP based protocol to improve poor connections, e.g. a high packet loss 3G network.

Setup your server

server_linux_amd64 -l :21 -t 127.0.0.1:443 --crypt none --mtu 1200 --nocomp --mode normal --dscp 46 &
ss-server -s 0.0.0.0 -p 443 -k passwd -m chacha20 -u

Setup your client

client_linux_amd64 -l 127.0.0.1:1090 -r <server_ip>:21 --crypt none --mtu 1200 --nocomp --mode normal --dscp 46 &
ss-local -s 127.0.0.1 -p 1090 -k passwd -m chacha20 -l 1080 -b 0.0.0.0 &
ss-local -s <server_ip> -p 443 -k passwd -m chacha20 -l 1080 -U -b 0.0.0.0

Security Tips

Although shadowsocks-libev can handle thousands of concurrent connections nicely, we still recommend setting up your server's firewall rules to limit connections from each user:

# Up to 32 connections are enough for normal usage
iptables -A INPUT -p tcp --syn --dport ${SHADOWSOCKS_PORT} -m connlimit --connlimit-above 32 -j REJECT --reject-with tcp-reset

License

Copyright (C) 2016 Max Lv [email protected]

This program 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 program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

shadowsocksr-libev's People

Contributors

akkariiin avatar breakwa11 avatar chion82 avatar clowwindy avatar crvv avatar dheminsgi avatar dndx avatar eataix avatar esdeathlove avatar glzjin avatar h2nch2cooh avatar hdid avatar hosiet avatar huiyiqun avatar johnnysun avatar kery avatar kimw avatar krazyivan- avatar librehat avatar linusyang avatar madeye avatar mygod avatar nanpuyue avatar noisyfox avatar rogers0 avatar tim-le avatar vfreex avatar vimagick avatar vinna avatar wongsyrone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shadowsocksr-libev's Issues

LEDE编译报错 可能是mbedtls版本太高

checking whether mbedtls supports the Camellia block cipher or not... configure: error: MBEDTLS_CAMELLIA_C required
报错原因:官方源mbedtls版本太高,应该使用2.4.0
他们是这么说的
LEDE现在用的mbedtlsPKG_VERSION:=2.6.0
建议跟进

protocol & obfs

没有看到有关于protocol与obfs的配置啊, 这是 shadowsocksr-libev还是shadowsocks-libev ?

usage:

ss-local

   -s <server_host>           Host name or IP address of your remote server.
   -p <server_port>           Port number of your remote server.
   -l <local_port>            Port number of your local server.
   -k <password>              Password of your remote server.
   -m <encrypt_method>        Encrypt method: table, rc4, rc4-md5,
                              aes-128-cfb, aes-192-cfb, aes-256-cfb,
                              aes-128-ctr, aes-192-ctr, aes-256-ctr,
                              bf-cfb, camellia-128-cfb, camellia-192-cfb,
                              camellia-256-cfb, cast5-cfb, des-cfb,
                              idea-cfb, rc2-cfb, seed-cfb, salsa20,
                              chacha20 and chacha20-ietf.
                              The default cipher is rc4-md5.

   [-a <user>]                Run as another user.
   [-f <pid_file>]            The file path to store pid.
   [-t <timeout>]             Socket timeout in seconds.
   [-c <config_file>]         The path to config file.
   [-n <number>]              Max number of open files.
   [-i <interface>]           Network interface to bind.
   [-b <local_address>]       Local address to bind.

   [-u]                       Enable UDP relay.
   [-U]                       Enable UDP relay and disable TCP relay.

   [--fast-open]              Enable TCP fast open.
                              with Linux kernel > 3.7.0.
   [--acl <acl_file>]         Path to ACL (Access Control List).
   [--mtu <MTU>]              MTU of your network interface.
   [--mptcp]                  Enable Multipath TCP on MPTCP Kernel.

   [-v]                       Verbose mode.
   [-h, --help]               Print this message.

.

.

I/O error : Attempt to load network entity

➜  shadowsocksr-libev git:(master) make
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in libsodium
Making all in src
Making all in libsodium
Making all in include
make[5]: Nothing to be done for `all'.
make[5]: Nothing to be done for `all-am'.
make[4]: Nothing to be done for `all-am'.
make[3]: Nothing to be done for `all-am'.
Making all in libcork
make[2]: Nothing to be done for `all'.
Making all in libipset
make[2]: Nothing to be done for `all'.
Making all in libudns
make[2]: Nothing to be done for `all'.
Making all in libev
make[2]: Nothing to be done for `all'.
Making all in src
make[2]: Nothing to be done for `all'.
Making all in doc
  GEN      shadowsocks-libev.xml
  GEN      shadowsocks-libev.8
xmlto: /Users/a/Desktop/shadowsocksr-libev/doc/shadowsocks-libev.xml does not validate (status 3)
xmlto: Fix document syntax or use --skip-validation option
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
/Users/a/Desktop/shadowsocksr-libev/doc/shadowsocks-libev.xml:2: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
D DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
                                                                               ^
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
Document /Users/a/Desktop/shadowsocksr-libev/doc/shadowsocks-libev.xml does not validate
make[2]: *** [shadowsocks-libev.8] Error 13
rm shadowsocks-libev.xml
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

但是我直接在浏览器里打开
http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
是可以下载的

新版android-ndk编译问题及解决方法

shadowsocksr-android/src/main/jni/shadowsocks-libev/src/utils.c
这个文件编译会报错误 error: undefined reference to 'getpwuid_r'

将131及132行的

  131           err = uid >= 0 ? getpwuid_r((uid_t)uid, &pwdbuf, buf, buflen, &pwd)
  132               : getpwnam_r(user, &pwdbuf, buf, buflen, &pwd);

改成

  131             err = uid >= 0 ? getpwuid(uid)                                     
  132                 : getpwnam(user);

就能编译通过了

ss-redir TFO support

What version of shadowsocks-libev are you using?

shadowsocks-libev 2.5.6 with OpenSSL 1.0.2k 26 Jan 2017

What operating system are you using?

Linux version 4.4.92 ([email protected]) (gcc version 5.4.0 (LEDE GCC 5.4.0 r3104-41de9a2) ) #0 SMP Tue Oct 17 17:46:20 2017

What did you expect to see?

ss-redir supports TCP Fast Open.

Merge from Akkariiin/develop to Akkariiin/master to fix make failure

I'm creating Arch Linux AUR package shadowsocksrr-libev-git for this fork, but the Akkariiin/master branch cannot be built (with details below). The Akkariiin/develop branch fixes the issue, so I use that branch instead as the upstream repo url. Why haven't Akkariiin/develop been merged into Akkariiin/master for such a long time?

What version of shadowsocks-libev are you using?

Latest commit (146fd025db23c8973bc11efde888fd8c50d75f2d) on branch Akkariiin/master.

What operating system are you using?

$ uname -a
Linux archlinux 4.15.6-1-ARCH #1 SMP PREEMPT Sun Feb 25 12:53:23 UTC 2018 x86_64 GNU/Linux

What did you do?

Build the package with:

$ ./configure --prefix=/home/perqin/workspaces/ssrr-aur/shadowsocksr-libev.build --enable-system-shared-lib --program-transform-name='s/ss-/ssrr-/'
$ make

What did you expect to see?

Successful build.

What did you see instead?

make reports errors.

$ make
make  all-recursive
make[1]: Entering directory '/home/perqin/workspaces/ssrr-aur/shadowsocksr-libev'
Making all in libcork
make[2]: Entering directory '/home/perqin/workspaces/ssrr-aur/shadowsocksr-libev/libcork'
  CC       cli/libcork_la-commands.lo
  CC       core/libcork_la-allocator.lo
  CC       core/libcork_la-error.lo
  CC       core/libcork_la-gc.lo
  CC       core/libcork_la-hash.lo
  CC       core/libcork_la-ip-address.lo
  CC       core/libcork_la-mempool.lo
  CC       core/libcork_la-timestamp.lo
  CC       core/libcork_la-u128.lo
  CC       ds/libcork_la-array.lo
  CC       ds/libcork_la-bitset.lo
  CC       ds/libcork_la-buffer.lo
  CC       ds/libcork_la-dllist.lo
  CC       ds/libcork_la-file-stream.lo
  CC       ds/libcork_la-hash-table.lo
  CC       ds/libcork_la-managed-buffer.lo
  CC       ds/libcork_la-ring-buffer.lo
  CC       ds/libcork_la-slice.lo
  CC       posix/libcork_la-directory-walker.lo
  CC       posix/libcork_la-env.lo
  CC       posix/libcork_la-exec.lo
  CC       posix/libcork_la-files.lo
  CC       posix/libcork_la-process.lo
  CC       posix/libcork_la-subprocess.lo
  CC       pthreads/libcork_la-thread.lo
  CCLD     libcork.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[2]: Leaving directory '/home/perqin/workspaces/ssrr-aur/shadowsocksr-libev/libcork'
Making all in libipset
make[2]: Entering directory '/home/perqin/workspaces/ssrr-aur/shadowsocksr-libev/libipset'
  CC       libipset_la-general.lo
  CC       bdd/libipset_la-assignments.lo
  CC       bdd/libipset_la-basics.lo
  CC       bdd/libipset_la-bdd-iterator.lo
  CC       bdd/libipset_la-expanded.lo
  CC       bdd/libipset_la-reachable.lo
  CC       bdd/libipset_la-read.lo
  CC       bdd/libipset_la-write.lo
  CC       map/libipset_la-allocation.lo
  CC       map/libipset_la-inspection.lo
  CC       map/libipset_la-ipv4_map.lo
  CC       map/libipset_la-ipv6_map.lo
  CC       map/libipset_la-storage.lo
  CC       set/libipset_la-allocation.lo
  CC       set/libipset_la-inspection.lo
  CC       set/libipset_la-ipv4_set.lo
  CC       set/libipset_la-ipv6_set.lo
  CC       set/libipset_la-iterator.lo
  CC       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 '/home/perqin/workspaces/ssrr-aur/shadowsocksr-libev/libipset'
Making all in src
make[2]: Entering directory '/home/perqin/workspaces/ssrr-aur/shadowsocksr-libev/src'
  CC       libshadowsocks_libev_la-utils.lo
  CC       libshadowsocks_libev_la-jconf.lo
  CC       libshadowsocks_libev_la-json.lo
  CC       libshadowsocks_libev_la-encrypt.lo
  CC       libshadowsocks_libev_la-udprelay.lo
  CC       libshadowsocks_libev_la-cache.lo
  CC       libshadowsocks_libev_la-acl.lo
  CC       libshadowsocks_libev_la-netutils.lo
  CC       libshadowsocks_libev_la-local.lo
In file included from includeobfs.h:4:0,
                 from local.c:111:
obfs/auth_chain.c: In function 'auth_chain_f_init_data_size':
obfs/auth_chain.c:414:23: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
     uint8_t *newKey = (uint8_t) malloc(sizeof(uint8_t) * server->key_len);
                       ^
obfs/auth_chain.c:414:23: error: initialization makes pointer from integer without a cast [-Werror=int-conversion]
obfs/auth_chain.c: In function 'auth_chain_f_set_server_info':
obfs/auth_chain.c:684:46: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
     uint8_t *key_change_datetime_key_bytes = (uint8_t) malloc(sizeof(uint8_t) * 8);
                                              ^
obfs/auth_chain.c:684:46: error: initialization makes pointer from integer without a cast [-Werror=int-conversion]
cc1: all warnings being treated as errors
make[2]: *** [Makefile:792: libshadowsocks_libev_la-local.lo] Error 1
make[2]: Leaving directory '/home/perqin/workspaces/ssrr-aur/shadowsocksr-libev/src'
make[1]: *** [Makefile:478: all-recursive] Error 1
make[1]: Leaving directory '/home/perqin/workspaces/ssrr-aur/shadowsocksr-libev'
make: *** [Makefile:387: all] Error 2

Bug

./configure --prefix=/root/shadowsocksr-libev-2.5.2 --enable-static --with-crypto-library=mbedtls

make all-recursive
make[1]: 进入目录“/root/src/shadowsocksr-libev-2.5.2”
Making all in libsodium
make[2]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libsodium”
Making all in src
make[3]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src”
Making all in libsodium
make[4]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src/libsodium”
Making all in include
make[5]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src/libsodium/include”
make[5]: 对“all”无需做任何事。
make[5]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src/libsodium/include”
make[5]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src/libsodium”
make[5]: 对“all-am”无需做任何事。
make[5]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src/libsodium”
make[4]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src/libsodium”
make[4]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src”
make[4]: 对“all-am”无需做任何事。
make[4]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src”
make[3]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libsodium/src”
make[3]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libsodium”
make[3]: 对“all-am”无需做任何事。
make[3]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libsodium”
make[2]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libsodium”
Making all in libcork
make[2]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libcork”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libcork”
Making all in libipset
make[2]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libipset”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libipset”
Making all in libudns
make[2]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libudns”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libudns”
Making all in libev
make[2]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/libev”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/libev”
Making all in src
make[2]: 进入目录“/root/src/shadowsocksr-libev-2.5.2/src”
CC libshadowsocks_libev_la-local.lo
In file included from includeobfs.h:4:0,
from local.c:111:
obfs/auth_chain.c: In function 'auth_chain_f_init_data_size':
obfs/auth_chain.c:414:23: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
uint8_t *newKey = (uint8_t) malloc(sizeof(uint8_t) * server->key_len);
^
obfs/auth_chain.c:414:23: error: initialization makes pointer from integer without a cast [-Werror=int-conversion]
obfs/auth_chain.c: In function 'auth_chain_f_set_server_info':
obfs/auth_chain.c:684:46: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
uint8_t *key_change_datetime_key_bytes = (uint8_t) malloc(sizeof(uint8_t) * 8);
^
obfs/auth_chain.c:684:46: error: initialization makes pointer from integer without a cast [-Werror=int-conversion]
cc1: all warnings being treated as errors
make[2]: *** [Makefile:792:libshadowsocks_libev_la-local.lo] 错误 1
make[2]: 离开目录“/root/src/shadowsocksr-libev-2.5.2/src”
make[1]: *** [Makefile:478:all-recursive] 错误 1
make[1]: 离开目录“/root/src/shadowsocksr-libev-2.5.2”
make: *** [Makefile:387:all] 错误 2

Why ss-server and ss-master are excluded from compiling?

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

2.5.3

What operating system are you using?

Lubuntu

What did you do?

Just compile from source

What did you expect to see?

ss-server should be produced

What did you see instead?

ss-server is exluded

What is your config in detail (with all sensitive info masked)?

If there is a reason for doing this, could you please document this in the doc?
Otherwise, please make it good to produce server and manager.

2.5.2 版本编译问题

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

2.5.2

What operating system are you using?

Host: Ubuntu 16.04
Target: Openwrt(Pandorabox)

What did you do?

交叉编译SSRR-libev

What did you expect to see?

编译成功

What did you see instead?

编译失败

What is your config in detail (with all sensitive info masked)?

编译提示:
In file included from includeobfs.h:4:0,
from local.c:111:
obfs/auth_chain.c: In function 'auth_chain_f_init_data_size':
obfs/auth_chain.c:414:23: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
uint8_t *newKey = (uint8_t) malloc(sizeof(uint8_t) * server->key_len);
^
obfs/auth_chain.c:414:23: error: initialization makes pointer from integer without a cast [-Werror]
obfs/auth_chain.c: In function 'auth_chain_f_set_server_info':
obfs/auth_chain.c:684:46: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
uint8_t *key_change_datetime_key_bytes = (uint8_t) malloc(sizeof(uint8_t) * 8);
^
obfs/auth_chain.c:684:46: error: initialization makes pointer from integer without a cast [-Werror]
cc1: all warnings being treated as errors

应该是一个typo,改动为(uint8_t *)后编译成功。因为openwrt的编译工具启用了-Werror,所以编译不过去。
希望更新。

移植到ShadowPath(IOS)中编译失败

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

2.5.3

What operating system are you using?

Mac OS Mojave 10.14.1 (18B75)

What did you do?

replace the shadowsocks-libev in the ShadowPath with this shadowsocksr-libev,and run compile.

What did you expect to see?

Compile successfully

What did you see instead?

tunnel.c

jconf_t *conf = read_jconf(conf_path);
        if (remote_num == 0) {
            remote_num = conf->remote_num;
            for (i = 0; i < remote_num; i++)
                remote_addr[i] = conf->remote_addr[i];
        }
        if (remote_port == NULL) {
            remote_port = conf->remote_port;
        }
        if (local_addr == NULL) {
            local_addr = conf->local_addr;
        }
        if (local_port == NULL) {
            local_port = conf->local_port;
        }
        if (password == NULL) {
            password = conf->password;
        }
        // SSR beg
        if (protocol == NULL) {
            protocol = conf->protocol;
            LOGI("protocol %s", protocol);
        }
        if (protocol_param == NULL) {
            protocol_param = conf->protocol_param;
            LOGI("protocol_param %s", protocol_param);
        }
        if (method == NULL) {
            method = conf->method;
            LOGI("method %s", method);
        }
        if (obfs == NULL) {
            obfs = conf->obfs;
            LOGI("obfs %s", obfs);
        }
        if (obfs_param == NULL) {
            obfs_param = conf->obfs_param;
            LOGI("obfs_param %s", obfs_param);
->No member named 'remote_num' in 'jconf_t'
->No member named 'remote_addr' in 'jconf_t'
->No member named 'remote_port' in 'jconf_t'
->No member named '......' in 'jconf_t'

if (method) {
        server->e_ctx = ss_malloc(sizeof(struct enc_ctx));
        server->d_ctx = ss_malloc(sizeof(struct enc_ctx));
        enc_ctx_init(&cipher_env, server->e_ctx, 1);
        enc_ctx_init(&cipher_env, server->d_ctx, 0);
Use of undeclared identifier 'cipher_env'
Use of undeclared identifier 'cipher_env'

What is your config in detail (with all sensitive info masked)?

Xcode Version 10.1 (10B61)
config.h I generated it

原版的ShadowPath就可以编译,换了这个之后就失败了。不知道什么情况,希望作者大大能帮忙看下,谢谢了。

how into SSR V2RAY

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

3.1.1

What operating system are you using?

Debian Gnu/Linux 9.3

What did you do?

how do you into ssr v2ray

What did you expect to see?

when to join SSR V2RAY protocol support ,that's the best. tank you very math!!!freedomn

What did you see instead?

What is your config in detail (with all sensitive info masked)?

remote_recv_cb_recv: Connection reset by peer

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

2.1.23

What operating system are you using?

Mac OS 15.0

What did you do?

Chat in Telegram

What did you expect to see?

不会中断,日志干净

What did you see instead?

 2019-06-10 08:58:30 INFO: initializing ciphers... chacha20-ietf
 2019-06-10 08:58:30 INFO: tcp port reuse enabled
 2019-06-10 08:58:30 INFO: listening at 127.0.0.1:1086
 2019-06-10 08:59:38 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:00:40 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:00:45 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:00:46 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:00:48 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:07:53 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:12:31 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:16:42 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:17:50 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:21:32 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:23:30 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:31:47 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:34:16 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:35:14 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:35:48 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:38:55 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:39:00 ERROR: remote_recv_cb_recv: Connection reset by peer
 2019-06-10 09:39:05 ERROR: remote_recv_cb_recv: Connection reset by peer

TG老会中断,日志出现remote_recv_cb_recv: Connection reset by peer,换了好几个服务器都是这样。

What is your config in detail (with all sensitive info masked)?

method:chacha20-ietf
protocol:auth_aes128_md5
obfs:plain
更换过80+http_simple,还是没有用

w

h

libtoolT issue in configure

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

Latest commit on branch Akkariiin/develop.

What operating system are you using?

Arch Linux.

What did you do?

Compile the source.
Run:

./configure --prefix=/home/perqin/.local/opt/shadowsocksrr-libev --enable-shared --enable-system-shared-lib

What did you expect to see?

No error reported.

What did you see instead?

I got these lines after finishing configure:

/usr/bin/rm: cannot remove 'libtoolT': No such file or directory

According to https://bz.apache.org/bugzilla/show_bug.cgi?id=51726, it seems to be the problem in file configure. I modified L17962 from $RM "$cfgfile" to $RM -f "$cfgfile" and the complaining message gone. I'm wondering whether this is the correct solution.

libev: fd >= FD_SETSIZE passed to fd_set-based select backend"

#1 # What version of shadowsocks-libev are you using?

编译的本git的最新版

What operating system are you using?

win10

What did you do?

根据需要,修正了几处,编译成功。
mingw64编译
如下三处修改
0x01
src/http.h中
-const protocol_t *const http_protocol;
+extern const protocol_t *const http_protocol;
0x02
src/tls.h中
-const protocol_t *const tls_protocol;
+extern const protocol_t *const tls_protocol;
0x03
local.c文件中
// strncpy(host, ip, sizeof(ip));
strcpy(host, ip);
0x04
copy version.in.h ersion.h

What did you see instead?

崩溃,错误提示
src/libev/ev_select.c
assert (("libev: fd >= FD_SETSIZE passed to fd_set-based select backend", fd < FD_SETSIZE));

偶尔运行成功,偶尔运行失败。看天气。

What is your config in detail (with all sensitive info masked)?

编译Openwrt 在下载DL(make -j8 download V=s) 库的时候出现,小白不知道怎么解决!!!

Receiving objects: 100% (12174/12174), 14.70 MiB | 144.00 KiB/s, done.
Resolving deltas: 100% (8196/8196), done.
Note: switching to 'd63ff863800a5645aca4309d5dd5962bd1e95543'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

git switch -c

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at d63ff86 Finish 2.5.3 ... fix some small build issue in last version
Packing checkout...
100 1010k 0 1010k 0 0 7762 0 --:--:-- 0:02:13 --:--:-- 0make[2]: Leaving directory '/home/weir/lede/feeds/small/shadowsocksr-libev'
time: package/feeds/small/shadowsocksr-libev/download#11.88#3.68#133.50

编译Openwrt 在下载DL(make -j8 download V=s) 库的时候出现,小白不知道怎么解决!!!

Arch Linux AUR shadowsocksrr-libev-git install fail

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

try to install shadowsocksrr-libev-git 2.5.3.r0.gd63ff86-3

What operating system are you using?

Arch Linux on XPS 9560

What did you do?

yay -S shadowsocksrr-libev-git

What did you expect to see?

install with no error

What did you see instead?

Error making: shadowsocksrr-libev-git

log :

make[2]: 进入目录“/home/white/.cache/yay/shadowsocksrr-libev-git/src/shadowsocksrr-libev-git/src”
  CC       libshadowsocks_libev_la-utils.lo
  CC       libshadowsocks_libev_la-jconf.lo
  CC       libshadowsocks_libev_la-json.lo
  CC       libshadowsocks_libev_la-encrypt.lo
  CC       libshadowsocks_libev_la-udprelay.lo
  CC       libshadowsocks_libev_la-cache.lo
  CC       libshadowsocks_libev_la-acl.lo
acl.c: In function 'init_block_list':
acl.c:74:90: error: '%s' directive writing up to 63 bytes into a region of size between 50 and 176 [-Werror=format-overflow=]
     "ip6tables -N %s; ip6tables -F %s; ip6tables -A OUTPUT -p tcp --tcp-flags RST RST -j %s";
                                                                                          ^~
acl.c:158:68:
         sprintf(cli, ip6tables_init_chain, chain_name, chain_name, chain_name);
                                                                    ~~~~~~~~~~             
In file included from /usr/include/stdio.h:862,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/bits/stdio2.h:33:10: note: '__builtin___sprintf_chk' output between 81 and 270 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:67:87: error: '%s' directive writing up to 63 bytes into a region of size between 53 and 179 [-Werror=format-overflow=]
     "iptables -N %s; iptables -F %s; iptables -A OUTPUT -p tcp --tcp-flags RST RST -j %s";
                                                                                       ^~
acl.c:160:67:
         sprintf(cli, iptables_init_chain, chain_name, chain_name, chain_name);
                                                                   ~~~~~~~~~~           
In file included from /usr/include/stdio.h:862,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/bits/stdio2.h:33:10: note: '__builtin___sprintf_chk' output between 78 and 267 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:92:5: error: ';      firewall-cmd --direct...' directive writing 88 bytes into a region of size between 33 and 159 [-Werror=format-overflow=]
     "firewall-cmd --direct --add-chain ipv6 filter %s; \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv6 -F %s; \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv6 -A OUTPUT -p tcp --tcp-flags RST RST -j %s";
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/bits/stdio2.h:33:10: note: '__builtin___sprintf_chk' output between 186 and 375 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:81:5: error: ';      firewall-cmd --direct...' directive writing 88 bytes into a region of size between 33 and 159 [-Werror=format-overflow=]
     "firewall-cmd --direct --add-chain ipv4 filter %s; \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv4 -F %s; \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv4 -A OUTPUT -p tcp --tcp-flags RST RST -j %s";
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/bits/stdio2.h:33:10: note: '__builtin___sprintf_chk' output between 186 and 375 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c: In function 'free_block_list':
acl.c:96:5: error: '%s' directive writing up to 63 bytes into a region of size between 61 and 124 [-Werror=format-overflow=]
     "firewall-cmd --direct --passthrough ipv6 -D OUTPUT -p tcp --tcp-flags RST RST -j %s; \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv6 -F %s; \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --remove-chain ipv6 filter %s";
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:184:59:
         sprintf(cli, firewalld6_remove_chain, chain_name, chain_name, chain_name);
                                                           ~~~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/bits/stdio2.h:33:10: note: '__builtin___sprintf_chk' output between 189 and 378 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:85:5: error: '%s' directive writing up to 63 bytes into a region of size between 61 and 124 [-Werror=format-overflow=]
     "firewall-cmd --direct --passthrough ipv4 -D OUTPUT -p tcp --tcp-flags RST RST -j %s; \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv4 -F %s; \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --remove-chain ipv4 filter %s";
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:186:58:
         sprintf(cli, firewalld_remove_chain, chain_name, chain_name, chain_name);
                                                          ~~~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/bits/stdio2.h:33:10: note: '__builtin___sprintf_chk' output between 189 and 378 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:76:90: error: '%s' directive writing up to 63 bytes into a region of size between 50 and 176 [-Werror=format-overflow=]
     "ip6tables -D OUTPUT -p tcp --tcp-flags RST RST -j %s; ip6tables -F %s; ip6tables -X %s";
                                                                                          ^~
acl.c:179:70:
         sprintf(cli, ip6tables_remove_chain, chain_name, chain_name, chain_name);
                                                                      ~~~~~~~~~~           
In file included from /usr/include/stdio.h:862,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/bits/stdio2.h:33:10: note: '__builtin___sprintf_chk' output between 81 and 270 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:69:87: error: '%s' directive writing up to 63 bytes into a region of size between 53 and 179 [-Werror=format-overflow=]
     "iptables -D OUTPUT -p tcp --tcp-flags RST RST -j %s; iptables -F %s; iptables -X %s";
                                                                                       ^~
acl.c:181:69:
         sprintf(cli, iptables_remove_chain, chain_name, chain_name, chain_name);
                                                                     ~~~~~~~~~~         
In file included from /usr/include/stdio.h:862,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/bits/stdio2.h:33:10: note: '__builtin___sprintf_chk' output between 78 and 267 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:778:libshadowsocks_libev_la-acl.lo] 错误 1
make[2]: 离开目录“/home/white/.cache/yay/shadowsocksrr-libev-git/src/shadowsocksrr-libev-git/src”
make[1]: *** [Makefile:478:all-recursive] 错误 1
make[1]: 离开目录“/home/white/.cache/yay/shadowsocksrr-libev-git/src/shadowsocksrr-libev-git”
make: *** [Makefile:387:all] 错误 2
==> 错误: 在 build() 中发生一个错误。
    正在放弃...
Error making: shadowsocksrr-libev-git

What is your config in detail (with all sensitive info masked)?

no config for it

Failed to build via GCC-8

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

latest commit

What operating system are you using?

Debian 10

What did you do?

Build shadowsocksr-libev from source

What did you expect to see?

Successful

What did you see instead?

Error

What is your config in detail (with all sensitive info masked)?

./configure && make

出现无法连接的情况。

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

branch:Akkariiin/develop

What operating system are you using?

debian8 in docker

执行的开启命令为:./ss-local -o http_simple -O auth_chain_b -s 0.0.0.0 -p XXXX -l 1080 -b 127.0.0.1 -k XXXX -m none

显示的日志为:
2018-02-23 12:06:11 INFO: protocol auth_chain_b
2018-02-23 12:06:11 INFO: protocol_param
2018-02-23 12:06:11 INFO: method none
2018-02-23 12:06:11 INFO: obfs http_simple
2018-02-23 12:06:11 INFO: obfs_param
2018-02-23 12:06:11 INFO: using tcp fast open
2018-02-23 12:06:11 INFO: initializing ciphers... none
2018-02-23 12:06:11 INFO: tcp port reuse enabled
2018-02-23 12:06:11 INFO: listening at 127.0.0.1:1080
2018-02-23 12:06:11 INFO: running from root user

执行的开启命令为:./ss-redir -o http_simple -O auth_chain_b -s 0.0.0.0 -p XXXX -l 1080 -b 127.0.0.1 -k XXXX -m none

2018-02-23 12:39:33 INFO: initializing ciphers... none
2018-02-23 12:39:33 INFO: tcp port reuse enabled
2018-02-23 12:39:33 INFO: listening at 127.0.0.1:1080
2018-02-23 12:39:33 INFO: running from root user

客户端无法连接。。是操作错误还是。。求指点

auth_chain_f 相关函数编译报错

报错信息如下:

  CC       libshadowsocks_libev_la-local.lo
In file included from includeobfs.h:4:0,
                 from local.c:111:
obfs/auth_chain.c: In function 'auth_chain_f_init_data_size':
obfs/auth_chain.c:414:23: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
     uint8_t *newKey = (uint8_t) malloc(sizeof(uint8_t) * server->key_len);
                       ^
obfs/auth_chain.c:414:23: error: initialization makes pointer from integer without a cast [-Werror=int-conversion]
obfs/auth_chain.c: In function 'auth_chain_f_set_server_info':
obfs/auth_chain.c:684:46: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
     uint8_t *key_change_datetime_key_bytes = (uint8_t) malloc(sizeof(uint8_t) * 8);
                                              ^
obfs/auth_chain.c:684:46: error: initialization makes pointer from integer without a cast [-Werror=int-conversion]

编译问题/doc/shadowsocks-libev.xml does not validate (status 127)

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

2.5.1

make[6]: Entering directory `/home/paldier/k3cb1/k3c/build_dir/target-mips_mips32_uClibc-0.9.33.2_grx350_1600_mr_eth_rt_72/shadowsocksR-libev-openssl/shadowsocksR-libev-2.5.1/doc'
GEN shadowsocks-libev.xml
GEN shadowsocks-libev.8
xmlto: /home/paldier/k3cb1/k3c/build_dir/target-mips_mips32_uClibc-0.9.33.2_grx350_1600_mr_eth_rt_72/shadowsocksR-libev-openssl/shadowsocksR-libev-2.5.1/doc/shadowsocks-libev.xml does not validate (status 127)
xmlto: Fix document syntax or use --skip-validation option
/usr/bin/xmllint: relocation error: /usr/bin/xmllint: symbol xmlLoadCatalogs, version LIBXML2_2.4.30 not defined in file libxml2.so.2 with link time reference

libxml2 2.9.3
libxslt 1.1.28
lxml 3.7.2
我应该如何修复,很可能是libxslt或者lxml造成的问题,在加入libxslt和lxml之前是可以编译成功的,加入之后就报这个错误了
$(eval $(call HostBuild))
$(eval $(call BuildPackage,libxslt))
$(eval $(call HostBuild))
$(eval $(call BuildPackage,lxml))

最新develop分支 auth_chain_e,auth_chain_f 无法使用,服务端为python版本3.2.1

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

最新的develop分支 138fd46

What operating system are you using?

mac os 10.13.4

What did you do?

使用 auth_chain_e,auth_chain_f

What did you expect to see?

正常链接

What did you see instead?

无法链接,打不开网页

What is your config in detail (with all sensitive info masked)?

{
"server":"xxx.xx.xx.xx",
"server_port":xxxx,
"local_port":1099,
"password":"123456",
"timeout":600,
"method":"aes-256-cfb",
"protocol":"auth_chain_e",
"obfs":"plain",
"obfsparam":"" ,
"group":"any you like",
"local_address":"0.0.0.0",
}

服务端报错

2018-05-18 12:25:28 ERROR tcprelay.py:1097 can not parse header when handling connection from ::ffff:xxx.xxx.xx.xx:52247
2018-05-18 12:25:28 WARNING common.py:238 unsupported addrtype 194, maybe wrong password or encryption method
2018-05-18 12:25:28 WARNING tcprelay.py:521 Protocol ERROR, TCP ogn data 0082909e487ba435a50133321bb171e65e5011cf51dd44257038c0e73334960744fc85d690e9e489d26c282bea99009789951fe5516654c161fe759bac0863d7bdd7a7003c42599c932960ef833b35e8eb117595f5bfdd43a587945c00b86c88087506 from ::ffff:xxx.xxx.xx.xx:52249 via port 44300 by UID 44300

其他的协议,auth_chain_a,auth_chain_b 都是可以使用的,但是auth_chain_e,auth_chain_f 无法使用
服务端版本 python版本3.2.1
希望大神能看一下

debian 10 编译失败

用的master分支

执行步骤如下

cd shadowsocksr-libev
sudo apt-get install --no-install-recommends build-essential autoconf libtool libssl-dev \
    gawk debhelper dh-systemd init-system-helpers pkg-config asciidoc xmlto apg libpcre3-dev zlib1g-dev -y
dpkg-buildpackage -b -us -uc -i

出错日志

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Wall -Werror -Wno-deprecated-declarations -fno-strict-aliasing -std=gnu99 -D_GNU_SOURCE -pthread -I../libev -I../libudns -I../libsodium/src/libsodium/include -I../libipset/include -I../libcork/include -DMODULE_LOCAL -DLIB_ONLY -g -O2 -fdebug-prefix-map=/home/zxw/shadowsocksr-libev=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c encrypt.c  -fPIC -DPIC -o .libs/libshadowsocks_libev_la-encrypt.o
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Wall -Werror -Wno-deprecated-declarations -fno-strict-aliasing -std=gnu99 -D_GNU_SOURCE -pthread -I../libev -I../libudns -I../libsodium/src/libsodium/include -I../libipset/include -I../libcork/include  -DMODULE_LOCAL -DLIB_ONLY -g -O2 -fdebug-prefix-map=/home/zxw/shadowsocksr-libev=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c -o libshadowsocks_libev_la-udprelay.lo `test -f 'udprelay.c' || echo './'`udprelay.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Wall -Werror -Wno-deprecated-declarations -fno-strict-aliasing -std=gnu99 -D_GNU_SOURCE -pthread -I../libev -I../libudns -I../libsodium/src/libsodium/include -I../libipset/include -I../libcork/include -DMODULE_LOCAL -DLIB_ONLY -g -O2 -fdebug-prefix-map=/home/zxw/shadowsocksr-libev=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c udprelay.c  -fPIC -DPIC -o .libs/libshadowsocks_libev_la-udprelay.o
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Wall -Werror -Wno-deprecated-declarations -fno-strict-aliasing -std=gnu99 -D_GNU_SOURCE -pthread -I../libev -I../libudns -I../libsodium/src/libsodium/include -I../libipset/include -I../libcork/include  -DMODULE_LOCAL -DLIB_ONLY -g -O2 -fdebug-prefix-map=/home/zxw/shadowsocksr-libev=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c -o libshadowsocks_libev_la-cache.lo `test -f 'cache.c' || echo './'`cache.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Wall -Werror -Wno-deprecated-declarations -fno-strict-aliasing -std=gnu99 -D_GNU_SOURCE -pthread -I../libev -I../libudns -I../libsodium/src/libsodium/include -I../libipset/include -I../libcork/include -DMODULE_LOCAL -DLIB_ONLY -g -O2 -fdebug-prefix-map=/home/zxw/shadowsocksr-libev=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c cache.c  -fPIC -DPIC -o .libs/libshadowsocks_libev_la-cache.o
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Wall -Werror -Wno-deprecated-declarations -fno-strict-aliasing -std=gnu99 -D_GNU_SOURCE -pthread -I../libev -I../libudns -I../libsodium/src/libsodium/include -I../libipset/include -I../libcork/include  -DMODULE_LOCAL -DLIB_ONLY -g -O2 -fdebug-prefix-map=/home/zxw/shadowsocksr-libev=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c -o libshadowsocks_libev_la-acl.lo `test -f 'acl.c' || echo './'`acl.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Wall -Werror -Wno-deprecated-declarations -fno-strict-aliasing -std=gnu99 -D_GNU_SOURCE -pthread -I../libev -I../libudns -I../libsodium/src/libsodium/include -I../libipset/include -I../libcork/include -DMODULE_LOCAL -DLIB_ONLY -g -O2 -fdebug-prefix-map=/home/zxw/shadowsocksr-libev=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -c acl.c  -fPIC -DPIC -o .libs/libshadowsocks_libev_la-acl.o
acl.c: In function 'init_block_list':
acl.c:74:90: error: '%s' directive writing up to 63 bytes into a region of size between 50 and 176 [-Werror=format-overflow=]
     "ip6tables -N %s; ip6tables -F %s; ip6tables -A OUTPUT -p tcp --tcp-flags RST RST -j %s";
                                                                                          ^~
acl.c:158:68:
         sprintf(cli, ip6tables_init_chain, chain_name, chain_name, chain_name);
                                                                    ~~~~~~~~~~             
In file included from /usr/include/stdio.h:873,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 81 and 270 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:67:87: error: '%s' directive writing up to 63 bytes into a region of size between 53 and 179 [-Werror=format-overflow=]
     "iptables -N %s; iptables -F %s; iptables -A OUTPUT -p tcp --tcp-flags RST RST -j %s";
                                                                                       ^~
acl.c:160:67:
         sprintf(cli, iptables_init_chain, chain_name, chain_name, chain_name);
                                                                   ~~~~~~~~~~           
In file included from /usr/include/stdio.h:873,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 78 and 267 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:92:5: error: ';      firewall-cmd --direct...' directive writing 88 bytes into a region of size between 33 and 159 [-Werror=format-overflow=]
     "firewall-cmd --direct --add-chain ipv6 filter %s; \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv6 -F %s; \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv6 -A OUTPUT -p tcp --tcp-flags RST RST -j %s";
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:873,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 186 and 375 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:81:5: error: ';      firewall-cmd --direct...' directive writing 88 bytes into a region of size between 33 and 159 [-Werror=format-overflow=]
     "firewall-cmd --direct --add-chain ipv4 filter %s; \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv4 -F %s; \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv4 -A OUTPUT -p tcp --tcp-flags RST RST -j %s";
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:873,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 186 and 375 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c: In function 'free_block_list':
acl.c:96:5: error: '%s' directive writing up to 63 bytes into a region of size between 61 and 124 [-Werror=format-overflow=]
     "firewall-cmd --direct --passthrough ipv6 -D OUTPUT -p tcp --tcp-flags RST RST -j %s; \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv6 -F %s; \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --remove-chain ipv6 filter %s";
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:184:59:
         sprintf(cli, firewalld6_remove_chain, chain_name, chain_name, chain_name);
                                                           ~~~~~~~~~~
In file included from /usr/include/stdio.h:873,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 189 and 378 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:85:5: error: '%s' directive writing up to 63 bytes into a region of size between 61 and 124 [-Werror=format-overflow=]
     "firewall-cmd --direct --passthrough ipv4 -D OUTPUT -p tcp --tcp-flags RST RST -j %s; \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --passthrough ipv4 -F %s; \
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      firewall-cmd --direct --remove-chain ipv4 filter %s";
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:186:58:
         sprintf(cli, firewalld_remove_chain, chain_name, chain_name, chain_name);
                                                          ~~~~~~~~~~
In file included from /usr/include/stdio.h:873,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 189 and 378 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:76:90: error: '%s' directive writing up to 63 bytes into a region of size between 50 and 176 [-Werror=format-overflow=]
     "ip6tables -D OUTPUT -p tcp --tcp-flags RST RST -j %s; ip6tables -F %s; ip6tables -X %s";
                                                                                          ^~
acl.c:179:70:
         sprintf(cli, ip6tables_remove_chain, chain_name, chain_name, chain_name);
                                                                      ~~~~~~~~~~           
In file included from /usr/include/stdio.h:873,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 81 and 270 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
acl.c:69:87: error: '%s' directive writing up to 63 bytes into a region of size between 53 and 179 [-Werror=format-overflow=]
     "iptables -D OUTPUT -p tcp --tcp-flags RST RST -j %s; iptables -F %s; iptables -X %s";
                                                                                       ^~
acl.c:181:69:
         sprintf(cli, iptables_remove_chain, chain_name, chain_name, chain_name);
                                                                     ~~~~~~~~~~         
In file included from /usr/include/stdio.h:873,
                 from ../libipset/include/ipset/ipset.h:14,
                 from acl.c:23:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 78 and 267 bytes into a destination of size 256
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [Makefile:782: libshadowsocks_libev_la-acl.lo] Error 1
make[3]: Leaving directory '/home/zxw/shadowsocksr-libev/src'
make[2]: *** [Makefile:478: all-recursive] Error 1
make[2]: Leaving directory '/home/zxw/shadowsocksr-libev'
make[1]: *** [Makefile:387: all] Error 2
make[1]: Leaving directory '/home/zxw/shadowsocksr-libev'
dh_auto_build: make -j1 returned exit code 2
make: *** [debian/rules:25: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

remote_recv_cb_recv: Connection reset by peer

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

d490456

What operating system are you using?

Mac

What did you do?

日志经常出现remote_recv_cb_recv: Connection reset by peer
服务器端是shadowsocksrr/shadowsocksr@f0ec72c
尝试调整过auth_chain_e/f,chacha20-ietf/auth_aes128_sha1等加密和协议,都会出现该错误

What did you expect to see?

What did you see instead?

2017-10-07 00:14:57 ERROR: remote_recv_cb_recv: Connection reset by peer
2017-10-07 00:14:57 ERROR: remote_recv_cb_recv: Connection reset by peer
2017-10-07 00:14:57 ERROR: remote_recv_cb_recv: Connection reset by peer
2017-10-07 00:14:57 ERROR: remote_recv_cb_recv: Connection reset by peer
2017-10-07 00:14:57 ERROR: remote_recv_cb_recv: Connection reset by peer
2017-10-07 00:14:57 ERROR: remote_recv_cb_recv: Connection reset by peer
2017-10-07 00:15:21 ERROR: getsockopt error code 0 61
2017-10-07 00:15:21 ERROR: getsockopt: Operation now in progress
2017-10-07 00:15:21 ERROR: getsockopt error code 0 61
2017-10-07 00:15:21 ERROR: getsockopt: Operation now in progress
2017-10-07 00:15:21 ERROR: getsockopt error code 0 61
2017-10-07 00:15:21 ERROR: getsockopt: Operation now in progress
2017-10-07 00:15:21 ERROR: getsockopt error code 0 61
2017-10-07 00:15:21 ERROR: getsockopt: Operation now in progress
2017-10-07 00:15:21 ERROR: getsockopt error code 0 61
2017-10-07 00:15:21 ERROR: getsockopt: Operation now in progress
2017-10-07 00:15:21 ERROR: getsockopt error code 0 61
2017-10-07 00:15:21 ERROR: getsockopt: Operation now in progress
2017-10-07 00:15:53 ERROR: remote_recv_cb_recv: Connection reset by peer
2017-10-07 00:16:35 ERROR: getaddrinfo: nodename nor servname provided, or not known
2017-10-07 00:17:05 ERROR: getaddrinfo: nodename nor servname provided, or not known

What is your config in detail (with all sensitive info masked)?

"protocol_param" : "",
"method" : "none",
"protocol" : "auth_chain_b",
"server" : "IP",
"password" : "password",
"local_address" : "127.0.0.1",
"server_port" : 8080,
"timeout" : 60,
"local_port" : 1086,
"obfs_param" : "www.baidu.com",
"obfs" : "http_simple"

Need UDP over TCP in ssrr libev

目前主要用 软路由 Openwrt CC 15.0.1 做透明代理,客户端用 ssrr libev ,服务器端是 Debian 8 x64 + python 服务器,服务器用 python 应该本身就有 udp over tcp 功能,不需要修改什么

UDP over TCP 在 C# 客户端上有这个选项,但是在 ssrr libev 客户端貌似不支持

ssrr libev 目前对于 UDP 只能做 udp 的转发, udp 在很多地方容易被 ISP 做 QOS,甚至封杀 UDP 导致很多 UDP 要么很慢,要么压根没法用

希望 ssrr libev 能加入 udp over tcp 的实现,这样只需要单纯用 tcp + tls_ticket_auth + bbr 加速 就可以完美支持 tcp 和 udp 了

.libs/libshadowsocks_libev_la-tls.o:(.data.rel.ro.local+0x10): multiple definition of `tls_protocol'

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

shadowsocksr-libev-master

What operating system are you using?

ubuntu

What did you do?

sudo apt-get install --no-install-recommends build-essential autoconf libtool libssl-dev
gawk debhelper dh-systemd init-system-helpers pkg-config asciidoc xmlto apg libpcre3-dev zlib1g-dev -y
dpkg-buildpackage -b -us -uc -i

What did you expect to see?

no compile error

What did you see instead?

.libs/libshadowsocks_libev_la-tls.o:(.data.rel.ro.local+0x10): multiple definition of `tls_protocol'
.libs/libshadowsocks_libev_la-local.o:(.bss+0x20): first defined here
collect2: error: ld returned 1 exit status
Makefile:573: recipe for target 'libshadowsocks-libev.la' failed
make[3]: *** [libshadowsocks-libev.la] Error 1

What is your config in detail (with all sensitive info masked)?

crash

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

2.4.8

What operating system are you using?

iOS

What did you do?

ssr

What did you expect to see?

work for the ssr

What did you see instead?

crash

What is your config in detail (with all sensitive info masked)?

@移植到iOS设备时,客户端发起新的请求,在local.c的建立起new_server函数出现指针异常,如截图
screen shot 2018-02-23 at 7 21 29 pm
这是参数的结构图
screen shot 2018-02-23 at 7 23 36 pm
@Akkariiin 找了很久的原因找不到,作者可以帮忙看看么感谢

能把某个分支追加的服务端支持并进来吗?

esdeathlove/master应该是这边加的ssr服务端
但是很不幸随着主干删除一并没了
不过好在还有备份
我用的时候 路由器上可以开服务端
debian上似乎有bug
不过可能是esdeathlove/master太老了
路由器上用这个感觉还可以

auth_aes128_md5 无法使用

您好
我使用的开启命令是

ss-redir -o tls1.2_ticket_auth -O auth_aes128_md5 -g removed -s removed -p removed -l 1080 -b 127.0.0.1 -k removed -m aes-256-ctr

但是执行完以后错误为:Protocol not available

我的版本为2.5.6

用python版本开启却没有问题

sudo python3 ./shadowsocksr/shadowsocks/local.py -o tls1.2_ticket_auth -O auth_aes128_md5 -g removed -s removed -p removed -l 1080 -b 127.0.0.1 -k removed -m aes-256-ctr -d start

ssr parameters usage need to be modified

printf("\n");

这个应该改一下了吧,好多年都和 ss 是一样的。但实际上参数差很多。好不容易找到用法,也许是对的吧:
ss-local -v -b "127.0.0.1" -l "{local_port}" -s "{server}" -p "{server_port}" -k "{password}" -m "{method}" -o "{obfs}" -O "{protocol}" -g "{obfsparam}" -G "{protocolparam}"

Need tls1.2_ticket_fastauth support

What version of shadowsocks-libev are you using?

Latest version maintained by breakwa11 with additional auth_chain_b support

What operating system are you using?

Merlin ARM router

What did you expect to see?

tls1.2_ticket_fast_auth

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.