mirror of
https://github.com/SagerNet/sing-box.git
synced 2024-11-27 11:01:28 +00:00
123 lines
3.5 KiB
Markdown
123 lines
3.5 KiB
Markdown
|
---
|
||
|
icon: material/send
|
||
|
---
|
||
|
|
||
|
# Shadowsocks
|
||
|
|
||
|
As the most well-known Chinese-made proxy protocol,
|
||
|
Shadowsocks exists in multiple versions,
|
||
|
but only AEAD 2022 ciphers TCP with multiplexing is recommended.
|
||
|
|
||
|
| Ciphers | Specification | Cryptographic Security | Binary Characteristics | Active Detect Hiddenness |
|
||
|
|----------------|------------------------------------------------------------|------------------------|------------------------|--------------------------|
|
||
|
| Stream Ciphers | [shadowsocks.org](https://shadowsocks.org/doc/stream.html) | :material-alert: | :material-alert: | :material-alert: |
|
||
|
| AEAD | [shadowsocks.org](https://shadowsocks.org/doc/aead.html) | :material-check: | :material-alert: | :material-alert: |
|
||
|
| AEAD 2022 | [shadowsocks.org](https://shadowsocks.org/doc/sip022.html) | :material-check: | :material-check: | :material-help: |
|
||
|
|
||
|
## :material-text-box-check: Password Generator
|
||
|
|
||
|
| For `2022-blake3-aes-128-gcm` cipher | For other ciphers | Action |
|
||
|
|--------------------------------------|-------------------------------|-----------------------------------------------------------------|
|
||
|
| <code id="password_16"><code> | <code id="password_32"><code> | <button class="md-button" onclick="generate()">Refresh</button> |
|
||
|
|
||
|
<script>
|
||
|
function generatePassword(element, length) {
|
||
|
const array = new Uint8Array(length);
|
||
|
window.crypto.getRandomValues(array);
|
||
|
document.getElementById(element).textContent = btoa(String.fromCharCode.apply(null, array));
|
||
|
}
|
||
|
function generate() {
|
||
|
generatePassword("password_16", 16);
|
||
|
generatePassword("password_32", 32);
|
||
|
}
|
||
|
generate();
|
||
|
</script>
|
||
|
|
||
|
## :material-server: Server Example
|
||
|
|
||
|
=== ":material-account: Single-user"
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"inbounds": [
|
||
|
{
|
||
|
"type": "shadowsocks",
|
||
|
"listen": "::",
|
||
|
"listen_port": 8080,
|
||
|
"network": "tcp",
|
||
|
"method": "2022-blake3-aes-128-gcm",
|
||
|
"password": "<password>",
|
||
|
"multiplex": {
|
||
|
"enabled": true
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
=== ":material-account-multiple: Multi-user"
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"inbounds": [
|
||
|
{
|
||
|
"type": "shadowsocks",
|
||
|
"listen": "::",
|
||
|
"listen_port": 8080,
|
||
|
"network": "tcp",
|
||
|
"method": "2022-blake3-aes-128-gcm",
|
||
|
"password": "<server_password>",
|
||
|
"users": [
|
||
|
{
|
||
|
"name": "sekai",
|
||
|
"password": "<user_password>"
|
||
|
}
|
||
|
],
|
||
|
"multiplex": {
|
||
|
"enabled": true
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## :material-cellphone-link: Client Example
|
||
|
|
||
|
=== ":material-account: Single-user"
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"outbounds": [
|
||
|
{
|
||
|
"type": "shadowsocks",
|
||
|
"server": "127.0.0.1",
|
||
|
"server_port": 8080,
|
||
|
"method": "2022-blake3-aes-128-gcm",
|
||
|
"password": "<pasword>",
|
||
|
"multiplex": {
|
||
|
"enabled": true
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
=== ":material-account-multiple: Multi-user"
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"outbounds": [
|
||
|
{
|
||
|
"type": "shadowsocks",
|
||
|
"server": "127.0.0.1",
|
||
|
"server_port": 8080,
|
||
|
"method": "2022-blake3-aes-128-gcm",
|
||
|
"password": "<server_pasword>:<user_password>",
|
||
|
"multiplex": {
|
||
|
"enabled": true
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
```
|