Fedora和SSR
新建客戶端的配置文件/etc/shadowsocks.json,內容為:
{ "server":"111.222.42.55", "server_ipv6": "::", "server_port":8888, "local_address": "127.0.0.1", "local_port":1082, "password":"yourPasswd", "timeout":61, "udp_timeout": 60, "method":"aes-128-ctr", "protocol": "auth_aes128_md5", "protocol_param": "", "obfs":"tls1.2_ticket_auth", "obfs_param": "", "fast_open": false, "workers": 1 }
ssr解壓後就可以直接執行這個命令來運行了:
/usr/bin/python /pathToYourSSR/shadowsocksr/shadowsocks/local.py -c /etc/shadowsocks.json
新建開機啟動文件/etc/systemd/system/ssr.service
[Unit] Description=ssr local After=NetworkManager.service [Service] ExecStart=/usr/bin/python /pathToYourSSR/shadowsocksr/shadowsocks/local.py -c /etc/shadowsocks.json [Install] WantedBy=basic.target
#更新守護列表 sudo systemctl daemon-reload #查看是否能通過systemctl正常啟動 sudo systemctl start ssr.service #如果沒報錯,就可以添加到開機啟動里了 sudo systemctl enable ssr.service
Fedora和polipo
雖然由於polipo停止維護,無法從軟件倉庫中直接下載,但好在github源碼還在,下載下來自己編譯就OK,我在Fedora25上用沒有問題。
git clone https://github.com/jech/polipo.git cd polipo make all sudo su -c 'make install' man polipo
新建默認配置文件/etc/polipo/config,寫入一下內容,注意端口號。
proxyAddress = "0.0.0.0" socksParentProxy = "127.0.0.1:1080" socksProxyType = socks5 chunkHighMark = 50331648 objectHighMark = 16384 serverMaxSlots = 64 serverSlots = 16 serverSlots1 = 32
單次運行的話,執行polipo即可。
使用 ssr-command-client 來管理訂閱
時間來到 2024 年,之前的代理取消了 v2ray 的支持,只剩下 ssr。通過搜索發現可以使用 ssr-command-client 來方便的管理訂閱,由於是 Python 項目,所以支持主流平台。在 Termux 上,訂閱的解析和選擇是沒問題的,但是運行命令有問題,可以通過我這個腳本來使用。
#filename: ssr_termux.py import json import os import sys from shadowsocksr_cli.parse_utils import * from shadowsocksr_cli.network_test_utils import * from shadowsocksr_cli.shadowsocks.daemon import write_pid_file from shadowsocksr_cli.common import * if len(sys.argv) < 2: print("Usage: python script_name.py 1.\n -1 for stop.") sys.exit(1) p_index = int(sys.argv[1]) if p_index == -1: with open(Setting.get_value("shadowsocksr_pid_file_path"), "r") as file: pid = int(file.read()) if pid > 0: try: os.kill(pid, signal.SIGTERM) except OSError as e: sys.exit(1) else: logging.error('pid is not positive: %d', pid) sys.exit(1) with open(Setting.get_value("server_json_file_path"), "r") as file: data = json.load(file) ssr_url = data[p_index]["ssr_url"] #ssr_url = "ssr://c2ctMzcubXhyb" ssr_dict = ParseShadowsocksr.parse_shadowsocksr(ssr_url) ssr_dict = ShadowsocksrTest.test_shadowsocksr_connect(ssr_dict) kwargs = { 'local_address': '127.0.0.1', 'local_port': 44084, 'timeout': 30000, 'workers': 1 } if ssr_dict['connect']: p = Process(target=ControlShadowsocksr.start_on_windows, args=(ssr_dict,), kwargs=kwargs) p.start() write_pid_file(Setting.get_value("shadowsocksr_pid_file_path"),p.pid)
使用時可以通過設置 alias 快速執行,如:
alias s1="nohup python /path/to/ssr_termux.py 4&" alias st="python /path/to/ssr_termux.py -1"
順便記錄下 ssr-command-client 的常見用法:
#使用 pip 安裝 pip install shadowsocksr-cli #設置訂閱地址 shadowsocksr-cli --setting-url https://your_subscription.com/subscription.txt #更新訂閱 shadowsocksr-cli -u #列出節點 shadowsocksr-cli -l #啟動第 4 個節點並指定 40000 端口 shadowsocksr-cli -s 4 -p 40000 #關閉第 4 個節點的連接 shadowsocksr-cli -S 4
本文更新於 2024/04/19。