Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
tbblgm119
lede
提交
2e80686c
L
lede
项目概览
tbblgm119
/
lede
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
lede
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2e80686c
编写于
10月 21, 2019
作者:
L
LEAN-ESX
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
luci-app-v2ray-server: add socks proxy server for Telegram Messenger or etc.
上级
50733cf0
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
149 addition
and
153 deletion
+149
-153
package/lean/luci-app-v2ray-server/Makefile
package/lean/luci-app-v2ray-server/Makefile
+2
-2
package/lean/luci-app-v2ray-server/luasrc/model/cbi/v2ray_server/api/genv2rayconfig.lua
...rver/luasrc/model/cbi/v2ray_server/api/genv2rayconfig.lua
+68
-56
package/lean/luci-app-v2ray-server/luasrc/model/cbi/v2ray_server/config.lua
...app-v2ray-server/luasrc/model/cbi/v2ray_server/config.lua
+39
-44
package/lean/luci-app-v2ray-server/luasrc/model/cbi/v2ray_server/index.lua
...-app-v2ray-server/luasrc/model/cbi/v2ray_server/index.lua
+37
-49
package/lean/luci-app-v2ray-server/root/etc/init.d/v2ray_server
...e/lean/luci-app-v2ray-server/root/etc/init.d/v2ray_server
+2
-1
target/linux/x86/Makefile
target/linux/x86/Makefile
+1
-1
未找到文件。
package/lean/luci-app-v2ray-server/Makefile
浏览文件 @
2e80686c
...
...
@@ -6,10 +6,10 @@
include
$(TOPDIR)/rules.mk
LUCI_TITLE
:=
LuCI support
for
V2ray Server
LUCI_DEPENDS
:=
+
libsodium +luci-lib-jsonc +
v2ray
LUCI_DEPENDS
:=
+v2ray
LUCI_PKGARCH
:=
all
PKG_VERSION
:=
1.0
PKG_RELEASE
:=
1
PKG_RELEASE
:=
5
include
$(TOPDIR)/feeds/luci/luci.mk
...
...
package/lean/luci-app-v2ray-server/luasrc/model/cbi/v2ray_server/api/genv2rayconfig.lua
浏览文件 @
2e80686c
local
ucursor
=
require
"luci.model.uci"
.
cursor
()
local
json
=
require
"luci.jsonc"
local
server_section
=
arg
[
1
]
local
server
=
ucursor
:
get_all
(
"v2ray_server"
,
server_section
)
local
e
=
require
"luci.model.uci"
.
cursor
()
local
a
=
require
"luci.jsonc"
local
t
=
arg
[
1
]
local
e
=
e
:
get_all
(
"v2ray_server"
,
t
)
local
v2ray
=
{
local
e
=
{
log
=
{
--error = "/var/log/v2ray.log",
loglevel
=
"warning"
},
-- 传入连接
inbound
=
{
port
=
tonumber
(
server
.
port
),
protocol
=
server
.
protocol
,
settings
=
{
clients
=
{
{
id
=
server
.
VMess_id
,
alterId
=
tonumber
(
server
.
VMess_alterId
),
level
=
tonumber
(
server
.
VMess_level
)
loglevel
=
"warning"
},
inbound
=
{
port
=
tonumber
(
e
.
port
),
protocol
=
e
.
protocol
,
(
e
.
protocol
==
'vmess'
)
and
{
settings
=
{
clients
=
{
{
id
=
e
.
VMess_id
,
alterId
=
tonumber
(
e
.
VMess_alterId
),
level
=
tonumber
(
e
.
VMess_level
)
}
}
}
},
(
e
.
protocol
==
'socks'
)
and
{
settings
=
{
auth
=
"password"
,
accounts
=
{
{
user
=
e
.
Socks_user
,
pass
=
e
.
Socks_pass
}
}
}
},
-- 底层传输配置
streamSettings
=
{
network
=
server
.
transport
,
security
=
(
server
.
tls
==
'1'
)
and
"tls"
or
"none"
,
kcpSettings
=
(
server
.
transport
==
"mkcp"
)
and
{
mtu
=
tonumber
(
server
.
mkcp_mtu
),
tti
=
tonumber
(
server
.
mkcp_tti
),
uplinkCapacity
=
tonumber
(
server
.
mkcp_up
linkCapacity
),
downlinkCapacity
=
tonumber
(
server
.
mkcp_downlinkCapacity
)
,
congestion
=
(
server
.
mkcp_congestion
==
"1"
)
and
true
or
false
,
readBufferSize
=
tonumber
(
server
.
mkcp_read
BufferSize
),
writeBufferSize
=
tonumber
(
server
.
mkcp_writeBufferSize
),
header
=
{
type
=
server
.
mkcp_guise
streamSettings
=
{
network
=
e
.
transport
,
security
=
(
e
.
tls
==
'1'
)
and
"tls"
or
"none"
,
kcpSettings
=
(
e
.
transport
==
"mkcp"
)
and
{
mtu
=
tonumber
(
e
.
mkcp_mtu
),
tti
=
tonumber
(
e
.
mkcp_tti
),
uplinkCapacity
=
tonumber
(
e
.
mkcp_uplinkCapacity
),
downlinkCapacity
=
tonumber
(
e
.
mkcp_down
linkCapacity
),
congestion
=
(
e
.
mkcp_congestion
==
"1"
)
and
true
or
false
,
readBufferSize
=
tonumber
(
e
.
mkcp_readBufferSize
)
,
writeBufferSize
=
tonumber
(
e
.
mkcp_write
BufferSize
),
header
=
{
type
=
e
.
mkcp_guise
}
}
}
or
nil
,
httpSettings
=
(
server
.
transport
==
"h2"
)
and
{
path
=
server
.
h2_path
,
host
=
server
.
h2_host
,
}
or
nil
,
quicSettings
=
(
server
.
transport
==
"quic"
)
and
{
security
=
server
.
quic_security
,
key
=
server
.
quic_key
,
header
=
{
type
=
server
.
quic_guise
or
nil
,
httpSettings
=
(
e
.
transport
==
"h2"
)
and
{
path
=
e
.
h2_path
,
host
=
e
.
h2_host
,
}
}
or
nil
}
},
-- 传出连接
outbound
=
{
protocol
=
"freedom"
},
-- 额外传出连接
outboundDetour
=
{
{
protocol
=
"blackhole"
,
tag
=
"blocked"
or
nil
,
quicSettings
=
(
e
.
transport
==
"quic"
)
and
{
security
=
e
.
quic_security
,
key
=
e
.
quic_key
,
header
=
{
type
=
e
.
quic_guise
}
}
or
nil
}
},
outbound
=
{
protocol
=
"freedom"
},
outboundDetour
=
{
{
protocol
=
"blackhole"
,
tag
=
"blocked"
}
}
}
}
print
(
json
.
stringify
(
v2ray
,
1
))
\ No newline at end of file
print
(
a
.
stringify
(
e
,
1
))
\ No newline at end of file
package/lean/luci-app-v2ray-server/luasrc/model/cbi/v2ray_server/config.lua
浏览文件 @
2e80686c
local
i
=
"v2ray_server"
local
d
=
require
"luci.dispatcher"
local
i
=
"v2ray_server"
local
n
=
require
"luci.dispatcher"
local
a
,
t
,
e
local
header_type
=
{
local
o
=
{
"none"
,
"srtp"
,
"utp"
,
...
...
@@ -10,101 +9,97 @@ local header_type={
"dtls"
,
"wireguard"
,
}
a
=
Map
(
i
,
"V2ray "
..
translate
(
"Server Config"
))
a
.
redirect
=
d
.
build_url
(
"admin"
,
"vpn"
,
"v2ray_server"
)
a
.
redirect
=
n
.
build_url
(
"admin"
,
"vpn"
,
"v2ray_server"
)
t
=
a
:
section
(
NamedSection
,
arg
[
1
],
"user"
,
""
)
t
.
addremove
=
false
t
.
dynamic
=
false
e
=
t
:
option
(
Flag
,
"enable"
,
translate
(
"Enable"
))
e
.
default
=
"1"
e
.
rmempty
=
false
e
=
t
:
option
(
Flag
,
"enable"
,
translate
(
"Enable"
))
e
.
default
=
"1"
e
.
rmempty
=
false
e
=
t
:
option
(
Value
,
"remarks"
,
translate
(
"Remarks"
))
e
.
default
=
translate
(
"Remarks"
)
e
.
rmempty
=
false
e
.
rmempty
=
false
e
=
t
:
option
(
Value
,
"port"
,
translate
(
"Port"
))
e
.
datatype
=
"port"
e
.
rmempty
=
false
e
.
default
=
10086
e
=
t
:
option
(
ListValue
,
"protocol"
,
translate
(
"Protocol"
))
e
:
value
(
"vmess"
,
translate
(
"Vmess"
))
e
:
value
(
"socks"
,
translate
(
"Socks5"
))
e
=
t
:
option
(
Value
,
"VMess_id"
,
translate
(
"ID"
))
e
.
default
=
luci
.
sys
.
exec
(
"cat /proc/sys/kernel/random/uuid"
)
e
.
rmempty
=
fals
e
e
.
default
=
luci
.
sys
.
exec
(
"cat /proc/sys/kernel/random/uuid"
)
e
.
rmempty
=
tru
e
e
:
depends
(
"protocol"
,
"vmess"
)
e
=
t
:
option
(
Value
,
"VMess_alterId"
,
translate
(
"Alter ID"
))
e
.
default
=
16
e
.
rmempty
=
fals
e
e
.
rmempty
=
tru
e
e
:
depends
(
"protocol"
,
"vmess"
)
e
=
t
:
option
(
Value
,
"Socks_user"
,
translate
(
"User name"
))
e
.
default
=
"lean"
e
.
rmempty
=
true
e
:
depends
(
"protocol"
,
"socks"
)
e
=
t
:
option
(
Value
,
"Socks_pass"
,
translate
(
"Password"
))
e
.
default
=
"password"
e
.
rmempty
=
true
e
.
password
=
true
e
:
depends
(
"protocol"
,
"socks"
)
e
=
t
:
option
(
Value
,
"VMess_level"
,
translate
(
"User Level"
))
e
.
default
=
1
e
=
t
:
option
(
ListValue
,
"transport"
,
translate
(
"Transport"
))
e
.
default
=
tcp
e
:
value
(
"tcp"
,
"TCP"
)
e
:
value
(
"mkcp"
,
"mKCP"
)
e
:
value
(
"quic"
,
"QUIC"
)
-- [[ TCP部分 ]]--
-- TCP伪装
e
=
t
:
option
(
ListValue
,
"tcp_guise"
,
translate
(
"Camouflage Type"
))
e
:
depends
(
"transport"
,
"tcp"
)
e
:
value
(
"none"
,
"none"
)
e
:
value
(
"http"
,
"http"
)
-- HTTP域名
e
=
t
:
option
(
DynamicList
,
"tcp_guise_http_host"
,
translate
(
"HTTP Host"
))
e
:
depends
(
"tcp_guise"
,
"http"
)
e
:
value
(
"mkcp"
,
"mKCP"
)
e
:
value
(
"quic"
,
"QUIC"
)
e
:
depends
(
"protocol"
,
"vmess"
)
-- HTTP路径
e
=
t
:
option
(
DynamicList
,
"tcp_guise_http_path"
,
translate
(
"HTTP Path"
))
e
:
depends
(
"tcp_guise"
,
"http"
)
e
=
t
:
option
(
ListValue
,
"tcp_guise"
,
translate
(
"Camouflage Type"
))
e
:
depends
(
"transport"
,
"tcp"
)
e
:
value
(
"none"
,
"none"
)
e
:
value
(
"http"
,
"http"
)
e
.
default
=
none
-- [[ mKCP部分 ]]--
e
=
t
:
option
(
DynamicList
,
"tcp_guise_http_host"
,
translate
(
"HTTP Host"
))
e
:
depends
(
"tcp_guise"
,
"http"
)
e
=
t
:
option
(
DynamicList
,
"tcp_guise_http_path"
,
translate
(
"HTTP Path"
))
e
:
depends
(
"tcp_guise"
,
"http"
)
e
=
t
:
option
(
ListValue
,
"mkcp_guise"
,
translate
(
"Camouflage Type"
))
for
a
,
t
in
ipairs
(
header_type
)
do
e
:
value
(
t
)
end
for
a
,
t
in
ipairs
(
o
)
do
e
:
value
(
t
)
end
e
:
depends
(
"transport"
,
"mkcp"
)
e
=
t
:
option
(
Value
,
"mkcp_mtu"
,
translate
(
"KCP MTU"
))
e
:
depends
(
"transport"
,
"mkcp"
)
e
=
t
:
option
(
Value
,
"mkcp_tti"
,
translate
(
"KCP TTI"
))
e
:
depends
(
"transport"
,
"mkcp"
)
e
=
t
:
option
(
Value
,
"mkcp_uplinkCapacity"
,
translate
(
"KCP uplinkCapacity"
))
e
:
depends
(
"transport"
,
"mkcp"
)
e
=
t
:
option
(
Value
,
"mkcp_downlinkCapacity"
,
translate
(
"KCP downlinkCapacity"
))
e
:
depends
(
"transport"
,
"mkcp"
)
e
=
t
:
option
(
Flag
,
"mkcp_congestion"
,
translate
(
"KCP Congestion"
))
e
:
depends
(
"transport"
,
"mkcp"
)
e
=
t
:
option
(
Value
,
"mkcp_readBufferSize"
,
translate
(
"KCP readBufferSize"
))
e
:
depends
(
"transport"
,
"mkcp"
)
e
=
t
:
option
(
Value
,
"mkcp_writeBufferSize"
,
translate
(
"KCP writeBufferSize"
))
e
:
depends
(
"transport"
,
"mkcp"
)
-- [[ QUIC部分 ]]--
e
=
t
:
option
(
ListValue
,
"quic_security"
,
translate
(
"Encrypt Method"
))
e
:
value
(
"none"
)
e
:
value
(
"aes-128-gcm"
)
e
:
value
(
"chacha20-poly1305"
)
e
:
depends
(
"transport"
,
"quic"
)
e
=
t
:
option
(
Value
,
"quic_key"
,
translate
(
"Encrypt Method"
)
..
translate
(
"Key"
))
e
:
depends
(
"transport"
,
"quic"
)
e
=
t
:
option
(
ListValue
,
"quic_guise"
,
translate
(
"Camouflage Type"
))
for
a
,
t
in
ipairs
(
header_type
)
do
e
:
value
(
t
)
end
for
a
,
t
in
ipairs
(
o
)
do
e
:
value
(
t
)
end
e
:
depends
(
"transport"
,
"quic"
)
return
a
package/lean/luci-app-v2ray-server/luasrc/model/cbi/v2ray_server/index.lua
浏览文件 @
2e80686c
local
o
=
require
"luci.dispatcher"
local
fs
=
require
"nixio.fs"
local
sys
=
require
"luci.sys"
local
cursor
=
luci
.
model
.
uci
.
cursor
()
local
appname
=
"v2ray_server"
local
a
,
t
,
e
a
=
Map
(
appname
,
translate
(
"V2ray Server"
))
t
=
a
:
section
(
TypedSection
,
"global"
,
translate
(
"Global Settings"
))
t
.
anonymous
=
true
t
.
addremove
=
false
e
=
t
:
option
(
Flag
,
"enable"
,
translate
(
"Enable"
))
e
.
rmempty
=
false
t
:
append
(
Template
(
"v2ray_server/v2ray"
))
t
=
a
:
section
(
TypedSection
,
"user"
,
translate
(
"Users Manager"
))
t
.
anonymous
=
true
t
.
addremove
=
true
t
.
template
=
"cbi/tblsection"
t
.
extedit
=
o
.
build_url
(
"admin"
,
"vpn"
,
appname
,
"config"
,
"%s"
)
function
t
.
create
(
e
,
t
)
local
e
=
TypedSection
.
create
(
e
,
t
)
luci
.
http
.
redirect
(
o
.
build_url
(
"admin"
,
"vpn"
,
appname
,
"config"
,
e
))
local
i
=
require
"luci.dispatcher"
local
e
=
require
"nixio.fs"
local
e
=
require
"luci.sys"
local
e
=
luci
.
model
.
uci
.
cursor
()
local
o
=
"v2ray_server"
local
a
,
e
,
t
a
=
Map
(
o
,
translate
(
"V2ray Server"
))
e
=
a
:
section
(
TypedSection
,
"global"
,
translate
(
"Global Setting"
))
e
.
anonymous
=
true
e
.
addremove
=
false
t
=
e
:
option
(
Flag
,
"enable"
,
translate
(
"Enable"
))
t
.
rmempty
=
false
e
=
a
:
section
(
TypedSection
,
"user"
,
translate
(
"Server Setting"
))
e
.
anonymous
=
true
e
.
addremove
=
true
e
.
template
=
"cbi/tblsection"
e
.
extedit
=
i
.
build_url
(
"admin"
,
"vpn"
,
o
,
"config"
,
"%s"
)
function
e
.
create
(
t
,
e
)
local
e
=
TypedSection
.
create
(
t
,
e
)
luci
.
http
.
redirect
(
i
.
build_url
(
"admin"
,
"vpn"
,
o
,
"config"
,
e
))
end
function
t
.
remove
(
t
,
a
)
t
.
map
.
proceed
=
true
t
.
map
:
del
(
a
)
luci
.
http
.
redirect
(
o
.
build_url
(
"admin"
,
"vpn"
,
appname
))
function
e
.
remove
(
e
,
a
)
e
.
map
.
proceed
=
true
e
.
map
:
del
(
a
)
luci
.
http
.
redirect
(
i
.
build_url
(
"admin"
,
"vpn"
,
o
))
end
e
=
t
:
option
(
Flag
,
"enable"
,
translate
(
"Enable"
))
e
.
width
=
"5%"
e
.
rmempty
=
false
e
=
t
:
option
(
DummyValue
,
"status"
,
translate
(
"Status"
))
e
.
template
=
"v2ray_server/users_status"
e
.
value
=
translate
(
"Collecting data..."
)
e
=
t
:
option
(
DummyValue
,
"remarks"
,
translate
(
"Remarks"
))
e
.
width
=
"15%"
e
=
t
:
option
(
DummyValue
,
"port"
,
translate
(
"Port"
))
e
.
width
=
"10%"
e
=
t
:
option
(
DummyValue
,
"protocol"
,
translate
(
"Protocol"
))
e
.
width
=
"15%"
e
=
t
:
option
(
DummyValue
,
"VMess_id"
,
translate
(
"ID"
))
e
.
width
=
"35%"
t
=
e
:
option
(
Flag
,
"enable"
,
translate
(
"Enable"
))
t
.
width
=
"5%"
t
.
rmempty
=
false
t
=
e
:
option
(
DummyValue
,
"status"
,
translate
(
"Status"
))
t
.
template
=
"v2ray_server/users_status"
t
.
value
=
translate
(
"Collecting data..."
)
t
=
e
:
option
(
DummyValue
,
"remarks"
,
translate
(
"Remarks"
))
t
.
width
=
"15%"
t
=
e
:
option
(
DummyValue
,
"port"
,
translate
(
"Port"
))
t
=
e
:
option
(
DummyValue
,
"protocol"
,
translate
(
"Protocol"
))
a
:
append
(
Template
(
"v2ray_server/users_list_status"
))
...
...
package/lean/luci-app-v2ray-server/root/etc/init.d/v2ray_server
浏览文件 @
2e80686c
...
...
@@ -12,7 +12,8 @@ gen_v2ray_config_file() {
config_get remarks
$1
remarks
config_get port
$1
port
lua /usr/lib/lua/luci/model/cbi/v2ray_server/api/genv2rayconfig.lua
$1
>
$CONFIG_PATH
/
$1
.json
/usr/bin/v2ray/v2ray
-config
$CONFIG_PATH
/
$1
.json
>
/dev/null 2>&1 &
[
-f
/var/v2server
]
||
cp
-a
/usr/bin/v2ray/v2ray /var/v2server
/var/v2server
-config
$CONFIG_PATH
/
$1
.json
>
/dev/null 2>&1 &
}
start_v2ray_server
()
{
...
...
target/linux/x86/Makefile
浏览文件 @
2e80686c
...
...
@@ -21,7 +21,7 @@ include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES
+=
partx-utils mkf2fs fdisk e2fsprogs wpad kmod-usb-hid
\
kmod-ath5k kmod-ath9k kmod-ath9k-htc kmod-ath10k kmod-rt2800-usb kmod-e1000e kmod-igb kmod-igbvf kmod-ixgbe kmod-pcnet32 kmod-tulip kmod-vmxnet3 kmod-i40e kmod-i40evf kmod-fs-f2fs
\
htop lm-sensors autocore automount autosamba luci-app-zerotier luci-app-ipsec-vpnd luci-app-pptp-server luci-proto-bonding luci-app-zerotier luci-app-unblockmusic luci-app-transmission luci-app-docker
\
htop lm-sensors autocore automount autosamba luci-app-zerotier luci-app-ipsec-vpnd luci-app-pptp-server luci-proto-bonding luci-app-zerotier luci-app-unblockmusic luci-app-transmission luci-app-docker
luci-app-v2ray-server
\
ath10k-firmware-qca988x ath10k-firmware-qca9888 ath10k-firmware-qca9984 brcmfmac-firmware-43602a1-pcie kmod-crypto-misc
\
alsa-utils kmod-ac97 kmod-sound-hda-core kmod-sound-hda-codec-realtek kmod-sound-hda-codec-via kmod-sound-via82xx kmod-usb-audio
\
kmod-usb-net kmod-usb-net-asix kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8150 kmod-usb-net-rtl8152
\
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录