精简提交历史记录
This commit is contained in:
364
apps/wgcf-socks5-proxy/README.md
Normal file
364
apps/wgcf-socks5-proxy/README.md
Normal file
@@ -0,0 +1,364 @@
|
||||
# wgcf-docker
|
||||
|
||||
CloudFlare warp in docker
|
||||
|
||||
fork from: https://github.com/Neilpang/wgcf-docker
|
||||
|
||||
#### What improvements did I make:
|
||||
|
||||
1. Limit the alpine version to 3.17 to avoid errors caused by version issues.
|
||||
2. Added socks5 proxy service
|
||||
|
||||
Run example:
|
||||
|
||||
```shell
|
||||
docker run --rm -it \
|
||||
--name wgcf \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
--privileged --cap-add net_admin \
|
||||
-v /lib/modules:/lib/modules \
|
||||
-v $(pwd)/wgcf:/wgcf \
|
||||
-p 7889:1080 \
|
||||
activeliang/wgcf-socks5-proxy -6
|
||||
```
|
||||
|
||||
Now you can use the socks proxy on the host machine:
|
||||
|
||||
```shell
|
||||
curl --socks5 127.0.0.1:7889 -6 ip.p3terx.com
|
||||
```
|
||||
|
||||
## Configurable SOCKS5 Proxy with Environment Variables
|
||||
|
||||
This SOCKS5 proxy supports configuration through environment variables. You can customize the proxy settings using the following variables: USER, PASSWORD, PORT, and HOST. Authentication (auth) will only be enabled if both the USER and PASSWORD variables are provided.
|
||||
|
||||
### Usage
|
||||
|
||||
To configure the SOCKS5 proxy, follow these steps:
|
||||
|
||||
1. Set the following environment variables:
|
||||
|
||||
- USER: The username for authentication (optional).
|
||||
- PASSWORD: The password for authentication (optional).
|
||||
- PORT: The port number for the proxy server (default: 1080).
|
||||
- HOST: The host address for the proxy server (default: 0.0.0.0).
|
||||
|
||||
Note: Authentication will be enabled only if both the USER and PASSWORD variables are provided. If either one is missing, authentication will not be enabled.
|
||||
|
||||
2. Start the SOCKS5 proxy using your preferred method, passing the environment variables as arguments.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
PASSWORD=mypassword PORT=1080 HOST=0.0.0.0 start_proxy.sh
|
||||
docker run --rm -it \
|
||||
--name wgcf \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
--privileged --cap-add net_admin \
|
||||
-v /lib/modules:/lib/modules \
|
||||
-v $(pwd)/wgcf:/wgcf \
|
||||
-p 7889:1080 \
|
||||
-e USER=myuser \
|
||||
-e PASSWORD=mypassword \
|
||||
-e PORT=1080 \
|
||||
-e HOST=0.0.0.0 \
|
||||
activeliang/wgcf-socks5-proxy -6
|
||||
```
|
||||
|
||||
This command will start the SOCKS5 proxy with the specified configuration.
|
||||
|
||||
3. The SOCKS5 proxy will be accessible on the specified host and port. Authentication will be enforced only if both the USER and PASSWORD variables are provided.
|
||||
|
||||
That's it! You can now configure the SOCKS5 proxy using environment variables, with the option to enable authentication by providing both the USER and PASSWORD variables.
|
||||
|
||||
|
||||
## The following is the readme of the original project
|
||||
|
||||
1. Run a single container:
|
||||
|
||||
```
|
||||
|
||||
docker run --rm -it \
|
||||
--name wgcf \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
--privileged --cap-add net_admin \
|
||||
-v /lib/modules:/lib/modules \
|
||||
-v $(pwd)/wgcf:/wgcf \
|
||||
neilpang/wgcf-docker
|
||||
|
||||
|
||||
|
||||
The above command will enable both ipv4 and ipv6, you can enable ipv4 or ipv6 only like following:
|
||||
|
||||
|
||||
#enable ipv4 only:
|
||||
|
||||
|
||||
|
||||
docker run --rm -it \
|
||||
--name wgcf \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
--privileged --cap-add net_admin \
|
||||
-v /lib/modules:/lib/modules \
|
||||
-v $(pwd)/wgcf:/wgcf \
|
||||
neilpang/wgcf-docker -4
|
||||
|
||||
|
||||
|
||||
#enable ipv6 only:
|
||||
|
||||
|
||||
|
||||
docker run --rm -it \
|
||||
--name wgcf \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
--privileged --cap-add net_admin \
|
||||
-v /lib/modules:/lib/modules \
|
||||
-v $(pwd)/wgcf:/wgcf \
|
||||
neilpang/wgcf-docker -6
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
or:
|
||||
|
||||
```
|
||||
docker run --rm -it \
|
||||
--name wgcf \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
--privileged --cap-add net_admin \
|
||||
-v /lib/modules:/lib/modules \
|
||||
-v $(pwd)/wgcf:/wgcf \
|
||||
neilpang/wgcf-docker:alpine
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The above command will enable both ipv4 and ipv6, you can enable ipv4 or ipv6 only like following:
|
||||
|
||||
|
||||
#enable ipv4 only:
|
||||
|
||||
|
||||
docker run --rm -it \
|
||||
--name wgcf \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
--privileged --cap-add net_admin \
|
||||
-v /lib/modules:/lib/modules \
|
||||
-v $(pwd)/wgcf:/wgcf \
|
||||
neilpang/wgcf-docker:alpine -4
|
||||
|
||||
|
||||
|
||||
#enable ipv6 only:
|
||||
|
||||
|
||||
docker run --rm -it \
|
||||
--name wgcf \
|
||||
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
|
||||
--privileged --cap-add net_admin \
|
||||
-v /lib/modules:/lib/modules \
|
||||
-v $(pwd)/wgcf:/wgcf \
|
||||
neilpang/wgcf-docker:alpine -6
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
2. If aonther container needs to use the wgcf network, run it like:
|
||||
|
||||
```
|
||||
|
||||
docker run --rm -it --network container:wgcf curlimages/curl curl ipinfo.io
|
||||
|
||||
```
|
||||
|
||||
3. Docker-compose example:
|
||||
|
||||
```
|
||||
Enable both ipv4 and ipv6 by default:
|
||||
|
||||
|
||||
version: "2.4"
|
||||
services:
|
||||
wgcf:
|
||||
image: neilpang/wgcf-docker:latest
|
||||
volumes:
|
||||
- ./wgcf:/wgcf
|
||||
- /lib/modules:/lib/modules
|
||||
privileged: true
|
||||
sysctls:
|
||||
net.ipv6.conf.all.disable_ipv6: 0
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
|
||||
|
||||
test:
|
||||
image: curlimages/curl
|
||||
network_mode: "service:wgcf"
|
||||
depends_on:
|
||||
- wgcf
|
||||
command: curl ipinfo.io
|
||||
|
||||
|
||||
|
||||
|
||||
Enable ipv6 only:
|
||||
|
||||
version: "2.4"
|
||||
services:
|
||||
wgcf:
|
||||
image: neilpang/wgcf-docker:latest
|
||||
volumes:
|
||||
- ./wgcf:/wgcf
|
||||
- /lib/modules:/lib/modules
|
||||
privileged: true
|
||||
sysctls:
|
||||
net.ipv6.conf.all.disable_ipv6: 0
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
command: "-6"
|
||||
|
||||
|
||||
test:
|
||||
image: curlimages/curl
|
||||
network_mode: "service:wgcf"
|
||||
depends_on:
|
||||
- wgcf
|
||||
command: curl ipv6.ip.sb
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Enable ipv4 only:
|
||||
|
||||
|
||||
|
||||
version: "2.4"
|
||||
services:
|
||||
wgcf:
|
||||
image: neilpang/wgcf-docker:latest
|
||||
volumes:
|
||||
- ./wgcf:/wgcf
|
||||
- /lib/modules:/lib/modules
|
||||
privileged: true
|
||||
sysctls:
|
||||
net.ipv6.conf.all.disable_ipv6: 0
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
command: "-4"
|
||||
|
||||
|
||||
test:
|
||||
image: curlimages/curl
|
||||
network_mode: "service:wgcf"
|
||||
depends_on:
|
||||
- wgcf
|
||||
command: curl ipinfo.io
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
or:
|
||||
|
||||
```
|
||||
|
||||
Enable both ipv4 and ipv6 by default:
|
||||
|
||||
|
||||
|
||||
version: "2.4"
|
||||
services:
|
||||
wgcf:
|
||||
image: neilpang/wgcf-docker:alpine
|
||||
volumes:
|
||||
- ./wgcf:/wgcf
|
||||
- /lib/modules:/lib/modules
|
||||
privileged: true
|
||||
sysctls:
|
||||
net.ipv6.conf.all.disable_ipv6: 0
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
|
||||
|
||||
test:
|
||||
image: curlimages/curl
|
||||
network_mode: "service:wgcf"
|
||||
depends_on:
|
||||
- wgcf
|
||||
command: curl ipinfo.io
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Enable ipv6 only:
|
||||
|
||||
|
||||
|
||||
version: "2.4"
|
||||
services:
|
||||
wgcf:
|
||||
image: neilpang/wgcf-docker:alpine
|
||||
volumes:
|
||||
- ./wgcf:/wgcf
|
||||
- /lib/modules:/lib/modules
|
||||
privileged: true
|
||||
sysctls:
|
||||
net.ipv6.conf.all.disable_ipv6: 0
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
command: "-6"
|
||||
|
||||
|
||||
test:
|
||||
image: curlimages/curl
|
||||
network_mode: "service:wgcf"
|
||||
depends_on:
|
||||
- wgcf
|
||||
command: curl ipv6.ip.sb
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Enable ipv4 only:
|
||||
|
||||
|
||||
|
||||
version: "2.4"
|
||||
services:
|
||||
wgcf:
|
||||
image: neilpang/wgcf-docker:alpine
|
||||
volumes:
|
||||
- ./wgcf:/wgcf
|
||||
- /lib/modules:/lib/modules
|
||||
privileged: true
|
||||
sysctls:
|
||||
net.ipv6.conf.all.disable_ipv6: 0
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
command: "-4"
|
||||
|
||||
|
||||
test:
|
||||
image: curlimages/curl
|
||||
network_mode: "service:wgcf"
|
||||
depends_on:
|
||||
- wgcf
|
||||
command: curl ipinfo.io
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
20
apps/wgcf-socks5-proxy/data.yml
Normal file
20
apps/wgcf-socks5-proxy/data.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
name: wgcf-socks5-proxy
|
||||
tags:
|
||||
- 工具
|
||||
title: docker 里的 CloudFlare warp socks5
|
||||
type: 工具
|
||||
description: docker 里的 CloudFlare warp socks5
|
||||
additionalProperties:
|
||||
key: wgcf-socks5-proxy
|
||||
name: wgcf-socks5-proxy
|
||||
tags:
|
||||
- Tool
|
||||
shortDescZh: docker 里的 CloudFlare warp socks5
|
||||
shortDescEn: CloudFlare warp socks5 in docker
|
||||
type: tool
|
||||
crossVersionUpdate: false
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://github.com/activeliang/wgcf-socks5-proxy
|
||||
github: https://github.com/activeliang/wgcf-socks5-proxy
|
||||
document: https://github.com/activeliang/wgcf-socks5-proxy
|
||||
8
apps/wgcf-socks5-proxy/latest/.env.sample
Normal file
8
apps/wgcf-socks5-proxy/latest/.env.sample
Normal file
@@ -0,0 +1,8 @@
|
||||
CONTAINER_NAME="wgcf-socks5-proxy"
|
||||
PANEL_APP_PORT_HTTP="40055"
|
||||
DATA_PATH="./data"
|
||||
IP_COMMAND=""
|
||||
SOCKS_USER=""
|
||||
SOCKS_PWD=""
|
||||
SOCKS_PORT="1080"
|
||||
SOCKS_HOST="0.0.0.0"
|
||||
54
apps/wgcf-socks5-proxy/latest/data.yml
Normal file
54
apps/wgcf-socks5-proxy/latest/data.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 40055
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: ./data
|
||||
edit: true
|
||||
envKey: DATA_PATH
|
||||
labelEn: Data folder path
|
||||
labelZh: 数据文件夹路径
|
||||
required: true
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: IP_COMMAND
|
||||
labelEn: IPV4/IPV6 ONLY (FILL IN "-4"; "-6")
|
||||
labelZh: 仅IPV4/IPV6(填"-4";"-6")
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: SOCKS_USER
|
||||
labelEn: Socks user
|
||||
labelZh: Socks用户名
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: SOCKS_PWD
|
||||
labelEn: Socks password
|
||||
labelZh: Socks密码
|
||||
random: false
|
||||
required: false
|
||||
rule: paramComplexity
|
||||
type: password
|
||||
- default: "1080"
|
||||
edit: true
|
||||
envKey: SOCKS_PORT
|
||||
labelEn: Internal Socks port
|
||||
labelZh: 内部Socks端口
|
||||
required: true
|
||||
type: text
|
||||
- default: "0.0.0.0"
|
||||
edit: true
|
||||
envKey: SOCKS_HOST
|
||||
labelEn: Internal Socks host
|
||||
labelZh: 内部Socks主机
|
||||
required: true
|
||||
type: text
|
||||
30
apps/wgcf-socks5-proxy/latest/docker-compose.yml
Normal file
30
apps/wgcf-socks5-proxy/latest/docker-compose.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
version: '3'
|
||||
services:
|
||||
wgcfd:
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:${SOCKS_PORT}"
|
||||
volumes:
|
||||
- "${DATA_PATH}:/wgcf"
|
||||
- /lib/modules:/lib/modules
|
||||
environment:
|
||||
- USER=${SOCKS_USER}
|
||||
- PASSWORD=${SOCKS_PWD}
|
||||
- PORT=${SOCKS_PORT}
|
||||
- HOST=${SOCKS_HOST}
|
||||
privileged: true
|
||||
cap_add:
|
||||
- net_admin
|
||||
sysctls:
|
||||
- net.ipv6.conf.all.disable_ipv6=0
|
||||
command: ${IP_COMMAND}
|
||||
image: activeliang/wgcf-socks5-proxy:latest
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
BIN
apps/wgcf-socks5-proxy/logo.png
Normal file
BIN
apps/wgcf-socks5-proxy/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.7 KiB |
Reference in New Issue
Block a user