mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-27 09:52:51 +08:00
🔥 Sync 2026-09-24 17:48:02
This commit is contained in:
1 parent
97fd8c867c
commit
aac134b37b
20 files changed
+153
-58
No files matched your search
+4
-4
@@ -10,12 +10,12 @@ AGENTFLOW_ARCH_x86_64:=amd64
|
||||
AGENTFLOW_ARCH_aarch64:=arm64
|
||||
AGENTFLOW_ARCH:=$(AGENTFLOW_ARCH_$(ARCH))
|
||||
|
||||
AGENTFLOW_HASH_x86_64:=3bdd9b3af7a95c78d6fb6589117931e2be3f2800056fc7836aa95abe48d0a33d
|
||||
AGENTFLOW_HASH_aarch64:=8962a1ec6f57ee394ddfdf61abd72191f5378644c5ab1ce85040b132b757cc43
|
||||
AGENTFLOW_HASH_x86_64:=266ceb4bc47d8ef0d2d731594a612266573bb93c4e23e9e329acf00c3bac4087
|
||||
AGENTFLOW_HASH_aarch64:=7790a94a0a04e57d196165ef96177475125c1b24fe24321f6927a55b2c62211f
|
||||
|
||||
PKG_NAME:=agentflow
|
||||
PKG_VERSION:=0.3.4
|
||||
PKG_RELEASE:=14
|
||||
PKG_VERSION:=0.3.5
|
||||
PKG_RELEASE:=15
|
||||
|
||||
AGENTFLOW_URL_FILE:=agentflow-linux-$(AGENTFLOW_ARCH)
|
||||
AGENTFLOW_DOWNLOAD:=$(AGENTFLOW_URL_FILE)-$(AGENTFLOW_HASH_$(ARCH))
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=kai-agent
|
||||
PKG_VERSION:=linkease-app-entry-runtime-v3.0.22
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=kai-runtime-v0.0.25
|
||||
PKG_RELEASE:=2
|
||||
PKG_SOURCE:=kai-agent-bundle-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/kai-runtime-v$(PKG_VERSION)/
|
||||
PKG_HASH:=skip
|
||||
|
||||
+2
-2
@@ -10,8 +10,8 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_ARCH_kai:=$(ARCH)
|
||||
|
||||
PKG_NAME:=kai
|
||||
PKG_VERSION:=linkease-app-entry-runtime-v3.0.22
|
||||
PKG_RELEASE:=6
|
||||
PKG_VERSION:=kai-runtime-v0.0.25
|
||||
PKG_RELEASE:=7
|
||||
PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/kai-runtime-v$(PKG_VERSION)/
|
||||
PKG_HASH:=skip
|
||||
|
||||
@@ -10,8 +10,8 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_ARCH_kai_session:=$(ARCH)
|
||||
|
||||
PKG_NAME:=kai_session
|
||||
PKG_VERSION:=linkease-app-entry-runtime-v3.0.22
|
||||
PKG_RELEASE:=6
|
||||
PKG_VERSION:=kai-runtime-v0.0.25
|
||||
PKG_RELEASE:=7
|
||||
PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/kai-runtime-v$(PKG_VERSION)/
|
||||
PKG_HASH:=skip
|
||||
|
||||
@@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=linkease-app-entry
|
||||
# This lightweight runtime is released independently from the full desktop.
|
||||
PKG_VERSION:=linkease-app-entry-runtime-v3.0.22
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=kai-runtime-v0.0.25
|
||||
PKG_RELEASE:=2
|
||||
|
||||
ARCH_HEXCODE:=
|
||||
ifeq ($(ARCH),x86_64)
|
||||
@@ -22,7 +22,7 @@ LINKEASE_RUNTIME_ARCH:=arm64
|
||||
PKG_HASH:=skip
|
||||
endif
|
||||
|
||||
PKG_SOURCE_VERSION:=d3d23965623e4182de554dde64418bb9a20c9078
|
||||
PKG_SOURCE_VERSION:=19c81b111a2b26f180422e0e5ab929f8b155abde
|
||||
PKG_SOURCE:=linkease-app-entry-runtime-$(PKG_VERSION)-linux-$(LINKEASE_RUNTIME_ARCH).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/linkease-app-entry-runtime-v$(PKG_VERSION)/
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/linkease-app-entry-runtime-$(PKG_VERSION)-linux-$(LINKEASE_RUNTIME_ARCH)
|
||||
|
||||
@@ -12,7 +12,7 @@ PKG_ARCH_LINKEASE:=$(ARCH)
|
||||
PKG_NAME:=linkease-common-bin
|
||||
# use PKG_SOURCE_DATE instead of PKG_VERSION for compitable
|
||||
PKG_SOURCE_DATE:=1.7.5
|
||||
PKG_RELEASE:=34
|
||||
PKG_RELEASE:=35
|
||||
|
||||
ARCH_HEXCODE:=
|
||||
ifeq ($(ARCH),x86_64)
|
||||
@@ -28,7 +28,7 @@ else ifeq ($(ARCH),mipsel)
|
||||
ARCH_HEXCODE=1b0c
|
||||
endif
|
||||
|
||||
PKG_SOURCE_VERSION:=8e06ab67451edac1442855713ca3256c72f34be9
|
||||
PKG_SOURCE_VERSION:=19c81b111a2b26f180422e0e5ab929f8b155abde
|
||||
PKG_SOURCE:=linkease-common-bin-$(PKG_SOURCE_DATE)-linux-$(PKG_ARCH_LINKEASE).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/linkease-runtime-v$(PKG_SOURCE_DATE)/
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/linkease-common-bin-$(PKG_SOURCE_DATE)-linux-$(PKG_ARCH_LINKEASE)
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ PKG_ARCH_LINKEASE:=$(ARCH)
|
||||
PKG_NAME:=linkease
|
||||
# use PKG_SOURCE_DATE instead of PKG_VERSION for compitable
|
||||
PKG_SOURCE_DATE:=1.7.5
|
||||
PKG_RELEASE:=37
|
||||
PKG_RELEASE:=38
|
||||
|
||||
ARCH_HEXCODE:=
|
||||
ifeq ($(ARCH),x86_64)
|
||||
@@ -28,7 +28,7 @@ else ifeq ($(ARCH),mipsel)
|
||||
ARCH_HEXCODE=1b0c
|
||||
endif
|
||||
|
||||
PKG_SOURCE_VERSION:=8e06ab67451edac1442855713ca3256c72f34be9
|
||||
PKG_SOURCE_VERSION:=19c81b111a2b26f180422e0e5ab929f8b155abde
|
||||
PKG_SOURCE:=linkease-bin-$(PKG_SOURCE_DATE)-linux-$(PKG_ARCH_LINKEASE).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/linkease-runtime-v$(PKG_SOURCE_DATE)/
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/linkease-bin-$(PKG_SOURCE_DATE)-linux-$(PKG_ARCH_LINKEASE)
|
||||
|
||||
@@ -11,7 +11,7 @@ PKG_ARCH_LINKEASE:=$(ARCH)
|
||||
PKG_NAME:=linkeasefull
|
||||
# use PKG_SOURCE_DATE instead of PKG_VERSION for compitable
|
||||
PKG_SOURCE_DATE:=3.0.22
|
||||
PKG_RELEASE:=36
|
||||
PKG_RELEASE:=37
|
||||
|
||||
ARCH_HEXCODE:=
|
||||
ifeq ($(ARCH),x86_64)
|
||||
@@ -24,7 +24,7 @@ LINKEASE_RUNTIME_ARCH:=arm64
|
||||
PKG_HASH:=skip
|
||||
endif
|
||||
|
||||
PKG_SOURCE_VERSION:=8e06ab67451edac1442855713ca3256c72f34be9
|
||||
PKG_SOURCE_VERSION:=19c81b111a2b26f180422e0e5ab929f8b155abde
|
||||
PKG_SOURCE:=linkease-runtime-$(PKG_SOURCE_DATE)-linux-$(LINKEASE_RUNTIME_ARCH).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/linkeasefull-runtime-v$(PKG_SOURCE_DATE)/
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/linkease-runtime-$(PKG_SOURCE_DATE)-linux-$(LINKEASE_RUNTIME_ARCH)
|
||||
|
||||
@@ -11,7 +11,7 @@ LUCI_DEPENDS:=+luci-base +luci-lib-jsonc +curl +bandix
|
||||
PKG_MAINTAINER:=timsaya
|
||||
|
||||
PKG_VERSION:=0.12.11
|
||||
PKG_RELEASE:=10
|
||||
PKG_RELEASE:=11
|
||||
|
||||
include $(TOPDIR)/feeds/luci/luci.mk
|
||||
|
||||
|
||||
@@ -133,6 +133,20 @@ function formatSize(bytes) {
|
||||
}
|
||||
|
||||
// 格式化设备名称
|
||||
// IPv6 地址按 RFC 3986 用方括号包起来,一是避免 '2600:...:8000::' + ':' + '80' 拼出
|
||||
// ':::80' 这种分不清边界的写法,二是选中复制出来就是 [addr]:port,可以直接粘去用。
|
||||
// 地址和端口是行内元素,复制时不会被拆成两行;端口自身 nowrap,不会被折断
|
||||
function flowEndpointCell(addr, port) {
|
||||
var text = addr || '-';
|
||||
if (text.indexOf(':') >= 0) {
|
||||
text = '[' + text + ']';
|
||||
}
|
||||
return E('td', { 'class': 'flows-addr-cell' }, [
|
||||
E('span', { 'class': 'flows-addr' }, text),
|
||||
E('span', { 'class': 'flows-port' }, port ? ':' + port : '')
|
||||
]);
|
||||
}
|
||||
|
||||
function formatDeviceName(device) {
|
||||
if (device.host && device.host !== '') {
|
||||
return device.host;
|
||||
@@ -719,26 +733,52 @@ return view.extend({
|
||||
.flows-modal-content .flows-table th:nth-child(1),
|
||||
.flows-modal-content .flows-table td:nth-child(1) { width: 5%; }
|
||||
.flows-modal-content .flows-table th:nth-child(2),
|
||||
.flows-modal-content .flows-table td:nth-child(2) { width: 8%; }
|
||||
.flows-modal-content .flows-table td:nth-child(2) { width: 10%; }
|
||||
.flows-modal-content .flows-table th:nth-child(3),
|
||||
.flows-modal-content .flows-table td:nth-child(3) { width: 14%; }
|
||||
.flows-modal-content .flows-table td:nth-child(3) { width: 14.75%; }
|
||||
.flows-modal-content .flows-table th:nth-child(4),
|
||||
.flows-modal-content .flows-table td:nth-child(4) { width: 14%; }
|
||||
.flows-modal-content .flows-table td:nth-child(4) { width: 14.75%; }
|
||||
.flows-modal-content .flows-table th:nth-child(5),
|
||||
.flows-modal-content .flows-table td:nth-child(5) { width: 10%; }
|
||||
.flows-modal-content .flows-table td:nth-child(5) { width: 9%; }
|
||||
.flows-modal-content .flows-table th:nth-child(6),
|
||||
.flows-modal-content .flows-table td:nth-child(6) { width: 14%; }
|
||||
.flows-modal-content .flows-table td:nth-child(6) { width: 14.75%; }
|
||||
.flows-modal-content .flows-table th:nth-child(7),
|
||||
.flows-modal-content .flows-table td:nth-child(7) { width: 14%; }
|
||||
.flows-modal-content .flows-table td:nth-child(7) { width: 14.75%; }
|
||||
.flows-modal-content .flows-table th:nth-child(8),
|
||||
.flows-modal-content .flows-table td:nth-child(8) { width: 10%; }
|
||||
.flows-modal-content .flows-table td:nth-child(8) { width: 9%; }
|
||||
.flows-modal-content .flows-table th:nth-child(9),
|
||||
.flows-modal-content .flows-table td:nth-child(9) { width: 11%; }
|
||||
.flows-modal-content .flows-table td:nth-child(9) { width: 8%; }
|
||||
|
||||
/* IPv6 没有 NAT,回复方向恒为源方向的镜像,隐藏后地址列能放下整条 IPv6 地址 */
|
||||
.flows-modal-content .flows-table.hide-repl th:nth-child(6),
|
||||
.flows-modal-content .flows-table.hide-repl td:nth-child(6),
|
||||
.flows-modal-content .flows-table.hide-repl th:nth-child(7),
|
||||
.flows-modal-content .flows-table.hide-repl td:nth-child(7) { display: none; }
|
||||
.flows-modal-content .flows-table.hide-repl th:nth-child(1),
|
||||
.flows-modal-content .flows-table.hide-repl td:nth-child(1) { width: 4%; }
|
||||
.flows-modal-content .flows-table.hide-repl th:nth-child(2),
|
||||
.flows-modal-content .flows-table.hide-repl td:nth-child(2) { width: 10%; }
|
||||
.flows-modal-content .flows-table.hide-repl th:nth-child(3),
|
||||
.flows-modal-content .flows-table.hide-repl td:nth-child(3) { width: 31%; }
|
||||
.flows-modal-content .flows-table.hide-repl th:nth-child(4),
|
||||
.flows-modal-content .flows-table.hide-repl td:nth-child(4) { width: 31%; }
|
||||
.flows-modal-content .flows-table.hide-repl th:nth-child(5),
|
||||
.flows-modal-content .flows-table.hide-repl td:nth-child(5) { width: 9.5%; }
|
||||
.flows-modal-content .flows-table.hide-repl th:nth-child(8),
|
||||
.flows-modal-content .flows-table.hide-repl td:nth-child(8) { width: 9.5%; }
|
||||
.flows-modal-content .flows-table.hide-repl th:nth-child(9),
|
||||
.flows-modal-content .flows-table.hide-repl td:nth-child(9) { width: 5%; }
|
||||
|
||||
/* 紧凑模式下再降一档字号,最长的 IPv6 地址才能完整落在一行里 */
|
||||
.flows-modal-content .flows-table.hide-repl .flows-addr-cell {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.flows-modal-content .flows-table th,
|
||||
.flows-modal-content .flows-table td {
|
||||
padding: 8px 12px;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
border-bottom: 1px solid rgba(0,0,0,0.08);
|
||||
}
|
||||
|
||||
@@ -749,7 +789,32 @@ return view.extend({
|
||||
|
||||
.flows-modal-content .flows-addr-cell {
|
||||
word-break: break-all;
|
||||
font-size: 0.8rem;
|
||||
font-size: 12px;
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.flows-modal-content .flows-addr-cell .flows-port {
|
||||
opacity: 0.6;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* ESTABLISHED 是单个长单词,宽度不够时必须允许断开,否则会压到相邻列上 */
|
||||
.flows-modal-content .flows-table td.flows-state-cell {
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.flows-modal-content .flows-repl-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
font-size: 0.85rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.flows-modal-content .flows-repl-toggle input {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.flows-modal-content .flows-protocol-tcp {
|
||||
@@ -1091,25 +1156,25 @@ return view.extend({
|
||||
var pageInfo = E('span', { 'style': 'font-size: 0.85rem; opacity: 0.85; margin: 0 14px;' }, '');
|
||||
var prevPageBtn = E('button', { 'class': 'cbi-button cbi-button-action', 'style': 'margin-right: 8px;' }, _('Previous'));
|
||||
var nextPageBtn = E('button', { 'class': 'cbi-button cbi-button-action' }, _('Next'));
|
||||
var replToggle = E('input', { 'type': 'checkbox', 'id': 'flows-show-repl', 'checked': 'checked' });
|
||||
var tableBody = E('tbody', { 'class': 'flows-table-body' });
|
||||
var tableWrap = E('div', { 'class': 'flows-table-wrap' }, [
|
||||
E('table', { 'class': 'flows-table' }, [
|
||||
E('thead', {}, [
|
||||
E('tr', {}, [
|
||||
E('th', {}, _('Protocol')),
|
||||
E('th', {}, _('State')),
|
||||
E('th', {}, _('Orig Src')),
|
||||
E('th', {}, _('Orig Dst')),
|
||||
E('th', {}, _('Send')),
|
||||
E('th', {}, _('Repl Src')),
|
||||
E('th', {}, _('Repl Dst')),
|
||||
E('th', {}, _('Reply')),
|
||||
E('th', {}, _('Flags'))
|
||||
])
|
||||
]),
|
||||
tableBody
|
||||
])
|
||||
var flowsTable = E('table', { 'class': 'flows-table' }, [
|
||||
E('thead', {}, [
|
||||
E('tr', {}, [
|
||||
E('th', {}, _('Protocol')),
|
||||
E('th', {}, _('State')),
|
||||
E('th', {}, _('Orig Src')),
|
||||
E('th', {}, _('Orig Dst')),
|
||||
E('th', {}, _('Send')),
|
||||
E('th', {}, _('Repl Src')),
|
||||
E('th', {}, _('Repl Dst')),
|
||||
E('th', {}, _('Reply')),
|
||||
E('th', {}, _('Flags'))
|
||||
])
|
||||
]),
|
||||
tableBody
|
||||
]);
|
||||
var tableWrap = E('div', { 'class': 'flows-table-wrap' }, [flowsTable]);
|
||||
|
||||
function updatePaginationUi() {
|
||||
if (pageInfo) {
|
||||
@@ -1186,22 +1251,18 @@ return view.extend({
|
||||
else if (f.state.indexOf('TIME_WAIT') >= 0) stateCls = 'flows-state-wait';
|
||||
else if (f.state.indexOf('CLOSE') >= 0) stateCls = 'flows-state-close';
|
||||
}
|
||||
var origSrc = f.orig ? (f.orig.src || '-') + ':' + (f.orig.sport || '-') : '-';
|
||||
var origDst = f.orig ? (f.orig.dst || '-') + ':' + (f.orig.dport || '-') : '-';
|
||||
var replSrc = f.repl ? (f.repl.src || '-') + ':' + (f.repl.sport || '-') : '-';
|
||||
var replDst = f.repl ? (f.repl.dst || '-') + ':' + (f.repl.dport || '-') : '-';
|
||||
var sendStr = (f.orig_packets || 0) + ' ' + _('pkts') + ' / ' + formatSize(f.orig_bytes || 0);
|
||||
var replyStr = (f.repl_packets || 0) + ' ' + _('pkts') + ' / ' + formatSize(f.repl_bytes || 0);
|
||||
var flagsStr = (f.flags && f.flags.length) ? f.flags.join(' ') : '-';
|
||||
var protoCls = (f.protocol || '').toLowerCase() === 'tcp' ? 'flows-protocol-tcp' : 'flows-protocol-udp';
|
||||
tableBody.appendChild(E('tr', {}, [
|
||||
E('td', { 'class': protoCls }, (f.protocol || '-').toUpperCase()),
|
||||
E('td', { 'class': stateCls }, f.state || '-'),
|
||||
E('td', { 'class': 'flows-addr-cell' }, origSrc),
|
||||
E('td', { 'class': 'flows-addr-cell' }, origDst),
|
||||
E('td', { 'class': 'flows-state-cell ' + stateCls }, f.state || '-'),
|
||||
flowEndpointCell(f.orig && f.orig.src, f.orig && f.orig.sport),
|
||||
flowEndpointCell(f.orig && f.orig.dst, f.orig && f.orig.dport),
|
||||
E('td', {}, sendStr),
|
||||
E('td', { 'class': 'flows-addr-cell' }, replSrc),
|
||||
E('td', { 'class': 'flows-addr-cell' }, replDst),
|
||||
flowEndpointCell(f.repl && f.repl.src, f.repl && f.repl.sport),
|
||||
flowEndpointCell(f.repl && f.repl.dst, f.repl && f.repl.dport),
|
||||
E('td', {}, replyStr),
|
||||
E('td', { 'style': 'font-size: 0.8rem;' }, flagsStr)
|
||||
]));
|
||||
@@ -1253,6 +1314,10 @@ return view.extend({
|
||||
protocolSelect,
|
||||
E('label', {}, _('State') + ':'),
|
||||
stateSelect,
|
||||
E('label', { 'class': 'flows-repl-toggle', 'for': 'flows-show-repl' }, [
|
||||
replToggle,
|
||||
E('span', {}, _('Show reply direction'))
|
||||
]),
|
||||
E('button', { 'class': 'cbi-button cbi-button-apply', 'click': loadFlows }, _('Refresh'))
|
||||
]),
|
||||
tableWrap,
|
||||
@@ -1271,6 +1336,16 @@ return view.extend({
|
||||
if (stateSelect && stateSelect.addEventListener) {
|
||||
stateSelect.addEventListener('change', onFilterChange);
|
||||
}
|
||||
if (replToggle && replToggle.addEventListener) {
|
||||
replToggle.addEventListener('change', function () {
|
||||
// 关掉回复方向后,两个地址列各占 27%,整条 IPv6 地址能放进一行
|
||||
if (replToggle.checked) {
|
||||
flowsTable.classList.remove('hide-repl');
|
||||
} else {
|
||||
flowsTable.classList.add('hide-repl');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var overlay = document.getElementById('flows-modal-overlay');
|
||||
if (!overlay) {
|
||||
|
||||
@@ -1348,3 +1348,6 @@ msgstr "No se pudieron cargar las cuotas de tráfico"
|
||||
|
||||
msgid "Unavailable"
|
||||
msgstr "No disponible"
|
||||
|
||||
msgid "Show reply direction"
|
||||
msgstr "Mostrar la dirección de respuesta"
|
||||
@@ -1348,3 +1348,6 @@ msgstr "Impossible de charger les quotas de trafic"
|
||||
|
||||
msgid "Unavailable"
|
||||
msgstr "Indisponible"
|
||||
|
||||
msgid "Show reply direction"
|
||||
msgstr "Afficher la direction de réponse"
|
||||
@@ -1348,3 +1348,6 @@ msgstr "トラフィッククォータを読み込めませんでした"
|
||||
|
||||
msgid "Unavailable"
|
||||
msgstr "利用不可"
|
||||
|
||||
msgid "Show reply direction"
|
||||
msgstr "応答方向を表示"
|
||||
@@ -1348,3 +1348,6 @@ msgstr "Nie udało się wczytać limitów transferu"
|
||||
|
||||
msgid "Unavailable"
|
||||
msgstr "Niedostępne"
|
||||
|
||||
msgid "Show reply direction"
|
||||
msgstr "Pokaż kierunek odpowiedzi"
|
||||
@@ -1348,3 +1348,6 @@ msgstr "Не удалось загрузить квоты трафика"
|
||||
|
||||
msgid "Unavailable"
|
||||
msgstr "Недоступно"
|
||||
|
||||
msgid "Show reply direction"
|
||||
msgstr "Показывать обратное направление"
|
||||
@@ -1375,3 +1375,6 @@ msgstr "每分钟配额"
|
||||
|
||||
msgid "Minute"
|
||||
msgstr "每分钟"
|
||||
|
||||
msgid "Show reply direction"
|
||||
msgstr "显示回复方向"
|
||||
@@ -1348,3 +1348,6 @@ msgstr "載入流量配額失敗"
|
||||
|
||||
msgid "Unavailable"
|
||||
msgstr "無法使用"
|
||||
|
||||
msgid "Show reply direction"
|
||||
msgstr "顯示回覆方向"
|
||||
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
LUCI_TITLE:=Argon Theme
|
||||
LUCI_DEPENDS:=+USE_APK:wget-any +!USE_APK:wget +jsonfilter
|
||||
PKG_VERSION:=2.4.7
|
||||
PKG_RELEASE:=18
|
||||
PKG_RELEASE:=19
|
||||
|
||||
CONFIG_LUCI_CSSTIDY:=
|
||||
|
||||
|
||||
@@ -137,7 +137,6 @@
|
||||
{% else %}
|
||||
<!-- Image Background Start -->
|
||||
{% online_wallpaper = cfg.get_first('argon', 'global', 'online_wallpaper') ?? 'default' %}
|
||||
<div class="main-bg" id="main-bg"><img src="{{ entityencode(bgArry.bgUrl, true) }}" data-fallback="{{ media }}/img/bg1.jpg" onerror="this.onerror=null;this.src=this.dataset.fallback" alt=""></div>
|
||||
<div class="main-bg" id="main-bg">{% if (online_wallpaper != 'default'): %}<img src="{{ entityencode(bgArry.bgUrl, true) }}" data-fallback="{{ media }}/img/bg1.jpg" onerror="this.onerror=null;this.src=this.dataset.fallback" alt="">{% endif %}</div>
|
||||
<!-- Image Background End -->
|
||||
{% endif %}
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ define KernelPackage/oaf
|
||||
SUBMENU:=Netfilter Extensions
|
||||
TITLE:=OAF netfilter module
|
||||
FILES:=$(PKG_BUILD_DIR)/oaf.ko
|
||||
DEPENDS:=+kmod-ipt-conntrack
|
||||
DEPENDS:=+kmod-nf-conntrack +kmod-nf-reject
|
||||
KCONFIG:=
|
||||
endef
|
||||
|
||||
|
||||
Reference in new issue
Block a user