Skip to content

seqrity/ShadowSocks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

Pre Installation

Change Server's Password

passwd root

OS Update

yum update && yum upgrade -y

Optional

yum install epel-release -y
yum install htop -y



Install Sahdowsocks

yum install m2crypto python-setuptools -y

easy_install pip

pip install shadowsocks


Configuration

yum install vim

vim /etc/shadowsocks.json


{
"server":"YOUR_SERVER_IP",

"server_port":8000, "local_port":1080, "password":"YOUR_PASSWORD", "timeout":600, "method":"aes-256-cfb" }

Add ShadowSocksss User

adduser --system --no-create-home -s /bin/false shadowsocksss

Create Stratup Service

Create shadowsocks.service File

vim /etc/systemd/system/shadowsocks.service


[Unit]
Description=ShadowsocksProxy
After=network.target

[Service]
User=shadowsocksss
Type=simple
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json  -v start
Restart=on-abort

[Install]
WantedBy=multi-user.target

Enable and start shadowsocks service


systemctl daemon-reload
systemctl start shadowsocks
systemctl enable shadowsocks

Install & Configuration (Iptables)


yum install iptables-services -y
iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
systemctl enable iptables   
service iptables save

If iptables rule doesn't save disable firewalld by the following command:


systemctl disable firewalld

Logs

less /var/log/shadowsocks.log

References:

https://www.linuxbabe.com/linux-server/setup-your-own-shadowsocks-server-on-debian-ubuntu-centos https://www.linode.com/docs/networking/vpn/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/


Hardening (Optional)

Install & Config fail2ban

yum install fail2ban

Enable

systemctl enable fail2ban

Configuration

⛔ Don't edit jail.conf ⛔

Create jail.local

👉 Any values defined in jail.local will override those in jail.conf.

vim /etc/fail2ban/jail.local



[DEFAULT]
# Ban hosts permanent:
maxretry = 3
bantime = -1
# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport
[sshd]
enabled = true

systemctl restart fail2ban

Check Status


fail2ban-client status
fail2ban-client status sshd
iptables -L

Create Fail2Ban Service

vim /etc/systemd/system/myfail2ban.service


[Unit]
Description=Fail2BanService
After=network.target

[Service]
User=root
Type=simple
ExecStart=/bin/systemctl start fail2ban
Restart=on-abort

[Install]
WantedBy=multi-user.target

Enable & Start Service


systemctl daemon-reload
systemctl start fail2ban
systemctl enable fail2ban

Clear Fail2Ban log file

service fail2ban stop

truncate -s 0 /var/log/fail2ban.log

rm /var/lib/fail2ban/fail2ban.sqlite3

service fail2ban restart

You can save all of them in a .sh file and run it from crontab weekly(Sunday at 4:05AM)

5 4 * * sun /root/clear_fail2ban_log.sh

Reference:

https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-centos-7


Install Client on Windows/Linux/Android

After download file run the following command:

chmod a+x Shadowsocks-Qt5-x86_64.AppImage

Reference:

https://shadowsocks.org/en/download/clients.html

About

Shadowsocks installation guide on CentOS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published