mirror of
https://github.com/snltty/linker.git
synced 2025-12-18 01:16:46 +08:00
196
This commit is contained in:
6
package-lock.json
generated
Normal file
6
package-lock.json
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "linker",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {}
|
||||
}
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
SET comment=%1
|
||||
|
||||
cd gen
|
||||
cd shells/gen
|
||||
node index.js
|
||||
cd ../
|
||||
cd ../../
|
||||
|
||||
git add .
|
||||
git commit -m "%comment%"
|
||||
|
||||
@@ -7,7 +7,7 @@ const parser = new xml2js.Parser();
|
||||
|
||||
function readVersionDesc() {
|
||||
return new Promise((resolve, reject) => {
|
||||
const fileContents = fs.readFileSync('../src/linker/linker.csproj', 'utf8');
|
||||
const fileContents = fs.readFileSync('../../src/linker/linker.csproj', 'utf8');
|
||||
parser.parseString(fileContents, (error, result) => {
|
||||
resolve(
|
||||
{ desc: result.Project.PropertyGroup[0].Description[0], version: result.Project.PropertyGroup[0].FileVersion[0] }
|
||||
@@ -242,32 +242,32 @@ readVersionDesc().then((desc) => {
|
||||
while (publishText.indexOf('{{version}}') >= 0) {
|
||||
publishText = publishText.replace('{{version}}', desc.version);
|
||||
}
|
||||
writeText('../shells/publish-docker.sh', publishText);
|
||||
writeText('../publish-docker.sh', publishText);
|
||||
|
||||
let publishIpkText = readText('../ymls/publish-ipk.sh');
|
||||
while (publishIpkText.indexOf('{{version}}') >= 0) {
|
||||
publishIpkText = publishIpkText.replace('{{version}}', desc.version);
|
||||
}
|
||||
writeText('../shells/publish-ipk.sh', publishIpkText);
|
||||
writeText('../publish-ipk.sh', publishIpkText);
|
||||
|
||||
|
||||
let dockerText = readText('../ymls/docker.yml');
|
||||
while (dockerText.indexOf('{{version}}') >= 0) {
|
||||
dockerText = dockerText.replace('{{version}}', desc.version);
|
||||
}
|
||||
writeText('../.github/workflows/docker.yml', dockerText);
|
||||
writeText('../../.github/workflows/docker.yml', dockerText);
|
||||
|
||||
|
||||
let nugetText = readText('../ymls/nuget.yml');
|
||||
while (nugetText.indexOf('{{version}}') >= 0) {
|
||||
nugetText = nugetText.replace('{{version}}', desc.version);
|
||||
}
|
||||
writeText('../.github/workflows/nuget.yml', nugetText);
|
||||
writeText('../../.github/workflows/nuget.yml', nugetText);
|
||||
|
||||
|
||||
const ipkData = readYaml('../ymls/ipk.yml');
|
||||
writeUploadIpk(ipkData, `v${desc.version}`);
|
||||
writeYaml('../.github/workflows/ipk.yml', ipkData);
|
||||
writeYaml('../../.github/workflows/ipk.yml', ipkData);
|
||||
|
||||
/*
|
||||
const loongarch64Data = readYaml('../ymls/loongarch64.yml');
|
||||
@@ -1,12 +1,13 @@
|
||||
target=$(cd $(dirname $0); pwd)
|
||||
target=$(cd $(dirname $0)/..; pwd)
|
||||
image="snltty/linker"
|
||||
|
||||
cd ../
|
||||
|
||||
fs=('linker')
|
||||
ps=('musl' 'debian' 'kvm')
|
||||
rs=('x64' 'arm64' 'arm')
|
||||
|
||||
cd ../src/linker.web
|
||||
cd src/linker.web
|
||||
npm install &&
|
||||
npm run build &&
|
||||
cd ../../
|
||||
@@ -26,31 +27,31 @@ do
|
||||
then
|
||||
rr=linux-${r}
|
||||
fi
|
||||
dotnet publish ../src/${f} -c release -f net8.0 -o ../public/publish/docker/linux-${p}-${r}/${f} -r ${rr} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
cp -rf ../src/linker/Dockerfile-${p} ../public/publish/docker/linux-${p}-${r}/${f}/Dockerfile-${p}
|
||||
cp -rf ../public/extends/any/web ../public/publish/docker/linux-${p}-${r}/${f}/web
|
||||
mkdir -p ../public/publish/docker/linux-${p}-${r}/${f}/configs
|
||||
mkdir -p ../public/publish/docker/linux-${p}-${r}/${f}/logs
|
||||
dotnet publish src/${f} -c release -f net8.0 -o public/publish/docker/linux-${p}-${r}/${f} -r ${rr} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
cp -rf src/linker/Dockerfile-${p} public/publish/docker/linux-${p}-${r}/${f}/Dockerfile-${p}
|
||||
cp -rf public/extends/any/web public/publish/docker/linux-${p}-${r}/${f}/web
|
||||
mkdir -p public/publish/docker/linux-${p}-${r}/${f}/configs
|
||||
mkdir -p public/publish/docker/linux-${p}-${r}/${f}/logs
|
||||
if [ $p = "musl" ]
|
||||
then
|
||||
cp -rf ../src/linker/libmsquic-musl-${r}.so ../public/publish/docker/linux-${p}-${r}/${f}/libmsquic.so
|
||||
cp -rf src/linker/libmsquic-musl-${r}.so public/publish/docker/linux-${p}-${r}/${f}/libmsquic.so
|
||||
fi
|
||||
if [ $p = "kvm" ]
|
||||
then
|
||||
cp -rf ../install-package/kvm/ ../public/publish/docker/linux-${p}-${r}/${f}/kvm/
|
||||
cp -rf ../install-package/kvm/ public/publish/docker/linux-${p}-${r}/${f}/kvm/
|
||||
fi
|
||||
done
|
||||
cd ../public/publish/docker/linux-${p}-x64/${f}
|
||||
cd public/publish/docker/linux-${p}-x64/${f}
|
||||
docker buildx build -f ${target}/public/publish/docker/linux-${p}-x64/${f}/Dockerfile-${p} --platform="linux/x86_64" --force-rm -t "${image}-${p}-x64:latest" -t "${image}-${p}-x64:v1.9.6" . --push
|
||||
cd ../../../../../shells
|
||||
cd ../../../../../
|
||||
|
||||
|
||||
cd ../public/publish/docker/linux-${p}-arm64/${f}
|
||||
cd public/publish/docker/linux-${p}-arm64/${f}
|
||||
docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm64/${f}/Dockerfile-${p} --platform="linux/arm64" --force-rm -t "${image}-${p}-arm64:latest" -t "${image}-${p}-arm64:v1.9.6" . --push
|
||||
cd ../../../../../shells
|
||||
cd ../../../../../
|
||||
|
||||
cd ../public/publish/docker/linux-${p}-arm/${f}
|
||||
cd public/publish/docker/linux-${p}-arm/${f}
|
||||
docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm/${f}/Dockerfile-${p} --platform="linux/arm/v7" --force-rm -t "${image}-${p}-arm:latest" -t "${image}-${p}-arm:v1.9.6" . --push
|
||||
cd ../../../../../shells
|
||||
cd ../../../../../
|
||||
done
|
||||
done
|
||||
@@ -1,44 +1,46 @@
|
||||
target=$(cd $(dirname $0); pwd)
|
||||
target=$(cd $(dirname $0)/..; pwd)
|
||||
|
||||
cd ../
|
||||
|
||||
rs=('x64' 'arm64' 'arm')
|
||||
index=0
|
||||
|
||||
cd ../src/linker.web
|
||||
cd src/linker.web
|
||||
npm install &&
|
||||
npm run build &&
|
||||
cd ../../
|
||||
|
||||
for r in ${rs[@]}
|
||||
do
|
||||
dotnet publish ../src/linker -c release -f net8.0 -o ../public/publish/${r} -r linux-musl-${r} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
cp -rf ../public/extends/any/web ../public/publish/${r}/web
|
||||
mkdir -p ../public/publish/${r}/configs
|
||||
mkdir -p ../public/publish/${r}/logs
|
||||
cp -rf ../src/linker/libmsquic-musl-${r}.so ../public/publish/${r}/libmsquic.so
|
||||
dotnet publish src/linker -c release -f net8.0 -o public/publish/${r} -r linux-musl-${r} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
cp -rf public/extends/any/web public/publish/${r}/web
|
||||
mkdir -p public/publish/${r}/configs
|
||||
mkdir -p public/publish/${r}/logs
|
||||
cp -rf src/linker/libmsquic-musl-${r}.so public/publish/${r}/libmsquic.so
|
||||
|
||||
mkdir -p ../public/publish-ipk/${r}
|
||||
cp -rf ../install-package/ipk/package/* ../public/publish-ipk/${r}/
|
||||
cp -rf ../install-package/ipk/libs/${r}/* ../public/publish-ipk/${r}/data/
|
||||
mkdir -p ../public/publish-ipk/${r}/data/usr/bin/linker
|
||||
cp -rf ../public/publish/${r}/* ../public/publish-ipk/${r}/data/usr/bin/linker/
|
||||
mkdir -p public/publish-ipk/${r}
|
||||
cp -rf install-package/ipk/package/* public/publish-ipk/${r}/
|
||||
cp -rf install-package/ipk/libs/${r}/* public/publish-ipk/${r}/data/
|
||||
mkdir -p public/publish-ipk/${r}/data/usr/bin/linker
|
||||
cp -rf public/publish/${r}/* public/publish-ipk/${r}/data/usr/bin/linker/
|
||||
|
||||
sed -i "s|{version}|1.9.6|g" ../public/publish-ipk/${r}/control/control
|
||||
sed -i 's/\r$//' ../public/publish-ipk/${r}/data/etc/init.d/linker
|
||||
sed -i 's/\r$//' ../public/publish-ipk/${r}/control/control
|
||||
sed -i 's/\r$//' ../public/publish-ipk/${r}/control/postinst
|
||||
sed -i 's/\r$//' ../public/publish-ipk/${r}/control/prerm
|
||||
sed -i "s|{version}|1.9.6|g" public/publish-ipk/${r}/control/control
|
||||
sed -i 's/\r$//' public/publish-ipk/${r}/data/etc/init.d/linker
|
||||
sed -i 's/\r$//' public/publish-ipk/${r}/control/control
|
||||
sed -i 's/\r$//' public/publish-ipk/${r}/control/postinst
|
||||
sed -i 's/\r$//' public/publish-ipk/${r}/control/prerm
|
||||
|
||||
chmod +x ../public/publish-ipk/${r}/data/etc/init.d/linker
|
||||
chmod +x ../public/publish-ipk/${r}/control/control
|
||||
chmod +x ../public/publish-ipk/${r}/control/postinst
|
||||
chmod +x ../public/publish-ipk/${r}/control/prerm
|
||||
chmod +x public/publish-ipk/${r}/data/etc/init.d/linker
|
||||
chmod +x public/publish-ipk/${r}/control/control
|
||||
chmod +x public/publish-ipk/${r}/control/postinst
|
||||
chmod +x public/publish-ipk/${r}/control/prerm
|
||||
|
||||
cd ../public/publish-ipk/${r}
|
||||
cd public/publish-ipk/${r}
|
||||
tar -czf data.tar.gz -C data/ .
|
||||
tar -czf control.tar.gz -C control/ .
|
||||
echo "2.0" > debian-binary
|
||||
tar -czf linker-${r}.ipk debian-binary data.tar.gz control.tar.gz
|
||||
cd ../../../shells
|
||||
cd ../../../
|
||||
|
||||
((index++))
|
||||
done
|
||||
@@ -3,39 +3,41 @@
|
||||
SET sdkpath=%1
|
||||
if "%sdkpath%"=="" (SET sdkpath="D:\\Android\\android-sdk")
|
||||
|
||||
rd /s /q ..\\public\\extends
|
||||
rd /s /q ..\\public\\publish
|
||||
rd /s /q ..\\public\\publish-zip
|
||||
mkdir ..\\public\\publish-zip
|
||||
cd ../
|
||||
|
||||
rd /s /q public\\extends
|
||||
rd /s /q public\\publish
|
||||
rd /s /q public\\publish-zip
|
||||
mkdir public\\publish-zip
|
||||
|
||||
|
||||
cd ../src/linker.web
|
||||
cd src/linker.web
|
||||
call npm install
|
||||
call npm run build
|
||||
cd ../../
|
||||
|
||||
|
||||
echo F|xcopy "version.txt" "public\\version.txt" /f /h /y
|
||||
echo F|xcopy "shells\\version.txt" "public\\version.txt" /f /h /y
|
||||
|
||||
echo F|xcopy "..\\public\\extends\\any\\web\\*" "..\\src\\linker.app\\public\\web\\*" /s /f /h /y
|
||||
echo F|xcopy "public\\extends\\any\\web\\*" "src\\linker.app\\public\\web\\*" /s /f /h /y
|
||||
dotnet publish ./src/linker.app -c:Release -f:net8.0-android /p:AndroidUseApkSigner=true /p:AndroidPackageFormat=apk /p:AndroidKeyStore=true /p:AndroidSigningKeyStore=linker.jks /p:AndroidSigningStorePass=linker /p:AndroidSigningKeyAlias=linker /p:AndroidSigningKeyPass=linker /p:AndroidSdkDirectory=%sdkpath%
|
||||
echo F|xcopy "..\\src\\linker.app\\bin\\Release\\net8.0-android\\publish\\com.snltty.linker.app-Signed.apk" "..\\public\\publish-zip\\linker.apk" /s /f /h /y
|
||||
echo F|xcopy "src\\linker.app\\bin\\Release\\net8.0-android\\publish\\com.snltty.linker.app-Signed.apk" "public\\publish-zip\\linker.apk" /s /f /h /y
|
||||
|
||||
for %%r in (win-x86,win-x64,win-arm64) do (
|
||||
echo F|xcopy "..\\src\\linker.tray.win\\dist\\*" "..\\public\\extends\\%%r\\linker-%%r\\*" /s /f /h /y
|
||||
echo F|xcopy "..\\src\\linker.route.win\\dist\\*" "..\\public\\extends\\%%r\\linker-%%r\\*" /s /f /h /y
|
||||
echo F|xcopy "..\\src\\linker\\msquic.dll" "..\\public\\extends\\%%r\\linker-%%r\\msquic.dll" /s /f /h /y
|
||||
echo F|xcopy "..\\src\\linker\\msquic-%%r.dll" "..\\public\\extends\\%%r\\linker-%%r\\msquic.dll" /s /f /h /y
|
||||
echo F|xcopy "..\\src\\linker\\msquic-openssl3-%%r.dll" "..\\public\\extends\\%%r\\linker-%%r\\msquic-openssl.dll" /s /f /h /y
|
||||
echo F|xcopy "..\\src\\linker\\wintun-%%r.dll" "..\\public\\extends\\%%r\\linker-%%r\\wintun.dll" /s /f /h /y
|
||||
echo F|xcopy "src\\linker.tray.win\\dist\\*" "public\\extends\\%%r\\linker-%%r\\*" /s /f /h /y
|
||||
echo F|xcopy "src\\linker.route.win\\dist\\*" "public\\extends\\%%r\\linker-%%r\\*" /s /f /h /y
|
||||
echo F|xcopy "src\\linker\\msquic.dll" "public\\extends\\%%r\\linker-%%r\\msquic.dll" /s /f /h /y
|
||||
echo F|xcopy "src\\linker\\msquic-%%r.dll" "public\\extends\\%%r\\linker-%%r\\msquic.dll" /s /f /h /y
|
||||
echo F|xcopy "src\\linker\\msquic-openssl3-%%r.dll" "public\\extends\\%%r\\linker-%%r\\msquic-openssl.dll" /s /f /h /y
|
||||
echo F|xcopy "src\\linker\\wintun-%%r.dll" "public\\extends\\%%r\\linker-%%r\\wintun.dll" /s /f /h /y
|
||||
)
|
||||
|
||||
for %%r in (win-x86,win-x64,win-arm64,linux-x64,linux-arm,linux-arm64,linux-musl-x64,linux-musl-arm,linux-musl-arm64) do (
|
||||
|
||||
dotnet publish ../src/linker -c release -f net8.0 -o ../public/publish/%%r/linker-%%r -r %%r -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=full -p:EventSourceSupport=false -p:DebugSymbols=true -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
echo F|xcopy "..\\public\\extends\\%%r\\linker-%%r\\*" "..\\public\\publish\\%%r\\linker-%%r\\*" /s /f /h /y
|
||||
dotnet publish src/linker -c release -f net8.0 -o public/publish/%%r/linker-%%r -r %%r -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=full -p:EventSourceSupport=false -p:DebugSymbols=true -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
echo F|xcopy "public\\extends\\%%r\\linker-%%r\\*" "public\\publish\\%%r\\linker-%%r\\*" /s /f /h /y
|
||||
|
||||
echo F|xcopy "..\\public\\extends\\any\\*" "..\\public\\publish\\%%r\\linker-%%r\\*" /s /f /h /y
|
||||
echo F|xcopy "public\\extends\\any\\*" "public\\publish\\%%r\\linker-%%r\\*" /s /f /h /y
|
||||
|
||||
7z a -tzip ../public/publish-zip/linker-%%r.zip ../public/publish/%%r/*
|
||||
7z a -tzip public/publish-zip/linker-%%r.zip public/publish/%%r/*
|
||||
)
|
||||
@@ -1,5 +1,5 @@
|
||||
v1.9.6
|
||||
2025-11-11 16:55:49
|
||||
2025-11-11 17:38:47
|
||||
1. 一些累计更新,一些BUG修复
|
||||
2. 优化客户端数据同步,减少服务器流量
|
||||
3. 去除cdkey,改为发电解锁中继速度
|
||||
57
shells/ymls/publish-docker.sh
Normal file
57
shells/ymls/publish-docker.sh
Normal file
@@ -0,0 +1,57 @@
|
||||
target=$(cd $(dirname $0)/..; pwd)
|
||||
image="snltty/linker"
|
||||
|
||||
cd ../
|
||||
|
||||
fs=('linker')
|
||||
ps=('musl' 'debian' 'kvm')
|
||||
rs=('x64' 'arm64' 'arm')
|
||||
|
||||
cd src/linker.web
|
||||
npm install &&
|
||||
npm run build &&
|
||||
cd ../../
|
||||
|
||||
for f in ${fs[@]}
|
||||
do
|
||||
for p in ${ps[@]}
|
||||
do
|
||||
for r in ${rs[@]}
|
||||
do
|
||||
rr=linux-${p}-${r}
|
||||
if [ $p = "debian" ]
|
||||
then
|
||||
rr=linux-${r}
|
||||
fi
|
||||
if [ $p = "kvm" ]
|
||||
then
|
||||
rr=linux-${r}
|
||||
fi
|
||||
dotnet publish src/${f} -c release -f net8.0 -o public/publish/docker/linux-${p}-${r}/${f} -r ${rr} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
cp -rf src/linker/Dockerfile-${p} public/publish/docker/linux-${p}-${r}/${f}/Dockerfile-${p}
|
||||
cp -rf public/extends/any/web public/publish/docker/linux-${p}-${r}/${f}/web
|
||||
mkdir -p public/publish/docker/linux-${p}-${r}/${f}/configs
|
||||
mkdir -p public/publish/docker/linux-${p}-${r}/${f}/logs
|
||||
if [ $p = "musl" ]
|
||||
then
|
||||
cp -rf src/linker/libmsquic-musl-${r}.so public/publish/docker/linux-${p}-${r}/${f}/libmsquic.so
|
||||
fi
|
||||
if [ $p = "kvm" ]
|
||||
then
|
||||
cp -rf ../install-package/kvm/ public/publish/docker/linux-${p}-${r}/${f}/kvm/
|
||||
fi
|
||||
done
|
||||
cd public/publish/docker/linux-${p}-x64/${f}
|
||||
docker buildx build -f ${target}/public/publish/docker/linux-${p}-x64/${f}/Dockerfile-${p} --platform="linux/x86_64" --force-rm -t "${image}-${p}-x64:latest" -t "${image}-${p}-x64:v{{version}}" . --push
|
||||
cd ../../../../../
|
||||
|
||||
|
||||
cd public/publish/docker/linux-${p}-arm64/${f}
|
||||
docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm64/${f}/Dockerfile-${p} --platform="linux/arm64" --force-rm -t "${image}-${p}-arm64:latest" -t "${image}-${p}-arm64:v{{version}}" . --push
|
||||
cd ../../../../../
|
||||
|
||||
cd public/publish/docker/linux-${p}-arm/${f}
|
||||
docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm/${f}/Dockerfile-${p} --platform="linux/arm/v7" --force-rm -t "${image}-${p}-arm:latest" -t "${image}-${p}-arm:v{{version}}" . --push
|
||||
cd ../../../../../
|
||||
done
|
||||
done
|
||||
46
shells/ymls/publish-ipk.sh
Normal file
46
shells/ymls/publish-ipk.sh
Normal file
@@ -0,0 +1,46 @@
|
||||
target=$(cd $(dirname $0)/..; pwd)
|
||||
|
||||
cd ../
|
||||
|
||||
rs=('x64' 'arm64' 'arm')
|
||||
index=0
|
||||
|
||||
cd src/linker.web
|
||||
npm install &&
|
||||
npm run build &&
|
||||
cd ../../
|
||||
|
||||
for r in ${rs[@]}
|
||||
do
|
||||
dotnet publish src/linker -c release -f net8.0 -o public/publish/${r} -r linux-musl-${r} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
cp -rf public/extends/any/web public/publish/${r}/web
|
||||
mkdir -p public/publish/${r}/configs
|
||||
mkdir -p public/publish/${r}/logs
|
||||
cp -rf src/linker/libmsquic-musl-${r}.so public/publish/${r}/libmsquic.so
|
||||
|
||||
mkdir -p public/publish-ipk/${r}
|
||||
cp -rf install-package/ipk/package/* public/publish-ipk/${r}/
|
||||
cp -rf install-package/ipk/libs/${r}/* public/publish-ipk/${r}/data/
|
||||
mkdir -p public/publish-ipk/${r}/data/usr/bin/linker
|
||||
cp -rf public/publish/${r}/* public/publish-ipk/${r}/data/usr/bin/linker/
|
||||
|
||||
sed -i "s|{version}|{{version}}|g" public/publish-ipk/${r}/control/control
|
||||
sed -i 's/\r$//' public/publish-ipk/${r}/data/etc/init.d/linker
|
||||
sed -i 's/\r$//' public/publish-ipk/${r}/control/control
|
||||
sed -i 's/\r$//' public/publish-ipk/${r}/control/postinst
|
||||
sed -i 's/\r$//' public/publish-ipk/${r}/control/prerm
|
||||
|
||||
chmod +x public/publish-ipk/${r}/data/etc/init.d/linker
|
||||
chmod +x public/publish-ipk/${r}/control/control
|
||||
chmod +x public/publish-ipk/${r}/control/postinst
|
||||
chmod +x public/publish-ipk/${r}/control/prerm
|
||||
|
||||
cd public/publish-ipk/${r}
|
||||
tar -czf data.tar.gz -C data/ .
|
||||
tar -czf control.tar.gz -C control/ .
|
||||
echo "2.0" > debian-binary
|
||||
tar -czf linker-${r}.ipk debian-binary data.tar.gz control.tar.gz
|
||||
cd ../../../
|
||||
|
||||
((index++))
|
||||
done
|
||||
@@ -1,4 +1,6 @@
|
||||
target=$(cd $(dirname $0); pwd)
|
||||
target=$(cd $(dirname $0)/..; pwd)
|
||||
|
||||
cd ../
|
||||
|
||||
cd src/linker.web
|
||||
npm install &&
|
||||
BIN
src/linker.app/public/web/afdian.png
Normal file
BIN
src/linker.app/public/web/afdian.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
1
src/linker.app/public/web/css/199.9466b7c4.css
Normal file
1
src/linker.app/public/web/css/199.9466b7c4.css
Normal file
@@ -0,0 +1 @@
|
||||
.el-form-item[data-v-d15496e8]{margin-bottom:1rem}.el-transfer.src-tranfer .el-transfer__buttons .el-button{display:block}.el-transfer.src-tranfer .el-transfer__buttons .el-button:nth-child(2){margin:1rem 0 0 0}.head[data-v-389400a3]{margin-bottom:.6rem;color:#555;border:1px solid #eee;padding:0 1rem 1rem 1rem}html.dark .head[data-v-389400a3]{border-color:#575c61}.firewall.el-table .action-1{color:green}.firewall.el-table .action-2{color:#c83f08}.firewall-setting-wrap[data-v-c201dbbc]{padding:1rem;box-sizing:border-box;font-size:1.3rem}.firewall-setting-wrap .inner[data-v-c201dbbc]{width:100%;box-sizing:border-box}
|
||||
1
src/linker.app/public/web/css/341.fad846e3.css
Normal file
1
src/linker.app/public/web/css/341.fad846e3.css
Normal file
@@ -0,0 +1 @@
|
||||
.el-transfer.src-tranfer .el-transfer__buttons .el-button{display:block}.el-transfer.src-tranfer .el-transfer__buttons .el-button:nth-child(2){margin:1rem 0 0 0}.el-form-item[data-v-26eb3ac8]{margin-bottom:1rem}.el-input-number--small[data-v-26eb3ac8]{width:10rem!important}.blue[data-v-92ae2ca2]{color:#409eff}.el-checkbox[data-v-92ae2ca2]{font-weight:100}a.a-edit .el-icon[data-v-92ae2ca2]{vertical-align:middle}.el-form-item[data-v-b84ff358]{margin-bottom:1rem}.el-input-number--small[data-v-b84ff358]{width:10rem!important}.head .search>div[data-v-6d0f13ec]{margin-right:1rem}.page[data-v-6d0f13ec]{padding:2rem 0;display:inline-block}.el-form-item[data-v-6d0f13ec]{margin-bottom:1rem}.el-input-number--small[data-v-6d0f13ec]{width:10rem!important}.blue[data-v-198d2be3]{color:#409eff}a.a-edit[data-v-198d2be3]{margin-left:1rem}a.a-edit .el-icon[data-v-198d2be3]{vertical-align:middle}.el-form-item[data-v-06530694]{margin-bottom:1rem}.el-input-number--small[data-v-06530694]{width:10rem!important}.el-checkbox[data-v-09d3b4fe]{font-weight:100}a.a-edit .el-icon[data-v-09d3b4fe]{vertical-align:middle}.servers-wrap[data-v-6c813b26]{padding:1rem;font-size:1.3rem;color:#555}.servers-wrap a[data-v-6c813b26]{color:#333}
|
||||
1
src/linker.app/public/web/css/346.f76382cc.css
Normal file
1
src/linker.app/public/web/css/346.f76382cc.css
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/css/352.ab78cde5.css
Normal file
1
src/linker.app/public/web/css/352.ab78cde5.css
Normal file
@@ -0,0 +1 @@
|
||||
.el-form-item[data-v-9857fa74],.el-row[data-v-9857fa74]{width:100%}.el-form-item[data-v-9857fa74]:last-child{margin-bottom:0}@media screen and (max-width:768px){.el-col[data-v-9857fa74]{margin-top:.6rem}}.pages[data-v-7549387e]{padding:1rem 0 0 1rem}.page-wrap[data-v-7549387e]{display:inline-block}.logger-setting-wrap[data-v-7549387e]{padding:1rem;box-sizing:border-box}.logger-setting-wrap .inner[data-v-7549387e]{padding:1rem}.logger-setting-wrap .head[data-v-7549387e]{margin-bottom:1rem}.logger-content[data-v-7549387e]{width:100%;height:40rem;box-sizing:border-box;padding:1rem;margin-top:1rem;background:#f5f5f5;border:1px solid #eee;border-radius:4px;font-size:1.2rem;resize:none;outline:none;overflow:auto;white-space:nowrap}.logger-setting-wrap .el-table .type-0{color:#00f}.logger-setting-wrap .el-table .type-1{color:#333}.logger-setting-wrap .el-table .type-2{color:#cd9906}.logger-setting-wrap .el-table .type-3{color:red}.logger-setting-wrap .el-table .type-4{color:red;font-weight:700}
|
||||
1
src/linker.app/public/web/css/481.61ce8e19.css
Normal file
1
src/linker.app/public/web/css/481.61ce8e19.css
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/css/827.f47d7c8b.css
Normal file
1
src/linker.app/public/web/css/827.f47d7c8b.css
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/css/app.5f32f79a.css
Normal file
1
src/linker.app/public/web/css/app.5f32f79a.css
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>linker.web</title><link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/><script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script><script defer="defer" src="js/chunk-vendors.e9b4f2f4.js"></script><script defer="defer" src="js/app.e4721c3e.js"></script><link href="css/chunk-vendors.d8267b33.css" rel="stylesheet"><link href="css/app.e16885f2.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but linker.web doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>linker.web</title><link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/><script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script><script defer="defer" src="js/chunk-vendors.81dda515.js"></script><script defer="defer" src="js/app.650e2bec.js"></script><link href="css/chunk-vendors.d8267b33.css" rel="stylesheet"><link href="css/app.5f32f79a.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but linker.web doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
||||
1
src/linker.app/public/web/js/199.1ff12047.js
Normal file
1
src/linker.app/public/web/js/199.1ff12047.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[199],{2322:function(e,s,t){t.d(s,{A:function(){return b}});var n=t(6768),a=t(4232);const l={class:"t-c"},c={class:"t-c w-100 mgt-1"};function o(e,s,t,o,r,d){const i=(0,n.g2)("Share"),u=(0,n.g2)("el-icon"),m=(0,n.g2)("el-button"),h=(0,n.g2)("el-transfer"),f=(0,n.g2)("el-dialog"),k=(0,n.g2)("AccessBoolean");return(0,n.uX)(),(0,n.Wv)(k,{value:"Sync"},{default:(0,n.k6)((({values:t})=>[(0,n.Lk)("div",null,[(0,n.RG)(e.$slots,"default",{},(()=>[(0,n.bF)(m,{class:"btn",size:"small",onClick:e=>o.handleShowSync(t)},{default:(0,n.k6)((()=>[(0,n.bF)(u,null,{default:(0,n.k6)((()=>[(0,n.bF)(i)])),_:1})])),_:2},1032,["onClick"])])),(0,n.bF)(f,{class:"options-center",title:e.$t("server.sync"),"destroy-on-close":"",modelValue:o.state.showNames,"onUpdate:modelValue":s[2]||(s[2]=e=>o.state.showNames=e),width:"54rem",top:"2vh"},{default:(0,n.k6)((()=>[(0,n.Lk)("div",null,[(0,n.Lk)("div",l,(0,a.v_)(`${e.$t("server.sync")}【${e.$t(`server.async${o.state.name}`)}】${e.$t("server.asyncText")}`),1),(0,n.bF)(h,{class:"src-tranfer mgt-1",modelValue:o.state.srcIdValues,"onUpdate:modelValue":s[0]||(s[0]=e=>o.state.srcIdValues=e),filterable:"","filter-method":o.srcFilterMethod,data:o.state.srcIds,titles:[e.$t("firewall.unselect"),e.$t("firewall.selected")],props:{key:"MachineId",label:"MachineName"}},null,8,["modelValue","filter-method","data","titles"]),(0,n.Lk)("div",c,[(0,n.bF)(m,{onClick:s[1]||(s[1]=e=>o.state.showNames=!1)},{default:(0,n.k6)((()=>[(0,n.eW)((0,a.v_)(e.$t("common.cancel")),1)])),_:1}),(0,n.bF)(m,{type:"primary",onClick:o.handleConfirm},{default:(0,n.k6)((()=>[(0,n.eW)((0,a.v_)(e.$t("common.confirm")),1)])),_:1},8,["onClick"])])])])),_:1},8,["title","modelValue"])])])),_:3})}var r=t(9299),d=t(4);const i=e=>(0,d.zG)("sync/Sync",e);var u=t(3830),m=t(7477),h=t(1219),f=t(144),k=t(5931),v={props:["name"],components:{Share:m.SYj},setup(e){const{t:s}=(0,k.s9)(),t=((0,u.B)(),(0,f.Kh)({name:e.name,loading:!1,showNames:!1,srcIdValues:[],srcIds:[]})),n=()=>{i({names:[e.name],ids:t.srcIdValues}).then((e=>{h.nk.success(s("common.oper")),t.showNames=!1}))},a=e=>{e.Sync?(t.showNames=!0,l()):h.nk.success(s("common.access"))},l=()=>{t.loading=!0,(0,r.NT)().then((e=>{t.loading=!1,t.srcIds=e})).catch((e=>{t.loading=!1}))},c=(e,s)=>s.MachineName.toLowerCase().includes(e.toLowerCase());return{state:t,handleShowSync:a,srcFilterMethod:c,handleConfirm:n}}},w=t(1241);const p=(0,w.A)(v,[["render",o]]);var b=p},2102:function(e,s,t){t.r(s),t.d(s,{default:function(){return m}});var n=t(6768);const a={class:"firewall-setting-wrap flex flex-column h-100"},l={class:"inner"};function c(e,s,t,c,o,r){const d=(0,n.g2)("Firewall");return(0,n.uX)(),(0,n.CE)("div",a,[(0,n.Lk)("div",l,[(0,n.bF)(d)])])}var o=t(144),r=t(5563),d={components:{Firewall:r.A},setup(e,{emit:s}){const t=(0,o.Kh)({});return{state:t}}},i=t(1241);const u=(0,i.A)(d,[["render",c],["__scopeId","data-v-c201dbbc"]]);var m=u}}]);
|
||||
1
src/linker.app/public/web/js/336.29203c2a.js
Normal file
1
src/linker.app/public/web/js/336.29203c2a.js
Normal file
File diff suppressed because one or more lines are too long
277
src/linker.app/public/web/js/341.527c6182.js
Normal file
277
src/linker.app/public/web/js/341.527c6182.js
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/js/346.f8ade9b2.js
Normal file
1
src/linker.app/public/web/js/346.f8ade9b2.js
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/js/352.b3a240fc.js
Normal file
1
src/linker.app/public/web/js/352.b3a240fc.js
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/js/481.402e3592.js
Normal file
1
src/linker.app/public/web/js/481.402e3592.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[481],{5027:function(e,a,n){n.r(a),n.d(a,{default:function(){return V}});var t=n(6768);const l={class:"net-wrap app-wrap"},s={class:"inner absolute flex flex-column flex-nowrap"},i={class:"head"},u={class:"body flex-1 relative"},r={class:"status"};function c(e,a,n,c,d,o){const g=(0,t.g2)("Head"),p=(0,t.g2)("List"),v=(0,t.g2)("Status");return(0,t.uX)(),(0,t.CE)("div",l,[(0,t.Lk)("div",s,[(0,t.Lk)("div",i,[(0,t.bF)(g)]),(0,t.Lk)("div",u,[(0,t.bF)(p)]),(0,t.Lk)("div",r,[(0,t.bF)(v,{config:!1})])])])}var d=n(4232);const o=e=>((0,t.Qi)("data-v-1cb47bd6"),e=e(),(0,t.jt)(),e),g={class:"head-wrap"},p={class:"tools flex"},v={class:"label"},h=o((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),f={style:{"margin-left":"1rem"}};function k(e,a,n,l,s,i){const u=(0,t.g2)("Refresh"),r=(0,t.g2)("el-icon"),c=(0,t.g2)("el-button"),o=(0,t.g2)("Background");return(0,t.uX)(),(0,t.CE)("div",g,[(0,t.Lk)("div",p,[(0,t.Lk)("span",v,"分组 : "+(0,d.v_)(l.state.group),1),h,(0,t.bF)(c,{size:"small",onClick:l.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)(" 刷新(F5)"),(0,t.bF)(r,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1})])),_:1},8,["onClick"]),(0,t.Lk)("div",f,[(0,t.bF)(o,{name:"net"})])])])}var b=n(3830),m=n(144),C=n(7477),L=n(8442),_={components:{Edit:C.ffu,Refresh:C.C42,Background:L.A},setup(){const e=(0,b.B)(),a=(0,m.Kh)({server:(0,t.EW)((()=>e.value.config.Client.Server.Host)),group:(0,t.EW)((()=>e.value.config.Client.Group.Name))}),n=()=>{window.location.reload()};return{state:a,handleRefresh:n}}},w=n(1241);const S=(0,w.A)(_,[["render",k],["__scopeId","data-v-1cb47bd6"]]);var x=S;const F=e=>((0,t.Qi)("data-v-3c358101"),e=e(),(0,t.jt)(),e),z={class:"net-list-wrap flex flex-column absolute"},E={class:"flex-1 scrollbar"},T={class:"flex"},I=F((()=>(0,t.Lk)("div",{class:"flex-1"},null,-1))),A={class:"tuntap"},P={class:"page t-c"},B={class:"page-wrap t-c"};function R(e,a,n,l,s,i){const u=(0,t.g2)("DeviceName"),r=(0,t.g2)("UpdaterBtn"),c=(0,t.g2)("TuntapShow"),d=(0,t.g2)("el-pagination");return(0,t.uX)(),(0,t.CE)("div",z,[(0,t.Lk)("div",E,[(0,t.Lk)("ul",null,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(l.devices.page.List,((e,a)=>((0,t.uX)(),(0,t.CE)("li",{key:a},[(0,t.Lk)("dl",null,[(0,t.Lk)("dt",T,[(0,t.Lk)("div",null,[(0,t.bF)(u,{item:e},null,8,["item"])]),I,(0,t.Lk)("div",null,[(0,t.bF)(r,{config:!1,item:e},null,8,["item"])])]),(0,t.Lk)("dd",A,[l.tuntap.list[e.MachineId]?((0,t.uX)(),(0,t.Wv)(c,{key:0,item:e},null,8,["item"])):(0,t.Q3)("",!0)])])])))),128))])]),(0,t.Lk)("div",P,[(0,t.Lk)("div",B,[(0,t.bF)(d,{size:"small",background:"",layout:"prev,pager, next","pager-count":5,total:l.devices.page.Count,"page-size":l.devices.page.Request.Size,"current-page":l.devices.page.Request.Page,onCurrentChange:l.handlePageChange,onSizeChange:l.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])])])}var y=n(5234),X=n(4373),U=n(5304),D=n(749),Q=n(7325),W=n(4312),H=n(3417),K=n(6978),N={components:{StarFilled:C.BQ2,UpdaterBtn:D.A,DeviceName:Q.A,TuntapShow:W.A},setup(e){(0,b.B)();const a=(0,m.Kh)({}),{devices:n,machineId:l,_getSignList:s,_getSignList1:i,handlePageChange:u,handlePageSizeChange:r,clearDevicesTimeout:c}=(0,X.r)(),{tuntap:d,_getTuntapInfo:o,handleTuntapRefresh:g,clearTuntapTimeout:p,handleTuntapEdit:v,sortTuntapIP:h}=(0,y.O)(),{_getUpdater:f,_subscribeUpdater:k,clearUpdaterTimeout:C}=(0,U.d)();(0,K.y)();(0,H.L2)();return(0,t.sV)((()=>{u(),g(),s(),i(),o(),f(),k()})),(0,t.hi)((()=>{c(),p(),C()})),{state:a,devices:n,machineId:l,handlePageChange:u,handlePageSizeChange:r,tuntap:d}}};const j=(0,w.A)(N,[["render",R],["__scopeId","data-v-3c358101"]]);var q=j,G=n(3606),M={components:{Head:x,List:q,Status:G.A},setup(){return document.addEventListener("contextmenu",(function(e){e.preventDefault()})),{}}};const O=(0,w.A)(M,[["render",c],["__scopeId","data-v-1d28a52a"]]);var V=O}}]);
|
||||
1
src/linker.app/public/web/js/522.868bfbaf.js
Normal file
1
src/linker.app/public/web/js/522.868bfbaf.js
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/js/563.8c2e22b1.js
Normal file
1
src/linker.app/public/web/js/563.8c2e22b1.js
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/js/635.9ad6ca69.js
Normal file
1
src/linker.app/public/web/js/635.9ad6ca69.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[635],{9783:function(e,n,t){t.r(n),t.d(n,{default:function(){return p}});var s=t(6768);const r={class:"wakeup-setting-wrap flex flex-column h-100"},u={class:"inner"};function a(e,n,t,a,c,i){const o=(0,s.g2)("Wakeup");return(0,s.uX)(),(0,s.CE)("div",r,[(0,s.Lk)("div",u,[(0,s.bF)(o)])])}var c=t(144),i=t(839),o={components:{Wakeup:i.A},setup(e,{emit:n}){const t=(0,c.Kh)({});return{state:t}}},k=t(1241);const l=(0,k.A)(o,[["render",a],["__scopeId","data-v-64398669"]]);var p=l}}]);
|
||||
1
src/linker.app/public/web/js/652.8f6c9353.js
Normal file
1
src/linker.app/public/web/js/652.8f6c9353.js
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/js/703.8d5fece9.js
Normal file
1
src/linker.app/public/web/js/703.8d5fece9.js
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/js/76.7b341b0a.js
Normal file
1
src/linker.app/public/web/js/76.7b341b0a.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[76],{6271:function(e,t,n){n.d(t,{A:function(){return y}});var a=n(6768),s=n(4232);const o={class:"flex"},c={class:"flex-1"},l={class:"t-c"};function r(e,t,n,r,d,i){const u=(0,a.g2)("Sync"),m=(0,a.g2)("el-input"),h=(0,a.g2)("el-button"),v=(0,a.g2)("el-card"),f=(0,a.gN)("trim");return(0,a.uX)(),(0,a.Wv)(v,{shadow:"never"},{header:(0,a.k6)((()=>[(0,a.Lk)("div",o,[(0,a.Lk)("span",c,(0,s.v_)(e.$t("action.text")),1),r.state.isSelf?((0,a.uX)(),(0,a.Wv)(u,{key:0,name:"ActionStatic"})):(0,a.Q3)("",!0)])])),footer:(0,a.k6)((()=>[(0,a.Lk)("div",l,[(0,a.bF)(h,{type:"success",onClick:r.handleSave},{default:(0,a.k6)((()=>[(0,a.eW)((0,s.v_)(e.$t("common.confirm")),1)])),_:1},8,["onClick"])])])),default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.bo)((0,a.bF)(m,{modelValue:r.state.data,"onUpdate:modelValue":t[0]||(t[0]=e=>r.state.data=e),rows:10,type:"textarea",resize:"none",onChange:r.handleSave},null,8,["modelValue","onChange"]),[[f]])])])),_:1})}var d=n(4);const i=e=>(0,d.zG)("action/GetServerArgs",e),u=e=>(0,d.zG)("action/SetServerArgs",e);var m=n(3830),h=n(1219),v=n(144),f=n(5931),k=n(2322),p={props:["machineId"],components:{Sync:k.A},setup(e){const{t:t}=(0,f.s9)(),n=(0,m.B)(),s=(0,v.Kh)({data:"",machineId:e.machineId||n.value.config.Client.Id,isSelf:(0,a.EW)((()=>s.machineId==n.value.config.Client.Id))}),o=()=>{i(s.machineId).then((e=>{s.data=e}))},c=()=>{try{if(s.data&&"object"!=typeof JSON.parse(s.data))return void h.nk.error(t("action.jsonError"))}catch(e){return void h.nk.error(t("action.jsonError"))}u({Key:s.machineId,Value:s.data}).then((()=>{h.nk.success(t("common.oper"))})).catch((e=>{console.log(e),h.nk.error(t("common.operFail"))}))};return(0,a.sV)((()=>{o()})),{state:s,handleSave:c}}},g=n(1241);const I=(0,g.A)(p,[["render",r]]);var y=I},2322:function(e,t,n){n.d(t,{A:function(){return I}});var a=n(6768),s=n(4232);const o={class:"t-c"},c={class:"t-c w-100 mgt-1"};function l(e,t,n,l,r,d){const i=(0,a.g2)("Share"),u=(0,a.g2)("el-icon"),m=(0,a.g2)("el-button"),h=(0,a.g2)("el-transfer"),v=(0,a.g2)("el-dialog"),f=(0,a.g2)("AccessBoolean");return(0,a.uX)(),(0,a.Wv)(f,{value:"Sync"},{default:(0,a.k6)((({values:n})=>[(0,a.Lk)("div",null,[(0,a.RG)(e.$slots,"default",{},(()=>[(0,a.bF)(m,{class:"btn",size:"small",onClick:e=>l.handleShowSync(n)},{default:(0,a.k6)((()=>[(0,a.bF)(u,null,{default:(0,a.k6)((()=>[(0,a.bF)(i)])),_:1})])),_:2},1032,["onClick"])])),(0,a.bF)(v,{class:"options-center",title:e.$t("server.sync"),"destroy-on-close":"",modelValue:l.state.showNames,"onUpdate:modelValue":t[2]||(t[2]=e=>l.state.showNames=e),width:"54rem",top:"2vh"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.Lk)("div",o,(0,s.v_)(`${e.$t("server.sync")}【${e.$t(`server.async${l.state.name}`)}】${e.$t("server.asyncText")}`),1),(0,a.bF)(h,{class:"src-tranfer mgt-1",modelValue:l.state.srcIdValues,"onUpdate:modelValue":t[0]||(t[0]=e=>l.state.srcIdValues=e),filterable:"","filter-method":l.srcFilterMethod,data:l.state.srcIds,titles:[e.$t("firewall.unselect"),e.$t("firewall.selected")],props:{key:"MachineId",label:"MachineName"}},null,8,["modelValue","filter-method","data","titles"]),(0,a.Lk)("div",c,[(0,a.bF)(m,{onClick:t[1]||(t[1]=e=>l.state.showNames=!1)},{default:(0,a.k6)((()=>[(0,a.eW)((0,s.v_)(e.$t("common.cancel")),1)])),_:1}),(0,a.bF)(m,{type:"primary",onClick:l.handleConfirm},{default:(0,a.k6)((()=>[(0,a.eW)((0,s.v_)(e.$t("common.confirm")),1)])),_:1},8,["onClick"])])])])),_:1},8,["title","modelValue"])])])),_:3})}var r=n(9299),d=n(4);const i=e=>(0,d.zG)("sync/Sync",e);var u=n(3830),m=n(7477),h=n(1219),v=n(144),f=n(5931),k={props:["name"],components:{Share:m.SYj},setup(e){const{t:t}=(0,f.s9)(),n=((0,u.B)(),(0,v.Kh)({name:e.name,loading:!1,showNames:!1,srcIdValues:[],srcIds:[]})),a=()=>{i({names:[e.name],ids:n.srcIdValues}).then((e=>{h.nk.success(t("common.oper")),n.showNames=!1}))},s=e=>{e.Sync?(n.showNames=!0,o()):h.nk.success(t("common.access"))},o=()=>{n.loading=!0,(0,r.NT)().then((e=>{n.loading=!1,n.srcIds=e})).catch((e=>{n.loading=!1}))},c=(e,t)=>t.MachineName.toLowerCase().includes(e.toLowerCase());return{state:n,handleShowSync:s,srcFilterMethod:c,handleConfirm:a}}},p=n(1241);const g=(0,p.A)(k,[["render",l]]);var I=g},4076:function(e,t,n){n.r(t),n.d(t,{default:function(){return u}});var a=n(6768);const s={class:"action-wrap"};function o(e,t,n,o,c,l){const r=(0,a.g2)("Action");return(0,a.uX)(),(0,a.CE)("div",s,[(0,a.bF)(r,{machineId:o.state.machineId},null,8,["machineId"])])}var c=n(144),l=n(6271),r={props:["machineId"],components:{Action:l.A},setup(e){const t=(0,c.Kh)({machineId:e.machineId});return{state:t}}},d=n(1241);const i=(0,d.A)(r,[["render",o],["__scopeId","data-v-768e8d60"]]);var u=i}}]);
|
||||
1
src/linker.app/public/web/js/761.f64d3283.js
Normal file
1
src/linker.app/public/web/js/761.f64d3283.js
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/js/827.67c0d5cf.js
Normal file
1
src/linker.app/public/web/js/827.67c0d5cf.js
Normal file
File diff suppressed because one or more lines are too long
1
src/linker.app/public/web/js/app.650e2bec.js
Normal file
1
src/linker.app/public/web/js/app.650e2bec.js
Normal file
File diff suppressed because one or more lines are too long
62
src/linker.app/public/web/js/chunk-vendors.81dda515.js
Normal file
62
src/linker.app/public/web/js/chunk-vendors.81dda515.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1,56 +0,0 @@
|
||||
target=$(cd $(dirname $0); pwd)
|
||||
image="snltty/linker"
|
||||
|
||||
|
||||
fs=('linker')
|
||||
ps=('musl' 'debian' 'kvm')
|
||||
rs=('x64' 'arm64' 'arm')
|
||||
|
||||
cd ../src/linker.web
|
||||
npm install &&
|
||||
npm run build &&
|
||||
cd ../../
|
||||
|
||||
for f in ${fs[@]}
|
||||
do
|
||||
for p in ${ps[@]}
|
||||
do
|
||||
for r in ${rs[@]}
|
||||
do
|
||||
rr=linux-${p}-${r}
|
||||
if [ $p = "debian" ]
|
||||
then
|
||||
rr=linux-${r}
|
||||
fi
|
||||
if [ $p = "kvm" ]
|
||||
then
|
||||
rr=linux-${r}
|
||||
fi
|
||||
dotnet publish ../src/${f} -c release -f net8.0 -o ../public/publish/docker/linux-${p}-${r}/${f} -r ${rr} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
cp -rf ../src/linker/Dockerfile-${p} ../public/publish/docker/linux-${p}-${r}/${f}/Dockerfile-${p}
|
||||
cp -rf ../public/extends/any/web ../public/publish/docker/linux-${p}-${r}/${f}/web
|
||||
mkdir -p ../public/publish/docker/linux-${p}-${r}/${f}/configs
|
||||
mkdir -p ../public/publish/docker/linux-${p}-${r}/${f}/logs
|
||||
if [ $p = "musl" ]
|
||||
then
|
||||
cp -rf ../src/linker/libmsquic-musl-${r}.so ../public/publish/docker/linux-${p}-${r}/${f}/libmsquic.so
|
||||
fi
|
||||
if [ $p = "kvm" ]
|
||||
then
|
||||
cp -rf ../install-package/kvm/ ../public/publish/docker/linux-${p}-${r}/${f}/kvm/
|
||||
fi
|
||||
done
|
||||
cd ../public/publish/docker/linux-${p}-x64/${f}
|
||||
docker buildx build -f ${target}/public/publish/docker/linux-${p}-x64/${f}/Dockerfile-${p} --platform="linux/x86_64" --force-rm -t "${image}-${p}-x64:latest" -t "${image}-${p}-x64:v{{version}}" . --push
|
||||
cd ../../../../../shells
|
||||
|
||||
|
||||
cd ../public/publish/docker/linux-${p}-arm64/${f}
|
||||
docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm64/${f}/Dockerfile-${p} --platform="linux/arm64" --force-rm -t "${image}-${p}-arm64:latest" -t "${image}-${p}-arm64:v{{version}}" . --push
|
||||
cd ../../../../../shells
|
||||
|
||||
cd ../public/publish/docker/linux-${p}-arm/${f}
|
||||
docker buildx build -f ${target}/public/publish/docker/linux-${p}-arm/${f}/Dockerfile-${p} --platform="linux/arm/v7" --force-rm -t "${image}-${p}-arm:latest" -t "${image}-${p}-arm:v{{version}}" . --push
|
||||
cd ../../../../../shells
|
||||
done
|
||||
done
|
||||
@@ -1,44 +0,0 @@
|
||||
target=$(cd $(dirname $0); pwd)
|
||||
|
||||
rs=('x64' 'arm64' 'arm')
|
||||
index=0
|
||||
|
||||
cd ../src/linker.web
|
||||
npm install &&
|
||||
npm run build &&
|
||||
cd ../../
|
||||
|
||||
for r in ${rs[@]}
|
||||
do
|
||||
dotnet publish ../src/linker -c release -f net8.0 -o ../public/publish/${r} -r linux-musl-${r} -p:PublishSingleFile=true --self-contained true -p:TrimMode=partial -p:TieredPGO=true -p:DebugType=none -p:EventSourceSupport=false -p:DebugSymbols=false -p:EnableCompressionInSingleFile=true -p:DebuggerSupport=false -p:EnableUnsafeBinaryFormatterSerialization=false -p:EnableUnsafeUTF7Encoding=false -p:HttpActivityPropagationSupport=false -p:InvariantGlobalization=true -p:MetadataUpdaterSupport=false -p:UseSystemResourceKeys=true -p:MetricsSupport=false -p:StackTraceSupport=false -p:XmlResolverIsNetworkingEnabledByDefault=false
|
||||
cp -rf ../public/extends/any/web ../public/publish/${r}/web
|
||||
mkdir -p ../public/publish/${r}/configs
|
||||
mkdir -p ../public/publish/${r}/logs
|
||||
cp -rf ../src/linker/libmsquic-musl-${r}.so ../public/publish/${r}/libmsquic.so
|
||||
|
||||
mkdir -p ../public/publish-ipk/${r}
|
||||
cp -rf ../install-package/ipk/package/* ../public/publish-ipk/${r}/
|
||||
cp -rf ../install-package/ipk/libs/${r}/* ../public/publish-ipk/${r}/data/
|
||||
mkdir -p ../public/publish-ipk/${r}/data/usr/bin/linker
|
||||
cp -rf ../public/publish/${r}/* ../public/publish-ipk/${r}/data/usr/bin/linker/
|
||||
|
||||
sed -i "s|{version}|{{version}}|g" ../public/publish-ipk/${r}/control/control
|
||||
sed -i 's/\r$//' ../public/publish-ipk/${r}/data/etc/init.d/linker
|
||||
sed -i 's/\r$//' ../public/publish-ipk/${r}/control/control
|
||||
sed -i 's/\r$//' ../public/publish-ipk/${r}/control/postinst
|
||||
sed -i 's/\r$//' ../public/publish-ipk/${r}/control/prerm
|
||||
|
||||
chmod +x ../public/publish-ipk/${r}/data/etc/init.d/linker
|
||||
chmod +x ../public/publish-ipk/${r}/control/control
|
||||
chmod +x ../public/publish-ipk/${r}/control/postinst
|
||||
chmod +x ../public/publish-ipk/${r}/control/prerm
|
||||
|
||||
cd ../public/publish-ipk/${r}
|
||||
tar -czf data.tar.gz -C data/ .
|
||||
tar -czf control.tar.gz -C control/ .
|
||||
echo "2.0" > debian-binary
|
||||
tar -czf linker-${r}.ipk debian-binary data.tar.gz control.tar.gz
|
||||
cd ../../../shells
|
||||
|
||||
((index++))
|
||||
done
|
||||
Reference in New Issue
Block a user