forked from dashingsoft/pyarmor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index-zh.html
executable file
·371 lines (363 loc) · 19.4 KB
/
index-zh.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pyarmor</title>
<link rel="stylesheet" href="css/bootstrap.min.css" type="text/css" />
<style type="text/css">
.toolbar {
margin: 10px 15px 10px 15px;
position: absolute;
right: 0;
top: 0;
}
.tab-pane > div.content {
padding: 0 1em;
}
#global-message {
position: absolute;
left: 0;
right: 0;
top: 50px;
z-index: 1;
}
#project-basic .panel-body { padding-bottom: 5px; }
</style>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script data-main="app" src="js/require.js"></script>
<script type="text/javascript">
</script>
</head>
<body role="document">
<nav role="navigation" class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-main-tab" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://github.com/dashingsoft/pyarmor">Pyarmor</a>
</div>
<!-- /.navbar-header -->
<div class="collapse navbar-collapse" id="navbar-main-tab">
<ul class="nav navbar-nav">
<li role="presentation"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">首页</a></li>
<li role="presentation" class="active"><a href="#project" aria-controls="project" role="tab" data-toggle="tab">项目</a></li>
<li role="presentation"><a href="#documentation" aria-controls="documentation" role="tab" data-toggle="tab">教程</a></li>
<li role="presentation"><a href="#purchase" aria-controls="purchase" role="tab" data-toggle="tab">购买</a></li>
<!-- <li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">设置</a></li> -->
<li role="presentation"><a href="#about" aria-controls="about" role="tab" data-toggle="tab">关于</a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
<div id="global-message"></div>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane" id="home">
<div class="toolbar">
<a type="button" class="btn btn-success" href="index.html">English Version</a>
</div>
<div class="content">
<p>Pyarmor 是用来导入和运行加密的 Python 脚本的工具</p>
<h4 id="main-features">主要功能</h4>
<ul>
<li>运行加密脚本或者导入加密模块</li>
<li>运行或者导入加密的 .pyc、.pyo 文件</li>
<li>混合使用加密和没有加密的 Python 脚本文件</li>
<li>设置加密脚本的使用期限</li>
<li>限制加密脚本在固定机器上使用</li>
</ul>
<h4 id="support-platforms">支持的平台</h4>
<ul>
<li><p>Python 2.5, 2.6, 2.7 和所有的 Python3</p></li>
<li><p>win32, win_amd64, linux_i386, linux_x86_64, darwin_x86_64</p></li>
</ul>
<h4 id="quick-start">快速开始</h4>
<ul>
<li><p>下载 <a href="https://github.com/dashingsoft/pyarmor/releases/download/v3.1.4/pyarmor-webapp.zip">pyarmor-webapp.zip</a></p></li>
<li><p>解压到任何路径, 例如,<em>/opt</em></p></li>
<li><p>打开文件夹 <em>/opt/pyarmor/webapp</em>,双击里面的文件 <strong>start-server.bat</strong> (For Windows) or <strong>start-server.sh</strong> (For Linux)</p></li>
<li><p>这时候会在浏览器打开一个网页,下面的操作都是在该网页内部进行:</p>
<ul>
<li>单击 <strong>项目</strong></li>
<li>在 <strong>源路径</strong> 中输入源文件所在的绝对路径, 例如 <em>/opt/pyarmor/src/examples</em></li>
<li>在 <strong>主脚本</strong> 中输入启动脚本的名字</li>
<li>在 <strong>输出路径</strong> 中输入保存加密脚本的绝对路径,例如 <em>/opt/pyarmor/webapp/build</em></li>
<li>单击 <strong>加密</strong></li>
<li>所有加密文件会存放到 <em>/opt/pyarmor/build</em></li>
</ul>
</li>
<li>打开这个文件夹,运行加密的脚本: <code>python queens.py</code></li>
</ul>
<h4 id="license">许可方式</h4>
<p>Pyarmor 是作为共享软件发布。试用版本不会过期,唯一的限制是</p>
<ul>
<li>所有加密的脚本使用的密钥都是相同的</li>
</ul>
<p>使用任意密钥加密脚本需要购买一个注册码,注册码的使用许可</p>
<ul>
<li>个人用户:只需要购买一个就可以在所有的个人项目中使用</li>
<li>企业用户:每一个注册码只能用于一个产品或者项目</li>
</ul>
<strong>注册码永久有效,不会过期</strong>
</div>
</div>
<!-- /.tab-pane -->
<div role="tabpanel" class="tab-pane active" id="project">
<div class="toolbar">
<button id="new-project" type="button" class="btn btn-success" title="New project">新建</button>
<button id="open-project" type="button" class="btn btn-default" title="Open project">打开</button>
<button id="save-project" type="button" class="btn btn-default" title="Save project">保存</button>
<button id="build-project" type="button" class="btn btn-default" title="Encrypt all files in project">加密</button>
<!-- <h4><span class="label label-warning">Demo Version</span></h4> -->
<button id="demo-button" type="button" class="btn btn-warning hidden">演示版本</button>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-sm-2">
<ul class="nav nav-pills nav-stacked">
<li role="presentation" class="active"><a href="#project-basic" aria-controls="project-basic" role="tab" data-toggle="pill">基本信息</a></li>
<li role="presentation"><a href="#project-advanced" aria-controls="project-advanced" role="tab" data-toggle="pill">高级设置</a></li>
<li role="presentation"><a href="#project-licenses" aria-controls="project-licenses" role="tab" data-toggle="pill">许可证</a></li>
<li role="presentation"><a href="#project-console" aria-controls="project-console" role="tab" data-toggle="pill">控制台</a></li>
</ul>
</div>
<!-- /.col-sm-2 -->
<div class="col-sm-10">
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="project-basic">
<div class="panel panel-default">
<div class="panel-heading">项目信息</div>
<div class="panel-body">
<form>
<div class="form-group hidden">
<label for="input_project_name">名称</label>
<input type="text" class="form-control" id="input_project_name"/>
</div>
<div class="form-group">
<label for="input_project_title">标题</label>
<input type="text" class="form-control" id="input_project_title"/>
</div>
<div class="form-group hidden">
<label for="input_project_capsule">Capsule</label>
<input type="text" class="form-control" id="input_project_capsule" placeholder="Project Capsule Filename" disabled/>
<p class="help-block">It will be generated when new project and can not be changed.</p>
</div>
<div class="form-group hidden">
<label for="input_project_description">Description</label>
<textarea class="form-control" rows="5" id="input_project_description"></textarea>
</div>
<div class="form-group">
<label for="input_source_path">源路径</label>
<input type="text" class="form-control" id="input_project_path"/>
<p class="help-block">必须项。一般是绝对路径,会被 MANIFEST.in 作为根目录来搜索文件</p>
</div>
<div class="form-group">
<label for="input_project_files">MANIFEST.in</label>
<textarea class="form-control" rows="3" id="input_project_files"></textarea>
<p class="help-block">可选项。 使用 Distutils 的模板文件,用来定义需要加密的文件列表</p>
</div>
<div class="form-group">
<label for="input_project_scripts">启动脚本</label>
<input type="text" class="form-control" id="input_project_scripts"/>
<p class="help-block">可选项。</p>
</div>
<div class="form-group">
<label for="input_build_path">输出路径</label>
<input type="text" class="form-control" id="input_build_path"/>
<p class="help-block">可选项。一般为绝对路径,如果不为空,加密后的文件保存在这里;如果为空,则和源文件同路径</p>
</div>
</form>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel-default -->
</div>
<!-- /.tab-pane -->
<div role="tabpanel" class="tab-pane" id="project-advanced">
<div class="panel panel-default">
<div class="panel-heading">设置生成加密脚本的方式</div>
<div class="panel-body">
<form>
<div class="has-warning">
<div class="checkbox">
<label>
<input type="checkbox" id="input_project_clean" value=""/>
<strong>加密文件生成后删除源文件</strong>
</label>
<p class="help-block"></p>
</div>
</div>
<div class="form-group">
<label for="input_project_target">运行加密脚本在其他平台</label>
<select class="form-control" id="input_project_target">
<option></option>
<option>win32</option>
<option>win_amd64</option>
<option>linux_i386</option>
<option>linux_x86_64</option>
<option>darwin_x86_64</option>
</select>
<p class="help-block">如果运行环境和当前平台一致,就不需要输入</p>
</div>
<div class="form-group">
<label for="input_project_default_license">加密脚本的许可方式</label>
<select class="form-control" id="input_project_default_license">
<option value="">任意机器,永不过期(默认)</option>
</select>
<p class="help-block">如果需要生成项目新的许可证,单击左侧 <strong>许可证</strong></p>
</div>
</form>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel-default -->
</div>
<!-- /.tab-pane -->
<div role="tabpanel" class="tab-pane" id="project-licenses">
<div class="panel panel-default">
<div class="panel-heading">为特定用户生成项目许可证</div>
<div class="panel-body">
<form>
<div class="form-group">
<label for="input_bind_harddisk">
<div class="checkbox">
<label>
<input type="checkbox" id="check_bind_harddisk" value=""/>绑定加密脚本到指定机器,在文本框输入机器硬盘的序列号
</label>
</div>
</label>
<input type="text" class="form-control" id="input_bind_harddisk" disabled />
</div>
<div class="form-group">
<label for="input_expired_date">
<div class="checkbox">
<label>
<input type="checkbox" id="check_expired_date" value=""/>设置加密脚本的有效期,在文本框输入日期(YYYY-MM-NN)
</label>
</div>
</label>
<input type="text" class="form-control" id="input_expired_date" disabled/>
</div>
<div class="form-group">
<label for="input_license_rcode">注册码</label>
<input type="text" class="form-control" id="input_license_rcode"/>
<p class="help-block">任意字符串,例如 'customer-jondy'。注意:仅当上面两个复选框都没有选中时候才有效。</p>
</div>
<div class="form-group">
<label for="input_available_licenses">所有许可方式</label>
<select class="form-control" id="input_project_licenses" multiple readonly></select>
</div>
<button type="button" class="btn btn-default" id="new-license">生成</button>
<button type="button" class="btn btn-default pull-right" id="remove-license">删除</button>
</form>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel-default -->
</div>
<!-- /.tab-pane -->
<div role="tabpanel" class="tab-pane" id="project-console">
<div>
<form>
<div class="form-group">
<!-- <label for="project-log-message">Log message</label> -->
<textarea class="form-control" rows="20" id="project-log-message" readonly></textarea>
</div>
<a id="clear-log-message" role="button" class="btn btn-default">清空</a>
</form>
</div>
<!-- /.panel-default -->
</div>
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
</div>
<!-- /.col-md-10 -->
</div>
<!-- /.row -->
</div>
<!-- /.container-fluid -->
</div>
<!-- /.tab-pane -->
<div role="tabpanel" class="tab-pane" id="documentation">
<div class="content">tutorial-zh.html</div>
</div>
<div role="tabpanel" class="tab-pane" id="purchase">
<div class="content">
<p>你现在使用的是试用版本。试用版本可以一直使用下去,但是加密脚本的密钥是公开的,并且固定不变,是在代码中写死的。</p>
<p>使用任意密钥加密,需要购买注册码。如果 Pyarmor 真的能够对你有所帮助,请访问下面的页面进行购买</p>
<p><a href="https://shopper.mycommerce.com/checkout/cart/add/55259-1">https://shopper.mycommerce.com/checkout/cart/add/55259-1</a></p>
<p>注册码会通过邮件直接发送,收到邮件之后只需要把里面的注册码拷贝下来,保存为 Pyarmor 安装目录下面的文件 "license.lic"。注意注册码是一行随机的字符,没有任何换行符号。</p>
<p><strong>注册码永久有效,不会过期</strong></p>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="settings">
Settings
</div>
<div role="tabpanel" class="tab-pane" id="about">
<div class="content">
<p id="version-info">Pyarmor Version</p>
<table class="table">
<tr>
<td><strong>首页</strong></td>
<td><a href="http://www.dashingsoft.com">http://www.dashingsoft.com</a></td>
</tr>
<tr>
<td><strong>源文件</strong></td>
<td><a href="https://github.com/dashingsoft/pyarmor">https://github.com/dashingsoft/pyarmor</a></td>
</tr>
<tr>
<td><strong>PyPI</strong></td>
<td><a href="https://pypi.python.org/pypi/pyarmor">https://pypi.python.org/pypi/pyarmor</a></td>
</tr>
<tr>
<td><strong>报告问题</strong></td>
<td><a href="https://github.com/dashingsoft/pyarmor/issues">https://github.com/dashingsoft/pyarmor/issues</a></td>
</tr>
<tr>
<td><strong>支持邮件</strong></td>
<td><a href="mailto:[email protected]">[email protected]</a></td>
</tr>
</table>
<p>欢迎您发送邮件反馈任何问题(国家大事除外)。</p>
</div>
<!-- /.content -->
</div>
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
<div class="modal fade" id="project-manage-modal" tabindex="-1" role="dialog" aria-labelledby="ProjectModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="ProjectModalLabel">项目列表</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<select class="form-control" id="project-manage-list" size="9" multiple required></select>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" id="project-manage-remove">删除</button>
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" id="project-manage-open">打开</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
</body>
</html>