diff --git a/libcron/Makefile b/libcron/Makefile
index 686665204..76ed1b228 100644
--- a/libcron/Makefile
+++ b/libcron/Makefile
@@ -11,7 +11,7 @@ PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/PerMalmberg/libcron.git
PKG_SOURCE_DATE:=2023-11-14
PKG_SOURCE_VERSION:=41f238ceb09d4179e7346d78584a0c978e5d0059
-PKG_MIRROR_HASH:=c7b0651566153b1d641e3b5ece50474c8556d42345779f19a5f22814a8183c38
+PKG_MIRROR_HASH:=1d5ed3dd15abd1df765904b80153943c12cf1b2b212432c8f116a5eff30e953d
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
diff --git a/luci-app-daed/htdocs/luci-static/resources/view/daed/config.js b/luci-app-daed/htdocs/luci-static/resources/view/daed/config.js
index e4a97947c..edecbf86b 100644
--- a/luci-app-daed/htdocs/luci-static/resources/view/daed/config.js
+++ b/luci-app-daed/htdocs/luci-static/resources/view/daed/config.js
@@ -7,7 +7,7 @@
'require uci';
'require view';
-var callServiceList = rpc.declare({
+const callServiceList = rpc.declare({
object: 'service',
method: 'list',
params: ['name'],
@@ -15,8 +15,8 @@ var callServiceList = rpc.declare({
});
function getServiceStatus() {
- return L.resolveDefault(callServiceList('daed'), {}).then(function (res) {
- var isRunning = false;
+ return L.resolveDefault(callServiceList('daed'), {}).then(function(res) {
+ let isRunning = false;
try {
isRunning = res['daed']['instances']['daed']['running'];
} catch (e) { }
@@ -25,10 +25,10 @@ function getServiceStatus() {
}
function renderStatus(isRunning, port) {
- var spanTemp = '%s %s';
- var renderHTML;
+ let spanTemp = '%s %s';
+ let renderHTML;
if (isRunning) {
- var button = String.format(' %s',
+ let button = String.format(' %s',
window.location.hostname, port, _('Open Web Interface'));
renderHTML = spanTemp.format('green', _('daed'), _('RUNNING')) + button;
} else {
@@ -46,24 +46,24 @@ return view.extend({
},
render: function(data) {
- var m, s, o;
- var webport = (uci.get(data[0], 'config', 'address') || '0.0.0.0:2023').split(':').slice(-1)[0];
+ let m, s, o;
+ let webport = (uci.get(data[0], 'config', 'address') || '0.0.0.0:2023').split(':').slice(-1)[0];
m = new form.Map('daed', _('daed'),
_('A modern dashboard for dae.'));
s = m.section(form.TypedSection);
s.anonymous = true;
- s.render = function () {
- poll.add(function () {
- return L.resolveDefault(getServiceStatus()).then(function (res) {
- var view = document.getElementById('service_status');
+ s.render = function() {
+ poll.add(function() {
+ return L.resolveDefault(getServiceStatus()).then(function(res) {
+ let view = document.getElementById('service_status');
view.innerHTML = renderStatus(res, webport);
});
});
return E('div', { class: 'cbi-section', id: 'status_bar' }, [
- E('p', { id: 'service_status' }, _('Collecting data…'))
+ E('p', { id: 'service_status' }, _('Collecting data…'))
]);
}
diff --git a/luci-app-daed/htdocs/luci-static/resources/view/daed/log.js b/luci-app-daed/htdocs/luci-static/resources/view/daed/log.js
index 9a2b1127a..79c0326d3 100644
--- a/luci-app-daed/htdocs/luci-static/resources/view/daed/log.js
+++ b/luci-app-daed/htdocs/luci-static/resources/view/daed/log.js
@@ -7,9 +7,9 @@
'require view';
return view.extend({
- render: function() {
+ render() {
/* Thanks to luci-app-aria2 */
- var css = ' \
+ let css = ' \
#log_textarea { \
text-align: left; \
} \
@@ -22,7 +22,7 @@ return view.extend({
background-color: #33ccff; \
}';
- var log_textarea = E('div', { 'id': 'log_textarea' },
+ let log_textarea = E('div', { 'id': 'log_textarea' },
E('img', {
'src': L.resource('icons/loading.svg'),
'alt': _('Loading...'),
@@ -33,13 +33,13 @@ return view.extend({
poll.add(L.bind(function() {
return fs.read_direct('/var/log/daed/daed.log', 'text')
.then(function(content) {
- var log = E('pre', { 'wrap': 'pre' }, [
+ let log = E('pre', { 'wrap': 'pre' }, [
content.trim() || _('Log is empty.')
]);
dom.content(log_textarea, log);
}).catch(function(e) {
- var log;
+ let log;
if (e.toString().includes('NotFoundError'))
log = E('pre', { 'wrap': 'pre' }, [
@@ -54,21 +54,21 @@ return view.extend({
});
}));
- var scrollDownButton = E('button', {
+ const scrollDownButton = E('button', {
'id': 'scrollDownButton',
'class': 'cbi-button cbi-button-neutral',
}, _('Scroll to tail', 'scroll to bottom (the tail) of the log file')
);
- scrollDownButton.addEventListener('click', function() {
+ scrollDownButton.addEventListener('click', () => {
scrollUpButton.focus();
});
- var scrollUpButton = E('button', {
+ const scrollUpButton = E('button', {
'id' : 'scrollUpButton',
'class': 'cbi-button cbi-button-neutral',
}, _('Scroll to head', 'scroll to top (the head) of the log file')
);
- scrollUpButton.addEventListener('click', function() {
+ scrollUpButton.addEventListener('click', () => {
scrollDownButton.focus();
});
diff --git a/luci-app-gost/htdocs/luci-static/resources/view/gost.js b/luci-app-gost/htdocs/luci-static/resources/view/gost.js
index 98a24c69e..6d5f7cc38 100644
--- a/luci-app-gost/htdocs/luci-static/resources/view/gost.js
+++ b/luci-app-gost/htdocs/luci-static/resources/view/gost.js
@@ -10,7 +10,7 @@
'require uci';
'require view';
-var callServiceList = rpc.declare({
+const callServiceList = rpc.declare({
object: 'service',
method: 'list',
params: ['name'],
@@ -18,7 +18,7 @@ var callServiceList = rpc.declare({
});
function getServiceStatus() {
- return L.resolveDefault(callServiceList('gost'), {}).then(function (res) {
+ return L.resolveDefault(callServiceList('gost'), {}).then(function(res) {
let isRunning = false;
try {
isRunning = res['gost']['instances']['instance1']['running'];
@@ -39,24 +39,24 @@ function renderStatus(isRunning) {
}
return view.extend({
- render: function() {
- var m, s, o;
+ render() {
+ let m, s, o;
m = new form.Map('gost', _('GOST'),
_('A simple security tunnel written in Golang.'));
s = m.section(form.TypedSection);
s.anonymous = true;
- s.render = function () {
- poll.add(function () {
- return L.resolveDefault(getServiceStatus()).then(function (res) {
+ s.render = function() {
+ poll.add(function() {
+ return L.resolveDefault(getServiceStatus()).then(function(res) {
let view = document.getElementById('service_status');
view.innerHTML = renderStatus(res);
});
});
return E('div', { class: 'cbi-section', id: 'status_bar' }, [
- E('p', { id: 'service_status' }, _('Collecting data…'))
+ E('p', { id: 'service_status' }, _('Collecting data…'))
]);
}
diff --git a/luci-app-vlmcsd/htdocs/luci-static/resources/view/vlmcsd.js b/luci-app-vlmcsd/htdocs/luci-static/resources/view/vlmcsd.js
index 015c272f8..e1896b74e 100644
--- a/luci-app-vlmcsd/htdocs/luci-static/resources/view/vlmcsd.js
+++ b/luci-app-vlmcsd/htdocs/luci-static/resources/view/vlmcsd.js
@@ -26,7 +26,7 @@ function renderStatus(status) {
}
return view.extend({
- render: function () {
+ render() {
const m = new form.Map('vlmcsd', _('Vlmcsd KMS Server'));
let s = m.section(form.TypedSection);
diff --git a/ngrokc/Makefile b/ngrokc/Makefile
index 7e0474e55..a41f66542 100644
--- a/ngrokc/Makefile
+++ b/ngrokc/Makefile
@@ -8,7 +8,7 @@ PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/dosgo/ngrok-c.git
PKG_SOURCE_DATE:=2021-09-01
PKG_SOURCE_VERSION:=5da550284ed5bec7fa843c574e52b840e918fa4c
-PKG_MIRROR_HASH:=2c27217325f509c0d1ce863a6399de9222af6dd93748b87c1905b8ae832f06c3
+PKG_MIRROR_HASH:=7875f6b974ee4638ff7c44556d15a69f197abebdad900f2c6683ae0dac50dae4
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
diff --git a/oscam/Makefile b/oscam/Makefile
index 7c2b4032f..866ff806b 100644
--- a/oscam/Makefile
+++ b/oscam/Makefile
@@ -7,13 +7,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=oscam
-PKG_RELEASE:=3
+PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/nx111/oscam.git
-PKG_SOURCE_DATE:=2020-12-12
-PKG_SOURCE_VERSION:=aafda4bca3c347698ef1dc32f7ebeff76378d55a
-PKG_MIRROR_HASH:=68c66dfee1c9f23cc716e6fca21afedddeecc98ac5b433e705dbe2c9e5966609
+PKG_SOURCE_DATE:=2022-03-07
+PKG_SOURCE_VERSION:=c5b2e655d2948a50bdc5a0db288b10f1955c3bd8
+PKG_MIRROR_HASH:=fad891220c4ea41d0eac5de5d4f41ba54f75c46cdd16ed3ebec61b64aa12b14e
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=COPYING
diff --git a/quickjspp/Makefile b/quickjspp/Makefile
index 4f5e06310..7198eb11e 100644
--- a/quickjspp/Makefile
+++ b/quickjspp/Makefile
@@ -11,7 +11,7 @@ PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ftk/quickjspp.git
PKG_SOURCE_DATE:=2023-12-21
PKG_SOURCE_VERSION:=0c00c48895919fc02da3f191a2da06addeb07f09
-PKG_MIRROR_HASH:=2adf33c7942c4d926e70045e3d6896c9ca95769743470186936bcf33a26d2798
+PKG_MIRROR_HASH:=34cb61901a593c2315b542ccbfbb78307136553956e2c35582ac4ad6ac592df4
PKG_MAINTAINER:=Tianling Shen
diff --git a/quickjspp/patches/100-musl.patch b/quickjspp/patches/100-musl.patch
index 022fb71d5..e407c8218 100644
--- a/quickjspp/patches/100-musl.patch
+++ b/quickjspp/patches/100-musl.patch
@@ -1,6 +1,6 @@
--- a/quickjs/quickjs.c
+++ b/quickjs/quickjs.c
-@@ -78,6 +78,12 @@
+@@ -76,6 +76,12 @@
#define CONFIG_STACK_CHECK
#endif
diff --git a/rapidjson/Makefile b/rapidjson/Makefile
index 30e7bcfca..9f5cdde63 100644
--- a/rapidjson/Makefile
+++ b/rapidjson/Makefile
@@ -9,9 +9,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/Tencent/rapidjson.git
-PKG_SOURCE_DATE:=2024-04-09
-PKG_SOURCE_VERSION:=ab1842a2dae061284c0a62dca1cc6d5e7e37e346
-PKG_MIRROR_HASH:=cc9271895f8015d9e4ad3de70e16d436a6dc8693be5541d70504da31c27b7f69
+PKG_SOURCE_DATE:=2025-02-05
+PKG_SOURCE_VERSION:=24b5e7a8b27f42fa16b96fc70aade9106cf7102f
+PKG_MIRROR_HASH:=7ebe34336510f598a118922440c43dba5b4ba93b2b8b9f46d5190514612bc3bd
PKG_LICENSE:=BSD 3-Clause
PKG_LICENSE_FILES:=LICENSE
diff --git a/sub-web/Makefile b/sub-web/Makefile
index 56ac40834..45d8e68ca 100644
--- a/sub-web/Makefile
+++ b/sub-web/Makefile
@@ -5,9 +5,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/CareyWang/sub-web.git
-PKG_SOURCE_DATE:=2022-11-10
-PKG_SOURCE_VERSION:=71e53414a89b5fd5ec0ef453e32202194993d0cf
-PKG_MIRROR_HASH:=03c5d122e458dbe30a6d39b391aaf06b9654bd77c0efb1840dafae53cb45f75d
+PKG_SOURCE_DATE:=2025-01-08
+PKG_SOURCE_VERSION:=a8788c1a02e100ada38efc48ab72f390cd41d54c
+PKG_MIRROR_HASH:=fe5cc55185d5bee5864a1dc40866133b273c49e19801642218daefe1b434d990
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
@@ -35,7 +35,7 @@ define Build/Compile
( \
pushd "$(PKG_BUILD_DIR)"; \
yarn install; \
- NODE_OPTIONS=--openssl-legacy-provider yarn build; \
+ yarn build; \
popd ; \
)
endef
diff --git a/sub-web/patches/020-views-add-examples-from-ACL4SSR-and-Subconverter.patch b/sub-web/patches/020-views-add-examples-from-ACL4SSR-and-Subconverter.patch
index e5fe2e78a..6f7c3c556 100644
--- a/sub-web/patches/020-views-add-examples-from-ACL4SSR-and-Subconverter.patch
+++ b/sub-web/patches/020-views-add-examples-from-ACL4SSR-and-Subconverter.patch
@@ -10,7 +10,7 @@ Signed-off-by: CN_SZTL
--- a/src/views/Subconverter.vue
+++ b/src/views/Subconverter.vue
-@@ -299,6 +299,110 @@ export default {
+@@ -235,6 +235,110 @@ export default {
backendOptions: [{ value: "http://127.0.0.1:25500/sub?" }],
remoteConfig: [
{