1"use strict";(self.webpackChunkhomepage=self.webpackChunkhomepage||[]).push([[5332],{2648:function(n,a,e){e.r(a),e.d(a,{Head:function(){return _},default:function(){return S}});var s=e(5676),t=e(758);function o(n){const a=Object.assign({h2:"h2",p:"p",a:"a",span:"span"},(0,s.R)(),n.components);return t.createElement(t.Fragment,null,t.createElement(a.h2,null,"ä¸è½½ Release"),"\n",t.createElement(a.p,null,"å¨ Project-V ç ",t.createElement(a.a,{href:"https://github.com/v2fly/v2ray-core/releases"},"Github Releases")," 页é¢ä¸è½½ææ°çäºè¿å¶å
ã"),"\n",t.createElement(a.p,null,"æ¬æä»¥éç¨äº x86_64 æºå¨ç ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">v2ray-linux-64.zip</code>'}})," 为ä¾ãä¸è½½å®æåä¼ å
¥ Linux 主æºå³å¯ã"),"\n",t.createElement(a.h2,null,"å®è£
Project-V"),"\n",t.createElement(a.p,null,"æ§è¡ ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">unzip</code>'}})," å½ä»¤ï¼"),"\n",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<div class="gatsby-highlight" data-language="bash"><pre class="language-bash"><code class="language-bash"><span class="token function">unzip</span> v2ray-linux-64.zip</code></pre></div>'}}),"\n",t.createElement(a.p,null,"æä»¶å°å
¨é¨è§£åå°å½åç®å½ã"),"\n",t.createElement(a.h2,null,"åå»ºè½¯é¾æ¥"),"\n",t.createElement(a.p,null,"æ§è¡ ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">ln</code>'}})," å½ä»¤ï¼"),"\n",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<div class="gatsby-highlight" data-language="bash"><pre class="language-bash"><code class="language-bash"><span class="token function">ln</span> <span class="token parameter variable">-s</span> /path/to/v2ray /usr/local/bin</code></pre></div>'}}),"\n",t.createElement(a.p,null,"è¿éç ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">v2ray</code>'}})," æ¯å缩å
éå·²ç¼è¯å¥½çäºè¿å¶å¯æ§è¡æä»¶ã"),"\n",t.createElement(a.h2,null,"é
ç½® Project-V"),"\n",t.createElement(a.p,null,"ç¼è¾ä¸ ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">v2ray</code>'}})," ç¸åç®å½ä¸ç ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">config.json</code>'}})," æä»¶ï¼é
ç½®å¦ä¸ï¼"),"\n",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<div class="gatsby-highlight" data-language="json"><pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n <span class="token comment">// åç¥</span>\n <span class="token comment">// List of inbound proxy configurations.</span>\n <span class="token property">"inbounds"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n <span class="token punctuation">{</span>\n <span class="token comment">// Port to listen on. You may need root access if the value is less than 1024.</span>\n <span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">1080</span><span class="token punctuation">,</span> <span class="token comment">// æ¬æºçå¬ç端å£ï¼åºä¸ºä¸å åå¼å·çæ°å</span>\n\n <span class="token comment">// IP address to listen on. Change to "0.0.0.0" to listen on all network interfaces.</span>\n <span class="token property">"listen"</span><span class="token operator">:</span> <span class="token string">"127.0.0.1"</span><span class="token punctuation">,</span>\n\n <span class="token comment">// Tag of the inbound proxy. May be used for routing.</span>\n <span class="token property">"tag"</span><span class="token operator">:</span> <span class="token string">"socks-inbound"</span><span class="token punctuation">,</span>\n\n <span class="token comment">// Protocol name of inbound proxy.</span>\n <span class="token property">"protocol"</span><span class="token operator">:</span> <span class="token string">"socks"</span><span class="token punctuation">,</span>
1\n\n <span class="token comment">// Settings of the protocol. Varies based on protocol.</span>\n <span class="token property">"settings"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n <span class="token property">"auth"</span><span class="token operator">:</span> <span class="token string">"noauth"</span><span class="token punctuation">,</span>\n <span class="token property">"udp"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>\n <span class="token property">"ip"</span><span class="token operator">:</span> <span class="token string">"127.0.0.1"</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n\n <span class="token comment">// Enable sniffing on TCP connection.</span>\n <span class="token property">"sniffing"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n <span class="token property">"enabled"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n <span class="token comment">// Target domain will be overriden to the one carried by the connection, if the connection is HTTP or HTTPS.</span>\n <span class="token property">"destOverride"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"http"</span><span class="token punctuation">,</span> <span class="token string">"tls"</span><span class="token punctuation">]</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">]</span><span class="token punctuation">,</span>\n <span class="token comment">// List of outbound proxy configurations.</span>\n <span class="token property">"outbounds"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n <span class="token punctuation">{</span>\n <span class="token comment">// Protocol name of the outbound proxy.</span>\n <span class="token property">"protocol"</span><span class="token operator">:</span> <span class="token string">"vmess"</span><span class="token punctuation">,</span> <span class="token comment">// 使ç¨ç代çåè®®</span>\n\n <span class="token comment">// Settings of the protocol. Varies based on protocol.</span>\n <span class="token property">"settings"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n <span class="token property">"vnext"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n <span class="token punctuation">{</span>\n <span class="token property">"address"</span><span class="token operator">:</span> <span class="token string">"V2RAY_SERVER_ADDRESS"</span><span class="token punctuation">,</span> <span class="token comment">// 代ççæå¡å¨å°å</span>\n <span class="token property">"port"</span><span class="token operator">:</span> <span class="token number">16823</span><span class="token punctuation">,</span> <span class="token comment">// 代çæå¡å¨ç端å£ï¼åºä¸ºä¸å åå¼å·çæ°å</span>\n <span class="token property">"users"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n <span class="token punctuation">{</span>\n <span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"V2RAY_UUID"</span><span class="token punctuation">,</span> <span class="token comment">// 代çæå¡å¨ç UUID</span>\n <span class="token property">"alterId"</span><span class="token operator">:</span> <span class="token number">64</span> <span class="token comment">// 代çæå¡å¨ç Alter Idï¼åºä¸ºä¸å åå¼å·çæ°å</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">]</span>
1\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n <span class="token punctuation">{</span>\n <span class="token comment">// æ·»å æ´å¤ç VMESS å议代çæå¡å¨</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">]</span>\n <span class="token punctuation">}</span><span class="token punctuation">,</span>\n\n <span class="token comment">// Tag of the outbound. May be used for routing.</span>\n <span class="token property">"tag"</span><span class="token operator">:</span> <span class="token string">"vmess_serve"</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">]</span>\n <span class="token comment">// åç¥</span>\n<span class="token punctuation">}</span></code></pre></div>'}}),"\n",t.createElement(a.p,null,"å¯¹äºæ°æï¼åªéè¦ææ¡ ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">inbounds</code>'}})," å ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">outbounds</code>'}})," çé
ç½®æ¹å¼å³å¯ã"),"\n",t.createElement(a.p,null,"对äºè¿é¶ä½¿ç¨ï¼å¯ä»¥åè",t.createElement(a.a,{href:"https://www.v2fly.org/"},"宿¹ææ¡£"),"ï¼æè
æ´éåæ°æç",t.createElement(a.a,{href:"https://guide.v2fly.org/"},"âç½è¯æâææ¡£"),"ã"),"\n",t.createElement(a.h2,null,"å¯ç¨ Project-V"),"\n",t.createElement(a.p,null,"ä¿åä¿®æ¹åï¼å¨åå°è¿è¡ ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">v2ray</code>'}}),"ï¼"),"\n",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<div class="gatsby-highlight" data-language="bash"><pre class="language-bash"><code class="language-bash">v2ray <span class="token operator">&</span></code></pre></div>'}}),"\n",t.createElement(a.p,null,"妿åèåé¢çé»è®¤é
ç½®ï¼åå®å°çå¬å¨ ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">127.0.0.1:1080</code>'}})," 端å£ã"),"\n",t.createElement(a.p,null,"å妿¨æ³å é ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">git</code>'}})," å
éé度ï¼åå¯ä»¥é
ç½®å®ç ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">http(s).proxy</code>'}}),"ï¼"),"\n",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<div class="gatsby-highlight" data-language="bash"><pre class="language-bash"><code class="language-bash"><span class="token function">git</span> config <span class="token parameter variable">--global</span> http.proxy socks5://127.0.0.1:1080\n<span class="token function">git</span> config <span class="token parameter variable">--global</span> https.proxy socks5://127.0.0.1:1080</code></pre></div>'}}),"\n",t.createElement(a.p,null,"ç°å¨ï¼ä½¿ç¨ ",t.createElement(a.span,{dangerouslySetInnerHTML:{__html:'<code class="language-text">git clone</code>'}})," å½ä»¤äº«åé£ä¸è¬çé度å§ã"))}var p=function(n){void 0===n&&(n={});const{wrapper:a}=Object.assign({},(0,s.R)(),n.components);return a?t.createElement(a,n,t.createElement(o,n)):o(n)},l=e(5643),c=e(9182),r=e.n(c),u=e(2838),i=e.n(u),m=e(4579),g=e.n(m),d=e(2030),k=e(7531),h=e(1099),y=e(4490),f=e(3625),b=e(5672),E=e(1579);r().extend(g()),r().extend(i());const x={a:n=>{let{href:a="",children:e}=n;const s=!(null!=a&&a.startsWith("#")),o=s?a:`#${encodeURIComponent(a.slice(1))}`;return t.createElement("a",{href:o,target:s?"_blank":void 0,rel:"noreferrer"},e)},img:n=>{const{alt:a="The author is too lazy to give an alt",src:e,...s}=n;return t.createElement("a",{href:e,"data-fancybox":"gallery","data-caption":a},t.createElement("img",Object.assign({src:e,alt:a},s)))},Card:k.A,Link:d.Link,HintText:h.A},v=n=>{var a;let{children:e,data:o}=n;const{mdx:{fields:{isDraft:p},frontmatter:{title:c,date:u,updated:i,categories:m,tags:g,timeliness:k}}}=o,h=t.useRef(null),y=r().utc(u).tz("Asia/Shanghai"),v=i?r().utc(i).tz("Asia/Shanghai"):y,[_,S]=t.useState(null),T=null!==_?_.diff(v,"days"):null,M="number"==typeof k?k:365,H=null!==T&&M>=0&&T>=M;return t.useEffect(()=>{t.startTransition(()=>S(r()().tz("Asia/Shanghai")))},[]),t.useEffect(()=>{var n;const a=null===(n=h.current)||void 0===n?void 0:n.querySelectorAll("a.gatsby-resp-image-link");return null==a||a.forEach(n=>{const a=n.children.item(1);n.setAttribute("data-fancybox","gallery"),n.setAttribute("data-caption",a.alt)}),l.lX.bind("[data-fancybox]",{on:{initLayout:n=>{var a,e;null===(a=n.getContainer())||void 0===a||a.setAttribute("theme",null!==(e=document.documentElement.dataset.theme)&&void 0!==e?e:"light")}}}),()=>l.lX.unbind("[data-fancybox]")},[]),(0,E.A)(h),t.createElement("div",{className:"mx-auto flex max-w-xl flex-col gap-y-12"},t.createElement("div",{className:"flex flex-col gap-4"},(null==m?void 0:m.length)&&t.createElement(d.Link,{to:`/categories/${encodeURIComponent(m[0])}
1`,className:"w-fit rounded bg-background-lighter px-3 py-2 leading-normal transition-opacity hover:opacity-75"},t.createElement("span",{className:`cursor-pointer bg-gradient-to-tr from-0% via-40% to-90% bg-clip-text text-lg font-bold leading-none text-transparent ${null!==(a=b.Y[m[0]])&&void 0!==a?a:""}`},m[0])),t.createElement("h1",{className:"text-3xl font-bold"},c),t.createElement("div",{className:"item-secondary flex flex-col gap-2 lg:flex-row"},u&&t.createElement("span",{title:`馿¬¡åå¸äºï¼${y.format("YYYY-MM-DD HH:mm:ss [UTC+8]")}\næåæ´æ°äºï¼${v.format("YYYY-MM-DD HH:mm:ss [UTC+8]")}`},y.format("MM æ DD æ¥ YYYY å¹´")),(null==g?void 0:g.length)&&t.createElement("div",{className:"flex flex-1 flex-wrap gap-2 lg:before:content-['â¢']"},g.map(n=>t.createElement(f.A,{key:n,name:n,className:"item-secondary item-selectable"}))))),t.createElement("article",{ref:h,className:"heti post-entry"},p&&t.createElement("blockquote",{className:"!border-red-400"},"è¿æ¯ä¸ç¯",t.createElement("strong",null,"å°æªæ£å¼åå¸"),"çå客ï¼å 容å¯è½æä¸å®åæåå¨çº°æ¼ï¼å»ºè®®æ¨ä»ç»è¯ä¼°æç« çå¯é æ§ã"),H&&null!==T&&t.createElement("blockquote",{className:"!border-orange-400"},"è¿æ¯ä¸ç¯",t.createElement("strong",null,"æåæ´æ°äº ",T," 天å"),"çå客ï¼å 容å¯è½éçæ¶é´çæ¨ç§»èåå¾ä¸åéç¨ï¼å»ºè®®æ¨ä»ç»è¯ä¼°æç« çæææ§ã"),t.createElement(s.x,{components:x},e)))},_=n=>{let{data:a}=n;return t.createElement(y.A,{title:String(a.mdx.frontmatter.title)})};function S(n){return t.createElement(v,n,t.createElement(p,n))}}}]); 2//# sourceMappingURL=component---src-templates-post-tsx-content-file-path-blog-posts-linux-project-v-mdx-f7c67617371680cc66b6.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.