forked from DKingAlpha/shadowsocks-ubuntu
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInstall.sh
executable file
·85 lines (63 loc) · 2.42 KB
/
Install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/bash
ssinstdir="$(cd $(dirname $0) && pwd)"
cd $ssinstdir
if [ `uname -p` != 'x86_64' ]; then
echo "Ubuntu/Debian 64bit required! Exiting..."
exit 1
fi
if [ `id -u` != '0' ]; then
echo "root permission required! Please run as root. Exiting..."
exit 1
fi
read -p "Shadowsocks Server IP >" SS_IP
read -p "Shadowsocks Server Port >" SS_PORT
read -p "Shadowsocks Password >" YOURPASSWORD
read -p "Shadowsocks Method (aes-256-cfb, rc4-md5 or etc.) >" YOURMETHOD
cp config/ss.conf.tpl config/ss.conf
sed -i "s/SS_IP/$SS_IP/g" config/ss.conf
sed -i "s/SS_PORT/$SS_PORT/g" config/ss.conf
sed -i "s/YOURPASSWORD/$YOURPASSWORD/g" config/ss.conf
sed -i "s/YOURMETHOD/$YOURMETHOD/g" config/ss.conf
echo "
Then hit ENTER key to continue.
"
read junk
echo "The SS config file looks like:"
cat config/ss.conf
read -p "Hit Enter to continue" junk
echo "Hit Enter to begin automitically installation."
pushd libsodium
./install_libsodium.sh
popd
dpkg -R -i debfiles
apt-get -f install
mkdir -p /etc/shadowsocks-libev
mkdir -p /etc/polipo/
mv /etc/polipo/config /etc/polipo/config.bak 2>/dev/null
mv /etc/shadowsocks-libev/config.json /etc/shadowsocks-libev/config.json.bak 2>/dev/null
cp config/polipo.conf /etc/polipo/config
cp config/ss.conf /etc/shadowsocks-libev/config.json
cp -r acl_list /etc/shadowsocks-libev/acl_list
echo "bypass-lan-china.acl" > /etc/shadowsocks-libev/acl_selection
update-rc.d polipo disable >/dev/null 2>/dev/null
chmod +x Shadowsocks
rm /usr/bin/Shadowsocks 2>/dev/null
ln -s $ssinstdir/Shadowsocks /usr/bin/Shadowsocks 2>/dev/null
# avoid duplicated installation
sed -i "s/alias Shadowsocks-setproxy='source \/etc\/shadowsocks-libev\/envproxy\/set'//g" /etc/bash.bashrc
sed -i "s/alias Shadowsocks-unsetproxy='source \/etc\/shadowsocks-libev\/envproxy\/unset'//g" /etc/bash.bashrc
# install alias to setup proxy
echo "
alias Shadowsocks-setproxy='source /etc/shadowsocks-libev/envproxy/set'
alias Shadowsocks-unsetproxy='source /etc/shadowsocks-libev/envproxy/unset'" >> /etc/bash.bashrc
mkdir /etc/shadowsocks-libev/envproxy 2>/dev/null
echo "export HTTP_PROXY=http://127.0.0.1:1080
export http_proxy=\$HTTP_PROXY
export HTTPS_PROXY=\$HTTP_PROXY
export https_proxy=\$HTTP_PROXY
" > /etc/shadowsocks-libev/envproxy/set
echo "unset HTTP_PROXY http_proxy HTTPS_PROXY https_proxy" > /etc/shadowsocks-libev/envproxy/unset
echo "
Installation Completed!
Now you can run Shadowsocks at any terminal.
"