mirror of
https://github.com/sirpdboy/sirpdboy-package.git
synced 2025-01-07 03:17:03 +08:00
add luci-app-lucky
This commit is contained in:
parent
e9900f6165
commit
991214c285
137
luci-app-lucky/README.md
Normal file
137
luci-app-lucky/README.md
Normal file
@ -0,0 +1,137 @@
|
||||
### 访问数:[![](https://visitor-badge.glitch.me/badge?page_id=sirpdboy-visitor-badge)] [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ)
|
||||
|
||||
欢迎来到sirpdboy的源码仓库!
|
||||
=
|
||||
# Lucky(大吉)
|
||||
|
||||
本项目是 ([Lucky](https://github.com/gdy666/lucky)) 在 OpenWrt 上的移植。
|
||||
|
||||
luci-app-lucky 动态域名ddns-go服务,替代socat主要用于公网IPv6 tcp/udp转内网ipv4,http/https反向代理
|
||||
|
||||
[![若部分图片无法正常显示,请挂上机场浏览或点这里到末尾看修复教程](https://visitor-badge.glitch.me/badge?page_id=sirpdboy-visitor-badge)](#解决-github-网页上图片显示失败的问题) [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ)
|
||||
|
||||
[luci-app-lucky Lucky(大吉)](https://github.com/sirpdboy/luci-app-lucky)
|
||||
======================
|
||||
|
||||
|
||||
请 **认真阅读完毕** 本页面,本页面包含注意事项和如何使用。
|
||||
|
||||
## 功能说明:
|
||||
|
||||
### Lucky(大吉)
|
||||
|
||||
#### 动态域名ddns-go服务,替代socat主要用于公网IPv6 tcp/udp转内网ipv4,http/https反向代理
|
||||
|
||||
#### 在LUCI中可以配置访问端口和增加是否允许外网访问设置。
|
||||
|
||||
<!-- TOC -->
|
||||
|
||||
- [lucky](#lucky)
|
||||
- [使用方法](#使用方法)
|
||||
- [说明](#说明)
|
||||
- [问题](#常见问题)
|
||||
- [界面](#界面)
|
||||
- [捐助](#捐助)
|
||||
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
## 使用方法
|
||||
|
||||
- 将luci-app-lucky添加至 LEDE/OpenWRT 源码的方法。
|
||||
|
||||
### 下载源码方法:
|
||||
|
||||
```Brach
|
||||
|
||||
# 下载源码
|
||||
|
||||
git clone https://github.com/sirpdboy/luci-app-lucky.git package/lucky
|
||||
make menuconfig
|
||||
|
||||
```
|
||||
### 配置菜单
|
||||
|
||||
```Brach
|
||||
make menuconfig
|
||||
# 找到 LuCI -> Applications, 选择 luci-app-lucky, 保存后退出。
|
||||
```
|
||||
|
||||
### 编译
|
||||
|
||||
```Brach
|
||||
# 编译固件
|
||||
make package/lucky/luci-app-lucky/compile V=s
|
||||
```
|
||||
|
||||
## 说明
|
||||
|
||||
- 源码来源:https://github.com/gdy666/lucky
|
||||
|
||||
- 源码来源:https://github.com/sirpdboy/luci-app-lucky
|
||||
|
||||
|
||||
- 你可以随意使用其中的源码,但请注明出处。
|
||||
|
||||
## 常见问题
|
||||
|
||||
- 不同于防火墙端口转发规则,不要设置没有用上的端口,会增加内存的使用.
|
||||
- 小米路由 ipv4 类型的80和443端口被占用,但只设置监听tcp6(ipv6)的80/443端口转发规则完全没问题.
|
||||
- 如果需要使用白名单模式,请根据自身需求打开外网访问后台管理页面开关.
|
||||
- 转发规则启用异常,端口转发没有生效时请登录后台查看日志.
|
||||
- 开启外网访问可以直接修改配置文件中的"AllowInternetaccess": false, 将false改为true
|
||||
|
||||
|
||||
## 界面
|
||||
|
||||
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/lucky1.jpg)
|
||||
|
||||
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/lucky2.jpg)
|
||||
|
||||
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/lucky3.jpg)
|
||||
|
||||
|
||||
|
||||
|
||||
## 使用与授权相关说明
|
||||
|
||||
- 本人开源的所有源码,任何引用需注明本处出处,如需修改二次发布必告之本人,未经许可不得做于任何商用用途。
|
||||
|
||||
|
||||
# My other project
|
||||
|
||||
- 网络速度测试 :https://github.com/sirpdboy/NetSpeedTest
|
||||
|
||||
- 定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset
|
||||
|
||||
- 关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice
|
||||
|
||||
- opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd
|
||||
|
||||
- kucat 主题: https://github.com/sirpdboy/luci-theme-kucat
|
||||
|
||||
- 家长控制: https://github.com/sirpdboy/luci-theme-parentcontrol
|
||||
|
||||
- 系统高级设置 : https://github.com/sirpdboy/luci-app-advanced
|
||||
|
||||
- ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go
|
||||
|
||||
- 进阶设置(系统高级设置+主题设置kucat/agron/opentopd): https://github.com/sirpdboy/luci-app-advancedplus
|
||||
|
||||
- 设置向导: https://github.com/sirpdboy/luci-app-wizard
|
||||
|
||||
- 分区扩容: https://github.com/sirpdboy/luci-app-partexp
|
||||
|
||||
- lukcy大吉: https://github.com/sirpdboy/luci-app-lukcy
|
||||
|
||||
## 捐助
|
||||
|
||||
![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明3.jpg)
|
||||
|
||||
| <img src="https://img.shields.io/badge/-支付宝-F5F5F5.svg" href="#赞助支持本项目-" height="25" alt="图飞了😂"/> | <img src="https://img.shields.io/badge/-微信-F5F5F5.svg" height="25" alt="图飞了😂" href="#赞助支持本项目-"/> |
|
||||
| :-----------------: | :-------------: |
|
||||
|![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/支付宝.png) | ![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/微信.png) |
|
||||
|
||||
<a href="#readme">
|
||||
<img src="https://img.shields.io/badge/-返回顶部-orange.svg" alt="图飞了😂" title="返回顶部" align="right"/>
|
||||
</a>
|
24
luci-app-lucky/luci-app-lucky/Makefile
Normal file
24
luci-app-lucky/luci-app-lucky/Makefile
Normal file
@ -0,0 +1,24 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
#
|
||||
# Copyright (C) 2021-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/luci-app-lucky
|
||||
#
|
||||
# This is free software, licensed under the Apache License, Version 2.0 .
|
||||
#
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-lucky
|
||||
PKG_VERSION:=1.2.0
|
||||
PKG_RELEASE:=8
|
||||
|
||||
LUCI_TITLE:=LuCI Support for Dynamic lucky Client
|
||||
LUCI_DEPENDS:=+lucky
|
||||
LUCI_PKGARCH:=all
|
||||
|
||||
define Package/$(PKG_NAME)/conffiles
|
||||
/etc/config/lucky
|
||||
/etc/lucky/lucky.conf
|
||||
endef
|
||||
|
||||
include $(TOPDIR)/feeds/luci/luci.mk
|
||||
|
||||
# call BuildPackage - OpenWrt buildroot signature
|
54
luci-app-lucky/luci-app-lucky/luasrc/controller/lucky.lua
Normal file
54
luci-app-lucky/luci-app-lucky/luasrc/controller/lucky.lua
Normal file
@ -0,0 +1,54 @@
|
||||
-- Copyright (C) 2021-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/luci-app-lucky
|
||||
-- Licensed to the public under the Apache License 2.0.
|
||||
local SYS = require "luci.sys"
|
||||
|
||||
module("luci.controller.lucky", package.seeall)
|
||||
|
||||
function index()
|
||||
local e=entry({"admin", "services", "lucky"}, alias("admin", "services", "lucky", "setting"),_("Lucky"), 57)
|
||||
e.dependent=false
|
||||
e.acl_depends={ "luci-app-lucky" }
|
||||
entry({"admin", "services", "lucky", "setting"}, cbi("lucky"), _("Base Setting"), 20).leaf=true
|
||||
entry({"admin", "services", "lucky", "lucky"}, template("lucky"), _("Lucky Control panel"), 30).leaf = true
|
||||
entry({"admin", "services", "lucky_status"}, call("lucky_status"))
|
||||
entry({"admin", "services", "lucky_config"}, call("lucky_config"))
|
||||
end
|
||||
|
||||
|
||||
function lucky_config()
|
||||
local e = { }
|
||||
local luckyInfo = SYS.exec("/usr/bin/lucky -info")
|
||||
if (luckyInfo~=nil)
|
||||
then
|
||||
local configObj = ConfigureObj()
|
||||
if (configObj~=nil)
|
||||
then
|
||||
e.BaseConfigure = configObj["BaseConfigure"]
|
||||
end
|
||||
end
|
||||
e.luckyArch = SYS.exec("/usr/bin/luckyarch")
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json(e)
|
||||
end
|
||||
|
||||
|
||||
function lucky_status()
|
||||
local e = { }
|
||||
e.status = SYS.call("pgrep -f 'lucky -c' >/dev/null") == 0
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json(e)
|
||||
end
|
||||
|
||||
|
||||
function trim(s)
|
||||
return (string.gsub(s, "^%s*(.-)%s*$", "%1"))
|
||||
end
|
||||
|
||||
|
||||
function ConfigureObj()
|
||||
configPath = trim(luci.sys.exec("uci get lucky.@lucky[0].configdir"))
|
||||
local configContent = luci.sys.exec("lucky -baseConfInfo -cd "..configPath)
|
||||
configObj = luci.jsonc.parse(trim(configContent))
|
||||
return configObj
|
||||
end
|
||||
|
33
luci-app-lucky/luci-app-lucky/luasrc/model/cbi/lucky.lua
Normal file
33
luci-app-lucky/luci-app-lucky/luasrc/model/cbi/lucky.lua
Normal file
@ -0,0 +1,33 @@
|
||||
-- Copyright (C) 2021-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/luci-app-lucky
|
||||
|
||||
local m, s ,o
|
||||
|
||||
m = Map("lucky")
|
||||
m.title = translate("Lucky")
|
||||
m.description = translate("ipv4/ipv6 portforward,ddns,reverseproxy proxy,wake on lan,IOT and more,Default username and password 666")
|
||||
|
||||
m:section(SimpleSection).template = "lucky_status"
|
||||
|
||||
s = m:section(TypedSection, "lucky", translate("Global Settings"))
|
||||
s.addremove=false
|
||||
s.anonymous=true
|
||||
|
||||
o = s:option(Flag,"enabled",translate("Enable"))
|
||||
o.default=0
|
||||
|
||||
o = s:option(Value, "port",translate("Set the Lucky access port"))
|
||||
o.datatype = "uinteger"
|
||||
o.default = 16601
|
||||
|
||||
o = s:option(Value, "safe",translate("Safe entrance"),translate("The panel management portal can only be set to log in to the panel through the specified security portal, such as:/lucky"))
|
||||
|
||||
o = s:option( Value, "configdir", translate("Config dir path"),translate("The path to store the config file"))
|
||||
o.placeholder = "/etc/lucky"
|
||||
o.default="/etc/lucky"
|
||||
|
||||
m.apply_on_parse = true
|
||||
m.on_after_apply = function(self,map)
|
||||
luci.sys.exec("/etc/init.d/lucky restart")
|
||||
end
|
||||
|
||||
return m
|
51
luci-app-lucky/luci-app-lucky/luasrc/view/lucky.htm
Normal file
51
luci-app-lucky/luci-app-lucky/luasrc/view/lucky.htm
Normal file
@ -0,0 +1,51 @@
|
||||
<%#
|
||||
Copyright 2021-2024 sirpdboy Wich <herboy2008@gmail.com>
|
||||
https://github.com/sirpdboy/luci-app-lucky
|
||||
Licensed to the public under the Apache License 2.0.
|
||||
-%>
|
||||
<%
|
||||
local running = luci.sys.exec("pidof lucky | awk -F ' ' '{print $1}'")
|
||||
%>
|
||||
|
||||
<%+header%>
|
||||
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
var URL = ""
|
||||
XHR.get('<%=url([[admin]], [[services]], [[lucky_config]])%>', null,
|
||||
function (x, d) {
|
||||
if (d) {
|
||||
URL = "http://" + window.location.hostname + ":" + d.BaseConfigure.AdminWebListenPort;
|
||||
if (d.BaseConfigure.SafeURL != undefined) {
|
||||
URL += d.BaseConfigure.SafeURL;
|
||||
|
||||
console.log("test" + URL)
|
||||
document.getElementById("luckyiframe").src = URL
|
||||
document.getElementById("luckyiframe").height = document.documentElement.clientHeight;
|
||||
window.onresize = function(){
|
||||
document.getElementById("luckyiframe").height = document.documentElement.clientHeight;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
//]]></script>
|
||||
<div class="cbi-map">
|
||||
|
||||
<% if tonumber(running) ~= nil then %>
|
||||
<iframe id="luckyiframe" style="width: 100%; min-height: 580px; border: none; border-radius: .375rem;box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px;"><br/><em style=\"color:red\">
|
||||
<p ><em><%:The Lucky service is not running.%></em></p>
|
||||
</iframe>
|
||||
|
||||
</div>
|
||||
<% else %>
|
||||
<style>.running{text-align: center;} .running>h1{font-size: 25px; color: #333; margin: 1rem;} .running>p{ font-size: 1.2rem; color: #8391a2; margin: 1rem;}</style>
|
||||
<div class="running">
|
||||
<img src="data:image/svg+xml;base64,PCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMjQiIGhlaWdodD0iMTAyNCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+Cjx0aXRsZT48L3RpdGxlPgo8ZyBpZD0iaWNvbW9vbi1pZ25vcmUiPgo8L2c+CjxwYXRoIGZpbGw9IiNkZjAwMDAiIGQ9Ik05NDIuNDIxIDIzNC42MjRsODAuODExLTgwLjgxMS0xNTMuMDQ1LTE1My4wNDUtODAuODExIDgwLjgxMWMtNzkuOTU3LTUxLjYyNy0xNzUuMTQ3LTgxLjU3OS0yNzcuMzc2LTgxLjU3OS0yODIuNzUyIDAtNTEyIDIyOS4yNDgtNTEyIDUxMiAwIDEwMi4yMjkgMjkuOTUyIDE5Ny40MTkgODEuNTc5IDI3Ny4zNzZsLTgwLjgxMSA4MC44MTEgMTUzLjA0NSAxNTMuMDQ1IDgwLjgxMS04MC44MTFjNzkuOTU3IDUxLjYyNyAxNzUuMTQ3IDgxLjU3OSAyNzcuMzc2IDgxLjU3OSAyODIuNzUyIDAgNTEyLTIyOS4yNDggNTEyLTUxMiAwLTEwMi4yMjktMjkuOTUyLTE5Ny40MTktODEuNTc5LTI3Ny4zNzZ6TTE5NC45NDQgNTEyYzAtMTc1LjEwNCAxNDEuOTUyLTMxNy4wNTYgMzE3LjA1Ni0zMTcuMDU2IDQ4IDAgOTMuNDgzIDEwLjY2NyAxMzQuMjI5IDI5Ljc4MWwtNDIxLjU0NyA0MjEuNTQ3Yy0xOS4wNzItNDAuNzg5LTI5LjczOS04Ni4yNzItMjkuNzM5LTEzNC4yNzJ6TTUxMiA4MjkuMDU2Yy00OCAwLTkzLjQ4My0xMC42NjctMTM0LjIyOS0yOS43ODFsNDIxLjU0Ny00MjEuNTQ3YzE5LjA3MiA0MC43ODkgMjkuNzgxIDg2LjI3MiAyOS43ODEgMTM0LjIyOS0wLjA0MyAxNzUuMTQ3LTE0MS45OTUgMzE3LjA5OS0zMTcuMDk5IDMxNy4wOTl6Ij48L3BhdGg+Cjwvc3ZnPgo=" height="100">
|
||||
<h1><font color="color:red"><%:The Lucky service is not running.%></font></h1>
|
||||
<p><%:Please enable the Lucky service%></p>
|
||||
</div>
|
||||
<% end -%>
|
||||
</div>
|
||||
<%+footer%>
|
50
luci-app-lucky/luci-app-lucky/luasrc/view/lucky_status.htm
Normal file
50
luci-app-lucky/luci-app-lucky/luasrc/view/lucky_status.htm
Normal file
@ -0,0 +1,50 @@
|
||||
<%
|
||||
protocol="http://"
|
||||
|
||||
%>
|
||||
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
var URL = ""
|
||||
var URLSAFE = ""
|
||||
function Luckyconfig() {
|
||||
XHR.get('<%=url([[admin]], [[services]], [[lucky_config]])%>', null,
|
||||
function (x, d) {
|
||||
if (d) {
|
||||
URL = "http://" + window.location.hostname + ":" + d.BaseConfigure.AdminWebListenPort;
|
||||
URLSAFE = "http://" + window.location.hostname + ":" + d.BaseConfigure.AdminWebListenPort;
|
||||
if (d.BaseConfigure.SafeURL != undefined) {
|
||||
URL += d.BaseConfigure.SafeURL;
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
XHR.poll(3, '<%=url([[admin]], [[services]], [[lucky_status]])%>', null,
|
||||
function(x, d) {
|
||||
var tb = document.getElementById('lucky_status');
|
||||
if (d && tb)
|
||||
{
|
||||
if (d.status)
|
||||
{
|
||||
Luckyconfig()
|
||||
tb.innerHTML = '<em><b style=\"color:green\"><%:The Lucky service is running.%></b></em>';
|
||||
tb.innerHTML +='<em> <br/><br/><%:Click the new page to open Lucky%> </em>';
|
||||
tb.innerHTML += "<input class=\"cbi-button cbi-button-reload \" type=\"button\" value=\" "+ URL + "\" onclick=\"window.open('"+URL+"')\"/>";
|
||||
}
|
||||
else
|
||||
{
|
||||
tb.innerHTML = '<em style=\"color:red\"><%:The Lucky service is not running.%></em><br/>';
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
//]]></script>
|
||||
<style>.mar-10 {margin-left: 50px; margin-right: 10px;}</style>
|
||||
<fieldset class="cbi-section">
|
||||
<legend><%:Lucky Status%></legend>
|
||||
<p id="lucky_status">
|
||||
<em><%:Collecting data...%></em>
|
||||
</p>
|
||||
</fieldset>
|
57
luci-app-lucky/luci-app-lucky/po/zh-cn/lucky.po
Normal file
57
luci-app-lucky/luci-app-lucky/po/zh-cn/lucky.po
Normal file
@ -0,0 +1,57 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||
|
||||
msgid "Config dir path"
|
||||
msgstr "配置文件夹位置"
|
||||
|
||||
msgid "Lucky"
|
||||
msgstr "Lucky大吉"
|
||||
|
||||
msgid "Lucky Control panel"
|
||||
msgstr "Lucky操作台"
|
||||
|
||||
msgid "ipv4/ipv6 portforward,ddns,reverseproxy proxy,wake on lan,IOT and more,Default username and password 666"
|
||||
msgstr "IPv4/IPv6端口转发,动态域名服务,http/https反向代理,默认用户名密码666.."
|
||||
|
||||
msgid "Running state"
|
||||
msgstr "运行状态"
|
||||
|
||||
msgid "The Lucky service is running."
|
||||
msgstr "大吉服务已启动"
|
||||
|
||||
msgid "The Lucky service is not running."
|
||||
msgstr "大吉服务未启动"
|
||||
|
||||
msgid "Please enable the Lucky service"
|
||||
msgstr "请将Lucky服务启用"
|
||||
|
||||
msgid "Lucky Status"
|
||||
msgstr "大吉服务状态"
|
||||
|
||||
msgid "Collecting data..."
|
||||
msgstr "收集数据..."
|
||||
|
||||
msgid "Set the Lucky access port"
|
||||
msgstr "设置访问端口"
|
||||
|
||||
msgid "Lucky configuration file"
|
||||
msgstr "Lucky 配置文件"
|
||||
|
||||
msgid "The path to store the config file"
|
||||
msgstr "存放配置文件的位置"
|
||||
|
||||
msgid "</br>For specific usage, see:"
|
||||
msgstr "</br>具体使用方法参见:"
|
||||
|
||||
msgid "Base Setting"
|
||||
msgstr "基本设置"
|
||||
|
||||
msgid "Click the new page to open Lucky"
|
||||
msgstr "点击新页面打开大吉"
|
||||
|
||||
msgid "Safe entrance"
|
||||
msgstr "安全入口"
|
||||
|
||||
msgid "The panel management portal can only be set to log in to the panel through the specified security portal, such as:/lucky"
|
||||
msgstr "面板管理入口,设置后只能通过指定安全入口登录面板,如: /lucky"
|
||||
|
57
luci-app-lucky/luci-app-lucky/po/zh_Hans/lucky.po
Normal file
57
luci-app-lucky/luci-app-lucky/po/zh_Hans/lucky.po
Normal file
@ -0,0 +1,57 @@
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||
|
||||
msgid "Config dir path"
|
||||
msgstr "配置文件夹位置"
|
||||
|
||||
msgid "Lucky"
|
||||
msgstr "Lucky大吉"
|
||||
|
||||
msgid "Lucky Control panel"
|
||||
msgstr "Lucky操作台"
|
||||
|
||||
msgid "ipv4/ipv6 portforward,ddns,reverseproxy proxy,wake on lan,IOT and more,Default username and password 666"
|
||||
msgstr "IPv4/IPv6端口转发,动态域名服务,http/https反向代理,默认用户名密码666.."
|
||||
|
||||
msgid "Running state"
|
||||
msgstr "运行状态"
|
||||
|
||||
msgid "The Lucky service is running."
|
||||
msgstr "大吉服务已启动"
|
||||
|
||||
msgid "The Lucky service is not running."
|
||||
msgstr "大吉服务未启动"
|
||||
|
||||
msgid "Please enable the Lucky service"
|
||||
msgstr "请将Lucky服务启用"
|
||||
|
||||
msgid "Lucky Status"
|
||||
msgstr "大吉服务状态"
|
||||
|
||||
msgid "Collecting data..."
|
||||
msgstr "收集数据..."
|
||||
|
||||
msgid "Set the Lucky access port"
|
||||
msgstr "设置访问端口"
|
||||
|
||||
msgid "Lucky configuration file"
|
||||
msgstr "Lucky 配置文件"
|
||||
|
||||
msgid "The path to store the config file"
|
||||
msgstr "存放配置文件的位置"
|
||||
|
||||
msgid "</br>For specific usage, see:"
|
||||
msgstr "</br>具体使用方法参见:"
|
||||
|
||||
msgid "Base Setting"
|
||||
msgstr "基本设置"
|
||||
|
||||
msgid "Click the new page to open Lucky"
|
||||
msgstr "点击新页面打开大吉"
|
||||
|
||||
msgid "Safe entrance"
|
||||
msgstr "安全入口"
|
||||
|
||||
msgid "The panel management portal can only be set to log in to the panel through the specified security portal, such as:/lucky"
|
||||
msgstr "面板管理入口,设置后只能通过指定安全入口登录面板,如: /lucky"
|
||||
|
5
luci-app-lucky/luci-app-lucky/root/etc/config/lucky
Normal file
5
luci-app-lucky/luci-app-lucky/root/etc/config/lucky
Normal file
@ -0,0 +1,5 @@
|
||||
config lucky 'lucky'
|
||||
option logger '1'
|
||||
option port '16601'
|
||||
option configdir '/etc/lucky'
|
||||
option enabled '0'
|
59
luci-app-lucky/luci-app-lucky/root/etc/init.d/lucky
Normal file
59
luci-app-lucky/luci-app-lucky/root/etc/init.d/lucky
Normal file
@ -0,0 +1,59 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
#
|
||||
# Copyright (C) 2021-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/luci-app-lucky
|
||||
|
||||
# This file is part of lucky .
|
||||
#
|
||||
# This is free software, licensed under the Apache License, Version 2.0 .
|
||||
|
||||
|
||||
USE_PROCD=1
|
||||
START=99
|
||||
STOP=15
|
||||
|
||||
CONF="lucky"
|
||||
PROG=/usr/bin/lucky
|
||||
DEFAULT_DIR='/etc/config/lucky.daji/'
|
||||
SET_TZ=""
|
||||
|
||||
get_tz()
|
||||
{
|
||||
[ -e "/etc/localtime" ] && return
|
||||
for tzfile in /etc/TZ /var/etc/TZ
|
||||
do
|
||||
[ -e "$tzfile" ] || continue
|
||||
tz="$(cat $tzfile 2>/dev/null)"
|
||||
done
|
||||
[ -z "$tz" ] && return
|
||||
SET_TZ=$tz
|
||||
}
|
||||
|
||||
get_config() {
|
||||
config_get_bool enabled $1 enabled 1
|
||||
config_get_bool logger $1 logger 1
|
||||
config_get port $1 port 16601
|
||||
config_get SafeURL $1 safe
|
||||
config_get configdir $1 configdir $DEFAULT_DIR
|
||||
}
|
||||
|
||||
start_service() {
|
||||
config_load "$CONF"
|
||||
config_foreach get_config "$CONF"
|
||||
[ "x$enabled" = "x1" ] || return 1
|
||||
[ ! -d $configdir ] && mkdir -p $configdir 2>/dev/null
|
||||
[ $port != 16601 ] && $(which lucky) -setconf -key AdminWebListenPort -value $port -cd $configdir
|
||||
[ $SafeURL ] && $(which lucky) -setconf -key SafeURL -value $SafeURL -cd $configdir
|
||||
procd_open_instance
|
||||
get_tz
|
||||
[[ -z "$SET_TZ" ]] || procd_set_param env TZ="$SET_TZ"
|
||||
procd_set_param command $PROG -cd "$configdir"
|
||||
[ "x$logger" == x1 ] && procd_set_param stderr 1
|
||||
procd_set_param respawn
|
||||
procd_close_instance
|
||||
|
||||
}
|
||||
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger lucky
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete ucitrack.@lucky[-1]
|
||||
add ucitrack lucky
|
||||
set ucitrack.@lucky[-1].init=lucky
|
||||
commit ucitrack
|
||||
EOF
|
||||
[[ -f /etc/config/lucky ]] || echo "config lucky 'lucky' " > /etc/config/lucky
|
||||
rm -rf /tmp/luci*
|
||||
exit 0
|
@ -0,0 +1,11 @@
|
||||
{
|
||||
"luci-app-lucky": {
|
||||
"description": "Grant UCI access for luci-app-lucky",
|
||||
"read": {
|
||||
"uci": [ "lucky" ]
|
||||
},
|
||||
"write": {
|
||||
"uci": [ "lucky" ]
|
||||
}
|
||||
}
|
||||
}
|
76
luci-app-lucky/lucky/Makefile
Normal file
76
luci-app-lucky/lucky/Makefile
Normal file
@ -0,0 +1,76 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
#
|
||||
# Copyright (C) 2021-2022 sirpdboy <herboy2008@gmail.com>
|
||||
#
|
||||
# This is free software, licensed under the Apache License, Version 2.0 .
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lucky
|
||||
PKG_VERSION:=2.5.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
ifeq ($(ARCH),mipsel)
|
||||
LUCKY_ARCH:=mipsle_softfloat
|
||||
endif
|
||||
ifeq ($(ARCH),mips)
|
||||
LUCKY_ARCH:=mips_softfloat
|
||||
endif
|
||||
ifeq ($(ARCH),i386)
|
||||
LUCKY_ARCH:=i386
|
||||
endif
|
||||
ifeq ($(ARCH),x86_64)
|
||||
LUCKY_ARCH:=x86_64
|
||||
endif
|
||||
ifeq ($(ARCH),arm)
|
||||
LUCKY_ARCH:=armv7
|
||||
endif
|
||||
ifeq ($(BOARD),bcm53xx)
|
||||
LUCKY_ARCH:=armv6
|
||||
ifeq ($(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE)))),)
|
||||
LUCKY_ARCH:=armv5
|
||||
endif
|
||||
endif
|
||||
ifeq ($(BOARD),kirkwood)
|
||||
LUCKY_ARCH:=armv5
|
||||
endif
|
||||
ifeq ($(ARCH),aarch64)
|
||||
LUCKY_ARCH:=arm64
|
||||
endif
|
||||
|
||||
PKG_LICENSE:=GPL-3.0-only
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=GDY666 <gdy666@foxmail.com>
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_VERSION:=3626928d4a45ae606856b834614e45997b5da235
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/$(PKG_NAME)
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=Lucky dynamic domain name ddns-go service, socat,frp
|
||||
DEPENDS:=@(i386||x86_64||arm||aarch64||mipsel||mips)
|
||||
URL:=https://github.com/gdy666/lucky
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/description
|
||||
Main functions of Lucky: dynamic domain name ddns-go service, socat,reverse proxy ,wake on lan
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
[ ! -f $(PKG_BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)_Linux_$(LUCKY_ARCH).tar.gz ] && wget https://github.com/gdy666/lucky/releases/download/v$(PKG_VERSION)/$(PKG_NAME)_$(PKG_VERSION)_Linux_$(LUCKY_ARCH).tar.gz -O $(PKG_BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)_Linux_$(LUCKY_ARCH).tar.gz
|
||||
tar -xzvf $(PKG_BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)_Linux_$(LUCKY_ARCH).tar.gz -C $(PKG_BUILD_DIR)
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lucky $(1)/usr/bin/lucky
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,$(PKG_NAME)))
|
Loading…
Reference in New Issue
Block a user