---
sidebar_position: 1
slug: /dev/start
---

# 98.1、开始运行

## 1、入口

:::tip[说明]
1. 在你的.NET8.0+项目中，集成linker
2. 在nuget安装`linker.messenger.entry`
```
//初始化
LinkerMessengerEntry.Initialize();
//在这里可以注入你自己的内容，比如覆盖一下公共配置存储库的实现
//LinkerMessengerEntry.AddService<ICommonStore, MyCommonStore>();

//构建
LinkerMessengerEntry.Build();
//在build之后，可以获取服务做一些操作
//比如获取一下公共配置，设置运行模式为client+server
//ICommonStore commonStore = LinkerMessengerEntry.GetService<ICommonStore>();
//commonStore.SetModes( CommonModes.Client | CommonModes.Server);
//commonStore.Confirm();

//比如不启用api和网页
//IApiStore apiStore = LinkerMessengerEntry.GetService<IApiStore>();
//apiStore.SetApiPort(0);
//apiStore.SetWebPort(0);
//apiStore.Confirm();

//启动，在这里可以排除一些模块，ExcludeModule.Node 不排除，比如我不需要检测更新和管理接口和网页
LinkerMessengerEntry.Setup(ExcludeModule.Updater | ExcludeModule.Api );
```
:::


## 2、一些配置接口
:::tip[说明]
1. 你可以在initialize之后注入覆盖这些实现，和build之后获取这些接口来操作配置
2. 管理接口详情请看各个组件里的`IApiController`实现，包含了全部的管理接口
3. 客户端服务端公共配置`ICommonStore`
4. 自定义验证，Action的配置，客户端`IActionClientStore`，服务端`IActionServerStore`
5. 管理api配置，`IApiStore`，权限设置，`IAccessStore`
6. 端口转发配置 `IForwardClientStore`(增删改使用`ForwardTransfer`操作)
7. 服务端监听配置 `IListenStore`
8. 日志配置 `ILoggerStore`
9. 中继配置，客户端`IRelayClientStore`，服务端`IRelayServerStore`，服务端中继节点`IRelayServerNodeStore`，服务端中继主机`IRelayServerMasterStore`
10. 服务器穿透，客户端`ISForwardClientStore`(增删改使用`SForwardClientTransfer`操作)，服务端`ISForwardServerStore`
11. 登录相关配置，客户端`ISignInClientStore`，服务端`ISignInServerStore`
12. socks5配置`ISocks5Store`(使用`Socks5Transfer`操作)
13. 打洞配置`ITunnelClientStore`
14. 虚拟网卡配置`ITuntapClientStore`(使用`TuntapConfigTransfer`操作)
15. 自动更新，公共配置`IUpdaterCommonStore`，客户端`IUpdaterClientStore`，服务端`IUpdaterServerStore`
:::

## 3、一些对象
:::tip[说明]
1. 你可以在build之后获取这些对象
2. 信标客户端，数据发送`MessengerSender`，登录状态，`SignInClientState`，登录操作，`SignInClientTransfer`
3. 信标服务端，数据发送`MessengerSender`，登录缓存，`SignInServerCaching`
4. 数据同步，实现了`IDecenter`接口的类，是各个模块的数据同步类，可以获取这些类来立即刷新数据同步
:::