432 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			432 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | ||
| <html>
 | ||
| <head>
 | ||
| <title>README.md</title>
 | ||
| <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
 | ||
| 
 | ||
| <style>
 | ||
| /* https://github.com/microsoft/vscode/blob/master/extensions/markdown-language-features/media/markdown.css */
 | ||
| /*---------------------------------------------------------------------------------------------
 | ||
|  *  Copyright (c) Microsoft Corporation. All rights reserved.
 | ||
|  *  Licensed under the MIT License. See License.txt in the project root for license information.
 | ||
|  *--------------------------------------------------------------------------------------------*/
 | ||
| 
 | ||
| body {
 | ||
| 	font-family: var(--vscode-markdown-font-family, -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "Ubuntu", "Droid Sans", sans-serif);
 | ||
| 	font-size: var(--vscode-markdown-font-size, 14px);
 | ||
| 	padding: 0 26px;
 | ||
| 	line-height: var(--vscode-markdown-line-height, 22px);
 | ||
| 	word-wrap: break-word;
 | ||
| }
 | ||
| 
 | ||
| #code-csp-warning {
 | ||
| 	position: fixed;
 | ||
| 	top: 0;
 | ||
| 	right: 0;
 | ||
| 	color: white;
 | ||
| 	margin: 16px;
 | ||
| 	text-align: center;
 | ||
| 	font-size: 12px;
 | ||
| 	font-family: sans-serif;
 | ||
| 	background-color:#444444;
 | ||
| 	cursor: pointer;
 | ||
| 	padding: 6px;
 | ||
| 	box-shadow: 1px 1px 1px rgba(0,0,0,.25);
 | ||
| }
 | ||
| 
 | ||
| #code-csp-warning:hover {
 | ||
| 	text-decoration: none;
 | ||
| 	background-color:#007acc;
 | ||
| 	box-shadow: 2px 2px 2px rgba(0,0,0,.25);
 | ||
| }
 | ||
| 
 | ||
| body.scrollBeyondLastLine {
 | ||
| 	margin-bottom: calc(100vh - 22px);
 | ||
| }
 | ||
| 
 | ||
| body.showEditorSelection .code-line {
 | ||
| 	position: relative;
 | ||
| }
 | ||
| 
 | ||
| body.showEditorSelection .code-active-line:before,
 | ||
| body.showEditorSelection .code-line:hover:before {
 | ||
| 	content: "";
 | ||
| 	display: block;
 | ||
| 	position: absolute;
 | ||
| 	top: 0;
 | ||
| 	left: -12px;
 | ||
| 	height: 100%;
 | ||
| }
 | ||
| 
 | ||
| body.showEditorSelection li.code-active-line:before,
 | ||
| body.showEditorSelection li.code-line:hover:before {
 | ||
| 	left: -30px;
 | ||
| }
 | ||
| 
 | ||
| .vscode-light.showEditorSelection .code-active-line:before {
 | ||
| 	border-left: 3px solid rgba(0, 0, 0, 0.15);
 | ||
| }
 | ||
| 
 | ||
| .vscode-light.showEditorSelection .code-line:hover:before {
 | ||
| 	border-left: 3px solid rgba(0, 0, 0, 0.40);
 | ||
| }
 | ||
| 
 | ||
| .vscode-light.showEditorSelection .code-line .code-line:hover:before {
 | ||
| 	border-left: none;
 | ||
| }
 | ||
| 
 | ||
| .vscode-dark.showEditorSelection .code-active-line:before {
 | ||
| 	border-left: 3px solid rgba(255, 255, 255, 0.4);
 | ||
| }
 | ||
| 
 | ||
| .vscode-dark.showEditorSelection .code-line:hover:before {
 | ||
| 	border-left: 3px solid rgba(255, 255, 255, 0.60);
 | ||
| }
 | ||
| 
 | ||
| .vscode-dark.showEditorSelection .code-line .code-line:hover:before {
 | ||
| 	border-left: none;
 | ||
| }
 | ||
| 
 | ||
| .vscode-high-contrast.showEditorSelection .code-active-line:before {
 | ||
| 	border-left: 3px solid rgba(255, 160, 0, 0.7);
 | ||
| }
 | ||
| 
 | ||
| .vscode-high-contrast.showEditorSelection .code-line:hover:before {
 | ||
| 	border-left: 3px solid rgba(255, 160, 0, 1);
 | ||
| }
 | ||
| 
 | ||
| .vscode-high-contrast.showEditorSelection .code-line .code-line:hover:before {
 | ||
| 	border-left: none;
 | ||
| }
 | ||
| 
 | ||
| img {
 | ||
| 	max-width: 100%;
 | ||
| 	max-height: 100%;
 | ||
| }
 | ||
| 
 | ||
| a {
 | ||
| 	text-decoration: none;
 | ||
| }
 | ||
| 
 | ||
| a:hover {
 | ||
| 	text-decoration: underline;
 | ||
| }
 | ||
| 
 | ||
| a:focus,
 | ||
| input:focus,
 | ||
| select:focus,
 | ||
| textarea:focus {
 | ||
| 	outline: 1px solid -webkit-focus-ring-color;
 | ||
| 	outline-offset: -1px;
 | ||
| }
 | ||
| 
 | ||
| hr {
 | ||
| 	border: 0;
 | ||
| 	height: 2px;
 | ||
| 	border-bottom: 2px solid;
 | ||
| }
 | ||
| 
 | ||
| h1 {
 | ||
| 	padding-bottom: 0.3em;
 | ||
| 	line-height: 1.2;
 | ||
| 	border-bottom-width: 1px;
 | ||
| 	border-bottom-style: solid;
 | ||
| }
 | ||
| 
 | ||
| h1, h2, h3 {
 | ||
| 	font-weight: normal;
 | ||
| }
 | ||
| 
 | ||
| table {
 | ||
| 	border-collapse: collapse;
 | ||
| }
 | ||
| 
 | ||
| table > thead > tr > th {
 | ||
| 	text-align: left;
 | ||
| 	border-bottom: 1px solid;
 | ||
| }
 | ||
| 
 | ||
| table > thead > tr > th,
 | ||
| table > thead > tr > td,
 | ||
| table > tbody > tr > th,
 | ||
| table > tbody > tr > td {
 | ||
| 	padding: 5px 10px;
 | ||
| }
 | ||
| 
 | ||
| table > tbody > tr + tr > td {
 | ||
| 	border-top: 1px solid;
 | ||
| }
 | ||
| 
 | ||
| blockquote {
 | ||
| 	margin: 0 7px 0 5px;
 | ||
| 	padding: 0 16px 0 10px;
 | ||
| 	border-left-width: 5px;
 | ||
| 	border-left-style: solid;
 | ||
| }
 | ||
| 
 | ||
| code {
 | ||
| 	font-family: Menlo, Monaco, Consolas, "Droid Sans Mono", "Courier New", monospace, "Droid Sans Fallback";
 | ||
| 	font-size: 1em;
 | ||
| 	line-height: 1.357em;
 | ||
| }
 | ||
| 
 | ||
| body.wordWrap pre {
 | ||
| 	white-space: pre-wrap;
 | ||
| }
 | ||
| 
 | ||
| pre:not(.hljs),
 | ||
| pre.hljs code > div {
 | ||
| 	padding: 16px;
 | ||
| 	border-radius: 3px;
 | ||
| 	overflow: auto;
 | ||
| }
 | ||
| 
 | ||
| pre code {
 | ||
| 	color: var(--vscode-editor-foreground);
 | ||
| 	tab-size: 4;
 | ||
| }
 | ||
| 
 | ||
| /** Theming */
 | ||
| 
 | ||
| .vscode-light pre {
 | ||
| 	background-color: rgba(220, 220, 220, 0.4);
 | ||
| }
 | ||
| 
 | ||
| .vscode-dark pre {
 | ||
| 	background-color: rgba(10, 10, 10, 0.4);
 | ||
| }
 | ||
| 
 | ||
| .vscode-high-contrast pre {
 | ||
| 	background-color: rgb(0, 0, 0);
 | ||
| }
 | ||
| 
 | ||
| .vscode-high-contrast h1 {
 | ||
| 	border-color: rgb(0, 0, 0);
 | ||
| }
 | ||
| 
 | ||
| .vscode-light table > thead > tr > th {
 | ||
| 	border-color: rgba(0, 0, 0, 0.69);
 | ||
| }
 | ||
| 
 | ||
| .vscode-dark table > thead > tr > th {
 | ||
| 	border-color: rgba(255, 255, 255, 0.69);
 | ||
| }
 | ||
| 
 | ||
| .vscode-light h1,
 | ||
| .vscode-light hr,
 | ||
| .vscode-light table > tbody > tr + tr > td {
 | ||
| 	border-color: rgba(0, 0, 0, 0.18);
 | ||
| }
 | ||
| 
 | ||
| .vscode-dark h1,
 | ||
| .vscode-dark hr,
 | ||
| .vscode-dark table > tbody > tr + tr > td {
 | ||
| 	border-color: rgba(255, 255, 255, 0.18);
 | ||
| }
 | ||
| 
 | ||
| </style>
 | ||
| 
 | ||
| <style>
 | ||
| /* Tomorrow Theme */
 | ||
| /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
 | ||
| /* Original theme - https://github.com/chriskempson/tomorrow-theme */
 | ||
| 
 | ||
| /* Tomorrow Comment */
 | ||
| .hljs-comment,
 | ||
| .hljs-quote {
 | ||
| 	color: #8e908c;
 | ||
| }
 | ||
| 
 | ||
| /* Tomorrow Red */
 | ||
| .hljs-variable,
 | ||
| .hljs-template-variable,
 | ||
| .hljs-tag,
 | ||
| .hljs-name,
 | ||
| .hljs-selector-id,
 | ||
| .hljs-selector-class,
 | ||
| .hljs-regexp,
 | ||
| .hljs-deletion {
 | ||
| 	color: #c82829;
 | ||
| }
 | ||
| 
 | ||
| /* Tomorrow Orange */
 | ||
| .hljs-number,
 | ||
| .hljs-built_in,
 | ||
| .hljs-builtin-name,
 | ||
| .hljs-literal,
 | ||
| .hljs-type,
 | ||
| .hljs-params,
 | ||
| .hljs-meta,
 | ||
| .hljs-link {
 | ||
| 	color: #f5871f;
 | ||
| }
 | ||
| 
 | ||
| /* Tomorrow Yellow */
 | ||
| .hljs-attribute {
 | ||
| 	color: #eab700;
 | ||
| }
 | ||
| 
 | ||
| /* Tomorrow Green */
 | ||
| .hljs-string,
 | ||
| .hljs-symbol,
 | ||
| .hljs-bullet,
 | ||
| .hljs-addition {
 | ||
| 	color: #718c00;
 | ||
| }
 | ||
| 
 | ||
| /* Tomorrow Blue */
 | ||
| .hljs-title,
 | ||
| .hljs-section {
 | ||
| 	color: #4271ae;
 | ||
| }
 | ||
| 
 | ||
| /* Tomorrow Purple */
 | ||
| .hljs-keyword,
 | ||
| .hljs-selector-tag {
 | ||
| 	color: #8959a8;
 | ||
| }
 | ||
| 
 | ||
| .hljs {
 | ||
| 	display: block;
 | ||
| 	overflow-x: auto;
 | ||
| 	color: #4d4d4c;
 | ||
| 	padding: 0.5em;
 | ||
| }
 | ||
| 
 | ||
| .hljs-emphasis {
 | ||
| 	font-style: italic;
 | ||
| }
 | ||
| 
 | ||
| .hljs-strong {
 | ||
| 	font-weight: bold;
 | ||
| }
 | ||
| </style>
 | ||
| 
 | ||
| <style>
 | ||
| /*
 | ||
|  * Markdown PDF CSS
 | ||
|  */
 | ||
| 
 | ||
|  body {
 | ||
| 	font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "Ubuntu", "Droid Sans", sans-serif, "Meiryo";
 | ||
| 	padding: 0 12px;
 | ||
| }
 | ||
| 
 | ||
| pre {
 | ||
| 	background-color: #f8f8f8;
 | ||
| 	border: 1px solid #cccccc;
 | ||
| 	border-radius: 3px;
 | ||
| 	overflow-x: auto;
 | ||
| 	white-space: pre-wrap;
 | ||
| 	overflow-wrap: break-word;
 | ||
| }
 | ||
| 
 | ||
| pre:not(.hljs) {
 | ||
| 	padding: 23px;
 | ||
| 	line-height: 19px;
 | ||
| }
 | ||
| 
 | ||
| blockquote {
 | ||
| 	background: rgba(127, 127, 127, 0.1);
 | ||
| 	border-color: rgba(0, 122, 204, 0.5);
 | ||
| }
 | ||
| 
 | ||
| .emoji {
 | ||
| 	height: 1.4em;
 | ||
| }
 | ||
| 
 | ||
| code {
 | ||
| 	font-size: 14px;
 | ||
| 	line-height: 19px;
 | ||
| }
 | ||
| 
 | ||
| /* for inline code */
 | ||
| :not(pre):not(.hljs) > code {
 | ||
| 	color: #C9AE75; /* Change the old color so it seems less like an error */
 | ||
| 	font-size: inherit;
 | ||
| }
 | ||
| 
 | ||
| /* Page Break : use <div class="page"/> to insert page break
 | ||
| -------------------------------------------------------- */
 | ||
| .page {
 | ||
| 	page-break-after: always;
 | ||
| }
 | ||
| 
 | ||
| </style>
 | ||
| 
 | ||
| <script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
 | ||
| </head>
 | ||
| <body>
 | ||
|   <script>
 | ||
|     mermaid.initialize({
 | ||
|       startOnLoad: true,
 | ||
|       theme: document.body.classList.contains('vscode-dark') || document.body.classList.contains('vscode-high-contrast')
 | ||
|           ? 'dark'
 | ||
|           : 'default'
 | ||
|     });
 | ||
|   </script>
 | ||
| <h1 id="fastgithub">FastGithub</h1>
 | ||
| <p>github加速神器,解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题。</p>
 | ||
| <h3 id="1-%E7%A8%8B%E5%BA%8F%E4%B8%8B%E8%BD%BD">1 程序下载</h3>
 | ||
| <ul>
 | ||
| <li><a href="https://github.com/dotnetcore/fastgithub/releases">github-release</a></li>
 | ||
| <li>Q群1 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=cx_MgEIvoo1EMkrKg5tXz8vMdtPap3Rw&jump_from=webapi">307306673</a> [已满]</li>
 | ||
| <li>Q群2 <a href="https://qm.qq.com/cgi-bin/qm/qr?k=6BBJ1nrJwe1o1E4-NJfwSOP-C4sMGc4q&jump_from=webapi">742376932</a></li>
 | ||
| </ul>
 | ||
| <h3 id="2-%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F">2 部署方式</h3>
 | ||
| <h4 id="21-windows-x64%E6%A1%8C%E9%9D%A2">2.1 windows-x64桌面</h4>
 | ||
| <ul>
 | ||
| <li>双击运行FastGithub.UI.exe</li>
 | ||
| </ul>
 | ||
| <h4 id="22-windows-x64%E6%9C%8D%E5%8A%A1">2.2 windows-x64服务</h4>
 | ||
| <ul>
 | ||
| <li><code>fastgithub.exe start</code> // 以windows服务安装并启动</li>
 | ||
| <li><code>fastgithub.exe stop</code> // 以windows服务卸载并删除</li>
 | ||
| </ul>
 | ||
| <h4 id="23-linux-x64%E7%BB%88%E7%AB%AF">2.3 linux-x64终端</h4>
 | ||
| <ul>
 | ||
| <li><code>sudo ./fastgithub</code></li>
 | ||
| <li>设置系统自动代理为<code>http://127.0.0.1:38457</code>,或手动代理http/https为<code>127.0.0.1:38457</code></li>
 | ||
| </ul>
 | ||
| <h4 id="24-linux-x64%E6%9C%8D%E5%8A%A1">2.4 linux-x64服务</h4>
 | ||
| <ul>
 | ||
| <li><code>sudo ./fastgithub start</code> // 以systemd服务安装并启动</li>
 | ||
| <li><code>sudo ./fastgithub stop</code> // 以systemd服务卸载并删除</li>
 | ||
| <li>设置系统自动代理为<code>http://127.0.0.1:38457</code>,或手动代理http/https为<code>127.0.0.1:38457</code></li>
 | ||
| </ul>
 | ||
| <h4 id="25-macos-x64">2.5 macOS-x64</h4>
 | ||
| <ul>
 | ||
| <li>双击运行fastgithub</li>
 | ||
| <li>安装cacert/fastgithub.cer并设置信任</li>
 | ||
| <li>设置系统自动代理为<code>http://127.0.0.1:38457</code>,或手动代理http/https为<code>127.0.0.1:38457</code></li>
 | ||
| <li><a href="https://github.com/dotnetcore/FastGithub/blob/master/MacOSXConfig.md">具体配置详情</a></li>
 | ||
| </ul>
 | ||
| <h4 id="26-docker-compose%E4%B8%80%E9%94%AE%E9%83%A8%E7%BD%B2">2.6 docker-compose一键部署</h4>
 | ||
| <ul>
 | ||
| <li>准备好docker 18.09, docker-compose.</li>
 | ||
| <li>在源码目录下,有一个docker-compose.yaml 文件,专用于在实际项目中,临时使用github.com源码,而做的demo配置。</li>
 | ||
| <li>根据自己的需要更新docker-compose.yaml中的sample和build镜像即可完成拉github.com源码加速,并基于源码做后续的操作。</li>
 | ||
| </ul>
 | ||
| <h3 id="3-%E8%BD%AF%E4%BB%B6%E5%8A%9F%E8%83%BD">3 软件功能</h3>
 | ||
| <ul>
 | ||
| <li>提供域名的纯净IP解析;</li>
 | ||
| <li>提供IP测速并选择最快的IP;</li>
 | ||
| <li>提供域名的tls连接自定义配置;</li>
 | ||
| <li>google的CDN资源替换,解决大量国外网站无法加载js和css的问题;</li>
 | ||
| </ul>
 | ||
| <h3 id="4-%E8%AF%81%E4%B9%A6%E9%AA%8C%E8%AF%81">4 证书验证</h3>
 | ||
| <h4 id="41-git">4.1 git</h4>
 | ||
| <p>git操作提示<code>SSL certificate problem</code></br>
 | ||
| 需要关闭git的证书验证:<code>git config --global http.sslverify false</code></p>
 | ||
| <h4 id="42-firefox">4.2 firefox</h4>
 | ||
| <p>firefox提示<code>连接有潜在的安全问题</code></br>
 | ||
| 设置->隐私与安全->证书->查看证书->证书颁发机构,导入cacert/fastgithub.cer,勾选“信任由此证书颁发机构来标识网站”</p>
 | ||
| <h3 id="5-%E5%AE%89%E5%85%A8%E6%80%A7%E8%AF%B4%E6%98%8E">5 安全性说明</h3>
 | ||
| <p>FastGithub为每台不同的主机生成自颁发CA证书,保存在cacert文件夹下。客户端设备需要安装和无条件信任自颁发的CA证书,请不要将证书私钥泄露给他人,以免造成损失。</p>
 | ||
| <h3 id="6-%E5%90%88%E6%B3%95%E6%80%A7%E8%AF%B4%E6%98%8E">6 合法性说明</h3>
 | ||
| <p>《国际联网暂行规定》第六条规定:“计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。任何单位和个人不得自行建立或者使用其他信道进行国际联网。”
 | ||
| FastGithub本地代理使用的都是“公用电信网提供的国际出入口信道”,从国外Github服务器到国内用户电脑上FastGithub程序的流量,使用的是正常流量通道,其间未对流量进行任何额外加密(仅有网页原有的TLS加密,区别于VPN的流量加密),而FastGithub获取到网页数据之后发生的整个代理过程完全在国内,不再适用国际互联网相关之规定。</p>
 | ||
| 
 | ||
| </body>
 | ||
| </html>
 |