├── QuickSearch-0.0.1-SNAPSHOT.jar ├── Readme.md ├── backend ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── quicksearch │ │ │ ├── MyTest.java │ │ │ ├── QuickSearchApplication.java │ │ │ └── controller │ │ │ ├── FileController.java │ │ │ ├── FileItem.java │ │ │ ├── FindController.java │ │ │ ├── GrepController.java │ │ │ └── Result.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── example │ └── quicksearch │ └── QuickSearchApplicationTests.java ├── frontend ├── .gitignore ├── README.md ├── babel.config.js ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ └── index.html ├── src │ ├── App.vue │ ├── assets │ │ ├── emblem.png │ │ └── logo.png │ ├── components │ │ ├── Find.vue │ │ └── Grep.vue │ ├── main.js │ ├── router │ │ └── index.js │ ├── utils │ │ └── api.js │ └── views │ │ ├── About.vue │ │ └── Home.vue └── vue.config.js ├── img └── Readme.assets │ ├── image-20230408114440170.png │ ├── image-20230408114604631.png │ ├── image-20230408114749527.png │ ├── image-20230408114836246.png │ ├── image-20230408114906492.png │ └── image-20230408114930048.png ├── nginx-1.12.2 ├── conf │ ├── fastcgi.conf │ ├── fastcgi_params │ ├── koi-utf │ ├── koi-win │ ├── mime.types │ ├── nginx.conf │ ├── scgi_params │ ├── uwsgi_params │ └── win-utf ├── contrib │ ├── README │ ├── geo2nginx.pl │ ├── unicode2nginx │ │ ├── koi-utf │ │ ├── unicode-to-nginx.pl │ │ └── win-utf │ └── vim │ │ ├── ftdetect │ │ └── nginx.vim │ │ ├── ftplugin │ │ └── nginx.vim │ │ ├── indent │ │ └── nginx.vim │ │ └── syntax │ │ └── nginx.vim ├── docs │ ├── CHANGES │ ├── CHANGES.ru │ ├── LICENSE │ ├── OpenSSL.LICENSE │ ├── PCRE.LICENCE │ ├── README │ └── zlib.LICENSE ├── html │ ├── css │ │ ├── app.fe24fbe6.css │ │ ├── chunk-252bc5aa.d9aec0dd.css │ │ ├── chunk-5eedb2c0.821e0919.css │ │ ├── chunk-9f6c26c8.dfad923c.css │ │ └── chunk-vendors.acee6d16.css │ ├── favicon.ico │ ├── fonts │ │ ├── element-icons.535877f5.woff │ │ └── element-icons.732389de.ttf │ ├── index.html │ └── js │ │ ├── app.7673733c.js │ │ ├── app.7673733c.js.map │ │ ├── chunk-252bc5aa.0db59b39.js │ │ ├── chunk-252bc5aa.0db59b39.js.map │ │ ├── chunk-3961fd03.b7c58c43.js │ │ ├── chunk-3961fd03.b7c58c43.js.map │ │ ├── chunk-5eedb2c0.51901c89.js │ │ ├── chunk-5eedb2c0.51901c89.js.map │ │ ├── chunk-9f6c26c8.f0c73dd0.js │ │ ├── chunk-9f6c26c8.f0c73dd0.js.map │ │ ├── chunk-vendors.eb7c1c7f.js │ │ └── chunk-vendors.eb7c1c7f.js.map ├── logs │ ├── access.log │ ├── error.log │ └── nginx.pid └── nginx.exe ├── shutdown.bat └── start.bat /QuickSearch-0.0.1-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/QuickSearch-0.0.1-SNAPSHOT.jar -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | ## QuickSearch —— Windows系统下的文件、文本内容快搜工具 2 | 3 | ### 简介 4 | 5 | windows上的快搜工具?我直接用Everything或者Listrary不就行了,你这有啥用? 6 | 7 | 好吧,一开始我也是用的上面两款工具,不过,**当我遇到下面的情况时**,我就emmmm了:sob::sob::sob::sob::sob::sob:: 8 | 9 | 1. 这些工具时不时得要重建索引,否则的话,有些你新建不旧的文件就搜索不到了 :cry::cry::cry: 10 | 2. 这些工具都**只能根据文件名进行搜索**,如果我想根据文本的内容进行搜索,就不行了,唉。。。 11 | 3. 担心这些是不是有联网行为,我的数据安全吗?:scream::scream::scream: 12 | 13 | **So!我就萌生了想自己写一个小工具的想法,主要解决几个问题:** 14 | 15 | - 我的工具可以根据文本内容去搜索,然后找到文本内容所在的文件,那么你就可以有以下应用场景了: 16 | - 我上周记录了一个`linux`相关的笔记,但是电脑上有linux相关的文件太多了,我忘记了在哪个文件里了 17 | - 我的小工具可以根据文件后缀进行查找,同时对于“大小写”也可以忽略 18 | - 如果我想找的是某个`目录`而不是文件呢,完全可以的。 19 | - 模糊查找;多个关键词查找;.... 20 | - 还有很多。。。。 21 | 22 | ### 使用效果 23 | 24 | https://user-images.githubusercontent.com/83388493/232200964-0c7e2c04-10cf-4da9-bc0d-8bb288d35168.mp4 25 | 26 | ### 图文分解 27 | 28 | #### 文本内容查找 29 | 30 | ![image-20230408114440170](img/Readme.assets/image-20230408114440170.png) 31 | 32 | #### 分号分割进行多个关键词同时查找 33 | 34 | 例如:linux;JDK表示同时包含:linux和jdk 35 | 36 | ![image-20230408114604631](img/Readme.assets/image-20230408114604631.png) 37 | 38 | #### 分隔符进行多个关键词任意查找 39 | 40 | 例如:linux|进程表示包含linux或者进程关键词 41 | 42 | ![image-20230408114749527](img/Readme.assets/image-20230408114749527.png) 43 | 44 | #### 文件名查找 45 | 46 | ![image-20230408114836246](img/Readme.assets/image-20230408114836246.png) 47 | 48 | #### 目录名查找 49 | 50 | ![image-20230408114906492](img/Readme.assets/image-20230408114906492.png) 51 | 52 | #### 指定后缀查找 53 | 54 | 例如:只查找.md后缀的文件 55 | 56 | ![image-20230408114930048](img/Readme.assets/image-20230408114930048.png) 57 | 58 | ### 使用 59 | 60 | 电脑有Jdk1.8以上环境 61 | 62 | Clone本项目,点击start.bat即可启动程序,然后在浏览器输入:http://127.0.0.1/,点击shutdown.bat即可关闭程 63 | 64 | ### 后续更新的方向 65 | 66 | 目前对文本文件的支持就好,其他类型文件较差,将会进行改进 67 | 68 | 考虑加入搜索引擎,提高检索速度 69 | -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /backend/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | org.springframework.boot 8 | spring-boot-starter-parent 9 | 2.7.9 10 | 11 | 12 | com.example 13 | QuickSearch 14 | 0.0.1-SNAPSHOT 15 | QuickSearch 16 | QuickSearch 17 | 18 | UTF-8 19 | UTF-8 20 | 1.8 21 | 22 | 23 | 24 | org.springframework.boot 25 | spring-boot-starter 26 | 27 | 28 | 29 | org.springframework.boot 30 | spring-boot-devtools 31 | runtime 32 | true 33 | 34 | 35 | org.projectlombok 36 | lombok 37 | true 38 | 39 | 40 | 41 | cn.hutool 42 | hutool-all 43 | 5.0.7 44 | 45 | 46 | 47 | org.springframework.boot 48 | spring-boot-starter-web 49 | 50 | 51 | 52 | org.springframework.boot 53 | spring-boot-starter-test 54 | test 55 | 56 | 57 | junit 58 | junit 59 | 4.13.1 60 | compile 61 | 62 | 63 | 64 | 65 | 66 | 67 | org.springframework.boot 68 | spring-boot-maven-plugin 69 | 70 | 71 | 72 | org.projectlombok 73 | lombok 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /backend/src/main/java/com/example/quicksearch/MyTest.java: -------------------------------------------------------------------------------- 1 | package com.example.quicksearch; 2 | 3 | import org.junit.Test; 4 | 5 | import javax.annotation.Resource; 6 | import java.io.BufferedReader; 7 | import java.io.File; 8 | import java.io.IOException; 9 | import java.io.InputStreamReader; 10 | import java.util.ArrayList; 11 | import java.util.List; 12 | 13 | /** 14 | * @author Lin Rongchen 15 | * @create 2023-02-28-23:03:51 16 | */ 17 | public class MyTest { 18 | 19 | 20 | 21 | 22 | 23 | @Test 24 | public void tt() throws Exception { 25 | String path = "E:\\Doc\\"; 26 | List folderNames = getFolderNames(path); 27 | for (String folderName : folderNames) { 28 | System.out.println(path + folderName); 29 | } 30 | 31 | } 32 | 33 | public static List getFolderNames(String path) { 34 | List folderNames = new ArrayList<>(); 35 | File file = new File(path); 36 | if (file.exists() && file.isDirectory()) { 37 | File[] files = file.listFiles(); 38 | for (File f : files) { 39 | if (f.isDirectory()) { 40 | folderNames.add(f.getName()); 41 | } 42 | } 43 | } 44 | return folderNames; 45 | } 46 | 47 | 48 | 49 | public List execCmds(String cmd) throws Exception { 50 | List list = new ArrayList<>(); 51 | try { 52 | // 创建 ProcessBuilder 对象 53 | ProcessBuilder builder = new ProcessBuilder(); 54 | builder.command("C:\\Program Files\\Git\\bin\\bash.exe", "-c", cmd); 55 | //builder.inheritIO(); 56 | // 启动进程 57 | Process process = builder.start(); 58 | 59 | // 获取进程输出 60 | BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); 61 | String line = ""; 62 | while ((line = reader.readLine()) != null) { 63 | list.add(line); 64 | } 65 | 66 | // 等待进程结束 67 | int exitCode = process.waitFor(); 68 | System.out.println("Process exited with code " + exitCode); 69 | } catch (IOException | InterruptedException e) { 70 | e.printStackTrace(); 71 | } 72 | return list; 73 | } 74 | 75 | 76 | 77 | public String convertPath(String path) { 78 | path = path.substring(1,path.length()); 79 | path = path.substring(0, 1) + ":" + path.substring(1, path.length()); 80 | return path; 81 | } 82 | 83 | 84 | public void openFile(String filePath) { 85 | File file = new File(filePath); 86 | if (file.exists()) { 87 | try { 88 | ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "start", "", file.getAbsolutePath()); 89 | pb.start(); 90 | } catch (IOException e) { 91 | e.printStackTrace(); 92 | } 93 | } 94 | } 95 | 96 | } 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /backend/src/main/java/com/example/quicksearch/QuickSearchApplication.java: -------------------------------------------------------------------------------- 1 | package com.example.quicksearch; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | import java.io.BufferedReader; 7 | import java.io.File; 8 | import java.io.IOException; 9 | import java.io.InputStreamReader; 10 | import java.util.ArrayList; 11 | import java.util.List; 12 | 13 | /** 14 | * @author Bob 15 | */ 16 | @SpringBootApplication 17 | public class QuickSearchApplication { 18 | 19 | public static void main(String[] args) { 20 | SpringApplication.run(QuickSearchApplication.class, args); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /backend/src/main/java/com/example/quicksearch/controller/FileController.java: -------------------------------------------------------------------------------- 1 | package com.example.quicksearch.controller; 2 | 3 | /** 4 | * @author Lin Rongchen 5 | * @create 2023-03-03-19:17:42 6 | */ 7 | import java.io.File; 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | import cn.hutool.json.JSONObject; 12 | import cn.hutool.json.JSONUtil; 13 | import org.springframework.web.bind.annotation.*; 14 | 15 | @RestController 16 | public class FileController { 17 | 18 | @RequestMapping("/files") 19 | public List getFiles(@RequestBody String params) throws Exception { 20 | JSONObject jsonObject = JSONUtil.parseObj(params); 21 | String path = jsonObject.getStr("path"); 22 | List fileInfos = new ArrayList<>(); 23 | File file = new File(path); 24 | if (file.exists() && file.isDirectory()) { 25 | File[] files = file.listFiles(); 26 | for (File f : files) { 27 | fileInfos.add(new FileInfo(f.getName(), f.isDirectory(), f.getAbsolutePath())); 28 | } 29 | } 30 | return fileInfos; 31 | } 32 | 33 | public static class FileInfo { 34 | private String name; 35 | private boolean isFile; 36 | private String path; 37 | 38 | public FileInfo(String name, boolean isFile, String path) { 39 | this.name = name; 40 | this.isFile = isFile; 41 | this.path = path; 42 | } 43 | 44 | public String getName() { 45 | return name; 46 | } 47 | 48 | public boolean getIsFile() { 49 | return isFile; 50 | } 51 | 52 | public String getPath() { 53 | return path; 54 | } 55 | } 56 | 57 | } 58 | 59 | -------------------------------------------------------------------------------- /backend/src/main/java/com/example/quicksearch/controller/FileItem.java: -------------------------------------------------------------------------------- 1 | package com.example.quicksearch.controller; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * @author Lin Rongchen 9 | * @create 2023-03-01-21:42:52 10 | */ 11 | @Data 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class FileItem { 15 | String fileName; 16 | String content; 17 | } 18 | -------------------------------------------------------------------------------- /backend/src/main/java/com/example/quicksearch/controller/FindController.java: -------------------------------------------------------------------------------- 1 | package com.example.quicksearch.controller; 2 | 3 | import cn.hutool.json.JSONObject; 4 | import cn.hutool.json.JSONUtil; 5 | import org.springframework.web.bind.annotation.RequestBody; 6 | import org.springframework.web.bind.annotation.RequestMapping; 7 | import org.springframework.web.bind.annotation.RestController; 8 | 9 | import java.io.BufferedReader; 10 | import java.io.File; 11 | import java.io.IOException; 12 | import java.io.InputStreamReader; 13 | import java.util.ArrayList; 14 | import java.util.List; 15 | 16 | /** 17 | * @author Lin Rongchen 18 | * @create 2023-03-01-20:16:24 19 | */ 20 | @RestController 21 | public class FindController { 22 | 23 | public static List getFolderNames(String path) { 24 | List folderNames = new ArrayList<>(); 25 | File file = new File(path); 26 | if (file.exists() && file.isDirectory()) { 27 | File[] files = file.listFiles(); 28 | for (File f : files) { 29 | if (f.isDirectory()) { 30 | folderNames.add(f.getName()); 31 | } 32 | } 33 | } 34 | return folderNames; 35 | } 36 | 37 | @RequestMapping("/find") 38 | public Result find(@RequestBody String params) throws Exception { 39 | JSONObject jsonObject = JSONUtil.parseObj(params); 40 | String keywords = jsonObject.getStr("keywords"); 41 | String path = jsonObject.getStr("path"); 42 | String type = jsonObject.getStr("type"); 43 | String suffix = jsonObject.getStr("suffix"); 44 | String optionStr = jsonObject.getStr("optionStr"); 45 | path = windowsPathToLinuxPath(path); 46 | 47 | String[] o = new String[]{optionStr, "name"}; 48 | String cmd = ""; 49 | String[] k = keywords.split("\\|"); 50 | if (k.length > 1) { 51 | cmd = fuzzyFindCmd(path,k,o,type,suffix); 52 | } 53 | String[] k2 = keywords.split(";"); 54 | if (k2.length > 1) { 55 | cmd = accurateFindCmd(path,k2,o,type,suffix); 56 | } 57 | if (k.length <= 1 && k2.length <= 1) { 58 | cmd = accurateFindCmd(path,k,o,type,suffix); 59 | } 60 | List list = execCmds(cmd); 61 | List res = new ArrayList<>(); 62 | for (int i = 0; i < list.size(); i++) { 63 | String s = list.get(i); 64 | String[] split = s.split(":"); 65 | String fileName = split[0]; 66 | String content = ""; 67 | for (int j = 1; j < split.length; j++) { 68 | content += split[j]; 69 | } 70 | res.add(new FileItem(fileName, content)); 71 | } 72 | return Result.success(res); 73 | } 74 | 75 | @RequestMapping("/fuzzyFind") 76 | public Result fuzzyFind(@RequestBody String params) throws Exception { 77 | JSONObject jsonObject = JSONUtil.parseObj(params); 78 | String keywords = jsonObject.getStr("keywords"); 79 | String path = jsonObject.getStr("path"); 80 | String type = jsonObject.getStr("type"); 81 | String suffix = jsonObject.getStr("suffix"); 82 | path = windowsPathToLinuxPath(path); 83 | 84 | String[] k = keywords.split("\\|"); 85 | String[] o = new String[]{"i", "name"}; 86 | String cmd = fuzzyFindCmd(path,k,o,type,suffix); 87 | 88 | List list = execCmds(cmd); 89 | List res = new ArrayList<>(); 90 | for (int i = 0; i < list.size(); i++) { 91 | String s = list.get(i); 92 | String[] split = s.split(":"); 93 | String fileName = split[0]; 94 | String content = ""; 95 | for (int j = 1; j < split.length; j++) { 96 | content += split[j]; 97 | } 98 | res.add(new FileItem(fileName, content)); 99 | } 100 | return Result.success(res); 101 | } 102 | 103 | @RequestMapping("/accurateFind") 104 | public Result accurateFind(@RequestBody String params) throws Exception { 105 | JSONObject jsonObject = JSONUtil.parseObj(params); 106 | String keywords = jsonObject.getStr("keywords"); 107 | String path = jsonObject.getStr("path"); 108 | String type = jsonObject.getStr("type"); 109 | String suffix = jsonObject.getStr("suffix"); 110 | path = windowsPathToLinuxPath(path); 111 | 112 | String[] k = keywords.split(";"); 113 | String[] o = new String[]{"i", "name"}; 114 | String cmd = accurateFindCmd(path,k,o,type,suffix); 115 | 116 | List list = execCmds(cmd); 117 | List res = new ArrayList<>(); 118 | for (int i = 0; i < list.size(); i++) { 119 | String s = list.get(i); 120 | String[] split = s.split(":"); 121 | String fileName = split[0]; 122 | String content = ""; 123 | for (int j = 1; j < split.length; j++) { 124 | content += split[j]; 125 | } 126 | res.add(new FileItem(fileName, content)); 127 | } 128 | return Result.success(res); 129 | } 130 | 131 | 132 | public List execCmds(String cmd) throws Exception { 133 | List list = new ArrayList<>(); 134 | try { 135 | // 创建 ProcessBuilder 对象 136 | ProcessBuilder builder = new ProcessBuilder(); 137 | builder.command("C:\\Program Files\\Git\\bin\\bash.exe", "-c", cmd); 138 | //builder.inheritIO(); 139 | // 启动进程 140 | Process process = builder.start(); 141 | 142 | // 获取进程输出 143 | BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); 144 | String line = ""; 145 | while ((line = reader.readLine()) != null) { 146 | list.add(line); 147 | } 148 | 149 | // 等待进程结束 150 | int exitCode = process.waitFor(); 151 | } catch (IOException | InterruptedException e) { 152 | e.printStackTrace(); 153 | } 154 | return list; 155 | } 156 | 157 | public String windowsPathToLinuxPath(String path) { 158 | path = path.substring(0, 1) + path.substring(2, path.length()); 159 | path = "\\" + path; 160 | path = path.replace("\\", "/"); 161 | return path; 162 | } 163 | 164 | public String convertPath(String path) { 165 | path = path.substring(1,path.length()); 166 | path = path.substring(0, 1) + ":" + path.substring(1, path.length()); 167 | return path; 168 | } 169 | 170 | 171 | public String fuzzyFindCmd(String path, String[] keyWords, String[] options, String type, String suffix) { 172 | if (suffix != null && suffix != "") { 173 | suffix = " | egrep -i " + "'*." + suffix + "'"; 174 | } 175 | if (type.equals("d")) { 176 | suffix = ""; 177 | } 178 | String optionJoin = String.join("", options); 179 | optionJoin = "-" + optionJoin + " "; 180 | type = "-type " + type + " "; 181 | String other = " 2>/dev/null | grep -v 'Binary file' | grep -v '(img'"; 182 | String cmd = ""; 183 | for (int i = 0; i < keyWords.length; i++) { 184 | String k = keyWords[i]; 185 | if (i == 0) { 186 | cmd += "find "+ path + " " + optionJoin + " '*" + k + "*' " + type + " "; 187 | } else { 188 | cmd += " -o " + optionJoin + "'*" + k + "*' " + type + " "; 189 | } 190 | } 191 | cmd += other; 192 | cmd += suffix; 193 | return cmd; 194 | } 195 | 196 | public String accurateFindCmd(String path, String[] keyWords, String[] options, String type, String suffix) { 197 | if (suffix != null && suffix != "") { 198 | suffix = " | egrep -i " + "'*." + suffix + "'"; 199 | } 200 | if (type.equals("d")) { 201 | suffix = ""; 202 | } 203 | String optionJoin = String.join("", options); 204 | optionJoin = "-" + optionJoin + " "; 205 | type = "-type " + type + " "; 206 | String other = " 2>/dev/null | grep -v 'Binary file' | grep -v '(img'"; 207 | String cmd = ""; 208 | for (int i = 0; i < keyWords.length; i++) { 209 | String k = keyWords[i]; 210 | if (i == 0) { 211 | cmd += "find "+ path + " " + optionJoin + " '*" + k + "*' " + type + " "; 212 | } else { 213 | cmd += " " + optionJoin + "'*" + k + "*' " + type + " "; 214 | } 215 | } 216 | cmd += other; 217 | cmd += suffix; 218 | return cmd; 219 | } 220 | } 221 | -------------------------------------------------------------------------------- /backend/src/main/java/com/example/quicksearch/controller/GrepController.java: -------------------------------------------------------------------------------- 1 | package com.example.quicksearch.controller; 2 | 3 | import cn.hutool.json.JSONObject; 4 | import cn.hutool.json.JSONUtil; 5 | import org.apache.tomcat.jni.FileInfo; 6 | import org.springframework.stereotype.Controller; 7 | import org.springframework.web.bind.annotation.*; 8 | 9 | import java.io.BufferedReader; 10 | import java.io.File; 11 | import java.io.IOException; 12 | import java.io.InputStreamReader; 13 | import java.util.ArrayList; 14 | import java.util.List; 15 | 16 | /** 17 | * @author Lin Rongchen 18 | * @create 2023-03-01-20:16:24 19 | */ 20 | @RestController 21 | public class GrepController { 22 | 23 | @RequestMapping("/grep") 24 | public Result grep(@RequestBody String params) throws Exception { 25 | JSONObject jsonObject = JSONUtil.parseObj(params); 26 | String keywords = jsonObject.getStr("keywords"); 27 | String path = jsonObject.getStr("path"); 28 | String optionStr = jsonObject.getStr("optionStr"); 29 | path = windowsPathToLinuxPath(path); 30 | 31 | String[] k = keywords.split("\\|"); 32 | String[] o = new String[]{"r", optionStr}; 33 | String cmd = ""; 34 | if (k.length > 1) { 35 | cmd = fuzzyGrepCmd(path,k,o); 36 | } 37 | String[] k2 = keywords.split(";"); 38 | if (k2.length > 1) { 39 | cmd = accurateGrepCmd(path,k2,o); 40 | } 41 | if (k.length <= 1 && k2.length <= 1) { 42 | cmd = accurateGrepCmd(path,k,o); 43 | } 44 | List list = execCmds(cmd); 45 | List res = new ArrayList<>(); 46 | for (int i = 0; i < list.size(); i++) { 47 | String s = list.get(i); 48 | String[] split = s.split(":"); 49 | String fileName = split[0]; 50 | String content = ""; 51 | for (int j = 1; j < split.length; j++) { 52 | content += split[j]; 53 | } 54 | res.add(new FileItem(fileName, content)); 55 | } 56 | return Result.success(res); 57 | } 58 | 59 | 60 | @RequestMapping("/fuzzyGrep") 61 | public Result fuzzyGrep(@RequestBody String params) throws Exception { 62 | JSONObject jsonObject = JSONUtil.parseObj(params); 63 | String keywords = jsonObject.getStr("keywords"); 64 | String path = jsonObject.getStr("path"); 65 | path = windowsPathToLinuxPath(path); 66 | 67 | String[] k = keywords.split("\\|"); 68 | String[] o = new String[]{"i", "r", "E"}; 69 | String cmd = fuzzyGrepCmd(path,k,o); 70 | 71 | List list = execCmds(cmd); 72 | List res = new ArrayList<>(); 73 | for (int i = 0; i < list.size(); i++) { 74 | String s = list.get(i); 75 | String[] split = s.split(":"); 76 | String fileName = split[0]; 77 | String content = ""; 78 | for (int j = 1; j < split.length; j++) { 79 | content += split[j]; 80 | } 81 | res.add(new FileItem(fileName, content)); 82 | } 83 | return Result.success(res); 84 | } 85 | 86 | @RequestMapping("/accurateGrep") 87 | public Result accurateGrep(@RequestBody String params) throws Exception { 88 | JSONObject jsonObject = JSONUtil.parseObj(params); 89 | String keywords = jsonObject.getStr("keywords"); 90 | String path = jsonObject.getStr("path"); 91 | path = windowsPathToLinuxPath(path); 92 | 93 | String[] k = keywords.split(";"); 94 | String[] o = new String[]{"i", "r", "E"}; 95 | String cmd = accurateGrepCmd(path,k,o); 96 | 97 | List list = execCmds(cmd); 98 | List res = new ArrayList<>(); 99 | for (int i = 0; i < list.size(); i++) { 100 | String s = list.get(i); 101 | String[] split = s.split(":"); 102 | String fileName = split[0]; 103 | String content = ""; 104 | for (int j = 1; j < split.length; j++) { 105 | content += split[j]; 106 | } 107 | res.add(new FileItem(fileName, content)); 108 | } 109 | return Result.success(res); 110 | } 111 | 112 | @RequestMapping("/openFile") 113 | public Result openFiles(@RequestBody String params) throws Exception { 114 | JSONObject jsonObject = JSONUtil.parseObj(params); 115 | String fileName = jsonObject.getStr("fileName"); 116 | String path = convertPath(fileName); 117 | openFile(path); 118 | return Result.success(); 119 | } 120 | 121 | public List execCmds(String cmd) throws Exception { 122 | List list = new ArrayList<>(); 123 | try { 124 | // 创建 ProcessBuilder 对象 125 | ProcessBuilder builder = new ProcessBuilder(); 126 | builder.command("C:\\Program Files\\Git\\bin\\bash.exe", "-c", cmd); 127 | //builder.inheritIO(); 128 | // 启动进程 129 | Process process = builder.start(); 130 | 131 | // 获取进程输出 132 | BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); 133 | String line = ""; 134 | while ((line = reader.readLine()) != null) { 135 | list.add(line); 136 | } 137 | 138 | // 等待进程结束 139 | int exitCode = process.waitFor(); 140 | } catch (IOException | InterruptedException e) { 141 | e.printStackTrace(); 142 | } 143 | return list; 144 | } 145 | 146 | public String windowsPathToLinuxPath(String path) { 147 | path = path.substring(0, 1) + path.substring(2, path.length()); 148 | path = "\\" + path; 149 | path = path.replace("\\", "/"); 150 | return path; 151 | } 152 | 153 | public String convertPath(String path) { 154 | path = path.substring(1,path.length()); 155 | path = path.substring(0, 1) + ":" + path.substring(1, path.length()); 156 | return path; 157 | } 158 | 159 | 160 | public void openFile(String filePath) { 161 | File file = new File(filePath); 162 | //if (file.exists()) { 163 | try { 164 | ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "start", "\"\"", file.getAbsolutePath()); 165 | pb.start(); 166 | } catch (IOException e) { 167 | e.printStackTrace(); 168 | } 169 | //} 170 | } 171 | 172 | public String fuzzyGrepCmd(String path, String[] keyWords, String[] options) { 173 | String keyJoin = String.join("|", keyWords); 174 | keyJoin = "'" + keyJoin + "' "; 175 | String optionJoin = String.join("", options); 176 | optionJoin = "-" + optionJoin + " "; 177 | String other = " 2>/dev/null | grep -v 'Binary file' | grep -v '(img'"; 178 | String cmd = "grep " + keyJoin + optionJoin + path + other; 179 | return cmd; 180 | } 181 | 182 | public String accurateGrepCmd(String path, String[] keyWords, String[] options) { 183 | 184 | String optionJoin = String.join("", options); 185 | optionJoin = "-" + optionJoin + " "; 186 | String other = " 2>/dev/null | grep -v 'Binary file' | grep -v '(img'"; 187 | String cmd = ""; 188 | for (int i = 0; i < keyWords.length; i++) { 189 | String k = keyWords[i]; 190 | if (i == 0) { 191 | cmd += "grep " + "'" + k + "' " + optionJoin + path; 192 | } else { 193 | cmd += " | " + "grep " + "'" + k + "'"; 194 | } 195 | } 196 | cmd += other; 197 | return cmd; 198 | } 199 | } 200 | -------------------------------------------------------------------------------- /backend/src/main/java/com/example/quicksearch/controller/Result.java: -------------------------------------------------------------------------------- 1 | package com.example.quicksearch.controller; 2 | 3 | /** 4 | 5 | 6 | * 学习git 2213 7 | * 学习git 2213 8 | * @param 9 | * @param 10 | */ 11 | public class Result { 12 | private Integer code = 200; 13 | 14 | private String msg; 15 | 16 | private T data; 17 | 18 | public Result() { 19 | 20 | } 21 | 22 | public Result(Integer code, String msg) { 23 | this.code = code; 24 | this.msg = msg; 25 | } 26 | 27 | public Result(Integer code, String msg, T data) { 28 | this.code = code; 29 | this.msg = msg; 30 | this.data = data; 31 | } 32 | 33 | public static Result success() { 34 | return new Result<>(200, ""); 35 | } 36 | 37 | public static Result success(T data) { 38 | Result result = new Result<>(); 39 | result.setCode(200); 40 | result.setMsg(""); 41 | result.setData(data); 42 | return result; 43 | } 44 | 45 | public static Result success(String msg, T data) { 46 | Result result = new Result<>(); 47 | result.setCode(200); 48 | result.setMsg(msg); 49 | result.setData(data); 50 | return result; 51 | } 52 | 53 | public static Result success(Integer code, String msg) { 54 | return new Result<>(code, msg); 55 | } 56 | 57 | 58 | public static Result failure(String msg) { 59 | return new Result<>(500, msg); 60 | } 61 | 62 | 63 | public static Result failure(Integer code, String msg) { 64 | return new Result<>(code, msg); 65 | } 66 | 67 | public Integer getCode() { 68 | return code; 69 | } 70 | 71 | public void setCode(Integer code) { 72 | this.code = code; 73 | } 74 | 75 | public String getMsg() { 76 | return msg; 77 | } 78 | 79 | public void setMsg(String msg) { 80 | this.msg = msg; 81 | } 82 | 83 | public T getData() { 84 | return data; 85 | } 86 | 87 | public void setData(T data) { 88 | this.data = data; 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /backend/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | server.port=8888 3 | -------------------------------------------------------------------------------- /backend/src/test/java/com/example/quicksearch/QuickSearchApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.quicksearch; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class QuickSearchApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | # vue-quicksearch 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Customize configuration 19 | See [Configuration Reference](https://cli.vuejs.org/config/). 20 | -------------------------------------------------------------------------------- /frontend/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-quicksearch", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build" 8 | }, 9 | "dependencies": { 10 | "axios": "^1.1.3", 11 | "core-js": "^3.6.5", 12 | "element-ui": "^2.15.10", 13 | "vue": "^2.6.11", 14 | "vue-router": "^3.2.0" 15 | }, 16 | "devDependencies": { 17 | "@vue/cli-plugin-babel": "~4.5.19", 18 | "@vue/cli-plugin-router": "~4.5.19", 19 | "@vue/cli-service": "~4.5.19", 20 | "vue-template-compiler": "^2.6.11" 21 | }, 22 | "browserslist": [ 23 | "> 1%", 24 | "last 2 versions", 25 | "not dead" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/frontend/public/favicon.ico -------------------------------------------------------------------------------- /frontend/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <%= htmlWebpackPlugin.options.title %> 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /frontend/src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 41 | -------------------------------------------------------------------------------- /frontend/src/assets/emblem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/frontend/src/assets/emblem.png -------------------------------------------------------------------------------- /frontend/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/frontend/src/assets/logo.png -------------------------------------------------------------------------------- /frontend/src/components/Find.vue: -------------------------------------------------------------------------------- 1 | 76 | 77 | 228 | 229 | 230 | 247 | -------------------------------------------------------------------------------- /frontend/src/components/Grep.vue: -------------------------------------------------------------------------------- 1 | 63 | 64 | 218 | 219 | 220 | 239 | -------------------------------------------------------------------------------- /frontend/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import router from './router' 4 | 5 | import Element from 'element-ui' 6 | import 'element-ui/lib/theme-chalk/index.css' 7 | import {deleteRequest, getRequest, postRequest, putRequest} from "@/utils/api"; 8 | Vue.config.productionTip = false 9 | Vue.use(Element) 10 | 11 | Vue.config.productionTip = false 12 | 13 | 14 | import { Loading } from 'element-ui'; 15 | 16 | Vue.prototype.openLoading = function() { 17 | const loading = this.$loading({ // 声明一个loading对象 18 | lock: true, // 是否锁屏 19 | text: '', // 加载动画的文字 20 | spinner: 'el-icon-loading', // 引入的loading图标 21 | background: 'rgba(0, 0, 0, 0.8)', // 背景颜色 22 | target: ' .region', // **需要遮罩的区域,这里写要添加loading的选择器** 23 | fullscreen: false, 24 | customClass: 'loadingclass' // **遮罩层新增类名,如果需要修改loading的样式** 25 | }) 26 | 27 | let start = new Date().getTime(); // 开始时间戳 28 | let interval = setInterval(() => { 29 | let end = new Date().getTime(); // 当前时间戳 30 | let duration = ((end - start) / 1000).toFixed(0); // 计算加载所用的时间差,并保留两位小数 31 | loading.text = `加载耗时 ${duration} 秒`; // 更新 loading 文本 32 | }, 1000); // 每秒钟更新一次 33 | 34 | setTimeout(function () { // 设定定时器,超时5S后自动关闭遮罩层,避免请求失败时,遮罩层一直存在的问题 35 | loading.close(); // 关闭遮罩层 36 | clearInterval(interval); // 清除计时器 37 | },30000) 38 | 39 | return loading; 40 | } 41 | 42 | // todo-lrc : 插件为什么在这里 43 | //plugins 44 | Vue.prototype.postRequest = postRequest; 45 | Vue.prototype.putRequest = putRequest; 46 | Vue.prototype.getRequest = getRequest; 47 | Vue.prototype.deleteRequest = deleteRequest; 48 | 49 | new Vue({ 50 | router, 51 | render: h => h(App) 52 | }).$mount('#app') 53 | -------------------------------------------------------------------------------- /frontend/src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueRouter from 'vue-router' 3 | Vue.use(VueRouter) 4 | 5 | const routes = [ 6 | { 7 | path: '/', 8 | name: '报送平台', 9 | props:true, 10 | component: () => import('@/views/Home'), 11 | children: [ 12 | { 13 | path: '/Grep', 14 | name: '查询文本', 15 | props:true, 16 | component: () => import('@/components/Grep') 17 | }, 18 | { 19 | path: '/Find', 20 | name: '查询文件', 21 | props:true, 22 | component: () => import('@/components/Find.vue') 23 | } 24 | ] 25 | } 26 | ] 27 | 28 | const router = new VueRouter({ 29 | mode: "history", 30 | // mode: 'hash', 31 | routes 32 | }) 33 | 34 | export default router 35 | -------------------------------------------------------------------------------- /frontend/src/utils/api.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | import {Message} from "element-ui"; 3 | import router from '../router' 4 | import Vue from 'vue' 5 | 6 | axios.defaults.baseURL = '/' 7 | Vue.prototype.axios = axios 8 | 9 | let base = ''; 10 | 11 | //传送json格式的post请求 12 | export const postRequest = (url, params) => { 13 | return axios({ 14 | method: 'post', 15 | url: `${base}${url}`, 16 | data: params 17 | }) 18 | } 19 | //传递json的put请求 20 | export const putRequest = (url, params) => { 21 | return axios({ 22 | method: 'put', 23 | url: `${base}${url}`, 24 | data: params 25 | }) 26 | } 27 | //传递json的get请求 28 | export const getRequest = (url, params) => { 29 | return axios({ 30 | method: 'get', 31 | url: `${base}${url}`, 32 | data: params 33 | }) 34 | } 35 | //传递json的delete请求 36 | export const deleteRequest = (url, params) => { 37 | return axios({ 38 | method: 'delete', 39 | url: `${base}${url}`, 40 | data: params 41 | }) 42 | } 43 | -------------------------------------------------------------------------------- /frontend/src/views/About.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /frontend/src/views/Home.vue: -------------------------------------------------------------------------------- 1 | 46 | 47 | 54 | 55 | 68 | -------------------------------------------------------------------------------- /frontend/vue.config.js: -------------------------------------------------------------------------------- 1 | let proxyObj = {} 2 | 3 | proxyObj['/api'] = { 4 | //websocket 5 | ws: false, 6 | //目标地址 7 | target: 'http://127.0.0.1:8888', 8 | //发送请求头中host会设置成target 9 | changeOrigin: true, 10 | //不重写请求地址 11 | pathRewrite: { 12 | '^/api': '/' 13 | } 14 | } 15 | module.exports = { 16 | devServer: { 17 | host: '127.0.0.1', 18 | port: 80, 19 | proxy: proxyObj 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /img/Readme.assets/image-20230408114440170.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/img/Readme.assets/image-20230408114440170.png -------------------------------------------------------------------------------- /img/Readme.assets/image-20230408114604631.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/img/Readme.assets/image-20230408114604631.png -------------------------------------------------------------------------------- /img/Readme.assets/image-20230408114749527.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/img/Readme.assets/image-20230408114749527.png -------------------------------------------------------------------------------- /img/Readme.assets/image-20230408114836246.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/img/Readme.assets/image-20230408114836246.png -------------------------------------------------------------------------------- /img/Readme.assets/image-20230408114906492.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/img/Readme.assets/image-20230408114906492.png -------------------------------------------------------------------------------- /img/Readme.assets/image-20230408114930048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/img/Readme.assets/image-20230408114930048.png -------------------------------------------------------------------------------- /nginx-1.12.2/conf/fastcgi.conf: -------------------------------------------------------------------------------- 1 | 2 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 3 | fastcgi_param QUERY_STRING $query_string; 4 | fastcgi_param REQUEST_METHOD $request_method; 5 | fastcgi_param CONTENT_TYPE $content_type; 6 | fastcgi_param CONTENT_LENGTH $content_length; 7 | 8 | fastcgi_param SCRIPT_NAME $fastcgi_script_name; 9 | fastcgi_param REQUEST_URI $request_uri; 10 | fastcgi_param DOCUMENT_URI $document_uri; 11 | fastcgi_param DOCUMENT_ROOT $document_root; 12 | fastcgi_param SERVER_PROTOCOL $server_protocol; 13 | fastcgi_param REQUEST_SCHEME $scheme; 14 | fastcgi_param HTTPS $https if_not_empty; 15 | 16 | fastcgi_param GATEWAY_INTERFACE CGI/1.1; 17 | fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; 18 | 19 | fastcgi_param REMOTE_ADDR $remote_addr; 20 | fastcgi_param REMOTE_PORT $remote_port; 21 | fastcgi_param SERVER_ADDR $server_addr; 22 | fastcgi_param SERVER_PORT $server_port; 23 | fastcgi_param SERVER_NAME $server_name; 24 | 25 | # PHP only, required if PHP was built with --enable-force-cgi-redirect 26 | fastcgi_param REDIRECT_STATUS 200; 27 | -------------------------------------------------------------------------------- /nginx-1.12.2/conf/fastcgi_params: -------------------------------------------------------------------------------- 1 | 2 | fastcgi_param QUERY_STRING $query_string; 3 | fastcgi_param REQUEST_METHOD $request_method; 4 | fastcgi_param CONTENT_TYPE $content_type; 5 | fastcgi_param CONTENT_LENGTH $content_length; 6 | 7 | fastcgi_param SCRIPT_NAME $fastcgi_script_name; 8 | fastcgi_param REQUEST_URI $request_uri; 9 | fastcgi_param DOCUMENT_URI $document_uri; 10 | fastcgi_param DOCUMENT_ROOT $document_root; 11 | fastcgi_param SERVER_PROTOCOL $server_protocol; 12 | fastcgi_param REQUEST_SCHEME $scheme; 13 | fastcgi_param HTTPS $https if_not_empty; 14 | 15 | fastcgi_param GATEWAY_INTERFACE CGI/1.1; 16 | fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; 17 | 18 | fastcgi_param REMOTE_ADDR $remote_addr; 19 | fastcgi_param REMOTE_PORT $remote_port; 20 | fastcgi_param SERVER_ADDR $server_addr; 21 | fastcgi_param SERVER_PORT $server_port; 22 | fastcgi_param SERVER_NAME $server_name; 23 | 24 | # PHP only, required if PHP was built with --enable-force-cgi-redirect 25 | fastcgi_param REDIRECT_STATUS 200; 26 | -------------------------------------------------------------------------------- /nginx-1.12.2/conf/koi-utf: -------------------------------------------------------------------------------- 1 | 2 | # This map is not a full koi8-r <> utf8 map: it does not contain 3 | # box-drawing and some other characters. Besides this map contains 4 | # several koi8-u and Byelorussian letters which are not in koi8-r. 5 | # If you need a full and standard map, use contrib/unicode2nginx/koi-utf 6 | # map instead. 7 | 8 | charset_map koi8-r utf-8 { 9 | 10 | 80 E282AC ; # euro 11 | 12 | 95 E280A2 ; # bullet 13 | 14 | 9A C2A0 ; #   15 | 16 | 9E C2B7 ; # · 17 | 18 | A3 D191 ; # small yo 19 | A4 D194 ; # small Ukrainian ye 20 | 21 | A6 D196 ; # small Ukrainian i 22 | A7 D197 ; # small Ukrainian yi 23 | 24 | AD D291 ; # small Ukrainian soft g 25 | AE D19E ; # small Byelorussian short u 26 | 27 | B0 C2B0 ; # ° 28 | 29 | B3 D081 ; # capital YO 30 | B4 D084 ; # capital Ukrainian YE 31 | 32 | B6 D086 ; # capital Ukrainian I 33 | B7 D087 ; # capital Ukrainian YI 34 | 35 | B9 E28496 ; # numero sign 36 | 37 | BD D290 ; # capital Ukrainian soft G 38 | BE D18E ; # capital Byelorussian short U 39 | 40 | BF C2A9 ; # (C) 41 | 42 | C0 D18E ; # small yu 43 | C1 D0B0 ; # small a 44 | C2 D0B1 ; # small b 45 | C3 D186 ; # small ts 46 | C4 D0B4 ; # small d 47 | C5 D0B5 ; # small ye 48 | C6 D184 ; # small f 49 | C7 D0B3 ; # small g 50 | C8 D185 ; # small kh 51 | C9 D0B8 ; # small i 52 | CA D0B9 ; # small j 53 | CB D0BA ; # small k 54 | CC D0BB ; # small l 55 | CD D0BC ; # small m 56 | CE D0BD ; # small n 57 | CF D0BE ; # small o 58 | 59 | D0 D0BF ; # small p 60 | D1 D18F ; # small ya 61 | D2 D180 ; # small r 62 | D3 D181 ; # small s 63 | D4 D182 ; # small t 64 | D5 D183 ; # small u 65 | D6 D0B6 ; # small zh 66 | D7 D0B2 ; # small v 67 | D8 D18C ; # small soft sign 68 | D9 D18B ; # small y 69 | DA D0B7 ; # small z 70 | DB D188 ; # small sh 71 | DC D18D ; # small e 72 | DD D189 ; # small shch 73 | DE D187 ; # small ch 74 | DF D18A ; # small hard sign 75 | 76 | E0 D0AE ; # capital YU 77 | E1 D090 ; # capital A 78 | E2 D091 ; # capital B 79 | E3 D0A6 ; # capital TS 80 | E4 D094 ; # capital D 81 | E5 D095 ; # capital YE 82 | E6 D0A4 ; # capital F 83 | E7 D093 ; # capital G 84 | E8 D0A5 ; # capital KH 85 | E9 D098 ; # capital I 86 | EA D099 ; # capital J 87 | EB D09A ; # capital K 88 | EC D09B ; # capital L 89 | ED D09C ; # capital M 90 | EE D09D ; # capital N 91 | EF D09E ; # capital O 92 | 93 | F0 D09F ; # capital P 94 | F1 D0AF ; # capital YA 95 | F2 D0A0 ; # capital R 96 | F3 D0A1 ; # capital S 97 | F4 D0A2 ; # capital T 98 | F5 D0A3 ; # capital U 99 | F6 D096 ; # capital ZH 100 | F7 D092 ; # capital V 101 | F8 D0AC ; # capital soft sign 102 | F9 D0AB ; # capital Y 103 | FA D097 ; # capital Z 104 | FB D0A8 ; # capital SH 105 | FC D0AD ; # capital E 106 | FD D0A9 ; # capital SHCH 107 | FE D0A7 ; # capital CH 108 | FF D0AA ; # capital hard sign 109 | } 110 | -------------------------------------------------------------------------------- /nginx-1.12.2/conf/koi-win: -------------------------------------------------------------------------------- 1 | 2 | charset_map koi8-r windows-1251 { 3 | 4 | 80 88 ; # euro 5 | 6 | 95 95 ; # bullet 7 | 8 | 9A A0 ; #   9 | 10 | 9E B7 ; # · 11 | 12 | A3 B8 ; # small yo 13 | A4 BA ; # small Ukrainian ye 14 | 15 | A6 B3 ; # small Ukrainian i 16 | A7 BF ; # small Ukrainian yi 17 | 18 | AD B4 ; # small Ukrainian soft g 19 | AE A2 ; # small Byelorussian short u 20 | 21 | B0 B0 ; # ° 22 | 23 | B3 A8 ; # capital YO 24 | B4 AA ; # capital Ukrainian YE 25 | 26 | B6 B2 ; # capital Ukrainian I 27 | B7 AF ; # capital Ukrainian YI 28 | 29 | B9 B9 ; # numero sign 30 | 31 | BD A5 ; # capital Ukrainian soft G 32 | BE A1 ; # capital Byelorussian short U 33 | 34 | BF A9 ; # (C) 35 | 36 | C0 FE ; # small yu 37 | C1 E0 ; # small a 38 | C2 E1 ; # small b 39 | C3 F6 ; # small ts 40 | C4 E4 ; # small d 41 | C5 E5 ; # small ye 42 | C6 F4 ; # small f 43 | C7 E3 ; # small g 44 | C8 F5 ; # small kh 45 | C9 E8 ; # small i 46 | CA E9 ; # small j 47 | CB EA ; # small k 48 | CC EB ; # small l 49 | CD EC ; # small m 50 | CE ED ; # small n 51 | CF EE ; # small o 52 | 53 | D0 EF ; # small p 54 | D1 FF ; # small ya 55 | D2 F0 ; # small r 56 | D3 F1 ; # small s 57 | D4 F2 ; # small t 58 | D5 F3 ; # small u 59 | D6 E6 ; # small zh 60 | D7 E2 ; # small v 61 | D8 FC ; # small soft sign 62 | D9 FB ; # small y 63 | DA E7 ; # small z 64 | DB F8 ; # small sh 65 | DC FD ; # small e 66 | DD F9 ; # small shch 67 | DE F7 ; # small ch 68 | DF FA ; # small hard sign 69 | 70 | E0 DE ; # capital YU 71 | E1 C0 ; # capital A 72 | E2 C1 ; # capital B 73 | E3 D6 ; # capital TS 74 | E4 C4 ; # capital D 75 | E5 C5 ; # capital YE 76 | E6 D4 ; # capital F 77 | E7 C3 ; # capital G 78 | E8 D5 ; # capital KH 79 | E9 C8 ; # capital I 80 | EA C9 ; # capital J 81 | EB CA ; # capital K 82 | EC CB ; # capital L 83 | ED CC ; # capital M 84 | EE CD ; # capital N 85 | EF CE ; # capital O 86 | 87 | F0 CF ; # capital P 88 | F1 DF ; # capital YA 89 | F2 D0 ; # capital R 90 | F3 D1 ; # capital S 91 | F4 D2 ; # capital T 92 | F5 D3 ; # capital U 93 | F6 C6 ; # capital ZH 94 | F7 C2 ; # capital V 95 | F8 DC ; # capital soft sign 96 | F9 DB ; # capital Y 97 | FA C7 ; # capital Z 98 | FB D8 ; # capital SH 99 | FC DD ; # capital E 100 | FD D9 ; # capital SHCH 101 | FE D7 ; # capital CH 102 | FF DA ; # capital hard sign 103 | } 104 | -------------------------------------------------------------------------------- /nginx-1.12.2/conf/mime.types: -------------------------------------------------------------------------------- 1 | 2 | types { 3 | text/html html htm shtml; 4 | text/css css; 5 | text/xml xml; 6 | image/gif gif; 7 | image/jpeg jpeg jpg; 8 | application/javascript js; 9 | application/atom+xml atom; 10 | application/rss+xml rss; 11 | 12 | text/mathml mml; 13 | text/plain txt; 14 | text/vnd.sun.j2me.app-descriptor jad; 15 | text/vnd.wap.wml wml; 16 | text/x-component htc; 17 | 18 | image/png png; 19 | image/tiff tif tiff; 20 | image/vnd.wap.wbmp wbmp; 21 | image/x-icon ico; 22 | image/x-jng jng; 23 | image/x-ms-bmp bmp; 24 | image/svg+xml svg svgz; 25 | image/webp webp; 26 | 27 | application/font-woff woff; 28 | application/java-archive jar war ear; 29 | application/json json; 30 | application/mac-binhex40 hqx; 31 | application/msword doc; 32 | application/pdf pdf; 33 | application/postscript ps eps ai; 34 | application/rtf rtf; 35 | application/vnd.apple.mpegurl m3u8; 36 | application/vnd.ms-excel xls; 37 | application/vnd.ms-fontobject eot; 38 | application/vnd.ms-powerpoint ppt; 39 | application/vnd.wap.wmlc wmlc; 40 | application/vnd.google-earth.kml+xml kml; 41 | application/vnd.google-earth.kmz kmz; 42 | application/x-7z-compressed 7z; 43 | application/x-cocoa cco; 44 | application/x-java-archive-diff jardiff; 45 | application/x-java-jnlp-file jnlp; 46 | application/x-makeself run; 47 | application/x-perl pl pm; 48 | application/x-pilot prc pdb; 49 | application/x-rar-compressed rar; 50 | application/x-redhat-package-manager rpm; 51 | application/x-sea sea; 52 | application/x-shockwave-flash swf; 53 | application/x-stuffit sit; 54 | application/x-tcl tcl tk; 55 | application/x-x509-ca-cert der pem crt; 56 | application/x-xpinstall xpi; 57 | application/xhtml+xml xhtml; 58 | application/xspf+xml xspf; 59 | application/zip zip; 60 | 61 | application/octet-stream bin exe dll; 62 | application/octet-stream deb; 63 | application/octet-stream dmg; 64 | application/octet-stream iso img; 65 | application/octet-stream msi msp msm; 66 | 67 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 68 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 69 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 70 | 71 | audio/midi mid midi kar; 72 | audio/mpeg mp3; 73 | audio/ogg ogg; 74 | audio/x-m4a m4a; 75 | audio/x-realaudio ra; 76 | 77 | video/3gpp 3gpp 3gp; 78 | video/mp2t ts; 79 | video/mp4 mp4; 80 | video/mpeg mpeg mpg; 81 | video/quicktime mov; 82 | video/webm webm; 83 | video/x-flv flv; 84 | video/x-m4v m4v; 85 | video/x-mng mng; 86 | video/x-ms-asf asx asf; 87 | video/x-ms-wmv wmv; 88 | video/x-msvideo avi; 89 | } 90 | -------------------------------------------------------------------------------- /nginx-1.12.2/conf/nginx.conf: -------------------------------------------------------------------------------- 1 | 2 | #user nobody; 3 | worker_processes 1; 4 | 5 | #error_log logs/error.log; 6 | #error_log logs/error.log notice; 7 | #error_log logs/error.log info; 8 | 9 | #pid logs/nginx.pid; 10 | 11 | 12 | events { 13 | worker_connections 1024; 14 | } 15 | 16 | 17 | http { 18 | include mime.types; 19 | default_type application/octet-stream; 20 | 21 | #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 22 | # '$status $body_bytes_sent "$http_referer" ' 23 | # '"$http_user_agent" "$http_x_forwarded_for"'; 24 | 25 | #access_log logs/access.log main; 26 | 27 | sendfile on; 28 | #tcp_nopush on; 29 | 30 | #keepalive_timeout 0; 31 | keepalive_timeout 65; 32 | 33 | #gzip on; 34 | 35 | server { 36 | listen 80; 37 | server_name localhost; 38 | 39 | #charset koi8-r; 40 | 41 | #access_log logs/host.access.log main; 42 | 43 | location / { 44 | root html; 45 | index index.html index.htm; 46 | try_files $uri $uri/ /index.html; 47 | error_page 405 =200 http://$host$request_uri; 48 | } 49 | 50 | #error_page 404 /404.html; 51 | 52 | # redirect server error pages to the static page /50x.html 53 | # 54 | error_page 500 502 503 504 /50x.html; 55 | location = /50x.html { 56 | root html; 57 | } 58 | 59 | # proxy the PHP scripts to Apache listening on 127.0.0.1:80 60 | # 61 | #location ~ \.php$ { 62 | # proxy_pass http://127.0.0.1; 63 | #} 64 | 65 | location ^~ /api/ { 66 | proxy_pass http://127.0.0.1:8888/; 67 | } 68 | 69 | 70 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 71 | # 72 | #location ~ \.php$ { 73 | # root html; 74 | # fastcgi_pass 127.0.0.1:9000; 75 | # fastcgi_index index.php; 76 | # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 77 | # include fastcgi_params; 78 | #} 79 | 80 | # deny access to .htaccess files, if Apache's document root 81 | # concurs with nginx's one 82 | # 83 | #location ~ /\.ht { 84 | # deny all; 85 | #} 86 | } 87 | 88 | 89 | # another virtual host using mix of IP-, name-, and port-based configuration 90 | # 91 | #server { 92 | # listen 8000; 93 | # listen somename:8080; 94 | # server_name somename alias another.alias; 95 | 96 | # location / { 97 | # root html; 98 | # index index.html index.htm; 99 | # } 100 | #} 101 | 102 | 103 | # HTTPS server 104 | # 105 | #server { 106 | # listen 443 ssl; 107 | # server_name localhost; 108 | 109 | # ssl_certificate cert.pem; 110 | # ssl_certificate_key cert.key; 111 | 112 | # ssl_session_cache shared:SSL:1m; 113 | # ssl_session_timeout 5m; 114 | 115 | # ssl_ciphers HIGH:!aNULL:!MD5; 116 | # ssl_prefer_server_ciphers on; 117 | 118 | # location / { 119 | # root html; 120 | # index index.html index.htm; 121 | # } 122 | #} 123 | 124 | } 125 | -------------------------------------------------------------------------------- /nginx-1.12.2/conf/scgi_params: -------------------------------------------------------------------------------- 1 | 2 | scgi_param REQUEST_METHOD $request_method; 3 | scgi_param REQUEST_URI $request_uri; 4 | scgi_param QUERY_STRING $query_string; 5 | scgi_param CONTENT_TYPE $content_type; 6 | 7 | scgi_param DOCUMENT_URI $document_uri; 8 | scgi_param DOCUMENT_ROOT $document_root; 9 | scgi_param SCGI 1; 10 | scgi_param SERVER_PROTOCOL $server_protocol; 11 | scgi_param REQUEST_SCHEME $scheme; 12 | scgi_param HTTPS $https if_not_empty; 13 | 14 | scgi_param REMOTE_ADDR $remote_addr; 15 | scgi_param REMOTE_PORT $remote_port; 16 | scgi_param SERVER_PORT $server_port; 17 | scgi_param SERVER_NAME $server_name; 18 | -------------------------------------------------------------------------------- /nginx-1.12.2/conf/uwsgi_params: -------------------------------------------------------------------------------- 1 | 2 | uwsgi_param QUERY_STRING $query_string; 3 | uwsgi_param REQUEST_METHOD $request_method; 4 | uwsgi_param CONTENT_TYPE $content_type; 5 | uwsgi_param CONTENT_LENGTH $content_length; 6 | 7 | uwsgi_param REQUEST_URI $request_uri; 8 | uwsgi_param PATH_INFO $document_uri; 9 | uwsgi_param DOCUMENT_ROOT $document_root; 10 | uwsgi_param SERVER_PROTOCOL $server_protocol; 11 | uwsgi_param REQUEST_SCHEME $scheme; 12 | uwsgi_param HTTPS $https if_not_empty; 13 | 14 | uwsgi_param REMOTE_ADDR $remote_addr; 15 | uwsgi_param REMOTE_PORT $remote_port; 16 | uwsgi_param SERVER_PORT $server_port; 17 | uwsgi_param SERVER_NAME $server_name; 18 | -------------------------------------------------------------------------------- /nginx-1.12.2/conf/win-utf: -------------------------------------------------------------------------------- 1 | 2 | # This map is not a full windows-1251 <> utf8 map: it does not 3 | # contain Serbian and Macedonian letters. If you need a full map, 4 | # use contrib/unicode2nginx/win-utf map instead. 5 | 6 | charset_map windows-1251 utf-8 { 7 | 8 | 82 E2809A ; # single low-9 quotation mark 9 | 10 | 84 E2809E ; # double low-9 quotation mark 11 | 85 E280A6 ; # ellipsis 12 | 86 E280A0 ; # dagger 13 | 87 E280A1 ; # double dagger 14 | 88 E282AC ; # euro 15 | 89 E280B0 ; # per mille 16 | 17 | 91 E28098 ; # left single quotation mark 18 | 92 E28099 ; # right single quotation mark 19 | 93 E2809C ; # left double quotation mark 20 | 94 E2809D ; # right double quotation mark 21 | 95 E280A2 ; # bullet 22 | 96 E28093 ; # en dash 23 | 97 E28094 ; # em dash 24 | 25 | 99 E284A2 ; # trade mark sign 26 | 27 | A0 C2A0 ; #   28 | A1 D18E ; # capital Byelorussian short U 29 | A2 D19E ; # small Byelorussian short u 30 | 31 | A4 C2A4 ; # currency sign 32 | A5 D290 ; # capital Ukrainian soft G 33 | A6 C2A6 ; # borken bar 34 | A7 C2A7 ; # section sign 35 | A8 D081 ; # capital YO 36 | A9 C2A9 ; # (C) 37 | AA D084 ; # capital Ukrainian YE 38 | AB C2AB ; # left-pointing double angle quotation mark 39 | AC C2AC ; # not sign 40 | AD C2AD ; # soft hypen 41 | AE C2AE ; # (R) 42 | AF D087 ; # capital Ukrainian YI 43 | 44 | B0 C2B0 ; # ° 45 | B1 C2B1 ; # plus-minus sign 46 | B2 D086 ; # capital Ukrainian I 47 | B3 D196 ; # small Ukrainian i 48 | B4 D291 ; # small Ukrainian soft g 49 | B5 C2B5 ; # micro sign 50 | B6 C2B6 ; # pilcrow sign 51 | B7 C2B7 ; # · 52 | B8 D191 ; # small yo 53 | B9 E28496 ; # numero sign 54 | BA D194 ; # small Ukrainian ye 55 | BB C2BB ; # right-pointing double angle quotation mark 56 | 57 | BF D197 ; # small Ukrainian yi 58 | 59 | C0 D090 ; # capital A 60 | C1 D091 ; # capital B 61 | C2 D092 ; # capital V 62 | C3 D093 ; # capital G 63 | C4 D094 ; # capital D 64 | C5 D095 ; # capital YE 65 | C6 D096 ; # capital ZH 66 | C7 D097 ; # capital Z 67 | C8 D098 ; # capital I 68 | C9 D099 ; # capital J 69 | CA D09A ; # capital K 70 | CB D09B ; # capital L 71 | CC D09C ; # capital M 72 | CD D09D ; # capital N 73 | CE D09E ; # capital O 74 | CF D09F ; # capital P 75 | 76 | D0 D0A0 ; # capital R 77 | D1 D0A1 ; # capital S 78 | D2 D0A2 ; # capital T 79 | D3 D0A3 ; # capital U 80 | D4 D0A4 ; # capital F 81 | D5 D0A5 ; # capital KH 82 | D6 D0A6 ; # capital TS 83 | D7 D0A7 ; # capital CH 84 | D8 D0A8 ; # capital SH 85 | D9 D0A9 ; # capital SHCH 86 | DA D0AA ; # capital hard sign 87 | DB D0AB ; # capital Y 88 | DC D0AC ; # capital soft sign 89 | DD D0AD ; # capital E 90 | DE D0AE ; # capital YU 91 | DF D0AF ; # capital YA 92 | 93 | E0 D0B0 ; # small a 94 | E1 D0B1 ; # small b 95 | E2 D0B2 ; # small v 96 | E3 D0B3 ; # small g 97 | E4 D0B4 ; # small d 98 | E5 D0B5 ; # small ye 99 | E6 D0B6 ; # small zh 100 | E7 D0B7 ; # small z 101 | E8 D0B8 ; # small i 102 | E9 D0B9 ; # small j 103 | EA D0BA ; # small k 104 | EB D0BB ; # small l 105 | EC D0BC ; # small m 106 | ED D0BD ; # small n 107 | EE D0BE ; # small o 108 | EF D0BF ; # small p 109 | 110 | F0 D180 ; # small r 111 | F1 D181 ; # small s 112 | F2 D182 ; # small t 113 | F3 D183 ; # small u 114 | F4 D184 ; # small f 115 | F5 D185 ; # small kh 116 | F6 D186 ; # small ts 117 | F7 D187 ; # small ch 118 | F8 D188 ; # small sh 119 | F9 D189 ; # small shch 120 | FA D18A ; # small hard sign 121 | FB D18B ; # small y 122 | FC D18C ; # small soft sign 123 | FD D18D ; # small e 124 | FE D18E ; # small yu 125 | FF D18F ; # small ya 126 | } 127 | -------------------------------------------------------------------------------- /nginx-1.12.2/contrib/README: -------------------------------------------------------------------------------- 1 | 2 | geo2nginx.pl by Andrei Nigmatulin 3 | 4 | The perl script to convert CSV geoip database ( free download 5 | at http://www.maxmind.com/app/geoip_country ) to format, suitable 6 | for use by the ngx_http_geo_module. 7 | 8 | 9 | unicode2nginx by Maxim Dounin 10 | 11 | The perl script to convert unicode mappings ( available 12 | at http://www.unicode.org/Public/MAPPINGS/ ) to the nginx 13 | configuration file format. 14 | Two generated full maps for windows-1251 and koi8-r. 15 | 16 | 17 | vim by Evan Miller 18 | 19 | Syntax highlighting of nginx configuration for vim, to be 20 | placed into ~/.vim/. 21 | 22 | -------------------------------------------------------------------------------- /nginx-1.12.2/contrib/geo2nginx.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | 3 | # (c) Andrei Nigmatulin, 2005 4 | # 5 | # this script provided "as is", without any warranties. use it at your own risk. 6 | # 7 | # special thanx to Andrew Sitnikov for perl port 8 | # 9 | # this script converts CSV geoip database (free download at http://www.maxmind.com/app/geoip_country) 10 | # to format, suitable for use with nginx_http_geo module (http://sysoev.ru/nginx) 11 | # 12 | # for example, line with ip range 13 | # 14 | # "62.16.68.0","62.16.127.255","1041253376","1041268735","RU","Russian Federation" 15 | # 16 | # will be converted to four subnetworks: 17 | # 18 | # 62.16.68.0/22 RU; 19 | # 62.16.72.0/21 RU; 20 | # 62.16.80.0/20 RU; 21 | # 62.16.96.0/19 RU; 22 | 23 | 24 | use warnings; 25 | use strict; 26 | 27 | while( ){ 28 | if (/"[^"]+","[^"]+","([^"]+)","([^"]+)","([^"]+)"/){ 29 | print_subnets($1, $2, $3); 30 | } 31 | } 32 | 33 | sub print_subnets { 34 | my ($a1, $a2, $c) = @_; 35 | my $l; 36 | while ($a1 <= $a2) { 37 | for ($l = 0; ($a1 & (1 << $l)) == 0 && ($a1 + ((1 << ($l + 1)) - 1)) <= $a2; $l++){}; 38 | print long2ip($a1) . "/" . (32 - $l) . " " . $c . ";\n"; 39 | $a1 += (1 << $l); 40 | } 41 | } 42 | 43 | sub long2ip { 44 | my $ip = shift; 45 | 46 | my $str = 0; 47 | 48 | $str = ($ip & 255); 49 | 50 | $ip >>= 8; 51 | $str = ($ip & 255).".$str"; 52 | 53 | $ip >>= 8; 54 | $str = ($ip & 255).".$str"; 55 | 56 | $ip >>= 8; 57 | $str = ($ip & 255).".$str"; 58 | } 59 | -------------------------------------------------------------------------------- /nginx-1.12.2/contrib/unicode2nginx/koi-utf: -------------------------------------------------------------------------------- 1 | charset_map koi8-r utf-8 { 2 | 3 | 80 E29480 ; # BOX DRAWINGS LIGHT HORIZONTAL 4 | 81 E29482 ; # BOX DRAWINGS LIGHT VERTICAL 5 | 82 E2948C ; # BOX DRAWINGS LIGHT DOWN AND RIGHT 6 | 83 E29490 ; # BOX DRAWINGS LIGHT DOWN AND LEFT 7 | 84 E29494 ; # BOX DRAWINGS LIGHT UP AND RIGHT 8 | 85 E29498 ; # BOX DRAWINGS LIGHT UP AND LEFT 9 | 86 E2949C ; # BOX DRAWINGS LIGHT VERTICAL AND RIGHT 10 | 87 E294A4 ; # BOX DRAWINGS LIGHT VERTICAL AND LEFT 11 | 88 E294AC ; # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL 12 | 89 E294B4 ; # BOX DRAWINGS LIGHT UP AND HORIZONTAL 13 | 8A E294BC ; # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL 14 | 8B E29680 ; # UPPER HALF BLOCK 15 | 8C E29684 ; # LOWER HALF BLOCK 16 | 8D E29688 ; # FULL BLOCK 17 | 8E E2968C ; # LEFT HALF BLOCK 18 | 8F E29690 ; # RIGHT HALF BLOCK 19 | 90 E29691 ; # LIGHT SHADE 20 | 91 E29692 ; # MEDIUM SHADE 21 | 92 E29693 ; # DARK SHADE 22 | 93 E28CA0 ; # TOP HALF INTEGRAL 23 | 94 E296A0 ; # BLACK SQUARE 24 | 95 E28899 ; # BULLET OPERATOR 25 | 96 E2889A ; # SQUARE ROOT 26 | 97 E28988 ; # ALMOST EQUAL TO 27 | 98 E289A4 ; # LESS-THAN OR EQUAL TO 28 | 99 E289A5 ; # GREATER-THAN OR EQUAL TO 29 | 9A C2A0 ; # NO-BREAK SPACE 30 | 9B E28CA1 ; # BOTTOM HALF INTEGRAL 31 | 9C C2B0 ; # DEGREE SIGN 32 | 9D C2B2 ; # SUPERSCRIPT TWO 33 | 9E C2B7 ; # MIDDLE DOT 34 | 9F C3B7 ; # DIVISION SIGN 35 | A0 E29590 ; # BOX DRAWINGS DOUBLE HORIZONTAL 36 | A1 E29591 ; # BOX DRAWINGS DOUBLE VERTICAL 37 | A2 E29592 ; # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE 38 | A3 D191 ; # CYRILLIC SMALL LETTER IO 39 | A4 E29593 ; # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE 40 | A5 E29594 ; # BOX DRAWINGS DOUBLE DOWN AND RIGHT 41 | A6 E29595 ; # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE 42 | A7 E29596 ; # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE 43 | A8 E29597 ; # BOX DRAWINGS DOUBLE DOWN AND LEFT 44 | A9 E29598 ; # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE 45 | AA E29599 ; # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE 46 | AB E2959A ; # BOX DRAWINGS DOUBLE UP AND RIGHT 47 | AC E2959B ; # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE 48 | AD E2959C ; # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE 49 | AE E2959D ; # BOX DRAWINGS DOUBLE UP AND LEFT 50 | AF E2959E ; # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE 51 | B0 E2959F ; # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE 52 | B1 E295A0 ; # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT 53 | B2 E295A1 ; # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE 54 | B3 D081 ; # CYRILLIC CAPITAL LETTER IO 55 | B4 E295A2 ; # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE 56 | B5 E295A3 ; # BOX DRAWINGS DOUBLE VERTICAL AND LEFT 57 | B6 E295A4 ; # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE 58 | B7 E295A5 ; # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE 59 | B8 E295A6 ; # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL 60 | B9 E295A7 ; # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE 61 | BA E295A8 ; # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE 62 | BB E295A9 ; # BOX DRAWINGS DOUBLE UP AND HORIZONTAL 63 | BC E295AA ; # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE 64 | BD E295AB ; # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE 65 | BE E295AC ; # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL 66 | BF C2A9 ; # COPYRIGHT SIGN 67 | C0 D18E ; # CYRILLIC SMALL LETTER YU 68 | C1 D0B0 ; # CYRILLIC SMALL LETTER A 69 | C2 D0B1 ; # CYRILLIC SMALL LETTER BE 70 | C3 D186 ; # CYRILLIC SMALL LETTER TSE 71 | C4 D0B4 ; # CYRILLIC SMALL LETTER DE 72 | C5 D0B5 ; # CYRILLIC SMALL LETTER IE 73 | C6 D184 ; # CYRILLIC SMALL LETTER EF 74 | C7 D0B3 ; # CYRILLIC SMALL LETTER GHE 75 | C8 D185 ; # CYRILLIC SMALL LETTER HA 76 | C9 D0B8 ; # CYRILLIC SMALL LETTER I 77 | CA D0B9 ; # CYRILLIC SMALL LETTER SHORT I 78 | CB D0BA ; # CYRILLIC SMALL LETTER KA 79 | CC D0BB ; # CYRILLIC SMALL LETTER EL 80 | CD D0BC ; # CYRILLIC SMALL LETTER EM 81 | CE D0BD ; # CYRILLIC SMALL LETTER EN 82 | CF D0BE ; # CYRILLIC SMALL LETTER O 83 | D0 D0BF ; # CYRILLIC SMALL LETTER PE 84 | D1 D18F ; # CYRILLIC SMALL LETTER YA 85 | D2 D180 ; # CYRILLIC SMALL LETTER ER 86 | D3 D181 ; # CYRILLIC SMALL LETTER ES 87 | D4 D182 ; # CYRILLIC SMALL LETTER TE 88 | D5 D183 ; # CYRILLIC SMALL LETTER U 89 | D6 D0B6 ; # CYRILLIC SMALL LETTER ZHE 90 | D7 D0B2 ; # CYRILLIC SMALL LETTER VE 91 | D8 D18C ; # CYRILLIC SMALL LETTER SOFT SIGN 92 | D9 D18B ; # CYRILLIC SMALL LETTER YERU 93 | DA D0B7 ; # CYRILLIC SMALL LETTER ZE 94 | DB D188 ; # CYRILLIC SMALL LETTER SHA 95 | DC D18D ; # CYRILLIC SMALL LETTER E 96 | DD D189 ; # CYRILLIC SMALL LETTER SHCHA 97 | DE D187 ; # CYRILLIC SMALL LETTER CHE 98 | DF D18A ; # CYRILLIC SMALL LETTER HARD SIGN 99 | E0 D0AE ; # CYRILLIC CAPITAL LETTER YU 100 | E1 D090 ; # CYRILLIC CAPITAL LETTER A 101 | E2 D091 ; # CYRILLIC CAPITAL LETTER BE 102 | E3 D0A6 ; # CYRILLIC CAPITAL LETTER TSE 103 | E4 D094 ; # CYRILLIC CAPITAL LETTER DE 104 | E5 D095 ; # CYRILLIC CAPITAL LETTER IE 105 | E6 D0A4 ; # CYRILLIC CAPITAL LETTER EF 106 | E7 D093 ; # CYRILLIC CAPITAL LETTER GHE 107 | E8 D0A5 ; # CYRILLIC CAPITAL LETTER HA 108 | E9 D098 ; # CYRILLIC CAPITAL LETTER I 109 | EA D099 ; # CYRILLIC CAPITAL LETTER SHORT I 110 | EB D09A ; # CYRILLIC CAPITAL LETTER KA 111 | EC D09B ; # CYRILLIC CAPITAL LETTER EL 112 | ED D09C ; # CYRILLIC CAPITAL LETTER EM 113 | EE D09D ; # CYRILLIC CAPITAL LETTER EN 114 | EF D09E ; # CYRILLIC CAPITAL LETTER O 115 | F0 D09F ; # CYRILLIC CAPITAL LETTER PE 116 | F1 D0AF ; # CYRILLIC CAPITAL LETTER YA 117 | F2 D0A0 ; # CYRILLIC CAPITAL LETTER ER 118 | F3 D0A1 ; # CYRILLIC CAPITAL LETTER ES 119 | F4 D0A2 ; # CYRILLIC CAPITAL LETTER TE 120 | F5 D0A3 ; # CYRILLIC CAPITAL LETTER U 121 | F6 D096 ; # CYRILLIC CAPITAL LETTER ZHE 122 | F7 D092 ; # CYRILLIC CAPITAL LETTER VE 123 | F8 D0AC ; # CYRILLIC CAPITAL LETTER SOFT SIGN 124 | F9 D0AB ; # CYRILLIC CAPITAL LETTER YERU 125 | FA D097 ; # CYRILLIC CAPITAL LETTER ZE 126 | FB D0A8 ; # CYRILLIC CAPITAL LETTER SHA 127 | FC D0AD ; # CYRILLIC CAPITAL LETTER E 128 | FD D0A9 ; # CYRILLIC CAPITAL LETTER SHCHA 129 | FE D0A7 ; # CYRILLIC CAPITAL LETTER CHE 130 | FF D0AA ; # CYRILLIC CAPITAL LETTER HARD SIGN 131 | } 132 | -------------------------------------------------------------------------------- /nginx-1.12.2/contrib/unicode2nginx/unicode-to-nginx.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | 3 | # Convert unicode mappings to nginx configuration file format. 4 | 5 | # You may find useful mappings in various places, including 6 | # unicode.org official site: 7 | # 8 | # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT 9 | # http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT 10 | 11 | # Needs perl 5.6 or later. 12 | 13 | # Written by Maxim Dounin, mdounin@mdounin.ru 14 | 15 | ############################################################################### 16 | 17 | require 5.006; 18 | 19 | while (<>) { 20 | # Skip comments and empty lines 21 | 22 | next if /^#/; 23 | next if /^\s*$/; 24 | chomp; 25 | 26 | # Convert mappings 27 | 28 | if (/^\s*0x(..)\s*0x(....)\s*(#.*)/) { 29 | # Mapping "#" 30 | my $cs_code = $1; 31 | my $un_code = $2; 32 | my $un_name = $3; 33 | 34 | # Produce UTF-8 sequence from character code; 35 | 36 | my $un_utf8 = join('', 37 | map { sprintf("%02X", $_) } 38 | unpack("U0C*", pack("U", hex($un_code))) 39 | ); 40 | 41 | print " $cs_code $un_utf8 ; $un_name\n"; 42 | 43 | } else { 44 | warn "Unrecognized line: '$_'"; 45 | } 46 | } 47 | 48 | ############################################################################### 49 | -------------------------------------------------------------------------------- /nginx-1.12.2/contrib/unicode2nginx/win-utf: -------------------------------------------------------------------------------- 1 | charset_map windows-1251 utf-8 { 2 | 3 | 80 D082 ; #CYRILLIC CAPITAL LETTER DJE 4 | 81 D083 ; #CYRILLIC CAPITAL LETTER GJE 5 | 82 E2809A ; #SINGLE LOW-9 QUOTATION MARK 6 | 83 D193 ; #CYRILLIC SMALL LETTER GJE 7 | 84 E2809E ; #DOUBLE LOW-9 QUOTATION MARK 8 | 85 E280A6 ; #HORIZONTAL ELLIPSIS 9 | 86 E280A0 ; #DAGGER 10 | 87 E280A1 ; #DOUBLE DAGGER 11 | 88 E282AC ; #EURO SIGN 12 | 89 E280B0 ; #PER MILLE SIGN 13 | 8A D089 ; #CYRILLIC CAPITAL LETTER LJE 14 | 8B E280B9 ; #SINGLE LEFT-POINTING ANGLE QUOTATION MARK 15 | 8C D08A ; #CYRILLIC CAPITAL LETTER NJE 16 | 8D D08C ; #CYRILLIC CAPITAL LETTER KJE 17 | 8E D08B ; #CYRILLIC CAPITAL LETTER TSHE 18 | 8F D08F ; #CYRILLIC CAPITAL LETTER DZHE 19 | 90 D192 ; #CYRILLIC SMALL LETTER DJE 20 | 91 E28098 ; #LEFT SINGLE QUOTATION MARK 21 | 92 E28099 ; #RIGHT SINGLE QUOTATION MARK 22 | 93 E2809C ; #LEFT DOUBLE QUOTATION MARK 23 | 94 E2809D ; #RIGHT DOUBLE QUOTATION MARK 24 | 95 E280A2 ; #BULLET 25 | 96 E28093 ; #EN DASH 26 | 97 E28094 ; #EM DASH 27 | 99 E284A2 ; #TRADE MARK SIGN 28 | 9A D199 ; #CYRILLIC SMALL LETTER LJE 29 | 9B E280BA ; #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 30 | 9C D19A ; #CYRILLIC SMALL LETTER NJE 31 | 9D D19C ; #CYRILLIC SMALL LETTER KJE 32 | 9E D19B ; #CYRILLIC SMALL LETTER TSHE 33 | 9F D19F ; #CYRILLIC SMALL LETTER DZHE 34 | A0 C2A0 ; #NO-BREAK SPACE 35 | A1 D08E ; #CYRILLIC CAPITAL LETTER SHORT U 36 | A2 D19E ; #CYRILLIC SMALL LETTER SHORT U 37 | A3 D088 ; #CYRILLIC CAPITAL LETTER JE 38 | A4 C2A4 ; #CURRENCY SIGN 39 | A5 D290 ; #CYRILLIC CAPITAL LETTER GHE WITH UPTURN 40 | A6 C2A6 ; #BROKEN BAR 41 | A7 C2A7 ; #SECTION SIGN 42 | A8 D081 ; #CYRILLIC CAPITAL LETTER IO 43 | A9 C2A9 ; #COPYRIGHT SIGN 44 | AA D084 ; #CYRILLIC CAPITAL LETTER UKRAINIAN IE 45 | AB C2AB ; #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 46 | AC C2AC ; #NOT SIGN 47 | AD C2AD ; #SOFT HYPHEN 48 | AE C2AE ; #REGISTERED SIGN 49 | AF D087 ; #CYRILLIC CAPITAL LETTER YI 50 | B0 C2B0 ; #DEGREE SIGN 51 | B1 C2B1 ; #PLUS-MINUS SIGN 52 | B2 D086 ; #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I 53 | B3 D196 ; #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 54 | B4 D291 ; #CYRILLIC SMALL LETTER GHE WITH UPTURN 55 | B5 C2B5 ; #MICRO SIGN 56 | B6 C2B6 ; #PILCROW SIGN 57 | B7 C2B7 ; #MIDDLE DOT 58 | B8 D191 ; #CYRILLIC SMALL LETTER IO 59 | B9 E28496 ; #NUMERO SIGN 60 | BA D194 ; #CYRILLIC SMALL LETTER UKRAINIAN IE 61 | BB C2BB ; #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 62 | BC D198 ; #CYRILLIC SMALL LETTER JE 63 | BD D085 ; #CYRILLIC CAPITAL LETTER DZE 64 | BE D195 ; #CYRILLIC SMALL LETTER DZE 65 | BF D197 ; #CYRILLIC SMALL LETTER YI 66 | C0 D090 ; #CYRILLIC CAPITAL LETTER A 67 | C1 D091 ; #CYRILLIC CAPITAL LETTER BE 68 | C2 D092 ; #CYRILLIC CAPITAL LETTER VE 69 | C3 D093 ; #CYRILLIC CAPITAL LETTER GHE 70 | C4 D094 ; #CYRILLIC CAPITAL LETTER DE 71 | C5 D095 ; #CYRILLIC CAPITAL LETTER IE 72 | C6 D096 ; #CYRILLIC CAPITAL LETTER ZHE 73 | C7 D097 ; #CYRILLIC CAPITAL LETTER ZE 74 | C8 D098 ; #CYRILLIC CAPITAL LETTER I 75 | C9 D099 ; #CYRILLIC CAPITAL LETTER SHORT I 76 | CA D09A ; #CYRILLIC CAPITAL LETTER KA 77 | CB D09B ; #CYRILLIC CAPITAL LETTER EL 78 | CC D09C ; #CYRILLIC CAPITAL LETTER EM 79 | CD D09D ; #CYRILLIC CAPITAL LETTER EN 80 | CE D09E ; #CYRILLIC CAPITAL LETTER O 81 | CF D09F ; #CYRILLIC CAPITAL LETTER PE 82 | D0 D0A0 ; #CYRILLIC CAPITAL LETTER ER 83 | D1 D0A1 ; #CYRILLIC CAPITAL LETTER ES 84 | D2 D0A2 ; #CYRILLIC CAPITAL LETTER TE 85 | D3 D0A3 ; #CYRILLIC CAPITAL LETTER U 86 | D4 D0A4 ; #CYRILLIC CAPITAL LETTER EF 87 | D5 D0A5 ; #CYRILLIC CAPITAL LETTER HA 88 | D6 D0A6 ; #CYRILLIC CAPITAL LETTER TSE 89 | D7 D0A7 ; #CYRILLIC CAPITAL LETTER CHE 90 | D8 D0A8 ; #CYRILLIC CAPITAL LETTER SHA 91 | D9 D0A9 ; #CYRILLIC CAPITAL LETTER SHCHA 92 | DA D0AA ; #CYRILLIC CAPITAL LETTER HARD SIGN 93 | DB D0AB ; #CYRILLIC CAPITAL LETTER YERU 94 | DC D0AC ; #CYRILLIC CAPITAL LETTER SOFT SIGN 95 | DD D0AD ; #CYRILLIC CAPITAL LETTER E 96 | DE D0AE ; #CYRILLIC CAPITAL LETTER YU 97 | DF D0AF ; #CYRILLIC CAPITAL LETTER YA 98 | E0 D0B0 ; #CYRILLIC SMALL LETTER A 99 | E1 D0B1 ; #CYRILLIC SMALL LETTER BE 100 | E2 D0B2 ; #CYRILLIC SMALL LETTER VE 101 | E3 D0B3 ; #CYRILLIC SMALL LETTER GHE 102 | E4 D0B4 ; #CYRILLIC SMALL LETTER DE 103 | E5 D0B5 ; #CYRILLIC SMALL LETTER IE 104 | E6 D0B6 ; #CYRILLIC SMALL LETTER ZHE 105 | E7 D0B7 ; #CYRILLIC SMALL LETTER ZE 106 | E8 D0B8 ; #CYRILLIC SMALL LETTER I 107 | E9 D0B9 ; #CYRILLIC SMALL LETTER SHORT I 108 | EA D0BA ; #CYRILLIC SMALL LETTER KA 109 | EB D0BB ; #CYRILLIC SMALL LETTER EL 110 | EC D0BC ; #CYRILLIC SMALL LETTER EM 111 | ED D0BD ; #CYRILLIC SMALL LETTER EN 112 | EE D0BE ; #CYRILLIC SMALL LETTER O 113 | EF D0BF ; #CYRILLIC SMALL LETTER PE 114 | F0 D180 ; #CYRILLIC SMALL LETTER ER 115 | F1 D181 ; #CYRILLIC SMALL LETTER ES 116 | F2 D182 ; #CYRILLIC SMALL LETTER TE 117 | F3 D183 ; #CYRILLIC SMALL LETTER U 118 | F4 D184 ; #CYRILLIC SMALL LETTER EF 119 | F5 D185 ; #CYRILLIC SMALL LETTER HA 120 | F6 D186 ; #CYRILLIC SMALL LETTER TSE 121 | F7 D187 ; #CYRILLIC SMALL LETTER CHE 122 | F8 D188 ; #CYRILLIC SMALL LETTER SHA 123 | F9 D189 ; #CYRILLIC SMALL LETTER SHCHA 124 | FA D18A ; #CYRILLIC SMALL LETTER HARD SIGN 125 | FB D18B ; #CYRILLIC SMALL LETTER YERU 126 | FC D18C ; #CYRILLIC SMALL LETTER SOFT SIGN 127 | FD D18D ; #CYRILLIC SMALL LETTER E 128 | FE D18E ; #CYRILLIC SMALL LETTER YU 129 | FF D18F ; #CYRILLIC SMALL LETTER YA 130 | } 131 | -------------------------------------------------------------------------------- /nginx-1.12.2/contrib/vim/ftdetect/nginx.vim: -------------------------------------------------------------------------------- 1 | au BufRead,BufNewFile *.nginx set ft=nginx 2 | au BufRead,BufNewFile */etc/nginx/* set ft=nginx 3 | au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx 4 | au BufRead,BufNewFile nginx.conf set ft=nginx 5 | -------------------------------------------------------------------------------- /nginx-1.12.2/contrib/vim/ftplugin/nginx.vim: -------------------------------------------------------------------------------- 1 | setlocal commentstring=#\ %s 2 | -------------------------------------------------------------------------------- /nginx-1.12.2/contrib/vim/indent/nginx.vim: -------------------------------------------------------------------------------- 1 | if exists("b:did_indent") 2 | finish 3 | endif 4 | let b:did_indent = 1 5 | 6 | setlocal indentexpr= 7 | 8 | " cindent actually works for nginx' simple file structure 9 | setlocal cindent 10 | " Just make sure that the comments are not reset as defs would be. 11 | setlocal cinkeys-=0# 12 | -------------------------------------------------------------------------------- /nginx-1.12.2/docs/LICENSE: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2002-2017 Igor Sysoev 3 | * Copyright (C) 2011-2017 Nginx, Inc. 4 | * All rights reserved. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 | * SUCH DAMAGE. 26 | */ 27 | -------------------------------------------------------------------------------- /nginx-1.12.2/docs/OpenSSL.LICENSE: -------------------------------------------------------------------------------- 1 | 2 | LICENSE ISSUES 3 | ============== 4 | 5 | The OpenSSL toolkit stays under a double license, i.e. both the conditions of 6 | the OpenSSL License and the original SSLeay license apply to the toolkit. 7 | See below for the actual license texts. Actually both licenses are BSD-style 8 | Open Source licenses. In case of any license issues related to OpenSSL 9 | please contact openssl-core@openssl.org. 10 | 11 | OpenSSL License 12 | --------------- 13 | 14 | /* ==================================================================== 15 | * Copyright (c) 1998-2017 The OpenSSL Project. All rights reserved. 16 | * 17 | * Redistribution and use in source and binary forms, with or without 18 | * modification, are permitted provided that the following conditions 19 | * are met: 20 | * 21 | * 1. Redistributions of source code must retain the above copyright 22 | * notice, this list of conditions and the following disclaimer. 23 | * 24 | * 2. Redistributions in binary form must reproduce the above copyright 25 | * notice, this list of conditions and the following disclaimer in 26 | * the documentation and/or other materials provided with the 27 | * distribution. 28 | * 29 | * 3. All advertising materials mentioning features or use of this 30 | * software must display the following acknowledgment: 31 | * "This product includes software developed by the OpenSSL Project 32 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 33 | * 34 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 35 | * endorse or promote products derived from this software without 36 | * prior written permission. For written permission, please contact 37 | * openssl-core@openssl.org. 38 | * 39 | * 5. Products derived from this software may not be called "OpenSSL" 40 | * nor may "OpenSSL" appear in their names without prior written 41 | * permission of the OpenSSL Project. 42 | * 43 | * 6. Redistributions of any form whatsoever must retain the following 44 | * acknowledgment: 45 | * "This product includes software developed by the OpenSSL Project 46 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 47 | * 48 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 49 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 50 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 51 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 52 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 53 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 54 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 55 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 56 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 57 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 58 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 59 | * OF THE POSSIBILITY OF SUCH DAMAGE. 60 | * ==================================================================== 61 | * 62 | * This product includes cryptographic software written by Eric Young 63 | * (eay@cryptsoft.com). This product includes software written by Tim 64 | * Hudson (tjh@cryptsoft.com). 65 | * 66 | */ 67 | 68 | Original SSLeay License 69 | ----------------------- 70 | 71 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 72 | * All rights reserved. 73 | * 74 | * This package is an SSL implementation written 75 | * by Eric Young (eay@cryptsoft.com). 76 | * The implementation was written so as to conform with Netscapes SSL. 77 | * 78 | * This library is free for commercial and non-commercial use as long as 79 | * the following conditions are aheared to. The following conditions 80 | * apply to all code found in this distribution, be it the RC4, RSA, 81 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 82 | * included with this distribution is covered by the same copyright terms 83 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 84 | * 85 | * Copyright remains Eric Young's, and as such any Copyright notices in 86 | * the code are not to be removed. 87 | * If this package is used in a product, Eric Young should be given attribution 88 | * as the author of the parts of the library used. 89 | * This can be in the form of a textual message at program startup or 90 | * in documentation (online or textual) provided with the package. 91 | * 92 | * Redistribution and use in source and binary forms, with or without 93 | * modification, are permitted provided that the following conditions 94 | * are met: 95 | * 1. Redistributions of source code must retain the copyright 96 | * notice, this list of conditions and the following disclaimer. 97 | * 2. Redistributions in binary form must reproduce the above copyright 98 | * notice, this list of conditions and the following disclaimer in the 99 | * documentation and/or other materials provided with the distribution. 100 | * 3. All advertising materials mentioning features or use of this software 101 | * must display the following acknowledgement: 102 | * "This product includes cryptographic software written by 103 | * Eric Young (eay@cryptsoft.com)" 104 | * The word 'cryptographic' can be left out if the rouines from the library 105 | * being used are not cryptographic related :-). 106 | * 4. If you include any Windows specific code (or a derivative thereof) from 107 | * the apps directory (application code) you must include an acknowledgement: 108 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 109 | * 110 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 111 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 112 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 113 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 114 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 115 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 116 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 117 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 118 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 119 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 120 | * SUCH DAMAGE. 121 | * 122 | * The licence and distribution terms for any publically available version or 123 | * derivative of this code cannot be changed. i.e. this code cannot simply be 124 | * copied and put under another distribution licence 125 | * [including the GNU Public Licence.] 126 | */ 127 | 128 | -------------------------------------------------------------------------------- /nginx-1.12.2/docs/PCRE.LICENCE: -------------------------------------------------------------------------------- 1 | PCRE LICENCE 2 | ------------ 3 | 4 | PCRE is a library of functions to support regular expressions whose syntax 5 | and semantics are as close as possible to those of the Perl 5 language. 6 | 7 | Release 8 of PCRE is distributed under the terms of the "BSD" licence, as 8 | specified below. The documentation for PCRE, supplied in the "doc" 9 | directory, is distributed under the same terms as the software itself. The data 10 | in the testdata directory is not copyrighted and is in the public domain. 11 | 12 | The basic library functions are written in C and are freestanding. Also 13 | included in the distribution is a set of C++ wrapper functions, and a 14 | just-in-time compiler that can be used to optimize pattern matching. These 15 | are both optional features that can be omitted when the library is built. 16 | 17 | 18 | THE BASIC LIBRARY FUNCTIONS 19 | --------------------------- 20 | 21 | Written by: Philip Hazel 22 | Email local part: ph10 23 | Email domain: cam.ac.uk 24 | 25 | University of Cambridge Computing Service, 26 | Cambridge, England. 27 | 28 | Copyright (c) 1997-2017 University of Cambridge 29 | All rights reserved. 30 | 31 | 32 | PCRE JUST-IN-TIME COMPILATION SUPPORT 33 | ------------------------------------- 34 | 35 | Written by: Zoltan Herczeg 36 | Email local part: hzmester 37 | Emain domain: freemail.hu 38 | 39 | Copyright(c) 2010-2017 Zoltan Herczeg 40 | All rights reserved. 41 | 42 | 43 | STACK-LESS JUST-IN-TIME COMPILER 44 | -------------------------------- 45 | 46 | Written by: Zoltan Herczeg 47 | Email local part: hzmester 48 | Emain domain: freemail.hu 49 | 50 | Copyright(c) 2009-2017 Zoltan Herczeg 51 | All rights reserved. 52 | 53 | 54 | THE C++ WRAPPER FUNCTIONS 55 | ------------------------- 56 | 57 | Contributed by: Google Inc. 58 | 59 | Copyright (c) 2007-2012, Google Inc. 60 | All rights reserved. 61 | 62 | 63 | THE "BSD" LICENCE 64 | ----------------- 65 | 66 | Redistribution and use in source and binary forms, with or without 67 | modification, are permitted provided that the following conditions are met: 68 | 69 | * Redistributions of source code must retain the above copyright notice, 70 | this list of conditions and the following disclaimer. 71 | 72 | * Redistributions in binary form must reproduce the above copyright 73 | notice, this list of conditions and the following disclaimer in the 74 | documentation and/or other materials provided with the distribution. 75 | 76 | * Neither the name of the University of Cambridge nor the name of Google 77 | Inc. nor the names of their contributors may be used to endorse or 78 | promote products derived from this software without specific prior 79 | written permission. 80 | 81 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 82 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 83 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 84 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 85 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 86 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 87 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 88 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 89 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 90 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 91 | POSSIBILITY OF SUCH DAMAGE. 92 | 93 | End 94 | -------------------------------------------------------------------------------- /nginx-1.12.2/docs/README: -------------------------------------------------------------------------------- 1 | 2 | Documentation is available at http://nginx.org 3 | 4 | -------------------------------------------------------------------------------- /nginx-1.12.2/docs/zlib.LICENSE: -------------------------------------------------------------------------------- 1 | (C) 1995-2017 Jean-loup Gailly and Mark Adler 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | 19 | Jean-loup Gailly Mark Adler 20 | jloup@gzip.org madler@alumni.caltech.edu 21 | -------------------------------------------------------------------------------- /nginx-1.12.2/html/css/app.fe24fbe6.css: -------------------------------------------------------------------------------- 1 | #app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50}#nav{padding:30px}#nav a{font-weight:700;color:#2c3e50}body{margin:0;padding:0}#nav a.router-link-exact-active{color:#42b983} -------------------------------------------------------------------------------- /nginx-1.12.2/html/css/chunk-252bc5aa.d9aec0dd.css: -------------------------------------------------------------------------------- 1 | h3[data-v-71a3dde8]{margin:40px 0 0}a[data-v-71a3dde8]{color:#0b41af;text-decoration:none}[data-v-71a3dde8] .el-button{font-size:15px;color:#0b41af} -------------------------------------------------------------------------------- /nginx-1.12.2/html/css/chunk-5eedb2c0.821e0919.css: -------------------------------------------------------------------------------- 1 | h3[data-v-5fc141ac]{margin:40px 0 0}a[data-v-5fc141ac]{color:#0b41af;text-decoration:none}[data-v-5fc141ac] .el-button{font-size:15px;color:#0b41af} -------------------------------------------------------------------------------- /nginx-1.12.2/html/css/chunk-9f6c26c8.dfad923c.css: -------------------------------------------------------------------------------- 1 | .el-header[data-v-151010f5]{height:70px}.el-aside[data-v-151010f5]{height:calc(100vh - 70px)}.el-main[data-v-151010f5]{padding:0;height:calc(100vh - 70px)} -------------------------------------------------------------------------------- /nginx-1.12.2/html/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/nginx-1.12.2/html/favicon.ico -------------------------------------------------------------------------------- /nginx-1.12.2/html/fonts/element-icons.535877f5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/nginx-1.12.2/html/fonts/element-icons.535877f5.woff -------------------------------------------------------------------------------- /nginx-1.12.2/html/fonts/element-icons.732389de.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/nginx-1.12.2/html/fonts/element-icons.732389de.ttf -------------------------------------------------------------------------------- /nginx-1.12.2/html/index.html: -------------------------------------------------------------------------------- 1 | vue-quicksearch
-------------------------------------------------------------------------------- /nginx-1.12.2/html/js/app.7673733c.js: -------------------------------------------------------------------------------- 1 | (function(e){function t(t){for(var r,o,u=t[0],i=t[1],l=t[2],d=0,s=[];d{let n=(new Date).getTime(),r=((n-t)/1e3).toFixed(0);e.text=`加载耗时 ${r} 秒`},1e3);return setTimeout((function(){e.close(),clearInterval(n)}),3e4),e},r["default"].prototype.postRequest=p["c"],r["default"].prototype.putRequest=p["d"],r["default"].prototype.getRequest=p["b"],r["default"].prototype.deleteRequest=p["a"],new r["default"]({router:d["a"],render:e=>e(l)}).$mount("#app")},"7c15":function(e,t,n){"use strict";n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return u})),n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return l}));var r=n("bc3a"),o=(n("5c96"),n("a18c"),n("2b0e"));r["a"].defaults.baseURL="/",o["default"].prototype.axios=r["a"];let a="";const c=(e,t)=>Object(r["a"])({method:"post",url:`${a}${e}`,data:t}),u=(e,t)=>Object(r["a"])({method:"put",url:`${a}${e}`,data:t}),i=(e,t)=>Object(r["a"])({method:"get",url:`${a}${e}`,data:t}),l=(e,t)=>Object(r["a"])({method:"delete",url:`${a}${e}`,data:t})},a18c:function(e,t,n){"use strict";var r=n("2b0e"),o=n("8c4f");r["default"].use(o["a"]);const a=[{path:"/",name:"报送平台",props:!0,component:()=>n.e("chunk-9f6c26c8").then(n.bind(null,"bb51")),children:[{path:"/Grep",name:"查询文本",props:!0,component:()=>Promise.all([n.e("chunk-3961fd03"),n.e("chunk-252bc5aa")]).then(n.bind(null,"bcc8"))},{path:"/Find",name:"查询文件",props:!0,component:()=>Promise.all([n.e("chunk-3961fd03"),n.e("chunk-5eedb2c0")]).then(n.bind(null,"9afa"))}]}],c=new o["a"]({mode:"history",routes:a});t["a"]=c},a61b:function(e,t,n){"use strict";n("cf62")},cf62:function(e,t,n){}}); 2 | //# sourceMappingURL=app.7673733c.js.map -------------------------------------------------------------------------------- /nginx-1.12.2/html/js/app.7673733c.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue","webpack:///./src/App.vue?3746","webpack:///./src/main.js","webpack:///./src/utils/api.js","webpack:///./src/router/index.js","webpack:///./src/App.vue?6861"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_c","_self","attrs","staticRenderFns","component","Vue","config","productionTip","use","Element","openLoading","loading","$loading","lock","text","spinner","background","fullscreen","customClass","start","Date","getTime","interval","setInterval","end","duration","toFixed","close","clearInterval","postRequest","putRequest","getRequest","deleteRequest","router","h","App","$mount","axios","defaults","baseURL","base","url","params","method","VueRouter","routes","path","props","children"],"mappings":"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","file":"js/app.7673733c.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-3961fd03\":\"b7c58c43\",\"chunk-252bc5aa\":\"0db59b39\",\"chunk-5eedb2c0\":\"51901c89\",\"chunk-9f6c26c8\":\"f0c73dd0\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-252bc5aa\":1,\"chunk-5eedb2c0\":1,\"chunk-9f6c26c8\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-3961fd03\":\"31d6cfe0\",\"chunk-252bc5aa\":\"d9aec0dd\",\"chunk-5eedb2c0\":\"821e0919\",\"chunk-9f6c26c8\":\"dfad923c\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=58f9b4e3&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&id=58f9b4e3&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\n\r\nimport Element from 'element-ui'\r\nimport 'element-ui/lib/theme-chalk/index.css'\r\nimport {deleteRequest, getRequest, postRequest, putRequest} from \"@/utils/api\";\r\nVue.config.productionTip = false\r\nVue.use(Element)\r\n\r\nVue.config.productionTip = false\r\n\r\n\r\nimport { Loading } from 'element-ui';\r\n\r\nVue.prototype.openLoading = function() {\r\n const loading = this.$loading({ // 声明一个loading对象\r\n lock: true, // 是否锁屏\r\n text: '', // 加载动画的文字\r\n spinner: 'el-icon-loading', // 引入的loading图标\r\n background: 'rgba(0, 0, 0, 0.8)', // 背景颜色\r\n target: ' .region', // **需要遮罩的区域,这里写要添加loading的选择器**\r\n fullscreen: false,\r\n customClass: 'loadingclass' // **遮罩层新增类名,如果需要修改loading的样式**\r\n })\r\n\r\n let start = new Date().getTime(); // 开始时间戳\r\n let interval = setInterval(() => {\r\n let end = new Date().getTime(); // 当前时间戳\r\n let duration = ((end - start) / 1000).toFixed(0); // 计算加载所用的时间差,并保留两位小数\r\n loading.text = `加载耗时 ${duration} 秒`; // 更新 loading 文本\r\n }, 1000); // 每秒钟更新一次\r\n\r\n setTimeout(function () { // 设定定时器,超时5S后自动关闭遮罩层,避免请求失败时,遮罩层一直存在的问题\r\n loading.close(); // 关闭遮罩层\r\n clearInterval(interval); // 清除计时器\r\n },30000)\r\n\r\n return loading;\r\n}\r\n\r\n// todo-lrc : 插件为什么在这里\r\n//plugins\r\nVue.prototype.postRequest = postRequest;\r\nVue.prototype.putRequest = putRequest;\r\nVue.prototype.getRequest = getRequest;\r\nVue.prototype.deleteRequest = deleteRequest;\r\n\r\nnew Vue({\r\n router,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","import axios from 'axios'\nimport {Message} from \"element-ui\";\nimport router from '../router'\nimport Vue from 'vue'\n\naxios.defaults.baseURL = '/'\nVue.prototype.axios = axios\n\nlet base = '';\n\n//传送json格式的post请求\nexport const postRequest = (url, params) => {\n return axios({\n method: 'post',\n url: `${base}${url}`,\n data: params\n })\n}\n//传递json的put请求\nexport const putRequest = (url, params) => {\n return axios({\n method: 'put',\n url: `${base}${url}`,\n data: params\n })\n}\n//传递json的get请求\nexport const getRequest = (url, params) => {\n return axios({\n method: 'get',\n url: `${base}${url}`,\n data: params\n })\n}\n//传递json的delete请求\nexport const deleteRequest = (url, params) => {\n return axios({\n method: 'delete',\n url: `${base}${url}`,\n data: params\n })\n}\n","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nVue.use(VueRouter)\n\nconst routes = [\n {\n path: '/',\n name: '报送平台',\n props:true,\n component: () => import('@/views/Home'),\n children: [\n {\n path: '/Grep',\n name: '查询文本',\n props:true,\n component: () => import('@/components/Grep')\n },\n {\n path: '/Find',\n name: '查询文件',\n props:true,\n component: () => import('@/components/Find.vue')\n }\n ]\n }\n]\n\nconst router = new VueRouter({\n mode: \"history\",\n // mode: 'hash',\n routes\n})\n\nexport default router\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=58f9b4e3&prod&lang=css&\""],"sourceRoot":""} -------------------------------------------------------------------------------- /nginx-1.12.2/html/js/chunk-252bc5aa.0db59b39.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-252bc5aa"],{"167a":function(e,t,a){"use strict";a("2657")},2657:function(e,t,a){},bcc8:function(e,t,a){"use strict";a.r(t);var l=function(){var e=this,t=e._self._c;return t("div",[t("el-checkbox",{staticStyle:{"margin-left":"-250px"},model:{value:e.ignore,callback:function(t){e.ignore=t},expression:"ignore"}},[e._v("忽略大小写")]),t("el-input",{staticStyle:{width:"400px","margin-left":"20px"},attrs:{placeholder:"请输入关键字"},on:{keydown:e.sendGrep},model:{value:e.keywords,callback:function(t){e.keywords=t},expression:"keywords"}}),t("el-select",{staticStyle:{"margin-left":"20px"},attrs:{placeholder:"请选择路径"},on:{change:e.loadData},model:{value:e.path,callback:function(t){e.path=t},expression:"path"}},e._l(e.options,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1),t("el-cascader",{staticStyle:{"margin-left":"10px"},attrs:{options:e.options2,"change-on-select":"",props:{expandTrigger:"click",value:"path",label:"name",children:"children",isLeaf:"isFile"},"show-all-levels":!1},on:{change:e.loadData2},model:{value:e.selectedValues,callback:function(t){e.selectedValues=t},expression:"selectedValues"}}),t("div",[t("el-button",{on:{click:e.sendGrep,keyup:e.sendGrep}},[e._v("搜索")])],1),t("el-table",{staticStyle:{width:"100%","margin-top":"20px"},attrs:{height:"calc(100vh - 150px)",data:e.tableData,"span-method":e.objectSpanMethod,border:""}},[t("el-table-column",{attrs:{prop:"fileName",label:"文件名",width:"250"}}),t("el-table-column",{attrs:{prop:"content",width:"850",label:"内容"}}),t("el-table-column",{attrs:{label:"操作"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("el-button",{attrs:{size:"mini"},on:{click:function(t){return e.handleEdit(a.$index,a.row)}}},[e._v("打开文件 ")])]}}])})],1)],1)},n=[],o=(a("14d9"),a("7c15")),i={name:"Grep",data(){return{options2:[],path2:[],options:[{value:"C:\\",label:"C盘"},{value:"D:\\",label:"D盘"},{value:"E:\\",label:"E盘"},{value:"F:\\",label:"F盘"}],type:!0,ignore:!0,keywords:"Linux",path:"E:\\Doc\\Note",tableData:[],textarea:"",selectedValues:[]}},mounted(){this.loadData(this.path)},methods:{loadData2(){this.path=this.selectedValues[0];var e={path:this.path};Object(o["c"])("/api/files",e).then(e=>{if(e){console.log(e.data);const t=e.data,a=[];for(let e=0;e{if(e){console.log(e.data);const t=e.data,a=[];for(let e=0;e{e&&console.log(e.data)})},sendGrep(){var e="";!0===this.ignore&&(e="i");var t={keywords:this.keywords,path:this.path,optionStr:e};const a=this.openLoading();Object(o["c"])("/api/grep",t).then(e=>{e&&(a.close(),this.tableData=e.data.data)})},arraySpanMethod({row:e,column:t,rowIndex:a,columnIndex:l}){if(a%2===0){if(0===l)return[1,2];if(1===l)return[0,0]}}}},s=i,c=(a("167a"),a("2877")),r=Object(c["a"])(s,l,n,!1,null,"71a3dde8",null);t["default"]=r.exports}}]); 2 | //# sourceMappingURL=chunk-252bc5aa.0db59b39.js.map -------------------------------------------------------------------------------- /nginx-1.12.2/html/js/chunk-252bc5aa.0db59b39.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/components/Grep.vue?fc93","webpack:///./src/components/Grep.vue","webpack:///src/components/Grep.vue","webpack:///./src/components/Grep.vue?a41b","webpack:///./src/components/Grep.vue?ee65"],"names":["render","_vm","this","_c","_self","staticStyle","model","value","ignore","callback","$$v","expression","_v","attrs","on","sendGrep","keywords","loadData","path","_l","options","item","key","label","options2","expandTrigger","children","isLeaf","loadData2","selectedValues","tableData","objectSpanMethod","scopedSlots","_u","fn","scope","$event","handleEdit","$index","row","staticRenderFns","name","data","path2","type","textarea","mounted","methods","params","postRequest","then","resp","console","log","result","i","length","fileInfo","isFile","push","index","fileName","optionStr","rLoading","openLoading","close","arraySpanMethod","column","rowIndex","columnIndex","component"],"mappings":"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","file":"js/chunk-252bc5aa.0db59b39.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grep.vue?vue&type=style&index=0&id=71a3dde8&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('el-checkbox',{staticStyle:{\"margin-left\":\"-250px\"},model:{value:(_vm.ignore),callback:function ($$v) {_vm.ignore=$$v},expression:\"ignore\"}},[_vm._v(\"忽略大小写\")]),_c('el-input',{staticStyle:{\"width\":\"400px\",\"margin-left\":\"20px\"},attrs:{\"placeholder\":\"请输入关键字\"},on:{\"keydown\":_vm.sendGrep},model:{value:(_vm.keywords),callback:function ($$v) {_vm.keywords=$$v},expression:\"keywords\"}}),_c('el-select',{staticStyle:{\"margin-left\":\"20px\"},attrs:{\"placeholder\":\"请选择路径\"},on:{\"change\":_vm.loadData},model:{value:(_vm.path),callback:function ($$v) {_vm.path=$$v},expression:\"path\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_c('el-cascader',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"options\":_vm.options2,\"change-on-select\":\"\",\"props\":{ expandTrigger: 'click', value: 'path', label: 'name', children: 'children', isLeaf: 'isFile' },\"show-all-levels\":false},on:{\"change\":_vm.loadData2},model:{value:(_vm.selectedValues),callback:function ($$v) {_vm.selectedValues=$$v},expression:\"selectedValues\"}}),_c('div',[_c('el-button',{on:{\"click\":_vm.sendGrep,\"keyup\":_vm.sendGrep}},[_vm._v(\"搜索\")])],1),_c('el-table',{staticStyle:{\"width\":\"100%\",\"margin-top\":\"20px\"},attrs:{\"height\":\"calc(100vh - 150px)\",\"data\":_vm.tableData,\"span-method\":_vm.objectSpanMethod,\"border\":\"\"}},[_c('el-table-column',{attrs:{\"prop\":\"fileName\",\"label\":\"文件名\",\"width\":\"250\"}}),_c('el-table-column',{attrs:{\"prop\":\"content\",\"width\":\"850\",\"label\":\"内容\"}}),_c('el-table-column',{attrs:{\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){return _vm.handleEdit(scope.$index, scope.row)}}},[_vm._v(\"打开文件 \")])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grep.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grep.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Grep.vue?vue&type=template&id=71a3dde8&scoped=true&\"\nimport script from \"./Grep.vue?vue&type=script&lang=js&\"\nexport * from \"./Grep.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Grep.vue?vue&type=style&index=0&id=71a3dde8&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"71a3dde8\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} -------------------------------------------------------------------------------- /nginx-1.12.2/html/js/chunk-3961fd03.b7c58c43.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-3961fd03"],{"04f8":function(t,n,r){var e=r("2d00"),o=r("d039");t.exports=!!Object.getOwnPropertySymbols&&!o((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&e&&e<41}))},"06cf":function(t,n,r){var e=r("83ab"),o=r("c65b"),c=r("d1e7"),i=r("5c6c"),u=r("fc6a"),a=r("a04b"),f=r("1a2d"),p=r("0cfb"),s=Object.getOwnPropertyDescriptor;n.f=e?s:function(t,n){if(t=u(t),n=a(n),p)try{return s(t,n)}catch(r){}if(f(t,n))return i(!o(c.f,t,n),t[n])}},"07fa":function(t,n,r){var e=r("50c4");t.exports=function(t){return e(t.length)}},"0cfb":function(t,n,r){var e=r("83ab"),o=r("d039"),c=r("cc12");t.exports=!e&&!o((function(){return 7!=Object.defineProperty(c("div"),"a",{get:function(){return 7}}).a}))},"0d51":function(t,n){var r=String;t.exports=function(t){try{return r(t)}catch(n){return"Object"}}},"13d2":function(t,n,r){var e=r("e330"),o=r("d039"),c=r("1626"),i=r("1a2d"),u=r("83ab"),a=r("5e77").CONFIGURABLE,f=r("8925"),p=r("69f3"),s=p.enforce,l=p.get,b=String,d=Object.defineProperty,v=e("".slice),y=e("".replace),h=e([].join),g=u&&!o((function(){return 8!==d((function(){}),"length",{value:8}).length})),x=String(String).split("String"),m=t.exports=function(t,n,r){"Symbol("===v(b(n),0,7)&&(n="["+y(b(n),/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(n="get "+n),r&&r.setter&&(n="set "+n),(!i(t,"name")||a&&t.name!==n)&&(u?d(t,"name",{value:n,configurable:!0}):t.name=n),g&&r&&i(r,"arity")&&t.length!==r.arity&&d(t,"length",{value:r.arity});try{r&&i(r,"constructor")&&r.constructor?u&&d(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(o){}var e=s(t);return i(e,"source")||(e.source=h(x,"string"==typeof n?n:"")),t};Function.prototype.toString=m((function(){return c(this)&&l(this).source||f(this)}),"toString")},"14d9":function(t,n,r){"use strict";var e=r("23e7"),o=r("7b0b"),c=r("07fa"),i=r("3a34"),u=r("3511"),a=r("d039"),f=a((function(){return 4294967297!==[].push.call({length:4294967296},1)})),p=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}},s=f||!p();e({target:"Array",proto:!0,arity:1,forced:s},{push:function(t){var n=o(this),r=c(n),e=arguments.length;u(r+e);for(var a=0;a0&&e[0]<4?1:+(e[0]+e[1])),!o&&i&&(e=i.match(/Edge\/(\d+)/),(!e||e[1]>=74)&&(e=i.match(/Chrome\/(\d+)/),e&&(o=+e[1]))),t.exports=o},"342f":function(t,n){t.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},3511:function(t,n){var r=TypeError,e=9007199254740991;t.exports=function(t){if(t>e)throw r("Maximum allowed index exceeded");return t}},"3a34":function(t,n,r){"use strict";var e=r("83ab"),o=r("e8b5"),c=TypeError,i=Object.getOwnPropertyDescriptor,u=e&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=u?function(t,n){if(o(t)&&!i(t,"length").writable)throw c("Cannot set read only .length");return t.length=n}:function(t,n){return t.length=n}},"3a9b":function(t,n,r){var e=r("e330");t.exports=e({}.isPrototypeOf)},"40d5":function(t,n,r){var e=r("d039");t.exports=!e((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},"44ad":function(t,n,r){var e=r("e330"),o=r("d039"),c=r("c6b6"),i=Object,u=e("".split);t.exports=o((function(){return!i("z").propertyIsEnumerable(0)}))?function(t){return"String"==c(t)?u(t,""):i(t)}:i},"485a":function(t,n,r){var e=r("c65b"),o=r("1626"),c=r("861d"),i=TypeError;t.exports=function(t,n){var r,u;if("string"===n&&o(r=t.toString)&&!c(u=e(r,t)))return u;if(o(r=t.valueOf)&&!c(u=e(r,t)))return u;if("string"!==n&&o(r=t.toString)&&!c(u=e(r,t)))return u;throw i("Can't convert object to primitive value")}},"4d64":function(t,n,r){var e=r("fc6a"),o=r("23cb"),c=r("07fa"),i=function(t){return function(n,r,i){var u,a=e(n),f=c(a),p=o(i,f);if(t&&r!=r){while(f>p)if(u=a[p++],u!=u)return!0}else for(;f>p;p++)if((t||p in a)&&a[p]===r)return t||p||0;return!t&&-1}};t.exports={includes:i(!0),indexOf:i(!1)}},"50c4":function(t,n,r){var e=r("5926"),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},5692:function(t,n,r){var e=r("c430"),o=r("c6cd");(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.29.0",mode:e?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE",source:"https://github.com/zloirock/core-js"})},"56ef":function(t,n,r){var e=r("d066"),o=r("e330"),c=r("241c"),i=r("7418"),u=r("825a"),a=o([].concat);t.exports=e("Reflect","ownKeys")||function(t){var n=c.f(u(t)),r=i.f;return r?a(n,r(t)):n}},5926:function(t,n,r){var e=r("b42e");t.exports=function(t){var n=+t;return n!==n||0===n?0:e(n)}},"59ed":function(t,n,r){var e=r("1626"),o=r("0d51"),c=TypeError;t.exports=function(t){if(e(t))return t;throw c(o(t)+" is not a function")}},"5c6c":function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},"5e77":function(t,n,r){var e=r("83ab"),o=r("1a2d"),c=Function.prototype,i=e&&Object.getOwnPropertyDescriptor,u=o(c,"name"),a=u&&"something"===function(){}.name,f=u&&(!e||e&&i(c,"name").configurable);t.exports={EXISTS:u,PROPER:a,CONFIGURABLE:f}},6374:function(t,n,r){var e=r("da84"),o=Object.defineProperty;t.exports=function(t,n){try{o(e,t,{value:n,configurable:!0,writable:!0})}catch(r){e[t]=n}return n}},"69f3":function(t,n,r){var e,o,c,i=r("cdce"),u=r("da84"),a=r("861d"),f=r("9112"),p=r("1a2d"),s=r("c6cd"),l=r("f772"),b=r("d012"),d="Object already initialized",v=u.TypeError,y=u.WeakMap,h=function(t){return c(t)?o(t):e(t,{})},g=function(t){return function(n){var r;if(!a(n)||(r=o(n)).type!==t)throw v("Incompatible receiver, "+t+" required");return r}};if(i||s.state){var x=s.state||(s.state=new y);x.get=x.get,x.has=x.has,x.set=x.set,e=function(t,n){if(x.has(t))throw v(d);return n.facade=t,x.set(t,n),n},o=function(t){return x.get(t)||{}},c=function(t){return x.has(t)}}else{var m=l("state");b[m]=!0,e=function(t,n){if(p(t,m))throw v(d);return n.facade=t,f(t,m,n),n},o=function(t){return p(t,m)?t[m]:{}},c=function(t){return p(t,m)}}t.exports={set:e,get:o,has:c,enforce:h,getterFor:g}},7234:function(t,n){t.exports=function(t){return null===t||void 0===t}},7418:function(t,n){n.f=Object.getOwnPropertySymbols},7839:function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(t,n,r){var e=r("1d80"),o=Object;t.exports=function(t){return o(e(t))}},"825a":function(t,n,r){var e=r("861d"),o=String,c=TypeError;t.exports=function(t){if(e(t))return t;throw c(o(t)+" is not an object")}},"83ab":function(t,n,r){var e=r("d039");t.exports=!e((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"861d":function(t,n,r){var e=r("1626"),o=r("8ea1"),c=o.all;t.exports=o.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:e(t)||t===c}:function(t){return"object"==typeof t?null!==t:e(t)}},8925:function(t,n,r){var e=r("e330"),o=r("1626"),c=r("c6cd"),i=e(Function.toString);o(c.inspectSource)||(c.inspectSource=function(t){return i(t)}),t.exports=c.inspectSource},"8ea1":function(t,n){var r="object"==typeof document&&document.all,e="undefined"==typeof r&&void 0!==r;t.exports={all:r,IS_HTMLDDA:e}},"90e3":function(t,n,r){var e=r("e330"),o=0,c=Math.random(),i=e(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+i(++o+c,36)}},9112:function(t,n,r){var e=r("83ab"),o=r("9bf2"),c=r("5c6c");t.exports=e?function(t,n,r){return o.f(t,n,c(1,r))}:function(t,n,r){return t[n]=r,t}},"94ca":function(t,n,r){var e=r("d039"),o=r("1626"),c=/#|\.prototype\./,i=function(t,n){var r=a[u(t)];return r==p||r!=f&&(o(n)?e(n):!!n)},u=i.normalize=function(t){return String(t).replace(c,".").toLowerCase()},a=i.data={},f=i.NATIVE="N",p=i.POLYFILL="P";t.exports=i},"9bf2":function(t,n,r){var e=r("83ab"),o=r("0cfb"),c=r("aed9"),i=r("825a"),u=r("a04b"),a=TypeError,f=Object.defineProperty,p=Object.getOwnPropertyDescriptor,s="enumerable",l="configurable",b="writable";n.f=e?c?function(t,n,r){if(i(t),n=u(n),i(r),"function"===typeof t&&"prototype"===n&&"value"in r&&b in r&&!r[b]){var e=p(t,n);e&&e[b]&&(t[n]=r.value,r={configurable:l in r?r[l]:e[l],enumerable:s in r?r[s]:e[s],writable:!1})}return f(t,n,r)}:f:function(t,n,r){if(i(t),n=u(n),i(r),o)try{return f(t,n,r)}catch(e){}if("get"in r||"set"in r)throw a("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},a04b:function(t,n,r){var e=r("c04e"),o=r("d9b5");t.exports=function(t){var n=e(t,"string");return o(n)?n:n+""}},aed9:function(t,n,r){var e=r("83ab"),o=r("d039");t.exports=e&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},b42e:function(t,n){var r=Math.ceil,e=Math.floor;t.exports=Math.trunc||function(t){var n=+t;return(n>0?e:r)(n)}},b622:function(t,n,r){var e=r("da84"),o=r("5692"),c=r("1a2d"),i=r("90e3"),u=r("04f8"),a=r("fdbf"),f=e.Symbol,p=o("wks"),s=a?f["for"]||f:f&&f.withoutSetter||i;t.exports=function(t){return c(p,t)||(p[t]=u&&c(f,t)?f[t]:s("Symbol."+t)),p[t]}},c04e:function(t,n,r){var e=r("c65b"),o=r("861d"),c=r("d9b5"),i=r("dc4a"),u=r("485a"),a=r("b622"),f=TypeError,p=a("toPrimitive");t.exports=function(t,n){if(!o(t)||c(t))return t;var r,a=i(t,p);if(a){if(void 0===n&&(n="default"),r=e(a,t,n),!o(r)||c(r))return r;throw f("Can't convert object to primitive value")}return void 0===n&&(n="number"),u(t,n)}},c430:function(t,n){t.exports=!1},c65b:function(t,n,r){var e=r("40d5"),o=Function.prototype.call;t.exports=e?o.bind(o):function(){return o.apply(o,arguments)}},c6b6:function(t,n,r){var e=r("e330"),o=e({}.toString),c=e("".slice);t.exports=function(t){return c(o(t),8,-1)}},c6cd:function(t,n,r){var e=r("da84"),o=r("6374"),c="__core-js_shared__",i=e[c]||o(c,{});t.exports=i},ca84:function(t,n,r){var e=r("e330"),o=r("1a2d"),c=r("fc6a"),i=r("4d64").indexOf,u=r("d012"),a=e([].push);t.exports=function(t,n){var r,e=c(t),f=0,p=[];for(r in e)!o(u,r)&&o(e,r)&&a(p,r);while(n.length>f)o(e,r=n[f++])&&(~i(p,r)||a(p,r));return p}},cb2d:function(t,n,r){var e=r("1626"),o=r("9bf2"),c=r("13d2"),i=r("6374");t.exports=function(t,n,r,u){u||(u={});var a=u.enumerable,f=void 0!==u.name?u.name:n;if(e(r)&&c(r,f,u),u.global)a?t[n]=r:i(n,r);else{try{u.unsafe?t[n]&&(a=!0):delete t[n]}catch(p){}a?t[n]=r:o.f(t,n,{value:r,enumerable:!1,configurable:!u.nonConfigurable,writable:!u.nonWritable})}return t}},cc12:function(t,n,r){var e=r("da84"),o=r("861d"),c=e.document,i=o(c)&&o(c.createElement);t.exports=function(t){return i?c.createElement(t):{}}},cdce:function(t,n,r){var e=r("da84"),o=r("1626"),c=e.WeakMap;t.exports=o(c)&&/native code/.test(String(c))},d012:function(t,n){t.exports={}},d039:function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},d066:function(t,n,r){var e=r("da84"),o=r("1626"),c=function(t){return o(t)?t:void 0};t.exports=function(t,n){return arguments.length<2?c(e[t]):e[t]&&e[t][n]}},d1e7:function(t,n,r){"use strict";var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,c=o&&!e.call({1:2},1);n.f=c?function(t){var n=o(this,t);return!!n&&n.enumerable}:e},d9b5:function(t,n,r){var e=r("d066"),o=r("1626"),c=r("3a9b"),i=r("fdbf"),u=Object;t.exports=i?function(t){return"symbol"==typeof t}:function(t){var n=e("Symbol");return o(n)&&c(n.prototype,u(t))}},da84:function(t,n,r){(function(n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||function(){return this}()||Function("return this")()}).call(this,r("c8ba"))},dc4a:function(t,n,r){var e=r("59ed"),o=r("7234");t.exports=function(t,n){var r=t[n];return o(r)?void 0:e(r)}},e330:function(t,n,r){var e=r("40d5"),o=Function.prototype,c=o.call,i=e&&o.bind.bind(c,c);t.exports=e?i:function(t){return function(){return c.apply(t,arguments)}}},e893:function(t,n,r){var e=r("1a2d"),o=r("56ef"),c=r("06cf"),i=r("9bf2");t.exports=function(t,n,r){for(var u=o(n),a=i.f,f=c.f,p=0;p{if(e){console.log(e.data);const t=e.data,a=[];for(let e=0;e{if(e){console.log(e.data);const t=e.data,a=[];for(let e=0;e{e&&console.log(e.data)})},sendFind(){var e="";!0===this.ignore&&(e="i");var t="f";!1===this.type&&(t="d");var a={keywords:this.keywords,path:this.path,type:t,suffix:this.suffix,optionStr:e};const l=this.openLoading();Object(n["c"])("/api/find",a).then(e=>{e&&(l.close(),this.tableData=e.data.data)})},arraySpanMethod({row:e,column:t,rowIndex:a,columnIndex:l}){if(a%2===0){if(0===l)return[1,2];if(1===l)return[0,0]}}}},s=o,c=(a("8d2b"),a("2877")),r=Object(c["a"])(s,l,i,!1,null,"5fc141ac",null);t["default"]=r.exports},c647:function(e,t,a){}}]); 2 | //# sourceMappingURL=chunk-5eedb2c0.51901c89.js.map -------------------------------------------------------------------------------- /nginx-1.12.2/html/js/chunk-5eedb2c0.51901c89.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/components/Find.vue?a47f","webpack:///./src/components/Find.vue","webpack:///src/components/Find.vue","webpack:///./src/components/Find.vue?cab3","webpack:///./src/components/Find.vue?d18f"],"names":["render","_vm","this","_c","_self","staticStyle","model","value","ignore","callback","$$v","expression","_v","attrs","on","sendFind","keywords","loadData","path","_l","options","item","key","label","options2","expandTrigger","children","isLeaf","loadData2","selectedValues","type","suffix","_e","tableData","objectSpanMethod","scopedSlots","_u","fn","scope","$event","handleEdit","$index","row","staticRenderFns","name","data","path2","searchType","textarea","mounted","methods","params","postRequest","then","resp","console","log","result","i","length","fileInfo","isFile","push","index","fileName","optionStr","findType","rLoading","openLoading","close","arraySpanMethod","column","rowIndex","columnIndex","component"],"mappings":"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","file":"js/chunk-5eedb2c0.51901c89.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Find.vue?vue&type=style&index=0&id=5fc141ac&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('el-checkbox',{staticStyle:{\"margin-left\":\"-250px\"},model:{value:(_vm.ignore),callback:function ($$v) {_vm.ignore=$$v},expression:\"ignore\"}},[_vm._v(\"忽略大小写\")]),_c('el-input',{staticStyle:{\"width\":\"300px\",\"margin-left\":\"20px\"},attrs:{\"placeholder\":\"请输入关键字\"},on:{\"keydown\":_vm.sendFind},model:{value:(_vm.keywords),callback:function ($$v) {_vm.keywords=$$v},expression:\"keywords\"}}),_c('el-select',{staticStyle:{\"margin-left\":\"20px\"},attrs:{\"placeholder\":\"请选择路径\"},on:{\"change\":_vm.loadData},model:{value:(_vm.path),callback:function ($$v) {_vm.path=$$v},expression:\"path\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_c('el-cascader',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"options\":_vm.options2,\"change-on-select\":\"\",\"props\":{ expandTrigger: 'click', value: 'path', label: 'name', children: 'children', isLeaf: 'isFile' },\"show-all-levels\":false},on:{\"change\":_vm.loadData2},model:{value:(_vm.selectedValues),callback:function ($$v) {_vm.selectedValues=$$v},expression:\"selectedValues\"}})],1),_c('div',{staticStyle:{\"margin-top\":\"15px\"}},[_c('el-switch',{staticStyle:{\"width\":\"150px\",\"margin-left\":\"-835px\"},attrs:{\"active-color\":\"#13ce66\",\"inactive-color\":\"#ff4949\",\"active-text\":\"文件\",\"inactive-text\":\"目录\"},model:{value:(_vm.type),callback:function ($$v) {_vm.type=$$v},expression:\"type\"}}),(this.type===true)?_c('el-input',{staticStyle:{\"margin-left\":\"20px\",\"width\":\"150px\"},attrs:{\"placeholder\":\"文件后缀\"},on:{\"keydown\":_vm.sendFind},model:{value:(_vm.suffix),callback:function ($$v) {_vm.suffix=$$v},expression:\"suffix\"}}):_vm._e()],1),_c('div',[_c('el-button',{on:{\"click\":_vm.sendFind}},[_vm._v(\"搜索\")])],1),_c('el-table',{staticStyle:{\"width\":\"100%\",\"margin-top\":\"20px\"},attrs:{\"height\":\"calc(100vh - 150px)\",\"data\":_vm.tableData,\"span-method\":_vm.objectSpanMethod,\"border\":\"\"}},[_c('el-table-column',{attrs:{\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){return _vm.handleEdit(scope.$index, scope.row)}}},[_vm._v(\"打开文件 \")])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"fileName\",\"label\":\"文件名\",\"width\":\"1150\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Find.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Find.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Find.vue?vue&type=template&id=5fc141ac&scoped=true&\"\nimport script from \"./Find.vue?vue&type=script&lang=js&\"\nexport * from \"./Find.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Find.vue?vue&type=style&index=0&id=5fc141ac&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5fc141ac\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} -------------------------------------------------------------------------------- /nginx-1.12.2/html/js/chunk-9f6c26c8.f0c73dd0.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-9f6c26c8"],{6961:function(e,t,n){"use strict";n("fee3")},bb51:function(e,t,n){"use strict";n.r(t);var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"home"},[t("el-container",[t("el-header",[t("h1",[e._v("QuickSearch")])]),t("el-container",[t("el-aside",{attrs:{width:"200px"}},[t("el-menu",{staticClass:"el-menu-vertical-demo",attrs:{"default-active":"1","text-color":"#323232","active-text-color":"#ffd04b"},on:{open:e.handleOpen,close:e.handleClose}},[t("el-menu-item",{attrs:{index:"1"}},[t("router-link",{staticClass:"link",attrs:{to:"/Grep"}},[t("el-menu-item",{attrs:{index:"7"}},[e._v(" 查询文本 ")])],1)],1),t("el-menu-item",{attrs:{index:"2"}},[t("router-link",{staticClass:"link",attrs:{to:"/Find"}},[t("el-menu-item",{attrs:{index:"7"}},[e._v(" 查询文件 ")])],1)],1)],1)],1),t("el-main",[t("router-view",{staticStyle:{height:"100%"}})],1)],1)],1)],1)},a=[],l={name:"Home"},s=l,r=(n("6961"),n("2877")),c=Object(r["a"])(s,i,a,!1,null,"151010f5",null);t["default"]=c.exports},fee3:function(e,t,n){}}]); 2 | //# sourceMappingURL=chunk-9f6c26c8.f0c73dd0.js.map -------------------------------------------------------------------------------- /nginx-1.12.2/html/js/chunk-9f6c26c8.f0c73dd0.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/views/Home.vue?823f","webpack:///./src/views/Home.vue","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?2de8","webpack:///./src/views/Home.vue?86b4"],"names":["render","_vm","this","_c","_self","staticClass","_v","attrs","on","handleOpen","handleClose","staticStyle","staticRenderFns","name","component"],"mappings":"gHAAA,W,yCCAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,eAAe,CAACA,EAAG,YAAY,CAACA,EAAG,KAAK,CAACF,EAAIK,GAAG,mBAAmBH,EAAG,eAAe,CAACA,EAAG,WAAW,CAACI,MAAM,CAAC,MAAQ,UAAU,CAACJ,EAAG,UAAU,CAACE,YAAY,wBAAwBE,MAAM,CAAC,iBAAiB,IAAI,aAAa,UAAU,oBAAoB,WAAWC,GAAG,CAAC,KAAOP,EAAIQ,WAAW,MAAQR,EAAIS,cAAc,CAACP,EAAG,eAAe,CAACI,MAAM,CAAC,MAAQ,MAAM,CAACJ,EAAG,cAAc,CAACE,YAAY,OAAOE,MAAM,CAAC,GAAK,UAAU,CAACJ,EAAG,eAAe,CAACI,MAAM,CAAC,MAAQ,MAAM,CAACN,EAAIK,GAAG,aAAa,IAAI,GAAGH,EAAG,eAAe,CAACI,MAAM,CAAC,MAAQ,MAAM,CAACJ,EAAG,cAAc,CAACE,YAAY,OAAOE,MAAM,CAAC,GAAK,UAAU,CAACJ,EAAG,eAAe,CAACI,MAAM,CAAC,MAAQ,MAAM,CAACN,EAAIK,GAAG,aAAa,IAAI,IAAI,IAAI,GAAGH,EAAG,UAAU,CAACA,EAAG,cAAc,CAACQ,YAAY,CAAC,OAAS,WAAW,IAAI,IAAI,IAAI,IAEh0BC,EAAkB,GC+CP,GACfC,KAAA,QClD8U,I,wBCQ1UC,EAAY,eACd,EACAd,EACAY,GACA,EACA,KACA,WACA,MAIa,aAAAE,E","file":"js/chunk-9f6c26c8.f0c73dd0.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=151010f5&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home\"},[_c('el-container',[_c('el-header',[_c('h1',[_vm._v(\"QuickSearch\")])]),_c('el-container',[_c('el-aside',{attrs:{\"width\":\"200px\"}},[_c('el-menu',{staticClass:\"el-menu-vertical-demo\",attrs:{\"default-active\":\"1\",\"text-color\":\"#323232\",\"active-text-color\":\"#ffd04b\"},on:{\"open\":_vm.handleOpen,\"close\":_vm.handleClose}},[_c('el-menu-item',{attrs:{\"index\":\"1\"}},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/Grep\"}},[_c('el-menu-item',{attrs:{\"index\":\"7\"}},[_vm._v(\" 查询文本 \")])],1)],1),_c('el-menu-item',{attrs:{\"index\":\"2\"}},[_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/Find\"}},[_c('el-menu-item',{attrs:{\"index\":\"7\"}},[_vm._v(\" 查询文件 \")])],1)],1)],1)],1),_c('el-main',[_c('router-view',{staticStyle:{\"height\":\"100%\"}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=151010f5&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=151010f5&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"151010f5\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} -------------------------------------------------------------------------------- /nginx-1.12.2/logs/nginx.pid: -------------------------------------------------------------------------------- 1 | 18872 2 | -------------------------------------------------------------------------------- /nginx-1.12.2/nginx.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rongchenlin/QuickSearch/55e1a386b0bc9138f5130880ccf35bf5719cd79b/nginx-1.12.2/nginx.exe -------------------------------------------------------------------------------- /shutdown.bat: -------------------------------------------------------------------------------- 1 | 2 | cd nginx-1.12.2 3 | nginx.exe -s stop 4 | # 关闭后台服务 5 | @echo off 6 | SET port=8888 7 | for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do ( 8 | if [%%d] EQU [LISTENING] ( 9 | set pid=%%e 10 | ) 11 | ) 12 | echo close : %port% %pid% 13 | if not "%pid%" == "" taskkill /f /pid %pid% 14 | pause -------------------------------------------------------------------------------- /start.bat: -------------------------------------------------------------------------------- 1 | cd nginx-1.12.2 2 | start nginx.exe 3 | cd .. 4 | start javaw -jar -Dfile.encoding=utf-8 QuickSearch-0.0.1-SNAPSHOT.jar 5 | exit --------------------------------------------------------------------------------