Publish pending FNA themes, article layouts, tutorials and branding
12
AGENTS.md
@ -20,16 +20,20 @@ ## CFN系绘图接手
|
||||
|
||||
接手首张试画及提示词:/Users/hellcat/Documents/Codex/2026-10-23/cfn/outputs/cfn-tuxedo-cat-20261023.png 和同名txt。用户已认可风格并继续扩充;2026-10-26按授权与后续猫狗作品一起归档到Resource V2,并接入本地FNA_V3,未发布到线上。归档和栏目配图的唯一维护入口见[本地插画资源与配图](docs/maintenance/ILLUSTRATIONS.md)。
|
||||
|
||||
教程栏目现为“入门教程”(/client)和“综合教程”(/advanced,原进阶教程)。栏目改名、首篇重写、DNS进阶文章及内容回退见[教程栏目维护](docs/maintenance/TUTORIALS.md)。原七篇旧教程均已处理:迁移文归进阶,其余按Android、iOS、Mac和Linux重写;另有Windows纯入门与DNS进阶文章。正文、图解和关联已本地验收,本地内容不代表线上发布。
|
||||
教程栏目本地现为“新手教程”(/client,原入门教程)和“综合教程”(/advanced,原进阶教程)。栏目改名、首篇重写、DNS进阶文章及内容回退见[教程栏目维护](docs/maintenance/TUTORIALS.md)。原七篇旧教程均已处理:迁移文归进阶,其余按Android、iOS、Mac和Linux重写;另有Windows纯入门与DNS进阶文章。正文、图解和关联已本地验收,本地内容不代表线上发布。
|
||||
|
||||
## FNA 静态配图副本
|
||||
|
||||
2026-10-30起Resource保留原稿、图池和固定分配,FNA保存按内容去重的公开展示副本,由本站Nginx直接提供。同步、创建时校验、撤回、缓存与部署验收唯一正文见[静态配图副本](docs/maintenance/LOCAL_ILLUSTRATIONS.md)。用户访问图片不调用Resource、不执行PHP修复。2026-10-31明确源端删除/停用不影响FNA独立副本或已有文章关联,修复与恢复原图记录见[独立副本保留修复](docs/maintenance/INDEPENDENT_ILLUSTRATIONS_FIX_2026-10-31.md)。
|
||||
|
||||
2026-11-01本地新增八篇新手教程、置顶指引并将原七篇平台文章移入综合教程;免费节点页已接入指引。每篇新文独立设计主题封面并加网址水印。范围、回执与未上线边界见[新手教程调整](docs/maintenance/NEWCOMER_TUTORIALS_2026-11-01.md)。当前分类、文章与关系以写作索引为准,上述旧批次描述保留为历史。
|
||||
|
||||
## AI 文章写作(必读)
|
||||
|
||||
后续为 FNA_V3 选题、写作、重写、调整分类或撤下文章时,必须先读[AI写作与文章关联索引](docs/content/WRITING.md)。它是文章用途、稳定地址和正文关系的唯一登记入口。公开文章禁止出现“核对范围”“未实测”等内部核验/验收说明,具体禁止项与发布前检查按该写作规范执行;相关事实只留项目维护记录。写作时复用相关的下载、入门、进阶和排错内容,自然设置内链,并检查相关旧文是否需要补入口;完成后同步正文源、运行数据库和该索引,验收真实目标与锚点。未创建的文章不能编造链接,本地生效不能写成已上线;不自动开展全站重写或发布。
|
||||
|
||||
教程配图必须按[写作规范](docs/content/WRITING.md#教程双比例配图正式规则2026-11-01)交付3:2列表图和约2.4:1详情横幅:分别构图、统一纸艺质感、每篇不同场景、两图加网址水印;`cover`用于列表,`show_cover=false`,正文开头使用唯一`guide-figure tutorial-hero`。后续聊天及周期写作同样适用,发布前检查桌面和手机。
|
||||
|
||||
## 独立文章发布 API
|
||||
|
||||
用户已明确文章直接发布到 FNA_V3,不经过 ATOM。实现、调用契约、凭据边界及验收见[独立文章 API](docs/maintenance/EDITORIAL_API.md)。后续写稿使用本站草稿→签名预览→按hash发布→回执核对流程;相关旧文内链修改可同批提交。不要再用临时SQL脚本发布普通编辑文章。旧文首次接管必须显式指定原文章ID并保留URL;发布结果未知先查原请求UUID。代码已于2026-10-29随正式切换部署,生产临时编辑密钥在教程迁移后删除、接口默认关闭;后续按明确写作/发布任务临时启用并在完成后关闭,不扩大线上访问或发布范围。正式部署、备份、Git SHA及验收统一见[发布记录](docs/maintenance/RELEASE_PREFLIGHT_2026-10-28.md#正式切换2026-10-29)。
|
||||
@ -40,6 +44,12 @@ ## 独立文章发布 API
|
||||
|
||||
教程SEO、编辑API的IndexNow结果与重试、栏目sitemap的唯一维护说明见[教程SEO通知](docs/maintenance/EDITORIAL_INDEXNOW.md)。`sitemap: done`不代表搜索引擎已收到通知或已收录。
|
||||
|
||||
2026-11-01免费苹果ID详情页本地重设计:地区筛选、账号复制卡片、原始载荷保护、空记录与夜间模式见[苹果ID内容页维护](docs/maintenance/APPLE_ID_ARTICLE_LAYOUT.md)。仅本地,未部署;2026-11-02已补全82篇原始载荷复核,密码默认打码及显示/隐藏的维护和验收也见该文。
|
||||
|
||||
2026-11-01本地页头新增日间/夜间切换,默认跟随系统、手动选择持久化及窄屏验收见[主题切换维护](docs/maintenance/COLOR_SCHEME.md),未发布。
|
||||
|
||||
2026-11-02本地新增独立“看看资讯”栏目 `/news`,无文章、未发布;创建命令、分类备份及验收见[资讯栏目维护](docs/maintenance/NEWS.md)。
|
||||
|
||||
## SEO统一合同(2026-10-31)
|
||||
|
||||
首页、归档、教程、分页、索引、sitemap、内容更新时间和IndexNow统一按[SEO实施维护](docs/maintenance/SEO_IMPLEMENTATION_2026-10-31.md)。禁止恢复全query robots屏蔽、分页canonical第一页、按180天批量删正文、用点赞updated_at作为lastmod,或让源图删除影响本站独立副本。当前状态和未取得的搜索平台证据见该文档;实施不等于收录/排名已验证。
|
||||
|
||||
45
app/Console/Commands/OrganizeTutorials.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/** Category and pin metadata only; article bodies/categories are published through the editorial API. */
|
||||
final class OrganizeTutorials extends Command
|
||||
{
|
||||
protected $signature = 'tutorials:organize {--apply : Save the category name and pin the published guide}';
|
||||
|
||||
protected $description = 'Rename the beginner category and pin its verified guide, with a private metadata backup';
|
||||
|
||||
public function handle(): int
|
||||
{
|
||||
$category = DB::table('categories')->where('sSlug', config('tutorials.beginner_slug'))->where('iStatus', 1)->first();
|
||||
$guide = DB::table('articles')->where('sSlug', config('tutorials.guide_slug'))->where('iStatus', 1)->first();
|
||||
if (! $category || ! $guide || $guide->iCategoryId !== $category->id) {
|
||||
$this->error('Publish the guide in the beginner category before applying metadata.');
|
||||
return self::FAILURE;
|
||||
}
|
||||
$this->line(json_encode(['category' => $category->sSlug, 'name' => config('tutorials.beginner_name'), 'guide' => $guide->sSlug, 'pinned' => true], JSON_UNESCAPED_UNICODE));
|
||||
if (! $this->option('apply')) return self::SUCCESS;
|
||||
$backup = storage_path('app/private/editorial/tutorial-metadata-'.Str::uuid().'.json');
|
||||
$snapshot = ['category_id' => $category->id, 'sName' => $category->sName, 'guide_id' => $guide->id, 'iIsTop' => $guide->iIsTop];
|
||||
file_put_contents($backup, json_encode($snapshot, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
|
||||
chmod($backup, 0600);
|
||||
DB::transaction(function () use ($category, $guide) {
|
||||
$currentCategory = DB::table('categories')->where('id', $category->id)->lockForUpdate()->first();
|
||||
$currentGuide = DB::table('articles')->where('id', $guide->id)->lockForUpdate()->first();
|
||||
if ($currentCategory->sName !== $category->sName || $currentGuide->iCategoryId !== $category->id || ! $currentGuide->iStatus) {
|
||||
throw new \RuntimeException('Tutorial metadata changed; inspect before retrying.');
|
||||
}
|
||||
DB::table('categories')->where('id', $category->id)->update(['sName' => config('tutorials.beginner_name')]);
|
||||
DB::table('articles')->where('id', $guide->id)->update(['iIsTop' => 1]);
|
||||
});
|
||||
Cache::forget('global_nav_tree');
|
||||
\Spatie\ResponseCache\Facades\ResponseCache::clear();
|
||||
$this->info('Category renamed and guide pinned. Private backup: '.$backup);
|
||||
return self::SUCCESS;
|
||||
}
|
||||
}
|
||||
56
app/Console/Commands/SetupNewsCategory.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
final class SetupNewsCategory extends Command
|
||||
{
|
||||
protected $signature = 'news:setup {--apply : Create the news category}';
|
||||
protected $description = 'Create the 看看资讯 top-level category without changing existing content';
|
||||
|
||||
public function handle(): int
|
||||
{
|
||||
$existing = DB::table('categories')->where('sSlug', 'news')->orWhere('sName', '看看资讯')->get();
|
||||
if ($existing->isNotEmpty()) {
|
||||
if ($existing->count() !== 1 || $existing[0]->sSlug !== 'news'
|
||||
|| $existing[0]->sName !== '看看资讯' || (int) $existing[0]->iParentId !== 0 || (int) $existing[0]->iStatus !== 1) {
|
||||
$this->error('Conflicting news category; inspect before changing it.');
|
||||
return self::FAILURE;
|
||||
}
|
||||
$this->info('看看资讯 already exists at /news (id '.$existing[0]->id.').');
|
||||
return self::SUCCESS;
|
||||
}
|
||||
$this->line('Create 看看资讯 at /news, after existing top-level categories.');
|
||||
if (! $this->option('apply')) return self::SUCCESS;
|
||||
|
||||
$directory = storage_path('app/private/category-backups');
|
||||
if (! is_dir($directory)) mkdir($directory, 0700, true);
|
||||
$backup = $directory.'/news-'.Str::uuid().'.json';
|
||||
$before = DB::table('categories')->orderBy('id')->get();
|
||||
if (file_put_contents($backup, json_encode($before, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)) === false) {
|
||||
throw new \RuntimeException('Category backup failed.');
|
||||
}
|
||||
chmod($backup, 0600);
|
||||
$id = DB::transaction(function () {
|
||||
$rows = DB::table('categories')->lockForUpdate()->get();
|
||||
if ($rows->contains(fn ($row) => $row->sSlug === 'news' || $row->sName === '看看资讯')) {
|
||||
throw new \RuntimeException('Category state changed; rerun after inspection.');
|
||||
}
|
||||
return DB::table('categories')->insertGetId([
|
||||
'iParentId' => 0, 'sName' => '看看资讯', 'sSlug' => 'news',
|
||||
'sDescription' => '最新资讯与动态。',
|
||||
'iSort' => $rows->where('iParentId', 0)->max('iSort') + 1,
|
||||
'iStatus' => 1, 'sHtmlClass' => 'fas fa-newspaper',
|
||||
'iShowChildren' => 0, 'aBanner' => null, 'aOpt' => null,
|
||||
]);
|
||||
});
|
||||
Cache::forget('global_nav_tree');
|
||||
\Spatie\ResponseCache\Facades\ResponseCache::clear();
|
||||
$this->info('Created 看看资讯 at /news (id '.$id.'). Backup: '.$backup);
|
||||
return self::SUCCESS;
|
||||
}
|
||||
}
|
||||
@ -58,8 +58,6 @@ public function receive(Request $oRequest)
|
||||
$aPutField = [
|
||||
"iCategoryId" => $oCategory->id,
|
||||
"iLikeCount" => $aOpt["iLikeCount"] ?? "skip",
|
||||
"i7like" => $aOpt["i7like"] ?? "skip",
|
||||
"i365like" => $aOpt["i365like"] ?? "skip",
|
||||
"iIsTop" => $aOpt["iIsTop"] ?? "skip",
|
||||
"sThumb" => $aOpt["sThumb"] ?? "skip",
|
||||
];
|
||||
@ -72,6 +70,13 @@ public function receive(Request $oRequest)
|
||||
if (!$oArticle) {
|
||||
$oArticle = new Articles();
|
||||
$oArticle->sSlug = $sSlug;
|
||||
$overrides = [];
|
||||
foreach (['i7like' => 'seven_day', 'i365like' => 'yearly'] as $field => $key) {
|
||||
if (isset($aOpt[$field]) && $aOpt[$field] !== 'skip') $overrides[$key] = $aOpt[$field];
|
||||
}
|
||||
foreach (app(\App\Services\ArticleLikeDefaults::class)->newArticleFields('legacy_other', $overrides) as $field => $value) {
|
||||
$oArticle->{$field} = $value;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($aPutField as $k => $v) {
|
||||
@ -113,7 +118,6 @@ public function receiveShadowrocketids(Request $oRequest)
|
||||
$sSlug = 'ssi'.date("Ymd");
|
||||
// $sImgAuthor = "tg_xiuren_a";
|
||||
$sSubKey = $_ENV['site_code_short'].'::ssi';
|
||||
$i7like = $aData["7like"] ?? 0;
|
||||
|
||||
$oThumbNum = ArticleThumbNum::firstOrCreate(["author_code" => $sSubKey, "type" => "shadowrocketids"]);
|
||||
$iThumbNum = $oThumbNum->num;
|
||||
@ -156,7 +160,8 @@ public function receiveShadowrocketids(Request $oRequest)
|
||||
|
||||
// 只有新创建时才写入初始点赞数
|
||||
if (!$oArticle) {
|
||||
$aAttributes['i7like'] = $i7like;
|
||||
$overrides = isset($aData['7like']) ? ['seven_day' => $aData['7like']] : [];
|
||||
$aAttributes += app(\App\Services\ArticleLikeDefaults::class)->newArticleFields('shadowrocketids', $overrides);
|
||||
}
|
||||
|
||||
$oArticle = Articles::updateOrCreate(
|
||||
@ -192,7 +197,6 @@ public function receiveFreenode(Request $oRequest)
|
||||
$sSlug = 'fn'.date("Ymd");
|
||||
// $sImgAuthor = "tg_xiuren_a";
|
||||
$sSubKey = $_ENV['site_code_short'].'::fn';
|
||||
$i7like = $aArticle["7like"] ?? 0;
|
||||
|
||||
$oThumbNum = ArticleFreenodeThumbNum::firstOrCreate(["author_code" => $sSubKey]);
|
||||
$iThumbNum = $oThumbNum->num;
|
||||
@ -235,7 +239,8 @@ public function receiveFreenode(Request $oRequest)
|
||||
|
||||
// 只有新创建时才写入初始点赞数
|
||||
if (!$oArticle) {
|
||||
$aAttributes['i7like'] = $i7like;
|
||||
$overrides = isset($aArticle['7like']) ? ['seven_day' => $aArticle['7like']] : [];
|
||||
$aAttributes += app(\App\Services\ArticleLikeDefaults::class)->newArticleFields('freenode', $overrides);
|
||||
}
|
||||
|
||||
$oArticle = Articles::updateOrCreate(
|
||||
|
||||
79
app/Services/AppleIdArticleLayout.php
Normal file
@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use DOMDocument;
|
||||
use DOMElement;
|
||||
use DOMXPath;
|
||||
|
||||
/** Presentation-only adaptation: keep every original account/password pair intact. */
|
||||
final class AppleIdArticleLayout
|
||||
{
|
||||
public static function prepare(string $html): ?array
|
||||
{
|
||||
if (!preg_match('/免费苹果(?:账号|ID)/u', $html)) return null;
|
||||
$dom = new DOMDocument('1.0', 'UTF-8');
|
||||
$before = libxml_use_internal_errors(true);
|
||||
try {
|
||||
$dom->loadHTML('<?xml encoding="UTF-8"><html><body><div id="aid-root">'.str_replace(ArticleRecommendations::SLOT, '', $html).'</div></body></html>', LIBXML_NONET);
|
||||
$root = $dom->getElementById('aid-root');
|
||||
if (!$root) return null;
|
||||
$xpath = new DOMXPath($dom);
|
||||
$copies = $xpath->query('.//*[@data-clipboard-text]', $root);
|
||||
if (!$copies || $copies->length % 2) return null;
|
||||
// Empty historical updates are valid, but plaintext account rows must not disappear.
|
||||
if (!$copies->length && (preg_match('/账号[::]|密码[::]/u', $root->textContent)
|
||||
|| !$xpath->query('.//*[self::h1 or self::h2 or self::h3 or self::h4 or self::h5 or self::h6][starts-with(normalize-space(.), "免费苹果")]', $root)->length)) return null;
|
||||
|
||||
$result = ['accounts' => [], 'regions' => [], 'warnings' => [], 'intro' => '', 'outro' => ''];
|
||||
$containers = [];
|
||||
for ($i = 0; $i < $copies->length; $i += 2) {
|
||||
$account = $copies->item($i);
|
||||
$password = $copies->item($i + 1);
|
||||
$container = $account->parentNode;
|
||||
while ($container && $container !== $root && $container->parentNode !== $root) $container = $container->parentNode;
|
||||
// Unknown nesting, labels or additional copy controls retain the legacy rendering.
|
||||
if (!$container instanceof DOMElement || $container->parentNode !== $root || $container->tagName !== 'p') return null;
|
||||
$fields = $xpath->query('.//*[@data-clipboard-text]', $container);
|
||||
if ($fields->length !== 2 || !$fields->item(0)->isSameNode($account) || !$fields->item(1)->isSameNode($password)) return null;
|
||||
$text = self::text($container->textContent);
|
||||
if (!preg_match('/^账号[::]\s*.+[,,]\s*密码[::]\s*.+[,,]\s*地区[::]\s*(.*?)[,,]\s*检测时间[::]\s*(.*?)\s*$/u', $text, $match)) return null;
|
||||
$username = $account->getAttribute('data-clipboard-text');
|
||||
$secret = $password->getAttribute('data-clipboard-text');
|
||||
if ($username === '' || $secret === '') return null;
|
||||
$region = trim($match[1]);
|
||||
if ($region === '') $region = '未注明';
|
||||
$result['accounts'][] = ['account' => $username, 'password' => $secret, 'region' => $region, 'checked_at' => trim($match[2])];
|
||||
$result['regions'][$region] = ($result['regions'][$region] ?? 0) + 1;
|
||||
$containers[] = $container;
|
||||
}
|
||||
|
||||
$seenAccount = false;
|
||||
foreach (iterator_to_array($root->childNodes) as $node) {
|
||||
$isAccount = false;
|
||||
foreach ($containers as $container) if ($node->isSameNode($container)) { $isAccount = true; break; }
|
||||
if ($isAccount) { $seenAccount = true; continue; }
|
||||
$text = self::text($node->textContent);
|
||||
if ($text === '') continue;
|
||||
if ($node instanceof DOMElement && preg_match('/^免费苹果(?:账号|ID)/u', $text) && preg_match('/^h[1-6]$/', $node->tagName)) continue;
|
||||
if (str_contains($text, '必须从App Store登录') && str_contains($text, 'iCloud')) {
|
||||
$warning = preg_replace('/^[\x{26A0}\x{FE0F}\s]+/u', '', $text);
|
||||
if (!in_array($warning, $result['warnings'], true)) $result['warnings'][] = $warning;
|
||||
continue;
|
||||
}
|
||||
$result[$seenAccount ? 'outro' : 'intro'] .= $dom->saveHTML($node);
|
||||
}
|
||||
return $result;
|
||||
} catch (\Throwable) {
|
||||
return null;
|
||||
} finally {
|
||||
libxml_clear_errors();
|
||||
libxml_use_internal_errors($before);
|
||||
}
|
||||
}
|
||||
|
||||
private static function text(string $text): string
|
||||
{
|
||||
return trim(preg_replace('/\s+/u', ' ', $text));
|
||||
}
|
||||
}
|
||||
61
app/Services/ArticleLikeDefaults.php
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use InvalidArgumentException;
|
||||
|
||||
final class ArticleLikeDefaults
|
||||
{
|
||||
public function editorialCategory(string $slug): string
|
||||
{
|
||||
if ($slug === 'advanced') {
|
||||
return 'comprehensive';
|
||||
}
|
||||
|
||||
return in_array($slug, ['client', 'windows', 'andorid', 'ios', 'linux', 'mac'], true)
|
||||
? 'beginner' : 'editorial_other';
|
||||
}
|
||||
|
||||
/** @return array{seven_day:int, yearly:int, one_year:int} */
|
||||
public function resolve(string $type, array $overrides = []): array
|
||||
{
|
||||
$limits = ['seven_day' => 1000000, 'yearly' => 365, 'one_year' => 1000000];
|
||||
$settings = config('article_likes.'.$type);
|
||||
if (! is_array($settings)) {
|
||||
throw new InvalidArgumentException('Missing article like defaults: '.$type);
|
||||
}
|
||||
|
||||
$result = [];
|
||||
foreach ($limits as $key => $max) {
|
||||
// Site settings are authoritative, including zero. Incoming values
|
||||
// remain accepted for API compatibility but cannot change the policy.
|
||||
$value = $settings[$key] ?? null;
|
||||
if (is_array($value)) {
|
||||
if (count($value) !== 2 || ! array_is_list($value) || ! is_int($value[0]) || ! is_int($value[1])
|
||||
|| $value[0] < 0 || $value[1] > $max || $value[0] > $value[1]) {
|
||||
throw new InvalidArgumentException('Invalid article like range: '.$type.'.'.$key);
|
||||
}
|
||||
$value = random_int($value[0], $value[1]);
|
||||
}
|
||||
// Legacy callers historically submit numeric strings.
|
||||
if (is_string($value) && ctype_digit($value)) {
|
||||
$value = (int) $value;
|
||||
}
|
||||
if (! is_int($value) || $value < 0 || $value > $max) {
|
||||
throw new InvalidArgumentException('Invalid article like value: '.$type.'.'.$key);
|
||||
}
|
||||
$result[$key] = $value;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function newArticleFields(string $type, array $overrides = []): array
|
||||
{
|
||||
$values = $this->resolve($type, $overrides);
|
||||
|
||||
return ['i7like' => $values['seven_day'], 'i365like' => $values['yearly'],
|
||||
'iYearLikeTarget' => $values['one_year'], 'iYearLikeAdded' => 0,
|
||||
'sYearLikeStartedAt' => $values['one_year'] > 0 ? now() : null];
|
||||
}
|
||||
}
|
||||
@ -88,11 +88,8 @@ public function draft(array $input): array
|
||||
if (! $article) {
|
||||
// Freeze display offset and like defaults once; retries cannot redraw them.
|
||||
$item['display_offset_seconds'] = ($row['display_time_randomize'] ?? true) ? random_int(0, 21600) : 0;
|
||||
$item['like_settings'] = [
|
||||
'seven_day' => $row['like_settings']['seven_day'] ?? random_int(5, 35),
|
||||
'yearly' => $row['like_settings']['yearly'] ?? 50,
|
||||
'one_year' => $row['like_settings']['one_year'] ?? random_int(100, 500),
|
||||
];
|
||||
$defaults = app(\App\Services\ArticleLikeDefaults::class);
|
||||
$item['like_settings'] = $defaults->resolve($defaults->editorialCategory($category->sSlug), $row['like_settings'] ?? []);
|
||||
}
|
||||
$item['html'] = $this->renderer->render($item);
|
||||
if ($item['cover']) {
|
||||
|
||||
25
config/article_likes.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
// 新文章自动点赞默认值。整数表示固定值,[最小值, 最大值]表示随机整数(含两端);0表示关闭。
|
||||
// seven_day:前7天的增长额度;yearly:持续年度概率参数;one_year:一年内一次性额外额度。
|
||||
// 修改只影响之后新建的文章;编辑旧文章、重试草稿不会重置。本文件覆盖上游/API传值,0也优先。
|
||||
return [
|
||||
'beginner' => [ // 新手教程及其平台子栏目
|
||||
'seven_day' => [1, 18], 'yearly' => 50, 'one_year' => [50, 150],
|
||||
],
|
||||
'comprehensive' => [ // 综合教程
|
||||
'seven_day' => [1, 15], 'yearly' => 30, 'one_year' => [20, 80],
|
||||
],
|
||||
'editorial_other' => [ // 文章API创建的其他栏目
|
||||
'seven_day' => [1, 15], 'yearly' => 30, 'one_year' => [20, 80],
|
||||
],
|
||||
'freenode' => [ // 免费节点;忽略上游自动点赞值
|
||||
'seven_day' => [3, 32], 'yearly' => 0, 'one_year' => 0,
|
||||
],
|
||||
'shadowrocketids' => [ // 小火箭ID;忽略上游自动点赞值
|
||||
'seven_day' => [1, 12], 'yearly' => 0, 'one_year' => 0,
|
||||
],
|
||||
'legacy_other' => [ // 旧通用接收接口;同样由本站配置决定
|
||||
'seven_day' => 0, 'yearly' => 0, 'one_year' => 0,
|
||||
],
|
||||
];
|
||||
@ -2,6 +2,6 @@
|
||||
return [
|
||||
'brand' => env('SEO_BRAND', env('site_code_short') === 'cfn' ? 'ClashFreeNode' : env('APP_NAME', '网站')),
|
||||
'home_title' => env('SEO_HOME_TITLE', '免费节点与订阅使用指南'),
|
||||
'home_description' => '获取最近更新的免费节点与订阅,查看 Clash、V2ray 客户端入门教程和连接排错指南。资源状态随时间和网络环境变化。',
|
||||
'home_description' => '获取最近更新的免费节点与订阅,查看 Clash、V2ray 客户端新手教程和连接排错指南。资源状态随时间和网络环境变化。',
|
||||
'page_size' => env('page_limit', 10),
|
||||
];
|
||||
|
||||
15
config/tutorials.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'guide_slug' => 'getting-started',
|
||||
'beginner_slug' => 'client',
|
||||
'beginner_name' => '新手教程',
|
||||
// Dedicated platform mastheads; the /client overview intentionally has none.
|
||||
'category_banners' => [
|
||||
'windows' => ['image' => '/images/tutorial-categories/windows-paper-banner.jpg', 'title' => 'Windows'],
|
||||
'mac' => ['image' => '/images/tutorial-categories/mac-paper-banner.jpg', 'title' => 'Mac'],
|
||||
'andorid' => ['image' => '/images/tutorial-categories/android-paper-banner.jpg', 'title' => 'Android'],
|
||||
'ios' => ['image' => '/images/tutorial-categories/ios-paper-banner.jpg', 'title' => 'iPhone / iPad'],
|
||||
'linux' => ['image' => '/images/tutorial-categories/linux-paper-banner.jpg', 'title' => 'Linux'],
|
||||
],
|
||||
];
|
||||
@ -6,10 +6,10 @@
|
||||
"sha256": "c0742c8f7102ea2ebb70feea5caa9113ef032df54e2ab9d9097d797a5a12e92b"
|
||||
},
|
||||
"hn": {
|
||||
"path": "public/images/ads/hn-ad-compact-lowercase-20261031.png",
|
||||
"width": 2021,
|
||||
"path": "public/images/ads/hn-ad-compact-HardNerd-20261031.png",
|
||||
"width": 2020,
|
||||
"height": 778,
|
||||
"sha256": "6b1d981d4fe461d5f7a00f3f0ad79cad3ea92b767ddb13b5fd4acb1c9cb022ff"
|
||||
"sha256": "54372d16b924fa8e99dbae96e9f7fd8ef3d17f11879505024d897df8d57ffb7b"
|
||||
},
|
||||
"fuc": {
|
||||
"path": "public/images/ads/fuc-ad-compact-five-years-20261031.png",
|
||||
|
||||
@ -0,0 +1 @@
|
||||
Use case: text-localization. Edit the supplied existing HN advertisement. Replace ONLY lowercase brand wordmark "hardnerd" with EXACT case-sensitive "HardNerd": uppercase H, lowercase ard, uppercase N, lowercase erd. Spell H a r d N e r d. Keep the same gradient colors, clean bold font, approximate wordmark size, icon-to-wordmark gap, baseline, centered composition and generous brand-to-tagline spacing. Keep the H/lime-glasses icon EXACTLY unchanged. Keep white Chinese tagline EXACTLY "硬核架构,品质专线,全球网络畅通无阻", same small size and placement. Preserve background charcoal, teal/purple glow, wide dimensions, tiny 广告 and all other details. No additional changes.
|
||||
@ -12,9 +12,10 @@ # AI 写作与文章关联索引
|
||||
|
||||
## 1 写作前先确定读者要完成的任务
|
||||
|
||||
- 入门教程:以第一次使用为前提,讲准备、下载、安装、配置、使用和基本排错。不要把客户端迁移作为普通入门教程的主线。
|
||||
- 新手教程(原“入门教程”,URL仍为`/client`):以第一次使用为前提,讲准备、下载、安装、配置、使用和基本排错。不要把客户端迁移作为普通入门教程的主线。
|
||||
- 下载与选型:讲适用平台、版本/架构、官方来源和选哪个安装包;引用官方发布入口,不把未经验证的第三方包当官方下载。
|
||||
- 综合教程(栏目原名“进阶教程”,URL仍为`/advanced`):讲具体机制、配置取舍、迁移或专项排错,并链接读者需要的基础操作。
|
||||
- 看看资讯(`/news`):独立资讯栏目,2026-11-02本地建立,当前无文章、未发布;具体栏目维护见[资讯栏目](../maintenance/NEWS.md)。创建栏目不表示已授权自动采集或写作。
|
||||
- 资源与时效内容:区分长期说明和当天资源状态。长期教程优先链接稳定说明/栏目,不依赖会过期的某一天资源页。
|
||||
|
||||
先查询下表和当前数据库,再决定重写已有文章还是新增。主题相同优先完善唯一正文;不同平台可以分别写,但需要实际的平台差异。标题、开头、步骤和关联链接都应服务于同一个任务。
|
||||
@ -29,49 +30,85 @@ ## 1 写作前先确定读者要完成的任务
|
||||
|
||||
自然、准确地表达;必要时用真实操作图、流程图、配置示例。软件版本、下载入口与兼容要求使用当次核对的官方来源;来源核验、页面检查和设备实测分别记录,未做实测不写“实测”。
|
||||
|
||||
### 文章封面与水印(2026-11-01)
|
||||
|
||||
每次新写的每篇文章都须独立设计并生成主题图片;不复用同一底图换标题,不沿用单调的标题横线卡片。根据文章的设备、操作或机制构思不同场景、构图和配色,为文章生成与具体主题相符的封面图,并加上本站网址 **clashfreenode.com** 水印。用户提供的参考图以画面表达主题,角落有低调的站点署名;借鉴这种主题视觉与水印的关系,不照搬其他网站的名称、标志或固定版式。封面应适合本站缩略图裁切,在小尺寸下仍能看清主体和水印;文字优先使用中文,应用名称及品牌名保留原名,水印不遮挡关键信息。生成后检查实际渲染的品牌拼写、可读性和裁切效果,必要时调整;按文章API的图片上传与发布流程交付。
|
||||
|
||||
**统一画风,不统一模板(2026-11-01用户确认)**:教程封面采用“纸艺拼贴+微缩立体场景”(tactile papercraft / miniature diorama editorial illustration),保留纸张纤维与折叠、层叠色块、可信的物件体积、柔和定向光和自然投影。认可参考为[客户端下载图](tutorials/assets/newcomer/clients-cover.png)的设备陈列,以及[新手指引图](tutorials/assets/newcomer/start-paper-cover.png)的路线与关卡;二者质感相通,但场景与构图明显不同。每篇按主题重新设计视觉比喻、主体、镜头角度、构图与配色,不固定为设备托盘,不反复使用笔记本、山景屏幕、盆栽或同样的台座布局,不只换设备/标题/颜色。可以使用地图、建筑、机械、航行、城市网络等不同表现;这是举例,不是每篇必须套用的固定清单。既要表达文章主题,也要确保成组浏览时不重复。此规则只适用于教程封面,不改免费节点插画池。
|
||||
|
||||
封面图与正文里的操作截图、流程图用途不同,正文需要解释操作或机制时仍应提供对应图解。此要求自后续新文起执行,不自动更换已发布文章的封面。文章专题封面通过文章资产流程处理,不因此改动免费节点插画图池;CFN系独立插画仍遵循项目既有画师分工及交付流程。
|
||||
|
||||
### 教程双比例配图(正式规则,2026-11-01)
|
||||
|
||||
用户已确认试样并要求其他文章遵循此方式。**后续每篇新手/综合教程必须同时交付两张同主题、分别构图的图片**,不是仅适用于当前聊天或新手指引的临时试验:
|
||||
|
||||
- **列表缩略图:3:2。** 上传后写入文章 `cover`,主体和标题在列表小图中清晰;不要把列表图误认为正方形。
|
||||
- **详情头图:约2.4:1。** 为低矮宽画幅重新安排主体、文字和留白,完整展现主题;不可通过硬裁、拉伸或上下补空白把3:2图凑成横幅。两张图保持同一文章的主题与画风,不必复制物件位置。
|
||||
- 两图均按上一节的纸艺拼贴+微缩场景风格独立设计,带准确的 `clashfreenode.com` 水印;不同文章的视觉比喻、场景、配色和视角应有变化。正文操作截图及图解另按解释需要提供。
|
||||
|
||||
**发布实现必须一致:** `cover` 指向3:2缩略图,`show_cover=false`,详情横幅放在正文 `.tutorial-body` 开头,以唯一的 `figure.guide-figure.tutorial-hero` 包住图片。上传两张图片后使用API返回的实际 `asset:SHA256`,并填写实际宽高和说明性alt;不要把示例占位符直接发布:
|
||||
|
||||
```html
|
||||
<figure class="guide-figure tutorial-hero"><img src="asset:实际横幅SHA256" width="实际宽度" height="实际高度" alt="主题说明" decoding="async"></figure>
|
||||
```
|
||||
|
||||
现有 `tutorials.css` 使横幅占满正文宽度并等比显示。不得再打开默认头图造成重复,也不得给横幅设置固定高度裁切。改旧文时保留原 `cover`、日期、正文和点赞进度,只更新已获授权的图片内容;同步Markdown源、HTML渲染稿和文章版本索引。原图、交付JPG及完整提示词保存在文章资产目录,不依赖聊天临时文件。
|
||||
|
||||
发布前逐篇检查:列表仍使用3:2图;详情仅一张约2.4:1头图;桌面和手机无横向溢出;标题、水印、主体完整可读;图片加载成功;实际正文与缩略图分别使用正确资源。缺少任一配图或未完成检查时不能把文章标成全部完成。普通改稿不自动批量重画历史文章;本次已获授权推广的是2026-11-01这批8篇新手教程,回执与回退见[新手教程维护记录](../maintenance/NEWCOMER_TUTORIALS_2026-11-01.md)。
|
||||
|
||||
栏目banner与文章配图是不同资产:`/client` 总列表不显示大图;五个平台子栏目显示各自主题banner及动态名称/文章数量。栏目图不替代文章的两张配图,修改入口见[新手教程维护记录](../maintenance/NEWCOMER_TUTORIALS_2026-11-01.md)。
|
||||
|
||||
### 周期文章的展示时间(2026-10-31)
|
||||
|
||||
用户要求每天北京时间15:00检查周期计划,新文章展示日期从实际发布时间随机向前偏移0~21600秒(含端点)。API在新文草稿中冻结`display_offset_seconds`,首次发布计算独立的`sDisplayPublishedAt`;列表和详情沿原有日期显示样式使用该字段,未设置时使用真实创建时间。实际`created_at`、发布回执及点赞起点不改;重试、旧文编辑和回退不重抽、不改旧文展示时间。`display_time_randomize`只允许新建时设置,默认true,显式false为零偏移。不要把随机时间或内部执行过程写进公开正文。
|
||||
|
||||
### AI 新文章的点赞参数(2026-10-29)
|
||||
|
||||
后续AI通过本站独立文章API**新建文章**时使用以下默认设置,由API在保存草稿时为每篇独立取值并冻结;相同请求重试、查询预览及发布不重新抽取。重写、接管、回退已有文章不重置原参数、点赞数或已完成进度,不自动给现有文章批量补额度。
|
||||
后续AI通过本站独立文章API**新建文章**时由API在保存草稿时为每篇独立取默认值并冻结;相同请求重试、查询预览及发布不重新抽取。统一设置入口为[文章自动点赞配置](../../config/article_likes.php),配置文件覆盖上游/API传入的自动点赞数值,0也优先;分类与优先级见[自动点赞维护](../maintenance/ARTICLE_LIKES.md#新文章统一设置2026-11-01本地)。下表是现有默认值的说明,后续以配置文件的实际值为准;本次统一配置仅本地实现,未上线。重写、接管、回退已有文章不重置原参数、点赞数或已完成进度,不自动给现有文章批量补额度。
|
||||
|
||||
| 设置 | 默认值 | 含义 |
|
||||
| --- | --- | --- |
|
||||
| `i7like`,API `like_settings.seven_day` | 随机整数5~35,含端点 | 原有短期待增加额度,随原任务逐次扣减 |
|
||||
| `i365like`,API `like_settings.yearly` | 固定50 | 保留原持续年度随机机制:每天以50/365概率加1,长期平均每年约50赞,并非每年保证恰好50,不随一年结束停止 |
|
||||
| `iYearLikeTarget`,API `like_settings.one_year` | 随机整数100~500,含端点 | 新增一次性年度额度;设200表示独立累计自动增加200赞,不是总点赞数封顶200 |
|
||||
| `i7like`,API `like_settings.seven_day` | 新手1~18;综合/其他编辑1~15(含端点) | 原有短期待增加额度,随原任务逐次扣减 |
|
||||
| `i365like`,API `like_settings.yearly` | 新手50;综合/其他编辑30 | 保留原持续年度随机机制:每天以50/365概率加1,长期平均每年约50赞,并非每年保证恰好50,不随一年结束停止 |
|
||||
| `iYearLikeTarget`,API `like_settings.one_year` | 新手50~150;综合/其他编辑20~80(含端点) | 新增一次性年度额度;设200表示独立累计自动增加200赞,不是总点赞数封顶200 |
|
||||
|
||||
一次性年度额度从正式发布时开始,按实际经过时间在一个日历年内分散增加,`iYearLikeAdded`记录已增加数量,`sYearLikeStartedAt`记录开始时间;满额后该项停止,`i365like`持续增长和真实点赞继续独立计算。任务停机造成的欠额在恢复后补至应有进度;满一年后首次恢复会补完余额,不能在调度停机时凭空执行。
|
||||
|
||||
新文章可省略`like_settings`使用上述默认值,也可在创建草稿时显式提交`{"seven_day":12,"yearly":50,"one_year":200}`;0表示关闭对应机制。保存后检查草稿响应的`like_settings`,发布后从鉴权的`source-articles/{id}`响应`like_growth`回读确认。旧文章编辑不传此对象;API拒绝通过普通改稿重置额度。设置与进度只属于内部发布数据,不写进公开正文、摘要、图注或封面。
|
||||
新文章省略`like_settings`,由配置文件决定三个值;为兼容旧调用,接口仍校验该对象,但传入值不会覆盖本地配置。要关闭某项,在配置文件中设为0。保存后检查草稿响应的`like_settings`,发布后从鉴权的`source-articles/{id}`响应`like_growth`回读确认。旧文章编辑不传此对象;API拒绝通过普通改稿重置额度。设置与进度只属于内部发布数据,不写进公开正文、摘要、图注或封面。
|
||||
|
||||
具体字段、迁移、任务、测试与回退见[文章自动点赞维护](../maintenance/ARTICLE_LIKES.md)。这些默认值已于2026-10-29部署正式cfn,原每5分钟点赞任务已接入新增年度额度;本机仍未启动调度。按用户本次明确授权,正式10篇教程已补齐缺项:3篇全0新文补全部默认值,另外7篇仅补一次性年度额度并保留原参数。后续不自动重置已有文章,补配结果见上述维护记录。
|
||||
具体字段、迁移、任务、测试与回退见[文章自动点赞维护](../maintenance/ARTICLE_LIKES.md)。2026-10-29当时的默认值已部署正式cfn(不是2026-11-01本地的新范围和优先级),原每5分钟点赞任务已接入新增年度额度;本机仍未启动调度。按用户本次明确授权,正式10篇教程已补齐缺项:3篇全0新文补全部默认值,另外7篇仅补一次性年度额度并保留原参数。后续不自动重置已有文章,补配结果见上述维护记录。
|
||||
|
||||
## 2 当前文章登记
|
||||
|
||||
核对日期:2026-10-28;证据为本机 `fna_v3` 数据库及已有正文源。表中 `iStatus=1` 只代表本地应用可显示,**不代表已经发布到生产**。十篇长期教程均已新建或重写并在本地确认;原七篇旧教程已处理完毕,仍不据此判断生产站现状。
|
||||
本地登记更新:2026-11-01。新手栏目现有8篇新文,原7篇平台教程移至综合教程,URL、正文、日期和点赞进度保留。分类与新稿目前只在本地生效;历史文章的正式发布状态见各发布记录,不将本地状态当作生产状态。具体批次与回退见[新手教程调整](../maintenance/NEWCOMER_TUTORIALS_2026-11-01.md)。
|
||||
|
||||
ID用于核对本地行,站内链接使用已确认路径。跨环境迁移后重新核对ID,不能假定生产ID相同。
|
||||
|
||||
| 内容键 | 本地ID / 栏目 | 标题 | 实际路径 | 正文源 / 编辑状态 | 用途与引用边界 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| verge-windows-start | 362 / Windows(入门) | Clash Verge Rev 使用教程:从安装到第一次连接(Windows) | `/a/clash-verge-rev-windows.html` | [windows.md](tutorials/windows.md);本地API版本4 | Windows新用户操作入口;下载段落锚点为 `#install` |
|
||||
| verge-windows-start | 362 / 综合教程 | Clash Verge Rev 使用教程:从安装到第一次连接(Windows) | `/a/clash-verge-rev-windows.html` | [windows.md](tutorials/windows.md);本地API版本5 | Windows新用户操作入口;下载段落锚点为 `#install` |
|
||||
| cfw-to-verge | 212 / 综合教程 | 从 Clash for Windows 迁移到 Clash Verge Rev | `/a/m167.html` | [migration.md](tutorials/migration.md);本地API版本5 | 保留旧配置并更换客户端;不作为纯入门入口 |
|
||||
| mihomo-dns | 361 / 综合教程 | Clash 进阶:DNS 防泄漏配置与验证 | `/a/mihomo-dns-leak.html` | [dns.md](tutorials/dns.md);本地API版本6 | Mihomo桌面DNS专题,含配置片段与验证方法 |
|
||||
| cfa-android-legacy | 206 / Android(数据库名Andorid) | Clash Meta for Android 使用教程:导入订阅、选择节点与连接 | `/a/m169.html` | [clash-meta-android.md](tutorials/clash-meta-android.md);本地API版本6 | Android Clash配置入门;`#install` 安装、`#import` 导入;按MetaCubeX v2.11.36核对,保留原键和URL |
|
||||
| quantumult-ios-legacy | 207 / iOS(数据库名Ios) | Quantumult X 使用教程:iOS 安装、订阅导入与连接 | `/a/m170.html` | [quantumult-x-ios.md](tutorials/quantumult-x-ios.md);本地API版本5 | iPhone/iPad入门;区分原生资源与本站通用订阅,#parser 解释第三方资源解析器,#import 导入;无真机实测 |
|
||||
| v2rayng-android-legacy | 208 / Android(数据库名Andorid) | v2rayNG 使用教程:Android 安装、导入订阅与连接 | `/a/m171.html` | [v2rayng-android.md](tutorials/v2rayng-android.md);本地API版本7 | Android入门;`#install` 下载、`#import` 订阅导入;保留既有内容键和URL |
|
||||
| clashx-mac-legacy | 209 / Mac | Mac 代理客户端下载指南:ClashX 与 Clash Verge Rev 怎么选 | `/a/m172.html` | [mac-client-guide.md](tutorials/mac-client-guide.md);本地API版本5 | Mac选型与官方下载;#download 核对系统与芯片,链接实际安装教程;旧ClashX原入口不可核验不等于所有分支失效 |
|
||||
| cfw-mac-legacy | 210 / Mac | Clash Verge Rev 使用教程:Mac 安装、订阅与系统代理 | `/a/m173.html` | [verge-mac.md](tutorials/verge-mac.md);本地API版本2 | Mac操作入口;#install DMG安装,#import 订阅,系统代理与退出排错;无设备联网实测 |
|
||||
| cfw-linux-legacy | 211 / Linux | Clash Verge Rev 使用教程:Linux 安装、订阅与代理设置 | `/a/m174.html` | [verge-linux.md](tutorials/verge-linux.md);本地API版本5 | Linux桌面入门;#install 包格式与架构,#import 订阅,#terminal 单条curl代理验证;不适用于无桌面的服务器 |
|
||||
| cfa-android-legacy | 206 / 综合教程 | Clash Meta for Android 使用教程:导入订阅、选择节点与连接 | `/a/m169.html` | [clash-meta-android.md](tutorials/clash-meta-android.md);本地API版本7 | Android Clash配置入门;`#install` 安装、`#import` 导入;按MetaCubeX v2.11.36核对,保留原键和URL |
|
||||
| quantumult-ios-legacy | 207 / 综合教程 | Quantumult X 使用教程:iOS 安装、订阅导入与连接 | `/a/m170.html` | [quantumult-x-ios.md](tutorials/quantumult-x-ios.md);本地API版本6 | iPhone/iPad入门;区分原生资源与本站通用订阅,#parser 解释第三方资源解析器,#import 导入;无真机实测 |
|
||||
| v2rayng-android-legacy | 208 / 综合教程 | v2rayNG 使用教程:Android 安装、导入订阅与连接 | `/a/m171.html` | [v2rayng-android.md](tutorials/v2rayng-android.md);本地API版本8 | Android入门;`#install` 下载、`#import` 订阅导入;保留既有内容键和URL |
|
||||
| clashx-mac-legacy | 209 / 综合教程 | Mac 代理客户端下载指南:ClashX 与 Clash Verge Rev 怎么选 | `/a/m172.html` | [mac-client-guide.md](tutorials/mac-client-guide.md);本地API版本6 | Mac选型与官方下载;#download 核对系统与芯片,链接实际安装教程;旧ClashX原入口不可核验不等于所有分支失效 |
|
||||
| cfw-mac-legacy | 210 / 综合教程 | Clash Verge Rev 使用教程:Mac 安装、订阅与系统代理 | `/a/m173.html` | [verge-mac.md](tutorials/verge-mac.md);本地API版本3 | Mac操作入口;#install DMG安装,#import 订阅,系统代理与退出排错;无设备联网实测 |
|
||||
| cfw-linux-legacy | 211 / 综合教程 | Clash Verge Rev 使用教程:Linux 安装、订阅与代理设置 | `/a/m174.html` | [verge-linux.md](tutorials/verge-linux.md);本地API版本6 | Linux桌面入门;#install 包格式与架构,#import 订阅,#terminal 单条curl代理验证;不适用于无桌面的服务器 |
|
||||
| system-proxy-vs-tun | 365 / 综合教程 | 系统代理和 TUN 有什么区别?接管范围、使用选择与排错 | `/a/system-proxy-vs-tun.html` | [system-proxy-tun.md](tutorials/system-proxy-tun.md);本地API版本1 | 桌面代理接管与出口选择;`#choose` 场景选择、`#switch` 切换检查、`#troubleshoot` 排错;三张流程图 |
|
||||
| clash-routing-modes | 366 / 综合教程 | Clash 规则、全局和直连怎么选?代理组与分流排错教程 | `/a/clash-rule-global-direct.html` | [clash-routing-modes.md](tutorials/clash-routing-modes.md);2026-10-31本地ID366/版本1,正式ID382/版本1已发布 | 模式选择与代理组分流;`#groups` 组内选择、`#custom` 添加规则、`#verify` 验证新连接 |
|
||||
| newcomer-start | 373 / 新手教程(client) | 新手指引:从免费订阅到第一次连接 | `/a/getting-started.html` | [start.md](tutorials/newcomer/start.md);本地API版本3(双比例配图) | 先选设备,再下载安装、导入对应格式的免费订阅并连接。Windows、Mac、安卓、iPhone、Linux和路由器的入口都在这里。 |
|
||||
| newcomer-windows | 374 / 新手教程(windows) | Windows 新手教程:用 Clash Verge Rev 连接免费节点 | `/a/windows-free-nodes.html` | [windows.md](tutorials/newcomer/windows.md);本地API版本3(双比例配图) | 从选择 Windows 安装包开始,复制本站 Clash 订阅、选中配置与节点,再开启系统代理完成第一次连接。 |
|
||||
| newcomer-mac | 371 / 新手教程(mac) | Mac 新手教程:安装 Clash Verge Rev 并导入免费订阅 | `/a/mac-free-nodes.html` | [mac.md](tutorials/newcomer/mac.md);本地API版本3(双比例配图) | 区分 Apple 芯片和 Intel 安装包,将应用放入应用程序,导入 Clash 订阅并开启系统代理。 |
|
||||
| newcomer-android | 367 / 新手教程(andorid) | Android 新手教程:用 FlClash 导入免费订阅 | `/a/android-flclash.html` | [android.md](tutorials/newcomer/android.md);本地API版本3(双比例配图) | 在安卓手机安装 FlClash,导入 Clash 格式订阅、选择节点并允许 VPN 连接,附后台断连排查。 |
|
||||
| newcomer-ios | 369 / 新手教程(ios) | iPhone / iPad 新手教程:用 Hiddify 连接免费节点 | `/a/ios-hiddify.html` | [ios.md](tutorials/newcomer/ios.md);本地API版本3(双比例配图) | 从 App Store 安装 Hiddify,添加本站订阅、允许 VPN 配置并检查连接,说明订阅更新与节点切换。 |
|
||||
| newcomer-linux | 370 / 新手教程(linux) | Linux 新手教程:在桌面环境使用 Clash Verge Rev | `/a/linux-free-nodes.html` | [linux.md](tutorials/newcomer/linux.md);本地API版本3(双比例配图) | 按发行版和 CPU 架构选择安装包,导入免费订阅、开启系统代理,并区分浏览器与终端的连接方式。 |
|
||||
| newcomer-router | 372 / 新手教程(client) | 路由器新手教程:用 OpenClash 导入免费订阅 | `/a/router-openclash.html` | [router.md](tutorials/newcomer/router.md);本地API版本3(双比例配图) | 在兼容的 OpenWrt 路由器上安装插件与内核、添加 Clash 订阅、启用配置,再检查设备是否经过这台路由器。 |
|
||||
| newcomer-clients | 368 / 新手教程(client) | 客户端下载与选择:按设备找到适合的软件 | `/a/proxy-clients.html` | [clients.md](tutorials/newcomer/clients.md);本地API版本2(双比例配图) | 汇总常用代理客户端的官方入口,说明系统、架构和订阅格式如何匹配,并连接到各平台的新手教程。 |
|
||||
|
||||
2026-10-31新教程正式ID382/版本1、本地ID366/版本1已发表;系统代理/TUN正文补入口后两环境均为API版本2(正式ID376、本地ID365)。正式发布时间14:58:28北京时间,IndexNow由VPS-003提交返回200,服务器HTTP与图哈希/锚点验收通过。唯一状态与恢复记录见[规则模式教程发布记录](../maintenance/ROUTING_MODES_2026-10-31.md)。
|
||||
|
||||
这里只登记长期编辑内容及值得复用的稳定资源说明,不逐条收录日更节点或账号文章。稳定入口为 `/`(当前免费节点)、`/freenode`(历史分享归档)、`/client`(入门)、`/advanced`(综合教程);平台入口和名称修改另按项目路由核对,不从名称自行拼接。
|
||||
这里只登记长期编辑内容及值得复用的稳定资源说明,不逐条收录日更节点或账号文章。稳定入口为 `/`(当前免费节点)、`/freenode`(历史分享归档)、`/client`(新手教程)、`/advanced`(综合教程);平台入口和名称修改另按项目路由核对,不从名称自行拼接。
|
||||
|
||||
2026-10-29部署边界更新:上表10篇已通过本站API迁移到独立test并经用户确认后切到正式cfn,旧URL保留;生产发布以预览实际正文冻结再发布,未用test整库覆盖。test和生产的临时编辑密钥均在迁移后删除,接口默认关闭;后续本地写作继续使用本地API,正式编辑按明确任务与生产绑定启用。实际部署及验收统一见[发布记录](../maintenance/RELEASE_PREFLIGHT_2026-10-28.md#正式切换2026-10-29),上表ID仍为本地ID。
|
||||
|
||||
@ -119,6 +156,22 @@ ## 3 已有文章关系
|
||||
|
||||
两篇Android教程通过订阅格式段落互链;Mac下载指南与操作教程互链,Linux从下载指南和真实Linux栏目获得入口,iOS沿用真实iOS栏目入口。系统代理与TUN专题由Windows和DNS正文提供入口,并指向三平台的基础操作及DNS专题。目录、标签、导航和热门榜不算正文关联;正文内链及锚点已经本地HTTP验证。
|
||||
|
||||
### 新手教程新增关系(2026-11-01,本地)
|
||||
|
||||
| 来源内容键 | 实际目标 | 用途 / 位置 |
|
||||
| --- | --- | --- |
|
||||
| newcomer-start | `/a/windows-free-nodes.html`、`/a/mac-free-nodes.html`、`/a/android-flclash.html`、`/a/ios-hiddify.html`、`/a/linux-free-nodes.html`、`/a/router-openclash.html`、`/a/proxy-clients.html`、`/`、`/a/system-proxy-vs-tun.html#choose`、`/a/clash-rule-global-direct.html`、`/advanced` | 正文中的获取订阅、设备操作、下载、专题与返回指引入口 |
|
||||
| newcomer-windows | `/a/proxy-clients.html#verge`、`/`、`/a/system-proxy-vs-tun.html#choose`、`/a/clash-verge-rev-windows.html`、`/a/getting-started.html#devices` | 正文中的获取订阅、设备操作、下载、专题与返回指引入口 |
|
||||
| newcomer-mac | `/a/proxy-clients.html#verge`、`/`、`/a/clash-rule-global-direct.html#groups`、`/a/system-proxy-vs-tun.html#choose`、`/a/m173.html`、`/a/getting-started.html#devices` | 正文中的获取订阅、设备操作、下载、专题与返回指引入口 |
|
||||
| newcomer-android | `/a/proxy-clients.html#flclash`、`/`、`/a/m171.html#import`、`/a/getting-started.html#devices`、`/a/clash-rule-global-direct.html` | 正文中的获取订阅、设备操作、下载、专题与返回指引入口 |
|
||||
| newcomer-ios | `/a/proxy-clients.html#ios`、`/`、`/a/getting-started.html#devices`、`/a/m170.html` | 正文中的获取订阅、设备操作、下载、专题与返回指引入口 |
|
||||
| newcomer-linux | `/a/proxy-clients.html#verge`、`/`、`/a/m174.html#terminal`、`/a/system-proxy-vs-tun.html#choose`、`/a/getting-started.html#devices` | 正文中的获取订阅、设备操作、下载、专题与返回指引入口 |
|
||||
| newcomer-router | `/a/getting-started.html#devices`、`/`、`/a/getting-started.html`、`/a/clash-rule-global-direct.html` | 正文中的获取订阅、设备操作、下载、专题与返回指引入口 |
|
||||
| newcomer-clients | `/a/windows-free-nodes.html`、`/a/mac-free-nodes.html`、`/a/android-flclash.html`、`/a/ios-hiddify.html`、`/a/linux-free-nodes.html`、`/a/router-openclash.html`、`/a/m167.html`、`/a/m170.html#import`、`/a/m171.html`、`/a/m169.html`、`/a/getting-started.html#subscription` | 正文中的获取订阅、设备操作、下载、专题与返回指引入口 |
|
||||
| 免费节点页面展示层 | `/a/getting-started.html` | 获取免费订阅标题下;旧版正文回退页在正文前;仅目标公开可用时显示 |
|
||||
|
||||
新手指引置顶于`/client`,六个设备入口与下载总览均为真实已保存页面;原七篇移栏不改正文内链。
|
||||
|
||||
## 4 怎样安排链接
|
||||
|
||||
| 关系 | 典型写法与放置位置 | 目标选择 |
|
||||
@ -132,7 +185,9 @@ ## 4 怎样安排链接
|
||||
|
||||
### 下载文章的具体例子
|
||||
|
||||
**Mac已建立独立选型与下载指南**,可链接 `/a/m172.html#download`,其中也提供Mac安装与导入教程的入口。Windows当前可用目标仍是入门教程中的下载段落:
|
||||
**跨平台下载入口已建立**:`/a/proxy-clients.html`,汇总六类设备的官方来源和对应新手操作入口;新文章优先引用这一下载入口或设备教程的下载段落。
|
||||
|
||||
**Mac另有独立选型与下载指南**,可链接 `/a/m172.html#download`,其中也提供Mac安装与导入教程的入口。Windows当前可用目标仍是入门教程中的下载段落:
|
||||
|
||||
```html
|
||||
<a href="/a/clash-verge-rev-windows.html#install">Clash Verge Rev Windows 下载与安装步骤</a>
|
||||
@ -168,7 +223,7 @@ ## 6 登记规则与待补内容
|
||||
|
||||
| 主题 | 当前可用替代入口 | 处理条件 |
|
||||
| --- | --- | --- |
|
||||
| 其他平台独立下载/选型文章 | Mac已有 `/a/m172.html#download`;Windows入门 `#install` | 下载信息确有独立维护需要时再建立;与入门教程互相提供自然入口 |
|
||||
| 更细的客户端选型专题 | 已有 `/a/proxy-clients.html` 跨平台下载入口 | 存在独立读者任务时再拆分,避免重复总览 |
|
||||
| 订阅导入失败排查 | Windows入门的导入与常见问题段落 | 积累明确错误场景后再拆专题,避免重复原文 |
|
||||
|
||||
本次建立的是AI协作约定和已核实的关联索引,不是自动推荐程序、链接注入脚本或定时任务。正文关系变动时由执行写作的AI同任务更新本文。
|
||||
|
||||
|
After Width: | Height: | Size: 2.7 MiB |
@ -0,0 +1 @@
|
||||
Create a polished website category masthead illustration. EXTRA-WIDE 21:9 composition, ideally 2100x900. Tactile papercraft collage and miniature three-dimensional diorama, clearly visible thick paper fibers and cut edges, layered construction, natural directional light and gentle shadows, editorial quality, rich but harmonious color. A friendly green Android-shaped folded paper robot carrying a small download parcel through a lively layered botanical paper garden, oversized leaves, terracotta paths, moss green and warm cream, playful but sophisticated. Distinctive complete scene composed for wide banner. Main recognizable platform subject in center and right, bottom-left 22 percent kept quiet for website's live category title. No written headings, no English slogan, no fake interface text. Only exact small watermark 'clashfreenode.com' in upper-right with safe margin, readable and understated. No border, no stock watermark, no repeated template, no photography.
|
||||
BIN
docs/content/tutorials/assets/categories/ios-paper-banner.png
Normal file
|
After Width: | Height: | Size: 2.7 MiB |
@ -0,0 +1 @@
|
||||
Create a polished website category masthead illustration. EXTRA-WIDE 21:9 composition, ideally 2100x900. Tactile papercraft collage and miniature three-dimensional diorama, clearly visible thick paper fibers and cut edges, layered construction, natural directional light and gentle shadows, editorial quality, rich but harmonious color. A paper-crafted phone and tablet standing like clean archways in a sculptural lavender and peach courtyard, translucent vellum panels and small folded data ribbons connecting the two, soft lilac deep plum cream, axonometric. Distinctive complete scene composed for wide banner. Main recognizable platform subject in center and right, bottom-left 22 percent kept quiet for website's live category title. No written headings, no English slogan, no fake interface text. Only exact small watermark 'clashfreenode.com' in upper-right with safe margin, readable and understated. No border, no stock watermark, no repeated template, no photography.
|
||||
BIN
docs/content/tutorials/assets/categories/linux-paper-banner.png
Normal file
|
After Width: | Height: | Size: 2.6 MiB |
@ -0,0 +1 @@
|
||||
Create a polished website category masthead illustration. EXTRA-WIDE 21:9 composition, ideally 2100x900. Tactile papercraft collage and miniature three-dimensional diorama, clearly visible thick paper fibers and cut edges, layered construction, natural directional light and gentle shadows, editorial quality, rich but harmonious color. A distinctive black-white-yellow paper penguin in a tiny crafted open-source workshop, cream paper terminal scroll, brass card gears and green tool drawers, long orderly workbench, forest green mustard black cream, intimate oblique view. Distinctive complete scene composed for wide banner. Main recognizable platform subject in center and right, bottom-left 22 percent kept quiet for website's live category title. No written headings, no English slogan, no fake interface text. Only exact small watermark 'clashfreenode.com' in upper-right with safe margin, readable and understated. No border, no stock watermark, no repeated template, no photography.
|
||||
BIN
docs/content/tutorials/assets/categories/mac-paper-banner.png
Normal file
|
After Width: | Height: | Size: 2.4 MiB |
@ -0,0 +1 @@
|
||||
Create a polished website category masthead illustration. EXTRA-WIDE 21:9 composition, ideally 2100x900. Tactile papercraft collage and miniature three-dimensional diorama, clearly visible thick paper fibers and cut edges, layered construction, natural directional light and gentle shadows, editorial quality, rich but harmonious color. An elegant silver paper laptop on an organic terraced teal island, a delicate cream bridge carrying a red download package, ivory folded sails behind, restrained teal coral cream palette, low side angle. Distinctive complete scene composed for wide banner. Main recognizable platform subject in center and right, bottom-left 22 percent kept quiet for website's live category title. No written headings, no English slogan, no fake interface text. Only exact small watermark 'clashfreenode.com' in upper-right with safe margin, readable and understated. No border, no stock watermark, no repeated template, no photography.
|
||||
|
After Width: | Height: | Size: 2.5 MiB |
@ -0,0 +1 @@
|
||||
Create a polished website category masthead illustration. EXTRA-WIDE 21:9 composition, ideally 2100x900. Tactile papercraft collage and miniature three-dimensional diorama, clearly visible thick paper fibers and cut edges, layered construction, natural directional light and gentle shadows, editorial quality, rich but harmonious color. A blue four-pane window-shaped paper portal, an inviting tiny desk and desktop monitor, keyboard keys becoming stepping stones towards a configuration gear, blue cream and warm amber, architectural perspective. Distinctive complete scene composed for wide banner. Main recognizable platform subject in center and right, bottom-left 22 percent kept quiet for website's live category title. No written headings, no English slogan, no fake interface text. Only exact small watermark 'clashfreenode.com' in upper-right with safe margin, readable and understated. No border, no stock watermark, no repeated template, no photography.
|
||||
BIN
docs/content/tutorials/assets/newcomer/android-cover.jpg
Normal file
|
After Width: | Height: | Size: 366 KiB |
BIN
docs/content/tutorials/assets/newcomer/android-cover.png
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
3
docs/content/tutorials/assets/newcomer/android-cover.txt
Normal file
@ -0,0 +1,3 @@
|
||||
安卓开始使用
|
||||
A lime-green phone tilted diagonally against midnight indigo, three paper-like configuration cards slide into phone and become an orange flowing connection ribbon; playful but mature geometric editorial illustration, energetic diagonals and spacious composition, no robot mascot.
|
||||
Watermark: clashfreenode.com; imagegen; 2026-11-01
|
||||
BIN
docs/content/tutorials/assets/newcomer/android-paper-cover.jpg
Normal file
|
After Width: | Height: | Size: 491 KiB |
BIN
docs/content/tutorials/assets/newcomer/android-paper-cover.png
Normal file
|
After Width: | Height: | Size: 2.6 MiB |
@ -0,0 +1 @@
|
||||
Generate a single 1536x1024 landscape editorial cover. Material/style reference only: the attached image illustrates convincing thick paper cutouts, paper fibers, miniature constructed volumes, soft directional light, mature premium papercraft mixed-media art. DO NOT reuse its composition, boxes, devices, landscape wallpaper, botanical corners, or same color scheme. We need a radically distinct idea, camera view and spatial arrangement for each article, not a family of identical product trays. Physically credible handcrafted diorama and cut-paper collage, sophisticated tactile materials, no flat clip-art, no neon/sci-fi glossy 3D. Let the described subject fill the canvas, preserve safe text margins. Exact large readable heading: "Android 开始使用". Exact small readable watermark lower-right: "clashfreenode.com". No other text. Scene: DYNAMIC DIAGONAL CUT-PAPER CONVEYOR SCULPTURE, playful but mature. An articulate lime-green folded paper courier figure inspired by an Android robot stands at the center operating a red lever. Ochre paper conveyor bands deliver three large ivory configuration cards into a cobalt arched gateway bearing a simple power pictogram. Pink and lime palette with dark navy contrasts, tightly cropped action, realistic cardstock folds and shadows. No real phone, laptop, trays, trees or landscape screens.
|
||||
BIN
docs/content/tutorials/assets/newcomer/android-wide-hero.jpg
Normal file
|
After Width: | Height: | Size: 519 KiB |
BIN
docs/content/tutorials/assets/newcomer/android-wide-hero.png
Normal file
|
After Width: | Height: | Size: 2.6 MiB |
@ -0,0 +1 @@
|
||||
Redesign this approved papercraft article cover into a separate EXTRA-WIDE hero banner, EXACTLY about 2.4:1 aspect ratio, ideally 2400x1000. Keep its characteristic tactile paper fibers, folded card volumes, soft natural shadows, mature miniature diorama quality and topic identity. Recompose the artwork for the low-height wide canvas, NOT cropping, squeezing or letterboxing the supplied 3:2 picture. This hero must be clearly related to its thumbnail but use its own complete horizontal composition. All text, subject and watermark must fit with safe margins. Exact readable heading: "Android 开始使用". Exact understated watermark bottom-right: "clashfreenode.com". No other text. Green paper Android courier at left operating a red lever; three configuration cards travel along a long ochre conveyor into a navy power-symbol gateway at right. Wide lateral workshop, lower machine profile, title above the conveyor. Preserve vibrant pink/lime accents.
|
||||
BIN
docs/content/tutorials/assets/newcomer/clients-cover.jpg
Normal file
|
After Width: | Height: | Size: 513 KiB |
BIN
docs/content/tutorials/assets/newcomer/clients-cover.png
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
3
docs/content/tutorials/assets/newcomer/clients-cover.txt
Normal file
@ -0,0 +1,3 @@
|
||||
客户端下载与选择
|
||||
A vibrant overhead flat lay of phone, tablet, laptop and miniature router arranged like curated objects in a museum cabinet, each has a distinct colored tray and a small blank download tag, raspberry teal and warm cream, geometric paper collage, varied silhouettes.
|
||||
Watermark: clashfreenode.com; imagegen; 2026-11-01
|
||||
BIN
docs/content/tutorials/assets/newcomer/clients-wide-hero.jpg
Normal file
|
After Width: | Height: | Size: 552 KiB |
BIN
docs/content/tutorials/assets/newcomer/clients-wide-hero.png
Normal file
|
After Width: | Height: | Size: 2.6 MiB |
@ -0,0 +1 @@
|
||||
Redesign this approved papercraft article cover into a separate EXTRA-WIDE hero banner, EXACTLY about 2.4:1 aspect ratio, ideally 2400x1000. Keep its characteristic tactile paper fibers, folded card volumes, soft natural shadows, mature miniature diorama quality and topic identity. Recompose the artwork for the low-height wide canvas, NOT cropping, squeezing or letterboxing the supplied 3:2 picture. This hero must be clearly related to its thumbnail but use its own complete horizontal composition. All text, subject and watermark must fit with safe margins. Exact readable heading: "客户端下载与选择". Exact understated watermark bottom-right: "clashfreenode.com". No other text. Paper product exhibition with phone, tablet, laptop and router in distinct colored cardstock trays. Recompose the trays across a wide staggered horizontal band, not a tall stacked arrangement. Teal, burgundy, mustard and cream palette. Keep device faces visible and paper landscape art inside their screens. Heading across upper-left cream space.
|
||||
BIN
docs/content/tutorials/assets/newcomer/ios-cover.jpg
Normal file
|
After Width: | Height: | Size: 341 KiB |
BIN
docs/content/tutorials/assets/newcomer/ios-cover.png
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
3
docs/content/tutorials/assets/newcomer/ios-cover.txt
Normal file
@ -0,0 +1,3 @@
|
||||
iPhone / iPad 开始使用
|
||||
Two elegant generic silver devices, a phone and tablet, resting among frosted glass lavender arches; an illuminated circular connection control and fine coral signal paths connect them to a pearl globe. Calm premium product editorial, violet and coral, generous negative space.
|
||||
Watermark: clashfreenode.com; imagegen; 2026-11-01
|
||||
BIN
docs/content/tutorials/assets/newcomer/ios-paper-cover.jpg
Normal file
|
After Width: | Height: | Size: 483 KiB |
BIN
docs/content/tutorials/assets/newcomer/ios-paper-cover.png
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
@ -0,0 +1 @@
|
||||
Generate a single 1536x1024 landscape editorial cover. Material/style reference only: the attached image illustrates convincing thick paper cutouts, paper fibers, miniature constructed volumes, soft directional light, mature premium papercraft mixed-media art. DO NOT reuse its composition, boxes, devices, landscape wallpaper, botanical corners, or same color scheme. We need a radically distinct idea, camera view and spatial arrangement for each article, not a family of identical product trays. Physically credible handcrafted diorama and cut-paper collage, sophisticated tactile materials, no flat clip-art, no neon/sci-fi glossy 3D. Let the described subject fill the canvas, preserve safe text margins. Exact large readable heading: "iPhone / iPad 开始使用". Exact small readable watermark lower-right: "clashfreenode.com". No other text. Scene: CLOSE-UP STAGE OF TRANSLUCENT VELLUM AND THICK PAPER, inspired by Japanese paper lantern craft. A large rounded ivory mobile-screen-shaped arch frames a suspended coral paper bridge, crossing a deep indigo negative-space gap to a glowing ochre circular portal. Small configuration-ticket paper shapes traverse the bridge. Single serene connection metaphor, lavender and indigo palette. Dramatic side-lit folds and layered depth, restrained elegant curves. No literal device pair, desktop, trays or landscape wallpaper.
|
||||
BIN
docs/content/tutorials/assets/newcomer/ios-wide-hero.jpg
Normal file
|
After Width: | Height: | Size: 559 KiB |
BIN
docs/content/tutorials/assets/newcomer/ios-wide-hero.png
Normal file
|
After Width: | Height: | Size: 2.7 MiB |
1
docs/content/tutorials/assets/newcomer/ios-wide-hero.txt
Normal file
@ -0,0 +1 @@
|
||||
Redesign this approved papercraft article cover into a separate EXTRA-WIDE hero banner, EXACTLY about 2.4:1 aspect ratio, ideally 2400x1000. Keep its characteristic tactile paper fibers, folded card volumes, soft natural shadows, mature miniature diorama quality and topic identity. Recompose the artwork for the low-height wide canvas, NOT cropping, squeezing or letterboxing the supplied 3:2 picture. This hero must be clearly related to its thumbnail but use its own complete horizontal composition. All text, subject and watermark must fit with safe margins. Exact readable heading: "iPhone / iPad 开始使用". Exact understated watermark bottom-right: "clashfreenode.com". No other text. Translucent vellum phone-shaped arch at left, configuration cards crossing a coral paper suspension bridge toward a golden circular connection portal at right. Panoramic indigo/lavender cut-paper canyon; bridge stretches across wide canvas. Keep heading on a light upper region.
|
||||
BIN
docs/content/tutorials/assets/newcomer/linux-cover.jpg
Normal file
|
After Width: | Height: | Size: 528 KiB |
BIN
docs/content/tutorials/assets/newcomer/linux-cover.png
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
3
docs/content/tutorials/assets/newcomer/linux-cover.txt
Normal file
@ -0,0 +1,3 @@
|
||||
Linux 桌面开始使用
|
||||
A graphic workbench of deep amber modular package blocks and a dark desktop monitor, two distinct packages fit like puzzle pieces into a luminous screen, a fine teal data cable winds across the workbench. Rich texture, technical editorial paper collage, charcoal and warm ochre, no penguin.
|
||||
Watermark: clashfreenode.com; imagegen; 2026-11-01
|
||||
BIN
docs/content/tutorials/assets/newcomer/linux-paper-cover.jpg
Normal file
|
After Width: | Height: | Size: 535 KiB |
BIN
docs/content/tutorials/assets/newcomer/linux-paper-cover.png
Normal file
|
After Width: | Height: | Size: 2.7 MiB |
@ -0,0 +1 @@
|
||||
Generate a single 1536x1024 landscape editorial cover. Material/style reference only: the attached image illustrates convincing thick paper cutouts, paper fibers, miniature constructed volumes, soft directional light, mature premium papercraft mixed-media art. DO NOT reuse its composition, boxes, devices, landscape wallpaper, botanical corners, or same color scheme. We need a radically distinct idea, camera view and spatial arrangement for each article, not a family of identical product trays. Physically credible handcrafted diorama and cut-paper collage, sophisticated tactile materials, no flat clip-art, no neon/sci-fi glossy 3D. Let the described subject fill the canvas, preserve safe text margins. Exact large readable heading: "Linux 开始使用". Exact small readable watermark lower-right: "clashfreenode.com". No other text. Scene: THREE-QUARTER MINIATURE PRINTMAKING WORKSHOP made from tactile card. A substantial ochre paper printing press with a dark teal roller draws in one cream package sheet and releases a long coral paper strip carrying only the >_ terminal pictogram. A small mature black-and-white folded paper penguin inspects the mechanism from a staircase. Industrial craft textures, forest green and ochre, asymmetric machinery near right and generous left title space. A metaphor for selecting packages and installing tools. No laptop, monitor, trays, landscape or generic desk arrangement.
|
||||
BIN
docs/content/tutorials/assets/newcomer/linux-wide-hero.jpg
Normal file
|
After Width: | Height: | Size: 504 KiB |
BIN
docs/content/tutorials/assets/newcomer/linux-wide-hero.png
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
@ -0,0 +1 @@
|
||||
Redesign this approved papercraft article cover into a separate EXTRA-WIDE hero banner, EXACTLY about 2.4:1 aspect ratio, ideally 2400x1000. Keep its characteristic tactile paper fibers, folded card volumes, soft natural shadows, mature miniature diorama quality and topic identity. Recompose the artwork for the low-height wide canvas, NOT cropping, squeezing or letterboxing the supplied 3:2 picture. This hero must be clearly related to its thumbnail but use its own complete horizontal composition. All text, subject and watermark must fit with safe margins. Exact readable heading: "Linux 开始使用". Exact understated watermark bottom-right: "clashfreenode.com". No other text. Handcrafted ochre printing press, folded paper penguin and terminal-symbol paper strip, forest-green workshop palette. Spread workshop horizontally, press center-right and paper strip rolling left across the foreground, penguin beside the machine. Low-profile machinery; title on large ivory upper-left area.
|
||||
BIN
docs/content/tutorials/assets/newcomer/mac-cover.jpg
Normal file
|
After Width: | Height: | Size: 364 KiB |
BIN
docs/content/tutorials/assets/newcomer/mac-cover.png
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
3
docs/content/tutorials/assets/newcomer/mac-cover.txt
Normal file
@ -0,0 +1,3 @@
|
||||
Mac 开始使用
|
||||
A brushed silver laptop viewed side-on on a quiet walnut desk, a mint translucent ribbon curls from a small subscription card into the screen and out toward a floating globe. Warm ivory and forest green, refined 3D editorial still life, tactile materials and soft daylight.
|
||||
Watermark: clashfreenode.com; imagegen; 2026-11-01
|
||||
BIN
docs/content/tutorials/assets/newcomer/mac-paper-cover.jpg
Normal file
|
After Width: | Height: | Size: 382 KiB |
BIN
docs/content/tutorials/assets/newcomer/mac-paper-cover.png
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
@ -0,0 +1 @@
|
||||
Generate a single 1536x1024 landscape editorial cover. Material/style reference only: the attached image illustrates convincing thick paper cutouts, paper fibers, miniature constructed volumes, soft directional light, mature premium papercraft mixed-media art. DO NOT reuse its composition, boxes, devices, landscape wallpaper, botanical corners, or same color scheme. We need a radically distinct idea, camera view and spatial arrangement for each article, not a family of identical product trays. Physically credible handcrafted diorama and cut-paper collage, sophisticated tactile materials, no flat clip-art, no neon/sci-fi glossy 3D. Let the described subject fill the canvas, preserve safe text margins. Exact large readable heading: "Mac 开始使用". Exact small readable watermark lower-right: "clashfreenode.com". No other text. Scene: LOW SIDE VIEW of a sculptural white origami sailing boat sailing rightward through rolling layers of deep petrol-blue and seafoam paper waves. Its brushed-silver paper sail is shaped like an abstract open laptop lid, subtle not a literal computer. A red configuration-card parcel sits aboard and a warm peach folded beacon marks the destination. Elegant sweeping curves, a single subject filling lower two-thirds, large cream upper sky. Metaphor of importing a configuration and starting connection. No desktop, boxes, botanical corners or device trays.
|
||||
BIN
docs/content/tutorials/assets/newcomer/mac-wide-hero.jpg
Normal file
|
After Width: | Height: | Size: 437 KiB |
BIN
docs/content/tutorials/assets/newcomer/mac-wide-hero.png
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
1
docs/content/tutorials/assets/newcomer/mac-wide-hero.txt
Normal file
@ -0,0 +1 @@
|
||||
Redesign this approved papercraft article cover into a separate EXTRA-WIDE hero banner, EXACTLY about 2.4:1 aspect ratio, ideally 2400x1000. Keep its characteristic tactile paper fibers, folded card volumes, soft natural shadows, mature miniature diorama quality and topic identity. Recompose the artwork for the low-height wide canvas, NOT cropping, squeezing or letterboxing the supplied 3:2 picture. This hero must be clearly related to its thumbnail but use its own complete horizontal composition. All text, subject and watermark must fit with safe margins. Exact readable heading: "Mac 开始使用". Exact understated watermark bottom-right: "clashfreenode.com". No other text. A white origami sailboat carrying the red configuration package across tactile teal paper waves toward a distant folded beacon. Arrange boat left-center and destination far right, low panoramic ocean horizon and spacious cream sky for the heading.
|
||||
BIN
docs/content/tutorials/assets/newcomer/router-cover.jpg
Normal file
|
After Width: | Height: | Size: 482 KiB |
BIN
docs/content/tutorials/assets/newcomer/router-cover.png
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
3
docs/content/tutorials/assets/newcomer/router-cover.txt
Normal file
@ -0,0 +1,3 @@
|
||||
路由器开始使用
|
||||
A miniature cutaway home in navy and warm sand, a central wifi router on a shelf sends soft mint signal arcs through rooms toward a phone, laptop and television, precise but welcoming isometric editorial scene, no unrelated desktop UI.
|
||||
Watermark: clashfreenode.com; imagegen; 2026-11-01
|
||||
BIN
docs/content/tutorials/assets/newcomer/router-paper-cover.jpg
Normal file
|
After Width: | Height: | Size: 697 KiB |
BIN
docs/content/tutorials/assets/newcomer/router-paper-cover.png
Normal file
|
After Width: | Height: | Size: 3.1 MiB |
@ -0,0 +1 @@
|
||||
Generate a single 1536x1024 landscape editorial cover. Material/style reference only: the attached image illustrates convincing thick paper cutouts, paper fibers, miniature constructed volumes, soft directional light, mature premium papercraft mixed-media art. DO NOT reuse its composition, boxes, devices, landscape wallpaper, botanical corners, or same color scheme. We need a radically distinct idea, camera view and spatial arrangement for each article, not a family of identical product trays. Physically credible handcrafted diorama and cut-paper collage, sophisticated tactile materials, no flat clip-art, no neon/sci-fi glossy 3D. Let the described subject fill the canvas, preserve safe text margins. Exact large readable heading: "路由器 开始使用". Exact small readable watermark lower-right: "clashfreenode.com". No other text. Scene: BIRD-EYE VIEW OF A STYLIZED PAPER CITY NETWORK. Multiple miniature folded terracotta and ivory townhouses form islands on a rich cobalt ground; broad cream paper roads weave between them, meeting at one central red circular plaza with a small sculptural white radio mast. Three oversized nested paper wireless arcs rise from the plaza, connecting the neighborhoods. High viewpoint, expansive landscape urban geometry, no house cutaway, no physical router, no phone or laptop, no trays. Convey one gateway serving many devices.
|
||||
BIN
docs/content/tutorials/assets/newcomer/router-wide-hero.jpg
Normal file
|
After Width: | Height: | Size: 702 KiB |
BIN
docs/content/tutorials/assets/newcomer/router-wide-hero.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
@ -0,0 +1 @@
|
||||
Redesign this approved papercraft article cover into a separate EXTRA-WIDE hero banner, EXACTLY about 2.4:1 aspect ratio, ideally 2400x1000. Keep its characteristic tactile paper fibers, folded card volumes, soft natural shadows, mature miniature diorama quality and topic identity. Recompose the artwork for the low-height wide canvas, NOT cropping, squeezing or letterboxing the supplied 3:2 picture. This hero must be clearly related to its thumbnail but use its own complete horizontal composition. All text, subject and watermark must fit with safe margins. Exact readable heading: "路由器 开始使用". Exact understated watermark bottom-right: "clashfreenode.com". No other text. Bird-eye miniature paper town network with central radio plaza and wireless arcs, connected neighborhoods stretching horizontally across blue paper ground. Panoramic urban network with green and terracotta houses. Keep tower and wireless symbol modest height and heading clear at upper left.
|
||||
BIN
docs/content/tutorials/assets/newcomer/start-cover.jpg
Normal file
|
After Width: | Height: | Size: 463 KiB |
BIN
docs/content/tutorials/assets/newcomer/start-cover.png
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
3
docs/content/tutorials/assets/newcomer/start-cover.txt
Normal file
@ -0,0 +1,3 @@
|
||||
新手指引
|
||||
A beautiful tactile miniature wayfinding scene, a small person at a warm-lit starting plaza with branching paths toward a laptop, smartphone and wifi router. Teal and cream architecture, vermilion path markers, isometric cut-paper editorial illustration, bold sculptural forms.
|
||||
Watermark: clashfreenode.com; imagegen; 2026-11-01
|
||||
BIN
docs/content/tutorials/assets/newcomer/start-paper-cover.jpg
Normal file
|
After Width: | Height: | Size: 718 KiB |
BIN
docs/content/tutorials/assets/newcomer/start-paper-cover.png
Normal file
|
After Width: | Height: | Size: 3.1 MiB |
@ -0,0 +1 @@
|
||||
Generate a single 1536x1024 landscape editorial cover. Material/style reference only: the attached image illustrates convincing thick paper cutouts, paper fibers, miniature constructed volumes, soft directional light, mature premium papercraft mixed-media art. DO NOT reuse its composition, boxes, devices, landscape wallpaper, botanical corners, or same color scheme. We need a radically distinct idea, camera view and spatial arrangement for each article, not a family of identical product trays. Physically credible handcrafted diorama and cut-paper collage, sophisticated tactile materials, no flat clip-art, no neon/sci-fi glossy 3D. Let the described subject fill the canvas, preserve safe text margins. Exact large readable heading: "新手指引". Exact small readable watermark lower-right: "clashfreenode.com". No other text. Scene: TRUE OVERHEAD COLLAGE MAP, no computers or phones. An oversized folded ivory paper map spreads diagonally across burnt-orange paper terrain. One continuous cobalt path winds through three die-cut gates marked only with pictograms: download arrow, configuration sheet, connected chain. Oversized blue compass ring, one tiny folded traveler, tactile contours. Travel-guide editorial metaphor for first connection. Asymmetric blue and orange composition, no trays, no screens, no mountain wallpaper.
|
||||
BIN
docs/content/tutorials/assets/newcomer/start-wide-hero.jpg
Normal file
|
After Width: | Height: | Size: 751 KiB |
BIN
docs/content/tutorials/assets/newcomer/start-wide-hero.png
Normal file
|
After Width: | Height: | Size: 3.1 MiB |
@ -0,0 +1 @@
|
||||
Create a redesigned extra-wide editorial banner from this approved papercraft illustration, for the same beginner tutorial. Output landscape aspect ratio EXACTLY 2.4:1, ideally 2400 x 1000 pixels. Recompose the scene to use the entire wide canvas; do not crop or squeeze the supplied 3:2 composition, do not add letterboxing. Preserve the tactile torn-paper map, miniature paper terrain, cream/orange/cobalt palette, soft studio light and the small traveler with blue backpack. Arrange the journey HORIZONTALLY across the banner, with three small distinct paper arch gateways along a winding blue path: download arrow at left, configuration/gear pictogram at center, chain-link pictogram at right. A readable large Chinese title exactly "新手指引" occupies a cream paper region in upper left. Mountains and trees are smaller supporting details, not tall dominating elements; a smaller compass can sit at lower right without competing with the route. Preserve readable but understated website watermark exactly "clashfreenode.com" at lower right with generous inset. Keep all text and key elements inside canvas, no truncated shapes, no other text. Rich handcrafted detail, mature editorial design, airy lateral composition designed specifically for a low-height article hero.
|
||||
BIN
docs/content/tutorials/assets/newcomer/windows-cover.jpg
Normal file
|
After Width: | Height: | Size: 378 KiB |
BIN
docs/content/tutorials/assets/newcomer/windows-cover.png
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
3
docs/content/tutorials/assets/newcomer/windows-cover.txt
Normal file
@ -0,0 +1,3 @@
|
||||
Windows 开始使用
|
||||
A cobalt-blue architectural window opens from a desktop computer into a flowing luminous network landscape; a silver desktop screen on left with three abstract configuration tiles, green route travels out of window into distant small nodes. Elegant digital editorial illustration, strong perspective, periwinkle and pale cream.
|
||||
Watermark: clashfreenode.com; imagegen; 2026-11-01
|
||||
BIN
docs/content/tutorials/assets/newcomer/windows-paper-cover.jpg
Normal file
|
After Width: | Height: | Size: 566 KiB |
BIN
docs/content/tutorials/assets/newcomer/windows-paper-cover.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
@ -0,0 +1 @@
|
||||
Generate a single 1536x1024 landscape editorial cover. Material/style reference only: the attached image illustrates convincing thick paper cutouts, paper fibers, miniature constructed volumes, soft directional light, mature premium papercraft mixed-media art. DO NOT reuse its composition, boxes, devices, landscape wallpaper, botanical corners, or same color scheme. We need a radically distinct idea, camera view and spatial arrangement for each article, not a family of identical product trays. Physically credible handcrafted diorama and cut-paper collage, sophisticated tactile materials, no flat clip-art, no neon/sci-fi glossy 3D. Let the described subject fill the canvas, preserve safe text margins. Exact large readable heading: "Windows 开始使用". Exact small readable watermark lower-right: "clashfreenode.com". No other text. Scene: FRONTAL ARCHITECTURAL POP-UP SHADOWBOX with no monitor or laptop. Four deep cobalt paper window openings form the facade of a playful abstract building, chunky cream stairs rise from bottom left into one open window. A vermilion folded configuration document is being carried by a tiny geometric figure through the window. Pale blue sky paper planes and one strong ochre sun-disc. Vertical geometric construction at right, open title area left. A physical pop-up book mechanism that evokes installing and importing. No landscapes inside screens.
|
||||
BIN
docs/content/tutorials/assets/newcomer/windows-wide-hero.jpg
Normal file
|
After Width: | Height: | Size: 596 KiB |
BIN
docs/content/tutorials/assets/newcomer/windows-wide-hero.png
Normal file
|
After Width: | Height: | Size: 2.8 MiB |
@ -0,0 +1 @@
|
||||
Redesign this approved papercraft article cover into a separate EXTRA-WIDE hero banner, EXACTLY about 2.4:1 aspect ratio, ideally 2400x1000. Keep its characteristic tactile paper fibers, folded card volumes, soft natural shadows, mature miniature diorama quality and topic identity. Recompose the artwork for the low-height wide canvas, NOT cropping, squeezing or letterboxing the supplied 3:2 picture. This hero must be clearly related to its thumbnail but use its own complete horizontal composition. All text, subject and watermark must fit with safe margins. Exact readable heading: "Windows 开始使用". Exact understated watermark bottom-right: "clashfreenode.com". No other text. The blue four-window pop-up building, paper stairs, configuration folder and paper planes. Recompose into a wide street-like architectural strip: title on cream paper left, main four-pane building center-right, low stairs sweeping left to right. Avoid a tall tower.
|
||||
1
docs/content/tutorials/newcomer/android.html
Normal file
@ -0,0 +1 @@
|
||||
<link rel="stylesheet" href="/css/tutorials.css"><div class="tutorial-body"><figure class="guide-figure tutorial-hero"><img src="/images/editorial/1d42ef633bc593c11f8becc16a9e6b6258304aa801f97265ea00e428dc35213a.jpg" width="1942" height="809" alt="Android 新手教程:用 FlClash 导入免费订阅主题图" decoding="async"></figure><p>在安卓手机上,FlClash 可以读取 Clash 格式配置。下面从安装开始,把本站订阅导入到手机,再开启连接。</p><h2 id="install">1. 安装 FlClash</h2><p>从<a href="/a/proxy-clients.html#flclash">客户端下载页</a>打开 FlClash 官方发布页,展开 Assets,下载 <strong>Android APK</strong>。多数较新的安卓手机使用 ARM64,文件名通常包含 <code>arm64-v8a</code>;不确定时先查看设备架构,或选择发布页提供的兼容通用包。</p><p>下载完成后打开 APK。若系统提示此来源没有安装权限,只为本次使用的浏览器或文件管理器允许安装,然后返回继续。安装完成后打开 FlClash;不需要给它开启与连接无关的权限。</p><h2 id="import">2. 从链接导入配置</h2><ol><li>在手机浏览器打开<a href="/">本站免费订阅区</a>,复制 <strong>Clash / Mihomo</strong> 订阅。</li><li>切到 FlClash,进入“配置”,点击 <strong>+</strong>,选择“从链接导入”;部分版本使用 URL 的叫法。</li><li>粘贴完整地址并提交。返回配置列表,选中刚添加的配置。</li></ol><figure class="starter-process"><div><b>配置 → +</b><span>选择从链接导入</span></div><div><b>粘贴地址</b><span>使用 Clash / Mihomo 格式</span></div><div><b>选中配置</b><span>确认代理页出现节点</span></div><figcaption>步骤示意:导入后还要选中配置,不只是把地址保存在列表里。</figcaption></figure><p>这里粘贴的是订阅链接,不是浏览器正在显示的文章网址。本站的 V2ray 订阅适合另一类客户端;若想使用它,可以看<a href="/a/m171.html#import">v2rayNG 使用教程</a>。</p><h2 id="connect">3. 选择节点并启动</h2><p>到 FlClash 的仪表盘把模式设为 <strong>规则</strong>,在“代理”页打开出口代理组并选择节点。再回到仪表盘点击启动按钮。</p><p>第一次启动会出现安卓系统的 VPN 连接请求。确认应用名称为 FlClash 后允许;系统显示 VPN 标识,说明接管已启动,但还要打开网页确认节点真正可用。手机上不需要照搬电脑的“开启系统代理”步骤。</p><p>保持 FlClash 运行,切回浏览器打开目标网页。如果一直加载,换一条节点,再重新打开网页测试。不要同时启动两个 VPN 客户端。</p><h2 id="daily">4. 更新订阅与后台运行</h2><p>节点失效时,回到“配置”更新这一份订阅,再选择节点。若旧订阅已经不可用,到<a href="/">本站首页</a>获取新的地址。</p><p>如果一锁屏或切换应用就断开,在系统应用设置中检查 FlClash 的电池和后台运行限制。只调整这个应用需要的后台权限;手机厂商的设置名称可能不同。</p><p>结束使用时,回 FlClash 点击停止。系统 VPN 标识消失后,设备恢复原有连接方式。</p><h2 id="help">常见问题</h2><p><strong>APK 提示不兼容。</strong> 先检查 Android 版本和安装包架构;下载电脑端安装包或不匹配的 CPU 版本,换节点也解决不了。</p><p><strong>导入失败。</strong> 核对格式和链接完整性,再检查手机当前网络能否下载订阅。只有节点下载成功后,才进入连接排查。</p><p><strong>能看到节点但一直超时。</strong> 更新订阅,尝试不同节点;免费资源可能整批失效,必要时换一批分享。</p><p><a href="/a/getting-started.html#devices">返回新手指引</a> · <a href="/a/clash-rule-global-direct.html">了解规则、全局与直连</a></p><p>参考:<a href="https://github.com/chen08209/FlClash">FlClash 官方项目与下载</a>。</p></div>
|
||||
47
docs/content/tutorials/newcomer/android.md
Normal file
@ -0,0 +1,47 @@
|
||||
<figure class="guide-figure tutorial-hero"><img src="/images/editorial/1d42ef633bc593c11f8becc16a9e6b6258304aa801f97265ea00e428dc35213a.jpg" width="1942" height="809" alt="Android 新手教程:用 FlClash 导入免费订阅主题图" decoding="async"></figure>
|
||||
|
||||
在安卓手机上,FlClash 可以读取 Clash 格式配置。下面从安装开始,把本站订阅导入到手机,再开启连接。
|
||||
|
||||
<h2 id="install">1. 安装 FlClash</h2>
|
||||
|
||||
从[客户端下载页](/a/proxy-clients.html#flclash)打开 FlClash 官方发布页,展开 Assets,下载 **Android APK**。多数较新的安卓手机使用 ARM64,文件名通常包含 `arm64-v8a`;不确定时先查看设备架构,或选择发布页提供的兼容通用包。
|
||||
|
||||
下载完成后打开 APK。若系统提示此来源没有安装权限,只为本次使用的浏览器或文件管理器允许安装,然后返回继续。安装完成后打开 FlClash;不需要给它开启与连接无关的权限。
|
||||
|
||||
<h2 id="import">2. 从链接导入配置</h2>
|
||||
|
||||
1. 在手机浏览器打开[本站免费订阅区](/),复制 **Clash / Mihomo** 订阅。
|
||||
2. 切到 FlClash,进入“配置”,点击 **+**,选择“从链接导入”;部分版本使用 URL 的叫法。
|
||||
3. 粘贴完整地址并提交。返回配置列表,选中刚添加的配置。
|
||||
|
||||
<figure class="starter-process"><div><b>配置 → +</b><span>选择从链接导入</span></div><div><b>粘贴地址</b><span>使用 Clash / Mihomo 格式</span></div><div><b>选中配置</b><span>确认代理页出现节点</span></div><figcaption>步骤示意:导入后还要选中配置,不只是把地址保存在列表里。</figcaption></figure>
|
||||
|
||||
这里粘贴的是订阅链接,不是浏览器正在显示的文章网址。本站的 V2ray 订阅适合另一类客户端;若想使用它,可以看[v2rayNG 使用教程](/a/m171.html#import)。
|
||||
|
||||
<h2 id="connect">3. 选择节点并启动</h2>
|
||||
|
||||
到 FlClash 的仪表盘把模式设为 **规则**,在“代理”页打开出口代理组并选择节点。再回到仪表盘点击启动按钮。
|
||||
|
||||
第一次启动会出现安卓系统的 VPN 连接请求。确认应用名称为 FlClash 后允许;系统显示 VPN 标识,说明接管已启动,但还要打开网页确认节点真正可用。手机上不需要照搬电脑的“开启系统代理”步骤。
|
||||
|
||||
保持 FlClash 运行,切回浏览器打开目标网页。如果一直加载,换一条节点,再重新打开网页测试。不要同时启动两个 VPN 客户端。
|
||||
|
||||
<h2 id="daily">4. 更新订阅与后台运行</h2>
|
||||
|
||||
节点失效时,回到“配置”更新这一份订阅,再选择节点。若旧订阅已经不可用,到[本站首页](/)获取新的地址。
|
||||
|
||||
如果一锁屏或切换应用就断开,在系统应用设置中检查 FlClash 的电池和后台运行限制。只调整这个应用需要的后台权限;手机厂商的设置名称可能不同。
|
||||
|
||||
结束使用时,回 FlClash 点击停止。系统 VPN 标识消失后,设备恢复原有连接方式。
|
||||
|
||||
<h2 id="help">常见问题</h2>
|
||||
|
||||
**APK 提示不兼容。** 先检查 Android 版本和安装包架构;下载电脑端安装包或不匹配的 CPU 版本,换节点也解决不了。
|
||||
|
||||
**导入失败。** 核对格式和链接完整性,再检查手机当前网络能否下载订阅。只有节点下载成功后,才进入连接排查。
|
||||
|
||||
**能看到节点但一直超时。** 更新订阅,尝试不同节点;免费资源可能整批失效,必要时换一批分享。
|
||||
|
||||
[返回新手指引](/a/getting-started.html#devices) · [了解规则、全局与直连](/a/clash-rule-global-direct.html)
|
||||
|
||||
参考:[FlClash 官方项目与下载](https://github.com/chen08209/FlClash)。
|
||||
1
docs/content/tutorials/newcomer/clients.html
Normal file
68
docs/content/tutorials/newcomer/clients.md
Normal file
@ -0,0 +1,68 @@
|
||||
<figure class="guide-figure tutorial-hero"><img src="/images/editorial/bd38150a7b01b84f8594c9c8670db97c3d83128cc040f179c23a62673a920015.jpg" width="1935" height="812" alt="客户端下载与选择:按设备找到适合的软件主题图" decoding="async"></figure>
|
||||
|
||||
客户端负责读取配置并建立连接,本站提供的是可以导入的免费订阅。先按设备选一个客户端,完成一次连接即可,不用把表里的软件都装一遍。
|
||||
|
||||
<h2 id="recommended">第一次用,按这张表选择</h2>
|
||||
|
||||
<div class="table-wrap">
|
||||
|
||||
| 设备 | 本站新手教程使用的软件 | 操作教程 |
|
||||
| --- | --- | --- |
|
||||
| Windows | Clash Verge Rev | [Windows 开始使用](/a/windows-free-nodes.html) |
|
||||
| Mac | Clash Verge Rev | [Mac 开始使用](/a/mac-free-nodes.html) |
|
||||
| Android | FlClash | [安卓开始使用](/a/android-flclash.html) |
|
||||
| iPhone / iPad | Hiddify | [iPhone / iPad 开始使用](/a/ios-hiddify.html) |
|
||||
| Linux 桌面 | Clash Verge Rev | [Linux 开始使用](/a/linux-free-nodes.html) |
|
||||
| 兼容的 OpenWrt 路由器 | OpenClash | [路由器开始使用](/a/router-openclash.html) |
|
||||
|
||||
</div>
|
||||
|
||||
<h2 id="verge">Clash Verge Rev:Windows、Mac 与 Linux</h2>
|
||||
|
||||
[官方安装入口](https://www.clashverge.dev/install.html) · [官方发行版本](https://github.com/clash-verge-rev/clash-verge-rev/releases)
|
||||
|
||||
Windows 选对应架构的安装包;Mac 选 DMG;Linux 按发行版选 DEB 或 RPM。用它导入本站的 **Clash / Mihomo** 订阅。旧 Clash for Windows 的用户可阅读[迁移教程](/a/m167.html)。
|
||||
|
||||
<h2 id="flclash">FlClash:安卓教程的选择</h2>
|
||||
|
||||
[官方项目](https://github.com/chen08209/FlClash) · [发行版本](https://github.com/chen08209/FlClash/releases)
|
||||
|
||||
FlClash 也提供桌面版本,本套新手教程使用它的 Android 版本。安卓手机下载 APK,先确认 CPU 架构;导入本站的 **Clash / Mihomo** 订阅。
|
||||
|
||||
<h2 id="ios">Hiddify 与其他 iPhone / iPad 客户端</h2>
|
||||
|
||||
Hiddify:[官方项目](https://github.com/hiddify/hiddify-app) · [App Store](https://apps.apple.com/us/app/hiddify-proxy-vpn/id6596777532)
|
||||
|
||||
本站 iOS 教程使用 Hiddify,先导入 **Sing-box / Hiddify** 订阅。Hiddify 也支持其他平台,但它们的安装方式和系统授权不完全相同。
|
||||
|
||||
已在使用其他软件时,可沿用自己的客户端。以下是对应的官方入口;价格、地区供应和系统要求以商店页面为准:
|
||||
|
||||
- [Shadowrocket](https://apps.apple.com/us/app/shadowrocket/id932747118):可使用本站的 V2ray / Shadowrocket 通用订阅。
|
||||
- [Quantumult X](https://apps.apple.com/us/app/quantumult-x/id1443988620):使用前先看[资源格式与导入说明](/a/m170.html#import),不能假定通用订阅直接等于它的原生资源。
|
||||
- [Surge](https://nssurge.com/):使用它支持的配置格式;本站提供的几种格式不等于 Surge 原生配置。
|
||||
|
||||
<h2 id="alternatives">其他常用客户端</h2>
|
||||
|
||||
<div class="table-wrap">
|
||||
|
||||
| 客户端 | 官方入口 | 选择时留意 |
|
||||
| --- | --- | --- |
|
||||
| v2rayN | [发行版本](https://github.com/2dust/v2rayN/releases) | 按系统选择包,不把桌面版本当安卓 APK |
|
||||
| v2rayNG | [发行版本](https://github.com/2dust/v2rayNG/releases) | Android;本站 V2ray 格式;有[现成教程](/a/m171.html) |
|
||||
| Clash Meta for Android | [发行版本](https://github.com/MetaCubeX/ClashMetaForAndroid/releases) | Android;本站 Clash 格式;有[现成教程](/a/m169.html) |
|
||||
|
||||
</div>
|
||||
|
||||
<h2 id="router">OpenClash:只用于兼容路由器</h2>
|
||||
|
||||
[官方安装说明](https://github.com/vernesong/OpenClash) · [发行版本](https://github.com/vernesong/OpenClash/releases)
|
||||
|
||||
安装前确认 OpenWrt 固件、包管理器、处理器与依赖。插件和运行内核分别准备;固件 APK 与安卓 APK 不是同一种安装包。操作流程见[OpenClash 新手教程](/a/router-openclash.html)。
|
||||
|
||||
<h2 id="packages">安装包的名字怎么看?</h2>
|
||||
|
||||
<figure class="starter-process"><div><b>先看系统</b><span>Windows / macOS / Linux / Android</span></div><div><b>再看架构</b><span>Intel / AMD 常见 x64<br>Apple M 系列为 ARM64</span></div><div><b>最后看包格式</b><span>EXE / DMG / DEB / RPM / APK</span></div><figcaption>架构、系统和包格式都匹配,才是适合当前设备的安装包。</figcaption></figure>
|
||||
|
||||
GitHub 发布页里的 **Assets** 是发行文件列表,`Source code` 是源码。找下载文件时先读文件名中的系统与架构,不必下载整个源码仓库。
|
||||
|
||||
安装完成后,回[新手指引](/a/getting-started.html#subscription)选择订阅格式,再进入对应设备教程。客户端有了、配置有了,还要开启代理或 VPN,才能开始验证连接。
|
||||
1
docs/content/tutorials/newcomer/ios.html
Normal file
@ -0,0 +1 @@
|
||||
<link rel="stylesheet" href="/css/tutorials.css"><div class="tutorial-body"><figure class="guide-figure tutorial-hero"><img src="/images/editorial/d8860ad2558b1471f9382dde353e404a5d69f5cfa44513d6762515d65141bfad.jpg" width="1942" height="809" alt="iPhone / iPad 新手教程:用 Hiddify 连接免费节点主题图" decoding="async"></figure><p>iPhone 和 iPad 可以使用 Hiddify 添加订阅并连接。它提供客户端功能,节点需要另外导入;下面使用本站公开分享的免费订阅。</p><h2 id="install">1. 安装 Hiddify</h2><p>打开<a href="https://apps.apple.com/us/app/hiddify-proxy-vpn/id6596777532">Hiddify 的 App Store 页面</a>,确认名称为 <strong>Hiddify Proxy & VPN</strong>,开发者为 <strong>Holistic Resilience</strong>。根据商店页面显示的系统要求安装,然后打开应用。</p><p>应用能否下载取决于账号所在商店地区与设备兼容性。若所在地区未提供该应用,可以到<a href="/a/proxy-clients.html#ios">客户端下载与选择</a>查看其他 iOS 客户端;不同软件的订阅格式与操作不完全相同,不要直接混用步骤。</p><h2 id="import">2. 添加本站订阅</h2><p>在 Safari 打开<a href="/">免费订阅区</a>,复制 <strong>Sing-box / Hiddify</strong> 订阅。回到 Hiddify,点击 <strong>+</strong>,选择“从剪贴板添加”(Clipboard);系统询问是否允许粘贴时,确认允许。</p><p>也可以使用“手动添加”(Manually):名称填写自己能识别的名字,例如“本站免费节点”,在 URL 中粘贴完整订阅地址,点击添加。返回首页,确认当前配置是刚导入的那一份。</p><figure class="starter-process"><div><b>复制</b><span>Sing-box / Hiddify 订阅</span></div><div><b>添加</b><span>+ → 从剪贴板添加</span></div><div><b>确认</b><span>首页显示新配置</span></div><figcaption>若剪贴板导入没有读到地址,可以改用手动添加,直接填写 URL。</figcaption></figure><p>若提示解析错误,先确认没有把文章网址当成订阅,并更新 Hiddify。格式兼容仍有问题时,可按客户端支持情况改试本站的 V2ray 通用订阅,不必把错误格式反复粘贴。</p><h2 id="connect">3. 连接并允许 VPN 配置</h2><p>点击首页的连接按钮。首次使用时,iOS 会询问是否允许添加 VPN 配置,确认来自 Hiddify 后点击允许,并完成系统要求的身份验证。</p><p>等应用显示已连接,再打开 Safari 访问目标网页。<strong>VPN 已连接代表设备启用了这条连接通道,不保证当前节点能访问每一个网站。</strong> 实际网页正常加载,才完成这一步。</p><p>如需换节点,打开“代理”(Proxies)页,选择另一个可用节点,再重新加载网页。不同版本的自动选择策略可能不同,始终以当前选中的配置和代理页显示为准。</p><h2 id="daily">4. 日常更新与断开</h2><p>节点失效时,使用配置卡片或配置菜单的更新操作,等待订阅刷新。旧地址不再有效时,回<a href="/">本站首页</a>获取新一批分享并重新添加。</p><p>停止使用时,回到 Hiddify 点击连接按钮断开。不需要为了断开而删除整个 VPN 配置,下次使用仍可继续连接。</p><h2 id="help">遇到问题时</h2><p><strong>添加后没有节点。</strong> 查看导入是否报错、当前是否选中新配置,以及订阅内容是否仍然有效。</p><p><strong>一直连接中。</strong> 检查 VPN 授权是否完成,先断开其他 VPN,再换节点。连接一个失效节点时,反复切开关通常不会改善。</p><p><strong>Wi-Fi 能用,蜂窝网络不能用。</strong> 检查 Hiddify 是否获准使用蜂窝数据,并分别确认两种网络下能否更新订阅。</p><p><a href="/a/getting-started.html#devices">返回新手指引</a> · 已使用 Quantumult X 的读者可看<a href="/a/m170.html">对应教程</a>。</p><p>参考:<a href="https://hiddify.com/app/How-to-use-Hiddify-app/">Hiddify 使用说明</a>、<a href="https://apps.apple.com/us/app/hiddify-proxy-vpn/id6596777532">官方 App Store 页面</a>。</p></div>
|
||||
45
docs/content/tutorials/newcomer/ios.md
Normal file
@ -0,0 +1,45 @@
|
||||
<figure class="guide-figure tutorial-hero"><img src="/images/editorial/d8860ad2558b1471f9382dde353e404a5d69f5cfa44513d6762515d65141bfad.jpg" width="1942" height="809" alt="iPhone / iPad 新手教程:用 Hiddify 连接免费节点主题图" decoding="async"></figure>
|
||||
|
||||
iPhone 和 iPad 可以使用 Hiddify 添加订阅并连接。它提供客户端功能,节点需要另外导入;下面使用本站公开分享的免费订阅。
|
||||
|
||||
<h2 id="install">1. 安装 Hiddify</h2>
|
||||
|
||||
打开[Hiddify 的 App Store 页面](https://apps.apple.com/us/app/hiddify-proxy-vpn/id6596777532),确认名称为 **Hiddify Proxy & VPN**,开发者为 **Holistic Resilience**。根据商店页面显示的系统要求安装,然后打开应用。
|
||||
|
||||
应用能否下载取决于账号所在商店地区与设备兼容性。若所在地区未提供该应用,可以到[客户端下载与选择](/a/proxy-clients.html#ios)查看其他 iOS 客户端;不同软件的订阅格式与操作不完全相同,不要直接混用步骤。
|
||||
|
||||
<h2 id="import">2. 添加本站订阅</h2>
|
||||
|
||||
在 Safari 打开[免费订阅区](/),复制 **Sing-box / Hiddify** 订阅。回到 Hiddify,点击 **+**,选择“从剪贴板添加”(Clipboard);系统询问是否允许粘贴时,确认允许。
|
||||
|
||||
也可以使用“手动添加”(Manually):名称填写自己能识别的名字,例如“本站免费节点”,在 URL 中粘贴完整订阅地址,点击添加。返回首页,确认当前配置是刚导入的那一份。
|
||||
|
||||
<figure class="starter-process"><div><b>复制</b><span>Sing-box / Hiddify 订阅</span></div><div><b>添加</b><span>+ → 从剪贴板添加</span></div><div><b>确认</b><span>首页显示新配置</span></div><figcaption>若剪贴板导入没有读到地址,可以改用手动添加,直接填写 URL。</figcaption></figure>
|
||||
|
||||
若提示解析错误,先确认没有把文章网址当成订阅,并更新 Hiddify。格式兼容仍有问题时,可按客户端支持情况改试本站的 V2ray 通用订阅,不必把错误格式反复粘贴。
|
||||
|
||||
<h2 id="connect">3. 连接并允许 VPN 配置</h2>
|
||||
|
||||
点击首页的连接按钮。首次使用时,iOS 会询问是否允许添加 VPN 配置,确认来自 Hiddify 后点击允许,并完成系统要求的身份验证。
|
||||
|
||||
等应用显示已连接,再打开 Safari 访问目标网页。**VPN 已连接代表设备启用了这条连接通道,不保证当前节点能访问每一个网站。** 实际网页正常加载,才完成这一步。
|
||||
|
||||
如需换节点,打开“代理”(Proxies)页,选择另一个可用节点,再重新加载网页。不同版本的自动选择策略可能不同,始终以当前选中的配置和代理页显示为准。
|
||||
|
||||
<h2 id="daily">4. 日常更新与断开</h2>
|
||||
|
||||
节点失效时,使用配置卡片或配置菜单的更新操作,等待订阅刷新。旧地址不再有效时,回[本站首页](/)获取新一批分享并重新添加。
|
||||
|
||||
停止使用时,回到 Hiddify 点击连接按钮断开。不需要为了断开而删除整个 VPN 配置,下次使用仍可继续连接。
|
||||
|
||||
<h2 id="help">遇到问题时</h2>
|
||||
|
||||
**添加后没有节点。** 查看导入是否报错、当前是否选中新配置,以及订阅内容是否仍然有效。
|
||||
|
||||
**一直连接中。** 检查 VPN 授权是否完成,先断开其他 VPN,再换节点。连接一个失效节点时,反复切开关通常不会改善。
|
||||
|
||||
**Wi-Fi 能用,蜂窝网络不能用。** 检查 Hiddify 是否获准使用蜂窝数据,并分别确认两种网络下能否更新订阅。
|
||||
|
||||
[返回新手指引](/a/getting-started.html#devices) · 已使用 Quantumult X 的读者可看[对应教程](/a/m170.html)。
|
||||
|
||||
参考:[Hiddify 使用说明](https://hiddify.com/app/How-to-use-Hiddify-app/)、[官方 App Store 页面](https://apps.apple.com/us/app/hiddify-proxy-vpn/id6596777532)。
|
||||
1
docs/content/tutorials/newcomer/linux.html
Normal file
@ -0,0 +1 @@
|
||||
<link rel="stylesheet" href="/css/tutorials.css"><div class="tutorial-body"><figure class="guide-figure tutorial-hero"><img src="/images/editorial/591145d7fbc7447831ea50187e25cc58e2cc16d2215240e7a4d6d55cbed25d2b.jpg" width="1939" height="811" alt="Linux 新手教程:在桌面环境使用 Clash Verge Rev主题图" decoding="async"></figure><p>这篇教程面向有图形桌面的 Linux 电脑。使用 Clash Verge Rev 导入本站订阅,再让浏览器通过系统代理访问;无桌面的服务器不按这套图形界面步骤操作。</p><h2 id="install">1. 同时看发行版和处理器</h2><p>从<a href="/a/proxy-clients.html#verge">客户端下载页</a>进入 Clash Verge Rev 官方安装入口。Ubuntu、Debian 系通常选 <strong>DEB</strong>,Fedora 系通常选 <strong>RPM</strong>;还要核对当前发行版是否满足该版本的运行依赖。</p><p>在终端运行 <code>uname -m</code> 查看处理器架构:<code>x86_64</code> 对应 x64,<code>aarch64</code> 对应 ARM64。安装包格式和 CPU 架构要同时匹配,只看文件扩展名不够。</p><figure class="starter-process"><div><b>系统</b><span>Debian / Ubuntu:DEB<br>Fedora:RPM</span></div><div><b>架构</b><span>x86_64:x64<br>aarch64:ARM64</span></div><div><b>安装</b><span>系统软件安装器<br>或发行版包管理器</span></div><figcaption>安装包选择示意:系统与架构是两项独立条件。</figcaption></figure><p>下载后双击安装包,用系统软件安装器完成安装,再从应用菜单打开。若双击不能安装,可以在下载目录使用对应包管理器;下面的文件名要替换成实际下载的名称,只运行适合自己系统的一条。</p><pre><code class="language-bash"># Debian / Ubuntu sudo apt install ./实际文件名.deb # Fedora sudo dnf install ./实际文件名.rpm </code></pre><p>若提示缺依赖,先通过发行版包管理器处理,不用强制忽略依赖。</p><h2 id="import">2. 导入免费订阅</h2><p>打开<a href="/">本站免费订阅区</a>,复制 <strong>Clash / Mihomo</strong> 订阅。进入客户端“订阅”页,粘贴、导入,再选中新出现的配置卡片。</p><p>随后打开“代理”页,选择 <strong>规则</strong> 模式,在出口代理组中选择一个节点或自动选择组。列表有节点,说明配置已经读到;接下来才是设备的接管设置。</p><h2 id="connect">3. 开启系统代理并检查浏览器</h2><p>在客户端首页或设置页打开 <strong>系统代理</strong>,保持客户端运行,重新打开浏览器的目标网页。</p><p>Linux 桌面环境和应用对系统代理的支持不同。如果网页没有变化,先检查浏览器是否使用系统代理,而不是独立代理设置。Firefox 可以在“设置 → 网络设置”中确认代理来源。</p><p>这里先让浏览器连通。不需要一开始就同时改环境变量、全局路由和 DNS,否则很难判断究竟是哪一项生效。</p><h2 id="terminal">4. 终端需要单独判断</h2><p>浏览器可用不代表 <code>curl</code>、Git 等命令自动使用相同代理。终端工具可能读取自己的代理选项或环境变量。</p><p>想验证单条命令,可以继续看<a href="/a/m174.html#terminal">Linux 完整教程里的终端代理示例</a>,使用客户端显示的实际监听端口;不要把别人的端口直接当作自己的设置。需要更广的接管范围时,再阅读<a href="/a/system-proxy-vs-tun.html#choose">系统代理与 TUN</a>。</p><h2 id="help">日常使用与排错</h2><ul><li>节点失效:先更新订阅,再换节点;旧地址不可用时回<a href="/">首页</a>获取新地址。</li><li>客户端打不开:核对发行版、架构和缺失依赖,查看启动报错;这类问题与节点选择无关。</li><li>网页仍然打不开:确认配置选中、系统代理生效、浏览器未覆盖代理设置,再检查节点。</li><li>结束使用:先关闭系统代理,再退出客户端,避免系统留下指向已停止程序的代理地址。</li></ul><p><a href="/a/getting-started.html#devices">返回新手指引</a></p><p>参考:<a href="https://www.clashverge.dev/install.html">Clash Verge Rev 安装说明</a>、<a href="https://www.clashverge.dev/faq/linux.html">Linux 常见问题</a>。</p></div>
|
||||
54
docs/content/tutorials/newcomer/linux.md
Normal file
@ -0,0 +1,54 @@
|
||||
<figure class="guide-figure tutorial-hero"><img src="/images/editorial/591145d7fbc7447831ea50187e25cc58e2cc16d2215240e7a4d6d55cbed25d2b.jpg" width="1939" height="811" alt="Linux 新手教程:在桌面环境使用 Clash Verge Rev主题图" decoding="async"></figure>
|
||||
|
||||
这篇教程面向有图形桌面的 Linux 电脑。使用 Clash Verge Rev 导入本站订阅,再让浏览器通过系统代理访问;无桌面的服务器不按这套图形界面步骤操作。
|
||||
|
||||
<h2 id="install">1. 同时看发行版和处理器</h2>
|
||||
|
||||
从[客户端下载页](/a/proxy-clients.html#verge)进入 Clash Verge Rev 官方安装入口。Ubuntu、Debian 系通常选 **DEB**,Fedora 系通常选 **RPM**;还要核对当前发行版是否满足该版本的运行依赖。
|
||||
|
||||
在终端运行 `uname -m` 查看处理器架构:`x86_64` 对应 x64,`aarch64` 对应 ARM64。安装包格式和 CPU 架构要同时匹配,只看文件扩展名不够。
|
||||
|
||||
<figure class="starter-process"><div><b>系统</b><span>Debian / Ubuntu:DEB<br>Fedora:RPM</span></div><div><b>架构</b><span>x86_64:x64<br>aarch64:ARM64</span></div><div><b>安装</b><span>系统软件安装器<br>或发行版包管理器</span></div><figcaption>安装包选择示意:系统与架构是两项独立条件。</figcaption></figure>
|
||||
|
||||
下载后双击安装包,用系统软件安装器完成安装,再从应用菜单打开。若双击不能安装,可以在下载目录使用对应包管理器;下面的文件名要替换成实际下载的名称,只运行适合自己系统的一条。
|
||||
|
||||
```bash
|
||||
# Debian / Ubuntu
|
||||
sudo apt install ./实际文件名.deb
|
||||
|
||||
# Fedora
|
||||
sudo dnf install ./实际文件名.rpm
|
||||
```
|
||||
|
||||
若提示缺依赖,先通过发行版包管理器处理,不用强制忽略依赖。
|
||||
|
||||
<h2 id="import">2. 导入免费订阅</h2>
|
||||
|
||||
打开[本站免费订阅区](/),复制 **Clash / Mihomo** 订阅。进入客户端“订阅”页,粘贴、导入,再选中新出现的配置卡片。
|
||||
|
||||
随后打开“代理”页,选择 **规则** 模式,在出口代理组中选择一个节点或自动选择组。列表有节点,说明配置已经读到;接下来才是设备的接管设置。
|
||||
|
||||
<h2 id="connect">3. 开启系统代理并检查浏览器</h2>
|
||||
|
||||
在客户端首页或设置页打开 **系统代理**,保持客户端运行,重新打开浏览器的目标网页。
|
||||
|
||||
Linux 桌面环境和应用对系统代理的支持不同。如果网页没有变化,先检查浏览器是否使用系统代理,而不是独立代理设置。Firefox 可以在“设置 → 网络设置”中确认代理来源。
|
||||
|
||||
这里先让浏览器连通。不需要一开始就同时改环境变量、全局路由和 DNS,否则很难判断究竟是哪一项生效。
|
||||
|
||||
<h2 id="terminal">4. 终端需要单独判断</h2>
|
||||
|
||||
浏览器可用不代表 `curl`、Git 等命令自动使用相同代理。终端工具可能读取自己的代理选项或环境变量。
|
||||
|
||||
想验证单条命令,可以继续看[Linux 完整教程里的终端代理示例](/a/m174.html#terminal),使用客户端显示的实际监听端口;不要把别人的端口直接当作自己的设置。需要更广的接管范围时,再阅读[系统代理与 TUN](/a/system-proxy-vs-tun.html#choose)。
|
||||
|
||||
<h2 id="help">日常使用与排错</h2>
|
||||
|
||||
- 节点失效:先更新订阅,再换节点;旧地址不可用时回[首页](/)获取新地址。
|
||||
- 客户端打不开:核对发行版、架构和缺失依赖,查看启动报错;这类问题与节点选择无关。
|
||||
- 网页仍然打不开:确认配置选中、系统代理生效、浏览器未覆盖代理设置,再检查节点。
|
||||
- 结束使用:先关闭系统代理,再退出客户端,避免系统留下指向已停止程序的代理地址。
|
||||
|
||||
[返回新手指引](/a/getting-started.html#devices)
|
||||
|
||||
参考:[Clash Verge Rev 安装说明](https://www.clashverge.dev/install.html)、[Linux 常见问题](https://www.clashverge.dev/faq/linux.html)。
|
||||