Skip to content

AnyTLS + REALITY ​

Aster 通常作為 AnyTLS + REALITY 客戶端,連接 Xray、sing-box、SideraCore、Aster 或其他相容服務端。完整部署流程見實戰教學。

text
你的 App → Aster Core → AnyTLS + REALITY 節點 → 網際網路

服務端需提供節點網址、連接埠、密碼、SNI、公開金鑰和 short ID。

客戶端設定 ​

yaml
proxies:
  - name: anytls-reality
    type: anytls
    server: proxy.example.com
    port: 443
    password: "replace-with-your-password"
    sni: www.microsoft.com
    client-fingerprint: chrome
    reality-opts:
      public-key: <server-public-key>
      short-id: 0123456789abcdef
    udp: true

欄位說明 ​

欄位要填的內容
name自己看得懂的節點名稱
server真正要連線的節點 IP 或網域,不是偽裝網站
port服務端提供的連接埠
password服務端提供的 AnyTLS 密碼
sni服務端提供的偽裝網站名稱
client-fingerprint模擬的瀏覽器類型;不確定時使用 chrome
public-key服務端提供的 REALITY 公開金鑰
short-id服務端提供的一小段識別碼;沒有提供時才省略
udp設為 true,讓需要 UDP 的程式也能使用

金鑰方向

客戶端只需要 public key(公開金鑰)。private key(私鑰)只能留在服務端。

分享連結 ​

Aster 支援這種格式:

text
anytls://<password>@proxy.example.com:443?security=reality&sni=www.microsoft.com&fp=chrome&pbk=<public-key>&sid=<short-id>#AnyTLS-REALITY
分享連結內容代表什麼
<password>AnyTLS 密碼
proxy.example.com:443節點網址和連接埠
sni偽裝網站
fp瀏覽器指紋
pbkREALITY 公開金鑰
sidshort ID
#AnyTLS-REALITY顯示名稱,可自行修改

如果使用 username:password@host 的寫法,Aster 會使用冒號後面的內容當作密碼。

常見錯誤 ​

看到的情況先檢查
立即顯示連線被拒絕server、port、防火牆,以及服務端是否啟動
一直等待後逾時DNS 是否正確、服務端是否可從外網連線
可以連到 port,但代理仍失敗password、sni、public-key、short-id
網頁可開,但遊戲或語音失敗是否設定 udp: true,以及服務端是否支援
匯入分享連結後不能用核對 pbk、sid、sni 和 fp 是否完整

不要用 skip-cert-verify 掩蓋錯誤的公開金鑰、SNI 或 short ID。

Aster 服務端 ​

Aster 也能直接接收 AnyTLS + REALITY 連線:

先產生金鑰:

sh
aster-core generate reality-keypair

你會得到:

text
PrivateKey: <server-private-key>
PublicKey: <server-public-key>
  • PrivateKey 只放在服務端。
  • PublicKey 提供給客戶端。

服務端設定:

yaml
listeners:
  - name: edge-anytls
    type: anytls
    listen: 0.0.0.0
    port: 443
    users:
      alice: "replace-with-a-long-random-password"
    reality-config:
      dest: www.microsoft.com:443
      private-key: <server-private-key>
      short-id:
        - 0123456789abcdef
      server-names:
        - www.microsoft.com
服務端欄位說明
listen0.0.0.0 代表接收所有 IPv4 網路介面的連線
port對外開放的 TCP 連接埠
users使用者名稱和密碼
dest驗證失敗時轉往的正常 HTTPS 網站
private-key服務端私鑰,不可外流
short-id服務端允許的 short ID
server-names客戶端可以使用的 SNI

同一個 AnyTLS 服務不能同時使用 REALITY、一般憑證 TLS、ShadowTLS、ResTLS 或 JLS;只能選一種。

即時管理使用者 ​

把 AnyTLS 服務加入 managed-listeners 後,可以在不重新啟動整個服務的情況下新增、修改、停用或刪除密碼。

yaml
external-controller: 127.0.0.1:9090

aster:
  secret: "replace-with-at-least-32-random-bytes"
  state-file: ./aster-state.json
  public-base-url: https://proxy.example.com
  managed-listeners:
    - edge-anytls

完整操作見使用者管理教學。

相關文件 ​