EverKB

Knowledge Base Ever

تثبيت خدمة Shadowsocks باستخدام البرنامج النصي TeddySun على CentOS7 وتحسين TcpBBR

2020-01-13 14:39:19

بطاقة: Shadowsocks,ShadowsocksR,Shadowsocks-Python,Shadowsocks-Libev,CentOS,CentOS7,Tcp BBR,

في بعض السيناريوهات ، تحتاج إلى استخدام خدمة Shadowsocks. لتثبيت Shadowsocks على CentOS 7 ، يمكنك الرجوع إلى الوثائق الرسمية ، أو يمكنك استخدام برنامج نصي مناسب للغاية من TeddySun.

إعداد وتركيب البرامج اللازمة

sudo -i
yum install wget vim -y

أمر من ثلاثة أسطر لتثبيت خدمة Shadowsocks باستخدام برنامج نصي

wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh

chmod +x shadowsocks-all.sh

./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
سيسألك البرنامج النصي عن الخادم الذي تريد استخدامه ، بما في ذلك Python و R و Go و libev.
بيثون: ناضجة
R: وأضاف الارتباك
الذهاب: قد يكون هناك التزامن أفضل
libev: استنادًا إلى المكتبات غير المتزامنة ، نظريًا هي أفضل التزامن

إذا لم تكن هناك متطلبات خاصة ، يمكنك استخدام Shadowsocks-Python الافتراضي ، ومن ثم سيطلب البرنامج النصي كلمة المرور والمنفذ ، وكذلك طريقة التشفير. يمكنك استخدام: xchacha20-ietf-poly1305 ، chacha20-ietf-poly1305 ، aes-256-gcm
Which Shadowsocks server you'd select:
1.Shadowsocks-Python
2.ShadowsocksR
3.Shadowsocks-Go
4.Shadowsocks-libev
Please enter a number (default 1):
بعد اكتمال التثبيت ، سيقوم البرنامج النصي بتقديم ملاحظات حول معلومات تكوين التثبيت ، ويكون هذا التكوين في /etc/shadowsocks-python/config.json ، وإذا لزم الأمر ، يمكنك أيضًا استخدام VIM لتعديله بعد التثبيت.
Congratulations, Shadowsocks-Python server install completed!
Your Server IP        :  x.x.x.x
Your Server Port      :  12345
Your Password         :  PASSWORD
Your Encryption Method:  aes-256-gcm

قسم التكوين المتقدم

BBR اختصار لـ Bottleneck Bandwidth and Round-trip Time ، هنا يوفر TeddySun أيضًا برنامج نصي لتثبيت.
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

chmod +x bbr.sh

./bbr.sh
بعد اكتمال التنفيذ ، يمكنك استخدام الأمر sysctl لعرض وتأكيد القيم المكوّنة على النحو التالي
[root@instance-1 ~]# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr
[root@instance-1 ~]# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr
[root@instance-1 ~]# sysctl net.core.default_qdisc
net.core.default_qdisc = fq
[root@instance-1 ~]# lsmod | grep bbr
tcp_bbr                20480  12
إذا كانت قيمة الإرجاع مختلفة عن ما سبق ، فقم بتنفيذ الكود التالي:
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
أخيرًا ، ابدأ الخدمة. يمكنك أيضا كتابة السيناريو.
/etc/init.d/shadowsocks-python restart
يستخدم Non-CentOS أساليب Linux الشائعة لإنشاء نصوص تحكم
sudo vim /etc/init.d/shadowsocks
#!/bin/sh
### BEGIN INIT INFO
# Provides: shadowsocks
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start shadowsocks
# Description: start shadowsocks
### END INIT INFO
start(){
   ssserver -c /etc/ss-conf.json -d start
}
stop(){
   ssserver -c /etc/ss-conf.json -d stop
}
case “$1” in
start)
   start
   ;;
stop)
   stop
   ;;
reload)
   stop
   start
   ;;
*)
   echo “Usage: $0 {start|reload|stop}”
   exit 1
   ;;
esac
sudo chmod +x /etc/init.d/shadowsocks
إضافة إلى التمهيد
sudo vim /etc/init/shadowsocks.conf
start on (runlevel [2345])stop on (runlevel [016])pre-start script
/etc/init.d/shadowsocks start
end script
post-stop script
/etc/init.d/shadowsocks stop
end script
sudo update-rc.d shadowsocks defaults

بطاقة

CentOS7 CentOS PHP Linux Python3 Python MySQL MariaDB YUM JavaScript mysql_native_password PHP7 CSS Redis MySQL8 caching_sha2_password HTML font-size root Tag Cloud CodeIgniter Laravel ss5 apache httpd dual network interfaces horiz-align node.js ShadowsocksR vertical-align CURLFille exec mb_substr PyCharm SUBDATE BarManager IntelliJIDEA PEAR SOCKS5 Proxy Server WebStorm date add find remi Tag Chrome jQuery PHP5.5 src Apache du hide nginx Shadowsocks-Python V2Ray cURL eth0 MariaDB10.4 PostgreSQL sub folder availability Install MongoDB pdo_sqlsrv SOCKS5 Web Server date File Upload mssql-tools register_shutdown_function Symfony JetBrain php-fpm sqlsrv Zend Framework ADDDATE DevExpress height network interface Shadowsocks-Libev unixODBC-devel error_get_last Port 80 string Aura INDENTIFIED BY password policy requirements SOCKS Web Development data Fedora Media Writer msodbcsql Redis5 SVN jemalloc SQLAlchemy absolute Deepin FuelPHP mysqlclient Shadowsocks toggle convert Error Control Operator margin PHPUnit Framework ss5.passwd at-symbol IIS password SOCKET vps daemon process Fatal Errors MongoDB4 sudoers center Phalcon SQL Server 2017 WiFi .htaccess DATE_SUB frequency conflict set_error_handler TestCase Compiling PHP Elasticsearch7.3 PHPUnit ss5.conf apr HTTP particles.js Slim Vincent Garreau daemon Failed to build these modules: _uuid MongoDB Sudo ip command pg_bha.conf SQL Server width DATE_ADD Frameworks MySQL-python scrollbar Tcp BBR Compiling Apache libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 Apache2.4 Elasticsearch NodeJs show VIM CURLOPT_POSTFIELDS Failed to build these modules: _ctypes Minimal ISO substr Bluetooth INTERVAL PECL SQL Date Funcitons Wi-Fi date sub

آخر مقال