refactor: migrate base package run.halo.sharelink -> io.github.shirainbown.sharelink
CI / ci (push) Has been cancelled

Halo 应用市场审核意见:自有代码不得使用 run.halo 保留命名空间。
- 22 个 Java 文件包名整体迁移,官方 API(run.halo.app 等)引用保持不变
- gradle group 同步修改,版本号升至 1.1.1
- 扩展 @GVK group(sharelink.halo.run)未变,存量数据完全兼容
- 已在本机 Halo 2.25.4 完成升级回归:插件 STARTED、扩展 API 正常、/download 路由正常
This commit is contained in:
shirainbown
2026-08-03 12:24:54 +08:00
parent 2f631149eb
commit 260e9f9c14
24 changed files with 55 additions and 55 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ plugins {
id "run.halo.plugin.devtools" version "0.6.2"
}
group 'run.halo.sharelink'
group 'io.github.shirainbown.sharelink'
java {
toolchain {
+1 -1
View File
@@ -1 +1 @@
version=1.1.0
version=1.1.1
@@ -1,4 +1,4 @@
package run.halo.sharelink;
package io.github.shirainbown.sharelink;
import static run.halo.app.extension.index.IndexAttributeFactory.simpleAttribute;
@@ -8,9 +8,9 @@ import run.halo.app.extension.SchemeManager;
import run.halo.app.extension.index.IndexSpec;
import run.halo.app.plugin.BasePlugin;
import run.halo.app.plugin.PluginContext;
import run.halo.sharelink.model.DownloadRecord;
import run.halo.sharelink.model.DownloadResource;
import run.halo.sharelink.model.VerifiedDownloader;
import io.github.shirainbown.sharelink.model.DownloadRecord;
import io.github.shirainbown.sharelink.model.DownloadResource;
import io.github.shirainbown.sharelink.model.VerifiedDownloader;
@Component
public class SharelinkPlugin extends BasePlugin {
@@ -1,4 +1,4 @@
package run.halo.sharelink;
package io.github.shirainbown.sharelink;
import lombok.Data;
import lombok.RequiredArgsConstructor;
@@ -1,4 +1,4 @@
package run.halo.sharelink.console;
package io.github.shirainbown.sharelink.console;
import java.nio.charset.StandardCharsets;
import java.time.Instant;
@@ -32,10 +32,10 @@ import run.halo.app.extension.Metadata;
import run.halo.app.extension.PageRequestImpl;
import run.halo.app.extension.ReactiveExtensionClient;
import run.halo.app.extension.index.query.QueryFactory;
import run.halo.sharelink.model.DownloadRecord;
import run.halo.sharelink.model.DownloadResource;
import run.halo.sharelink.protect.UploadProtectFilter;
import run.halo.sharelink.reference.PostReferenceService;
import io.github.shirainbown.sharelink.model.DownloadRecord;
import io.github.shirainbown.sharelink.model.DownloadResource;
import io.github.shirainbown.sharelink.protect.UploadProtectFilter;
import io.github.shirainbown.sharelink.reference.PostReferenceService;
/**
* Console endpoints for download resource administration, mounted under
@@ -1,4 +1,4 @@
package run.halo.sharelink.download;
package io.github.shirainbown.sharelink.download;
/**
* Renders the self-contained HTML pages for the public download flow (no external CSS/JS
@@ -1,4 +1,4 @@
package run.halo.sharelink.download;
package io.github.shirainbown.sharelink.download;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Sort;
@@ -7,7 +7,7 @@ import reactor.core.publisher.Mono;
import run.halo.app.extension.ListOptions;
import run.halo.app.extension.ReactiveExtensionClient;
import run.halo.app.extension.index.query.QueryFactory;
import run.halo.sharelink.model.DownloadResource;
import io.github.shirainbown.sharelink.model.DownloadResource;
/**
* Shared lookup helpers for {@link DownloadResource}.
@@ -1,4 +1,4 @@
package run.halo.sharelink.download;
package io.github.shirainbown.sharelink.download;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -18,12 +18,12 @@ import run.halo.app.extension.GroupVersion;
import run.halo.app.extension.ListOptions;
import run.halo.app.extension.ReactiveExtensionClient;
import run.halo.app.extension.index.query.QueryFactory;
import run.halo.sharelink.SharelinkSettingConfigGetter;
import run.halo.sharelink.emailcode.EmailCodeManager;
import run.halo.sharelink.model.DownloadResource;
import run.halo.sharelink.util.EmailUtils;
import run.halo.sharelink.util.IpUtils;
import run.halo.sharelink.verify.VerifiedEmailService;
import io.github.shirainbown.sharelink.SharelinkSettingConfigGetter;
import io.github.shirainbown.sharelink.emailcode.EmailCodeManager;
import io.github.shirainbown.sharelink.model.DownloadResource;
import io.github.shirainbown.sharelink.util.EmailUtils;
import io.github.shirainbown.sharelink.util.IpUtils;
import io.github.shirainbown.sharelink.verify.VerifiedEmailService;
/**
* Public endpoint exchanging a (possibly verified) identity for a one-time download
@@ -1,4 +1,4 @@
package run.halo.sharelink.download;
package io.github.shirainbown.sharelink.download;
import java.time.Duration;
import java.time.Instant;
@@ -1,4 +1,4 @@
package run.halo.sharelink.download;
package io.github.shirainbown.sharelink.download;
import java.net.URI;
import java.nio.charset.StandardCharsets;
@@ -27,10 +27,10 @@ import run.halo.app.extension.ListOptions;
import run.halo.app.extension.Metadata;
import run.halo.app.extension.ReactiveExtensionClient;
import run.halo.app.extension.index.query.QueryFactory;
import run.halo.sharelink.SharelinkSettingConfigGetter;
import run.halo.sharelink.model.DownloadRecord;
import run.halo.sharelink.model.DownloadResource;
import run.halo.sharelink.util.IpUtils;
import io.github.shirainbown.sharelink.SharelinkSettingConfigGetter;
import io.github.shirainbown.sharelink.model.DownloadRecord;
import io.github.shirainbown.sharelink.model.DownloadResource;
import io.github.shirainbown.sharelink.util.IpUtils;
/**
* Public download routes, registered as {@link RouterFunction} beans which Halo collects
@@ -1,4 +1,4 @@
package run.halo.sharelink.download;
package io.github.shirainbown.sharelink.download;
import java.net.URI;
import java.net.URISyntaxException;
@@ -29,7 +29,7 @@ import run.halo.app.core.extension.attachment.Constant;
import run.halo.app.extension.MetadataUtil;
import run.halo.app.extension.ReactiveExtensionClient;
import run.halo.app.infra.ExternalUrlSupplier;
import run.halo.sharelink.model.DownloadResource;
import io.github.shirainbown.sharelink.model.DownloadResource;
/**
* Streams the attachment bytes of a download resource to the visitor.
@@ -1,4 +1,4 @@
package run.halo.sharelink.download;
package io.github.shirainbown.sharelink.download;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
@@ -1,10 +1,10 @@
package run.halo.sharelink.emailcode;
package io.github.shirainbown.sharelink.emailcode;
import java.net.URI;
import org.springframework.http.HttpStatus;
import org.springframework.web.server.ResponseStatusException;
import reactor.core.publisher.Mono;
import run.halo.sharelink.SharelinkSettingConfigGetter;
import io.github.shirainbown.sharelink.SharelinkSettingConfigGetter;
public interface EmailCodeManager {
@@ -1,4 +1,4 @@
package run.halo.sharelink.emailcode;
package io.github.shirainbown.sharelink.emailcode;
import java.security.MessageDigest;
import java.security.SecureRandom;
@@ -13,7 +13,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import reactor.core.publisher.Mono;
import reactor.core.scheduler.Schedulers;
import run.halo.sharelink.SharelinkSettingConfigGetter;
import io.github.shirainbown.sharelink.SharelinkSettingConfigGetter;
/**
* In-memory verification code store: one active code per email, one-time use, resend /
@@ -1,4 +1,4 @@
package run.halo.sharelink.emailcode;
package io.github.shirainbown.sharelink.emailcode;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@@ -1,4 +1,4 @@
package run.halo.sharelink.model;
package io.github.shirainbown.sharelink.model;
import java.time.Instant;
import lombok.Data;
@@ -1,4 +1,4 @@
package run.halo.sharelink.model;
package io.github.shirainbown.sharelink.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -1,4 +1,4 @@
package run.halo.sharelink.model;
package io.github.shirainbown.sharelink.model;
import java.time.Instant;
import lombok.Data;
@@ -1,4 +1,4 @@
package run.halo.sharelink.protect;
package io.github.shirainbown.sharelink.protect;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
@@ -24,8 +24,8 @@ import run.halo.app.core.extension.attachment.Attachment;
import run.halo.app.extension.ListOptions;
import run.halo.app.extension.ReactiveExtensionClient;
import run.halo.app.security.AdditionalWebFilter;
import run.halo.sharelink.download.InternalRequestSecret;
import run.halo.sharelink.model.DownloadResource;
import io.github.shirainbown.sharelink.download.InternalRequestSecret;
import io.github.shirainbown.sharelink.model.DownloadResource;
/**
* Blocks direct access to {@code /upload/**} permalinks of attachments that are
@@ -1,4 +1,4 @@
package run.halo.sharelink.reference;
package io.github.shirainbown.sharelink.reference;
import java.time.Duration;
import java.util.ArrayList;
@@ -18,7 +18,7 @@ import run.halo.app.core.extension.content.Post;
import run.halo.app.core.extension.content.Snapshot;
import run.halo.app.extension.ListOptions;
import run.halo.app.extension.ReactiveExtensionClient;
import run.halo.sharelink.model.DownloadResource;
import io.github.shirainbown.sharelink.model.DownloadResource;
/**
* Scans published posts for occurrences of {@code /download/{slug}} and produces a
@@ -1,4 +1,4 @@
package run.halo.sharelink.util;
package io.github.shirainbown.sharelink.util;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
@@ -1,4 +1,4 @@
package run.halo.sharelink.util;
package io.github.shirainbown.sharelink.util;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.server.reactive.ServerHttpRequest;
@@ -1,4 +1,4 @@
package run.halo.sharelink.verify;
package io.github.shirainbown.sharelink.verify;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -11,10 +11,10 @@ import org.springframework.web.server.ServerWebInputException;
import reactor.core.publisher.Mono;
import run.halo.app.core.extension.endpoint.CustomEndpoint;
import run.halo.app.extension.GroupVersion;
import run.halo.sharelink.SharelinkSettingConfigGetter;
import run.halo.sharelink.emailcode.EmailCodeManager;
import run.halo.sharelink.util.EmailUtils;
import run.halo.sharelink.util.IpUtils;
import io.github.shirainbown.sharelink.SharelinkSettingConfigGetter;
import io.github.shirainbown.sharelink.emailcode.EmailCodeManager;
import io.github.shirainbown.sharelink.util.EmailUtils;
import io.github.shirainbown.sharelink.util.IpUtils;
/**
* Public endpoints for the download email verification flow, mounted under
@@ -1,4 +1,4 @@
package run.halo.sharelink.verify;
package io.github.shirainbown.sharelink.verify;
import java.time.Instant;
import lombok.RequiredArgsConstructor;
@@ -8,9 +8,9 @@ import reactor.core.publisher.Mono;
import run.halo.app.extension.GroupVersionKind;
import run.halo.app.extension.Metadata;
import run.halo.app.extension.ReactiveExtensionClient;
import run.halo.sharelink.SharelinkSettingConfigGetter;
import run.halo.sharelink.model.VerifiedDownloader;
import run.halo.sharelink.util.EmailUtils;
import io.github.shirainbown.sharelink.SharelinkSettingConfigGetter;
import io.github.shirainbown.sharelink.model.VerifiedDownloader;
import io.github.shirainbown.sharelink.util.EmailUtils;
/**
* Unified "is this email verified" check for the download flow. Looks up this plugin's