docker快速安裝shadowsocks server

1. 安裝

docker run -dt --restart always --name ss -p 6666:6666 -p 6700:6700/udp mritd/shadowsocks -m "ss-server" -s "-s 0.0.0.0 -p 6666 -u -m aes-256-cfb -k <密碼> --fast-open" -x -e "kcpserver" -k "-t 127.0.0.1:6666 -l :6700 -mode fast2"

2. 打開防火牆 6666/tcp 與 6700/udp ( 6666 與 6700 可以隨意修改,防火牆記得跟著修改即可)

老毛子Padavan 韌體, 如何透過PowerDNS-Admin更新DDNS

之前介紹過小米路由器mini可以刷老毛子padavan韌體, 不只功能強,還可以啟用shadowsocks功能, 但是有些路由器上網ip是動態的, 因此需要用到DDNS來綁定動態ip, 目前最穩定的DDNS大概就是google domain了, 他支援dyndns 2.
有些人若要綁定自己的網域, 可以安裝PowerDNS-Admin , 這個軟體也支援dyndns 2.
但是問題來了, padavan 與自行建立的PowerDNS-Admin 並不相容, 偶研究了很久, 終於用迂迴的方式搞定.

1. 建立正確的ddns設定文件
vi /etc/storage/script/inadyn.conf

background
verbose 1
checkip-url ip.3322.net /
startup-delay 15
period 600
forced-update 864000
cache-dir /tmp/inadyn
exec /sbin/ddns_updated
system custom@http_srv_basic_auth
  username <帳號>
  password <密碼>
  server-name :
  server-url //nic/update?hostname=<想改的網域主機名字>&myip=
  append-myip
  alias <想改的網域主機名字>

2. 找出padavan啟動後執行的腳本, 於最後一行加上

#!/bin/sh
pid=`ps | grep inadyn | awk 'NR==1{print $1}' | cut -d' ' -f1`
name=`ps | grep inadyn | awk 'NR==1{print $5}' | cut -d' ' -f1`
if  [[ "$name" == "/bin/inadyn" ]];
then
  if [[ -z "$pid" ]]
    /bin/kill $pid
  then
    echo "kill $pid"
  fi
fi
/bin/cp /etc/storage/script/inadyn.conf /etc/
/bin/rm -r /tmp/inadyn
/bin/inadyn --config /etc/inadyn.conf

當然做這些動作之前,padavan要設定啟用DDNS功能, 基本上這樣重開機之後, 會將正確的conf複製到系統目錄上,再重新執行就可以了,
另外設定檔裡面的 ip.3322.net 是可以透過padavan預設的ddns功能修改的.

翻牆的另一個選擇-Outline

最近研究一大堆科學翻牆的方式, 尤其是買小米路由mini,安裝老毛子韌體, CP值最高.
出差帶一台小米路由,可隨時翻牆.

另外一種方式就是使用Outline, 安裝方式超簡單, 也不用改啥機子, 但Outline server要自行準備作業系統安裝, 這種方式不像小米路由可以放在一般家庭,既是wifi, 也可當翻牆server.

Outline簡易步驟(ubuntu):
1.(伺服器端)安裝server
wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh | bash
安裝完畢會出現一組訊息告訴你防火牆哪個port要開啟, 以及一組要給Outline-Manager用到的連結
To manage your Outline server, please copy the following line (including curly
brackets) into Step 2 of the Outline Manager interface:
G
{"apiUrl":"https://xxx:48085/bZxbag3byWdd8I89W9IB1p5jA","certSha256":"1B9C3C3A54D4FE59A26AFCC68E7DA995ABD13FA20CD27430F1EBAA9030BCAD0"}

If you have connection problems, it may be that your router or cloud provider
blocks inbound connections, even though your machine seems to allow them.

- If you plan to have a single access key to access your server make sure
  ports 48015 and 46144 are open for TCP and UDP on
  your router or cloud provider.
此時你需要讓防火牆開啟相對應的port, 請注意port每個伺服器都不一樣
firewall-cmd --add-port=48015/tcp --permanent
firewall-cmd --add-port=48015/udp --permanent
firewall-cmd --add-port=46144/tcp --permanent
firewall-cmd --add-port=46144/udp --permanent
firewall-cmd --reload
2.(伺服器端)接下來於伺服器執行管理程式 Outline-Manager (須使用root或是administrator權限) 將安裝步驟1server所產生的安裝碼(apiUrl), 放到Outline-Manager上, outline 就可以產生會產生一組特別的連結URL: SS://xxxx , 這時候就可以把SS://xxx給需要翻牆的設備. 咖啡偶測試了一下, 這個Outline-Manager使用完畢就可以關閉, 因為實際上的server(步驟1)還繼續執行中. 3.(客戶端)執行Outline-Client(須使用root或是administrator權限) 將步驟2產生的連結URL , SS://xxxxxx 放入client上, 就可以啟動vpn了
ps. 因為連線的port有時後會變動,因此防火牆官方建議開放1024~65535 (tcp/udp) , 但是實際上測試會落在10000~65535之間,因為安全考量10000之前有些服務不能開放防火牆, 所以就開放10000以後的就行了, 或是開放1024~65535時候, 記得將不能開放的服務再另外用更高權限鎖回去.
伺服器端的 Outline-Manager 與 客戶端的 Outline-Client 可於 https://www.getoutline.org 下載 支援 windows , linux 與 Mac ,

如何檢查outline-server 是否為最新版本

# 查看shadowbox是否為最新版
docker inspect shadowbox | grep '"shadowbox.' 

#查看是否能自動檢查到最新版而自動更新
docker logs watchtower

小米路由器刷老毛子padavan固件,使用SS注意事項

  1. 遠端SS服務器的內部ip請另行增加一個網段 192.1.0.0/24 , 以免無法連到遠端SS服務器,其所在的網段裡面的伺服器(這些伺服器也要加上192.1.0.x IP
  2. 選擇gfwlist方式(非全局翻牆), 若記得加上類似以下的設定,強制走翻牆
    #測試我的IP(是否可翻)
    WAN@whatismyip.host

    #遠端內部建議區域網段
    WAN+192.1.0.0/24

    #LINE IP
    WAN+119.235.235.0/24
    WAN+103.2.31.0/24
    WAN+203.104.131.0/24

    #指定網站
    WAN@www.facebook.com
    WAN@www.mobile01.com

談談中國科學翻牆方式

在shadowsocks出現之前, 大家只能使用傳統的VPN方式(pptd , l2tp over pptd , 或是ipsec).

其實VPN能做的事情更多, 可以直接存取服務器所在的網域的所有檔案, 或是使用防火牆下相關的系統, 如ERP, 電子表單.

後來中國開始封鎖VPN, 因其通訊協定很容易偵測到, 可以很簡單阻擋不給使用.

後來出了一款新型態科學翻牆方式shadowsocks(簡稱SS), 使用socks 5代理伺服器的方式, 避開了VPN通訊協定的特徵, 讓長城防火牆更不容易偵測到, 陸續又衍生shadowsocksR (簡稱SSR)等方式增加大家學習技術時, 必須科學翻牆.

參考資料: https://github.com/shadowsocks/shadowsocks-libev 

改造可翻牆的小米路由器(mini)

最近出了一次差,才發現翻牆其實很重要, 但是我自己個人翻牆簡單,別人卻很難, 只好想辦法改造小米路由器(mini),讓夥伴都能一起科技翻牆.

本文只列出重要步驟:

  1. 刷開發版,然後打開ssh功能
  2. 打開ssh功能後, 刷Breed這個bootloader(有點像是android的recovery), 刷之前要備份小米原本的韌體,
  3. 透過Breed(bootloader),刷入https://opt.cn2qq.com/padavan/
  4. 設定shadowsocks客戶端

ubuntu 安裝shadowsocks用戶端程式

之前咖啡偶提到如何在docker安裝shadowsocks 伺服器 , 這次就來個如何在ubuntu 安裝shadowsocks用戶端程式, 這樣就可以技術翻牆囉

方法一:

1.安裝套件

sudo apt-get install python-pip
sudo apt-get install python-setuptools m2crypto
sudo pip install shadowsocks

2.執行

sslocal -s <ss server ip> -p <ss server port> -k "<password>" -l <local port> -t 600 -m aes-256-cfb

方法二:

1.安裝套件

sudo apt update
sudo apt install shadowsocks-libev

2.執行

ss-local -s <ss server ip> -p <ss server port> -k "<password>" -l <local port> -t 600 -m aes-256-cfb

方法一與方法二可用檔案的方式紀錄

sslocal -c xxx.json -v -u 或是 ss-local -c xxx.json -v -u

xxx.json

{
  "server": "yourip",
  "server_port": your port number,
  "local_address": "127.0.0.1",
  "local_port": "local port",
 "password": "your password",
  "timeout": 300,
  "method": "aes-256-cfb",
  "fast_open": true,
  "prefer_ipv6": false
}

瀏覽器設定

瀏覽器安裝plugin, 請到這裡找對應的安裝, 有chrome與firefox
https://github.com/FelisCatus/SwitchyOmega/releases/
咖啡偶使用socks5, 花點時間研究一下安裝與設定就好了

vpn的另外一種選擇-安裝shadowsocks翻牆伺服器

vpn的另外一種選擇 - 安裝shadowsocks翻牆伺服器

一般來說買台totolink, 丟到中國去, 加上網路,就可以架起pptp vpn翻牆伺服器,

翻到中國去做什麼?當然是追劇囉,呵呵!

 

但除非購買企業用vpn, 否則這種私人架設的vpn,常會被中國阻擋,

原因在於這種vpn通訊協定, 很容易被偵測到.

 

現在興起另一種安全的代理伺服器(Secure Proxy Server), 是另外一種翻牆選擇,因為不是走vpn架構,號稱比較不會被擋(但咖啡偶有點懷疑).

安裝方式請參考10018_(Docker)安裝shadowsocks翻牆伺服器.txt