-
Notifications
You must be signed in to change notification settings - Fork 39
/
0f4p8oki-3.html
1736 lines (1670 loc) · 181 KB
/
0f4p8oki-3.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
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE HTML>
<html>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=10,IE=9,IE=8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<style type="text/css">
@font-face {font-family: 'jin_mei_mxplzx86d456993036';src: url('d25cg45r.gif');src: url('s5a_mob9.gif?#iefix') format('embedded-opentype'), url('6sjoftzg.bmp') format('woff'), url('a6fi06sp.jpg') format('truetype'), url('n__jfhdk.png#jin_mei_mxplzx') format('svg'); }.css86d456993036{font-family: 'jin_mei_mxplzx86d456993036';}
</style>
<style type="text/css">
@font-face {font-family: 'LiDeBiao-Xing320e75d0253036';src: url('cdn0zg3k.gif');src: url('shil52-c.gif?#iefix') format('embedded-opentype'), url('5530yv9l.bmp') format('woff'), url('aiz7tiqi.jpg') format('truetype'), url('nms8xvbp.png#LiDeBiao-Xing3') format('svg'); }.css20e75d0253036{font-family: 'LiDeBiao-Xing320e75d0253036';}
tbody tr:nth-child(odd) { background-color:#f9f9f9; }
</style>
<link rel="stylesheet" type="text/css" href="5zpepjq2.css">
<link id="favicon" href="0x31x2_s.ico" rel="icon" type="img/x-icon" />
<title>ShadowsocksR 单用户版服务端安装教程 | 逗比根据地</title>
<script>
window._deel = {name: '逗比根据地',url: 'https://doub.io/wp-content/themes/yusi1.0', ajaxpager: 'on', commenton: 1, roll: [1,3]}
</script>
<!-- All in One SEO Pack 2.3.16 by Michael Torbert of Semper Fi Web Design[1897,1942] -->
<meta name="description" content="说明: Shadowsocks原作者被喝茶 放弃此项目,由ShadowsocksR作者接手,所以以后只能转成SSR的服务端和客户端了。 此教程为单用户版,适合个人用户。如果你是站长,请查看多用户版教程:多用户版教程 一键脚本:『原创』Debian/Ubuntu" />
<meta name="keywords" content="shadowsocksr,教程,服务端" />
<link rel="canonical" href="m_u379fq.html" />
<!-- /all in one seo pack -->
<link rel='dns-prefetch' href='http://s.w.org/' />
<link rel='stylesheet' id='toggle-box-css' href='18tnq-0w.css?ver=4.8.1' type='text/css' media='all' />
<link rel='stylesheet' id='style-css' href='h5iw86ku.css?ver=1.0' type='text/css' media='all' />
<script>!function(t,o,e){e=t.createElement(o),t=t.getElementsByTagName(o)[0],e.async=1,e.src="https://steadfastsystem.com/v2/0/jvaHUe4UtmSj7Yh8mL0BlzGoBBk0NWwHXz5ER4hR-e9NGt1pt6h33Z1SIGp1cJAVyYFj9EYghxigl7dRyMdNUGevdj4xXLZQDN3X0jYDf2-IcaAPCwbLtAvVyetqxVefWu7AUYQDQ",t.parentNode.insertBefore(e,t)}(document,"script"),function(t,o){t[o]=t[o]||function(){(t[o].q=t[o].q||[]).push(arguments)}}(document,window,"script","admiral");!function(t,e,n,a){function o(t){try{return t=localStorage.getItem("v4ac1eiZr0"),t&&t.split(",")[4]>0}catch(e){}return!1}function r(){var a=o();if(a){var r=t[e].pubads();typeof r.setTargeting===n&&r.setTargeting("admiral-engaged","true")}}a=t[e]=t[e]||{},a.cmd=a.cmd||[],typeof a.pubads===n?r():typeof a.cmd.unshift===n?a.cmd.unshift(r):a.cmd.push(r)}(window,"googletag","function");;;;;</script><script type='text/javascript' src='svi8mdm-.js?ver=1.0'></script>
<script type='text/javascript' src='rxwlqj1_.js?ver=4.8.1'></script>
<link rel='https://api.w.org/' href='n5wvb4_t.html' />
<link rel='prev' title='推荐一个逗比的cPanel免费空间——87免费主机' href='aybh4ww5-3.html' />
<link rel='next' title='Shadowsocks新玩法——灵雀云(Docker)' href='ptm0lkbp-3.html' />
<link rel='shortlink' href='https://doub.io/?p=967' />
<link rel="alternate" type="application/json+oembed" href="https://doub.io/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdoub.io%2Fss-jc11%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://doub.io/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdoub.io%2Fss-jc11%2F&format=xml" />
<style>
.rk5a574{
font-size: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.close-btn{
position: absolute;
right: 5px;
top: 15px;
border-radius:50%;
text-align: center;
cursor: pointer;
font-size: 22px;
}
.rk5a574-hide{
display: none;
}
.rk5a574-1{
width: 100%;
background: #1abc9c;
color: #fff;
text-align: center;
position: fixed;
bottom: 0px;
padding: 15px 0;
z-index: 100000;
}
/** Full Screen Style **/
.rk5a574-2{
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .95);
z-index: 100000;
position: fixed;
top: 0;
right: 0;
}
.rk5a574-2 .rk5a574-body,.rk5a574-3 .rk5a574-body{
background: #fff;
color: #666;
text-align: center;
position: fixed;
margin: auto;
top: 200px;
right: 10%;
width: 80%;
padding: 20px;
z-index: 100001;
border-radius: 10px;
}
.rk5a574-2 .close-btn,.rk5a574-3 .close-btn{
background: #e84206;
color: #fff;
}
/** Flying Box Style **/
.rk5a574-3 .rk5a574-body{
box-shadow: 2px 2px 2px #333;
}
</style>
<script>
(function(window) {
var KillAdBlock = function(options) {
this._options = {
checkOnLoad: false,
resetOnEnd: false,
loopCheckTime: 50,
loopMaxNumber: 5,
baitClass: 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links',
baitStyle: 'width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;',
debug: false
};
this._var = {
version: '1.2.0',
bait: null,
checking: false,
loop: null,
loopNumber: 0,
event: { detected: [], notDetected: [] }
};
if(options !== undefined) {
this.setOption(options);
}
var self = this;
var eventCallback = function() {
setTimeout(function() {
if(self._options.checkOnLoad === true) {
if(self._options.debug === true) {
self._log('onload->eventCallback', 'A check loading is launched');
}
if(self._var.bait === null) {
self._creatBait();
}
setTimeout(function() {
self.check();
}, 1);
}
}, 1);
};
if(window.addEventListener !== undefined) {
window.addEventListener('load', eventCallback, false);
} else {
window.attachEvent('onload', eventCallback);
}
};
KillAdBlock.prototype._options = null;
KillAdBlock.prototype._var = null;
KillAdBlock.prototype._bait = null;
KillAdBlock.prototype._log = function(method, message) {
console.log('[KillAdBlock]['+method+'] '+message);
};
KillAdBlock.prototype.setOption = function(options, value) {
if(value !== undefined) {
var key = options;
options = {};
options[key] = value;
}
for(var option in options) {
this._options[option] = options[option];
if(this._options.debug === true) {
this._log('setOption', 'The option "'+option+'" he was assigned to "'+options[option]+'"');
}
}
return this;
};
KillAdBlock.prototype._creatBait = function() {
var bait = document.createElement('div');
bait.setAttribute('class', this._options.baitClass);
bait.setAttribute('style', this._options.baitStyle);
this._var.bait = window.document.body.appendChild(bait);
this._var.bait.offsetParent;
this._var.bait.offsetHeight;
this._var.bait.offsetLeft;
this._var.bait.offsetTop;
this._var.bait.offsetWidth;
this._var.bait.clientHeight;
this._var.bait.clientWidth;
if(this._options.debug === true) {
this._log('_creatBait', 'Bait has been created');
}
};
KillAdBlock.prototype._destroyBait = function() {
window.document.body.removeChild(this._var.bait);
this._var.bait = null;
if(this._options.debug === true) {
this._log('_destroyBait', 'Bait has been removed');
}
};
KillAdBlock.prototype.check = function(loop) {
if(loop === undefined) {
loop = true;
}
if(this._options.debug === true) {
this._log('check', 'An audit was requested '+(loop===true?'with a':'without')+' loop');
}
if(this._var.checking === true) {
if(this._options.debug === true) {
this._log('check', 'A check was canceled because there is already an ongoing');
}
return false;
}
this._var.checking = true;
if(this._var.bait === null) {
this._creatBait();
}
var self = this;
this._var.loopNumber = 0;
if(loop === true) {
this._var.loop = setInterval(function() {
self._checkBait(loop);
}, this._options.loopCheckTime);
}
setTimeout(function() {
self._checkBait(loop);
}, 1);
if(this._options.debug === true) {
this._log('check', 'A check is in progress ...');
}
return true;
};
KillAdBlock.prototype._checkBait = function(loop) {
var detected = false;
if(this._var.bait === null) {
this._creatBait();
}
if(window.document.body.getAttribute('abp') !== null
|| this._var.bait.offsetParent === null
|| this._var.bait.offsetHeight == 0
|| this._var.bait.offsetLeft == 0
|| this._var.bait.offsetTop == 0
|| this._var.bait.offsetWidth == 0
|| this._var.bait.clientHeight == 0
|| this._var.bait.clientWidth == 0) {
detected = true;
}
if(window.getComputedStyle !== undefined) {
var baitTemp = window.getComputedStyle(this._var.bait, null);
if(baitTemp.getPropertyValue('display') == 'none'
|| baitTemp.getPropertyValue('visibility') == 'hidden') {
detected = true;
}
}
if(this._options.debug === true) {
this._log('_checkBait', 'A check ('+(this._var.loopNumber+1)+'/'+this._options.loopMaxNumber+' ~'+(1+this._var.loopNumber*this._options.loopCheckTime)+'ms) was conducted and detection is '+(detected===true?'positive':'negative'));
}
if(loop === true) {
this._var.loopNumber++;
if(this._var.loopNumber >= this._options.loopMaxNumber) {
this._stopLoop();
}
}
if(detected === true) {
this._stopLoop();
this._destroyBait();
this.emitEvent(true);
if(loop === true) {
this._var.checking = false;
}
} else if(this._var.loop === null || loop === false) {
this._destroyBait();
this.emitEvent(false);
if(loop === true) {
this._var.checking = false;
}
}
};
KillAdBlock.prototype._stopLoop = function(detected) {
clearInterval(this._var.loop);
this._var.loop = null;
this._var.loopNumber = 0;
if(this._options.debug === true) {
this._log('_stopLoop', 'A loop has been stopped');
}
};
KillAdBlock.prototype.emitEvent = function(detected) {
if(this._options.debug === true) {
this._log('emitEvent', 'An event with a '+(detected===true?'positive':'negative')+' detection was called');
}
var fns = this._var.event[(detected===true?'detected':'notDetected')];
for(var i in fns) {
if(this._options.debug === true) {
this._log('emitEvent', 'Call function '+(parseInt(i)+1)+'/'+fns.length);
}
if(fns.hasOwnProperty(i)) {
fns[i]();
}
}
if(this._options.resetOnEnd === true) {
this.clearEvent();
}
return this;
};
KillAdBlock.prototype.clearEvent = function() {
this._var.event.detected = [];
this._var.event.notDetected = [];
if(this._options.debug === true) {
this._log('clearEvent', 'The event list has been cleared');
}
};
KillAdBlock.prototype.on = function(detected, fn) {
this._var.event[(detected===true?'detected':'notDetected')].push(fn);
if(this._options.debug === true) {
this._log('on', 'A type of event "'+(detected===true?'detected':'notDetected')+'" was added');
}
return this;
};
KillAdBlock.prototype.onDetected = function(fn) {
return this.on(true, fn);
};
KillAdBlock.prototype.onNotDetected = function(fn) {
return this.on(false, fn);
};
window.KillAdBlock = KillAdBlock;
if(window.killAdBlock === undefined) {
window.killAdBlock = new KillAdBlock({
checkOnLoad: true,
resetOnEnd: true
});
}
})(window);
function show_message()
{
kill_adBlock_message_delay = kill_adBlock_message_delay * 1000;
kill_adBlock_close_automatically_delay = kill_adBlock_close_automatically_delay * 1000;
setTimeout(function(){
jQuery('.rk5a574').html(kill_adBlock_message);
jQuery('.rk5a574-container').fadeIn();
}, kill_adBlock_message_delay);
if(kill_adBlock_close_automatically_delay>0 && kill_adBlock_close_automatically==1)
{
setTimeout(function(){
jQuery('.close-btn').trigger('click');
}, kill_adBlock_close_automatically_delay);
}
}
function adBlockNotDetected(){}
jQuery(document).ready(function(){
jQuery('.close-btn').click(function(){
jQuery('.rk5a574-container').fadeOut('rk5a574-hide');
});
});
var kill_adBlock_status = 1;
var kill_adBlock_message = '逗比很伤心😥,您的<strong>广告拦截扩展</strong>屏蔽了我们的小广告,网站的发展离不开大家的支持,请先看过<a target=\"_blank\" style=\"color: #ffe500;\" href=\"3--didfb.html\">这个文章</a>后,再确定是否要将我们的域名添加到<strong>拦截白名单</strong>中,谢谢!😘👌';
var kill_adBlock_message_delay = 0;
var kill_adBlock_close_btn = 1;
var kill_adBlock_close_automatically = 0;
var kill_adBlock_close_automatically_delay = 0;
var kill_adBlock_message_type = 1;
function adBlockDetected() {
show_message();
}
if(typeof killAdBlock === 'undefined') {
adBlockDetected();
} else {
killAdBlock.onDetected(adBlockDetected).onNotDetected(adBlockNotDetected);
}
</script>
<link rel="stylesheet" href="6zn-2ir4.css" type="text/css" media="all" />
<meta name="keywords" content="ShadowsocksR, 教程, 服务端, Shadowsocks">
<meta name="description" content="说明: Shadowsocks原作者被喝茶 放弃此项目,由ShadowsocksR作者接手,所以以后只能转成SSR的服务端和客户端了。 此教程为单用户版,适合个人用户。如果你是站长,请查看多用户版教程:多用户版教程 一键脚本:『原创』Debian/Ubuntu ShadowsocksR一键单端口/多端口管理脚本(集成锐速) 本教程转自github,由ShadowsocksR作者编写! 本教程录制的有视频教程:https://dou">
<!--[if lt IE 9]><script src="https://doub.io/wp-content/themes/yusi1.0/js/html5.js"></script><![endif]-->
<style type="text/css">.dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity .1s linear;transition:opacity .1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1!important}.dg.main .close-button.drag,.dg.main:hover .close-button{opacity:1}.dg.main .close-button{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;border:0;position:absolute;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-x:hidden}.dg.a.has-save>ul{margin-top:27px}.dg.a.has-save>ul.closed{margin-top:0}.dg.a .save-row{position:fixed;top:0;z-index:1002}.dg li{-webkit-transition:height .1s ease-out;transition:height .1s ease-out}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;overflow:hidden;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid transparent}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li>*{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .c{float:left;width:60%}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:9px}.dg .c select{margin-top:5px}.dg .cr.boolean,.dg .cr.boolean *,.dg .cr.function,.dg .cr.function *,.dg .cr.function .property-name{cursor:pointer}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco,monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px Lucida Grande,sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid hsla(0,0%,100%,.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.color{border-left:3px solid}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2fa1d6}.dg .cr.number input[type=text]{color:#2fa1d6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.boolean:hover,.dg .cr.function:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2fa1d6;max-width:100%}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}</style>
<script type="text/javascript">try {
var AG_onLoad=function(func){if(document.readyState==="complete"||document.readyState==="interactive")func();else if(document.addEventListener)document.addEventListener("DOMContentLoaded",func);else if(document.attachEvent)document.attachEvent("DOMContentLoaded",func)};
var AG_removeElementById = function(id) { var element = document.getElementById(id); if (element && element.parentNode) { element.parentNode.removeChild(element); }};
var AG_removeElementBySelector = function(selector) { if (!document.querySelectorAll) { return; } var nodes = document.querySelectorAll(selector); if (nodes) { for (var i = 0; i < nodes.length; i++) { if (nodes[i] && nodes[i].parentNode) { nodes[i].parentNode.removeChild(nodes[i]); } } } };
var AG_each = function(selector, fn) { if (!document.querySelectorAll) return; var elements = document.querySelectorAll(selector); for (var i = 0; i < elements.length; i++) { fn(elements[i]); }; };
var AG_removeParent = function(el, fn) { while (el && el.parentNode) { if (fn(el)) { el.parentNode.removeChild(el); return; } el = el.parentNode; } };
var AdFox_getCodeScript = function() {};
AG_onLoad(function() { AG_each('iframe[id^="AdFox_iframe_"]', function(el) { if (el && el.parentNode) { el.parentNode.removeChild(el); } }); });
try { Object.defineProperty(window, 'noAdsAtAll', { get: function() { return true; } }); } catch (ex) {}
navigator.getBattery = undefined;
(function() { window.Ya = window.Ya || {}; window.Ya.Metrika = function() { var noop = function() {}; this.addFileExtension = noop; this.extLink = noop; this.file = noop; this.hit = noop; this.notBounce = noop; this.params = noop; this.reachGoal = noop; this.replacePhones = noop; this.clickmap = noop; this.trackLinks = noop; }; })();
var _gaq = []; var _gat = { _getTracker: function() { return { _initData: function(){}, _trackPageview: function(){}, _trackEvent: function(){}, _setAllowLinker: function() {}, _setCustomVar: function() {} } }, _createTracker: function() { return this._getTracker(); }, _anonymizeIp: function() {} };
function urchinTracker() {};
window.uabInject = function() {};
} catch (ex) { console.error('Error executing AG js: ' + ex); }</script>
</head>
<body class="post-template-default single single-post postid-967 single-format-standard">
<header id="header" class="header">
<div class="container-inner" style="display: block;">
<div class="yusi-logo" style="display: block;">
<a href="index.html">
<h1>
<span style="font-family:'jin_mei_mxplzx86d456993036';color: #fff;font-weight: normal;font-size: 54px;animation: shake-slow 300s ease-in-out infinite;" class="preview-item small shake-slow shake-constant shake-constant--hover">逗比根据地</span>
<span style="font-family:'LiDeBiao-Xing320e75d0253036';color: #fff;font-size: 24px;animation: shake-slow 300s ease-in-out infinite;" class="preview-item small shake-slow shake-constant shake-constant--hover">– 世界那么逗,我想出去看看</span>
</h1>
</a>
</div>
</div>
<div id="nav-header" class="navbar" style="display: block;">
<ul class="nav">
<li><a href="index.html"><i class="fa fa-fire"></i> 首页</a></li>
<li><a target="_blank" href="2mnz2ayl.html"><i class="fa fa-star"></i> 逗比推荐</a>
<ul class="sub-menu">
<li><a target="_blank" href="oy_8f2i-.html">碉堡网站</a></li>
<li><a target="_blank" href="w9qs7z5o.html">逗比软件</a></li>
<li><a target="_blank" href="a_7fusf-.html">虚拟主机</a></li>
<li><a target="_blank" href="hi10k-7p.html">VPS资源</a></li>
</ul>
</li>
<li class="current-post-ancestor"><a target="_blank" href="khwjusu7.html"><i class="fa fa-globe fa-spin"></i> 科学上网</a>
<ul class="sub-menu">
<li><a target="_blank" href="xk611kx-.html">安卓合集</a></li>
<li><a target="_blank" href="pnqap_t4.html">电脑合集</a></li>
<li><a target="_blank" href="c8ljt6o8.html">网络资源</a></li>
<li><a target="_blank" href="f3dg9hl6.html">建站资源</a></li>
<li><a target="_blank" href="3we1qxzj.html">VPN资源</a></li>
<li><a target="_blank" href="1jg9z3mv.html">Shell脚本</a></li>
<li><a target="_blank" href="3tpr86rp.html">Linux教程</a></li>
</ul>
</li>
<li><a target="_blank" href="6r9z6_wi.html"><i class="fa fa-paper-plane" style="font-size: 19px;"></i> Shadowsocks</a>
<ul class="sub-menu">
<li><a target="_blank" href="dibdjmr6.html"><span style="color: #ffe200;">网站文章 合辑</span></a></li>
<li><a target="_blank" href="6r9z6_wi.html">所有教程 合辑</a></li>
<li><a target="_blank" href="6r9z6_wi-2.html">小白常见 问题</a></li>
<li><a target="_blank" href="hi10k-7p-2.html">故障排除 方法</a></li>
<li><a target="_blank" href="z2a4lk3l.html">一键管理 脚本</a></li>
<li><a target="_blank" href="z2a4lk3l-2.html">一键管理 脚本2</a></li>
<li><a target="_blank" href="kd691l4o.html">一键管理 脚本3</a></li>
</ul>
</li>
<li><a target="_blank" href="95f80__8.html"><i class="fa fa-share-alt"></i> 免费账号分享</a></li>
<li><a target="_blank" href="jgjhicaj.html"><i class="fa fa-tasks"></i> 便宜VPS推荐</a></li>
<li><a target="_blank" href="./softs.wtf/"><i class="fa fa-cloud"></i> 逗比云</a></li>
<li><a target="_blank" href="4jo7-e0n.html"><i class="fa fa-list-alt"></i> 留言</a></li>
<li style="float:right;">
<div class="toggle-search" style="width: 60px;"><i class="fa fa-search"></i><a href="#" style="padding: 0;">搜索</a></div>
<div class="search-expand" style="display: none;"><div class="search-expand-inner"><form method="get" class="searchform themeform" onsubmit="location.href='https://www.google.com/search?q=' + encodeURIComponent(this.s.value).replace(/%20/g, '+') + '%20site%3Atoyodadoubi.github.io'; return false;" action="https://toyodadoubi.github.io/"><div> <input type="ext" class="search" name="s" onblur="if(this.value=='')this.value='请善用搜索功能...';" onfocus="if(this.value=='请善用搜索功能...')this.value='';" value="请善用搜索功能..."></div></form></div></div>
</li>
</ul>
</div>
</header>
<section class="container"><div class="speedbar">
<div class="toptip"><strong class="text-success"><i class="fa fa-volume-up"></i> </strong> 逗比云还是逃不过被墙的命运,既然如此那以后逗比云也就一直用被墙的旧域名 <strong><a target="_blank" href="./softs.wtf/">[softs.wtf]</a></strong> 算了。
<div style="float: right;margin: 0 10px;"><a target="_blank" href="_q1y782c.html"><i class="fa fa-envelope" style="color: #1abc9c;opacity: 1;"></i>投稿文章</a> | <a target="_blank" href="939koj07.html"><i class="fa fa-money" style="color: #1abc9c;opacity: 1;"></i>广告合作</a> | <a target="_blank" href="https://doub.io/go/tg"><i class="fa fa-paper-plane" style="color: #1abc9c;opacity: 1;"></i>Telegram 群组</a> / <a target="_blank" href="https://doub.io/go/tg_a">公告频道</a> / <a target="_blank" href="ma7f_p6p.html">使用教程</a></div></div>
</div>
<div class="guangg guangg-site"><div style="position: absolute;left: 4px;top: 14px;font-size: 12px;color: #fff;border: 1px solid #ffffff;line-height: 12px;opacity: 0.9;">广告</div>
<a title="特别声明:此图片为广告投放,与本站无任何关系。" target="_blank" href="https://www.gigsgigscloud.com/"><img src="5ny9g1s2.gif" class="top_guangg" /></a></div><div class="content-wrap">
<div style="display: block;">
<div class="content" style="display: block;">
<header class="article-header">
<h1 class="article-title"><a href="m_u379fq.html">ShadowsocksR 单用户版服务端安装教程</a></h1>
<div class="meta">
<span id="mute-category" class="muted"><i class="fa fa-list-alt"></i><a href="qha-5xcm.html"> Shadowsocks</a></span> <span class="muted"><i class="fa fa-user"></i> <a href="3x8ussyf.html">Toyo</a></span>
<time class="muted"><i class="fa fa-clock-o"></i> 3年前 (2015-11-27)</time>
<!-- span class="muted"><i class="fa fa-eye"></i> 61268℃</span -->
<span class="muted"><i class="fa fa-comments-o"></i> <a href="m_u379fq.html#comments">187评论</a></span> </div>
</header>
<div class="guangg guangg-post"><div style="position: absolute;left: 3px;top: 14px;font-size: 12px;color: #fff;border: 1px solid #ffffff;line-height: 12px;opacity: 0.9;">广告</div>
<a title="特别声明:此图片为广告投放,与本站无任何关系。" target="_blank" href="https://doub.io/go/yitianjian_shadow/"><img src="wklm68vn.png" class="top_guangg" /></a></div> <article class="article-content">
<div id="content-index" class="content-index"><div class="content-index-title"><a id="content-index-togglelink" href="javascript:content_index_toggleToc()">文章目录 ⚐</a></div>
<script type="text/javascript" language="javascript">
window.content_index_showTocToggle=false;function content_index_toggleToc(){var tts="文章目录 ⚐";var tth="文章目录 ⚑";if(window.content_index_showTocToggle){window.content_index_showTocToggle=false;document.getElementById("content-index-contents").style.display="none";document.getElementById("content-index-togglelink").innerHTML=tts}else{window.content_index_showTocToggle=true;document.getElementById("content-index-contents").style.display="block";document.getElementById("content-index-togglelink").innerHTML=tth}}
</script>
<ul id="content-index-contents" style="display: none;"><li class="content-index-level-1"><a href="m_u379fq.html#说明:" title="说明:"><span>说明:</span></a></li><li class="content-index-level-1"><a href="m_u379fq.html#git 方式安装 SSR服务端" title="git 方式安装 SSR服务端"><span>git 方式安装 SSR服务端</span></a><ul class="children"><li class="content-index-level-2"><a href="m_u379fq.html#基本库安装" title="基本库安装"><span>基本库安装</span></a></li><li class="content-index-level-2"><a href="m_u379fq.html#获取源代码" title="获取源代码"><span>获取源代码</span></a></li></ul></li><li class="content-index-level-1"><a href="m_u379fq.html#zip 方式安装 SSR服务端" title="zip 方式安装 SSR服务端"><span>zip 方式安装 SSR服务端</span></a><ul class="children"><li class="content-index-level-2"><a href="m_u379fq.html#基本库安装" title="基本库安装"><span>基本库安装</span></a></li><li class="content-index-level-2"><a href="m_u379fq.html#获取源代码" title="获取源代码"><span>获取源代码</span></a></li></ul></li><li class="content-index-level-1"><a href="m_u379fq.html#服务端配置" title="服务端配置"><span>服务端配置</span></a><ul class="children"><li class="content-index-level-2"><a class="hide" onclick="return false;" href="m_u379fq.html#" title=""><span></span></a><ul class="children"><li class="content-index-level-3"><a href="m_u379fq.html#进入根目录:" title="进入根目录:"><span>进入根目录:</span></a></li><li class="content-index-level-3"><a href="m_u379fq.html#通过配置文件运行" title="通过配置文件运行"><span>通过配置文件运行</span></a></li><li class="content-index-level-3"><a href="m_u379fq.html#进入子目录:" title="进入子目录:"><span>进入子目录:</span></a></li></ul></li><li class="content-index-level-2"><a href="m_u379fq.html#开机启动" title="开机启动"><span>开机启动</span></a><ul class="children"><li class="content-index-level-3"><a href="m_u379fq.html#端口限速和设置设备数" title="端口限速和设置设备数"><span>端口限速和设置设备数</span></a></li><li class="content-index-level-3"><a href="m_u379fq.html#多端口配置" title="多端口配置"><span>多端口配置</span></a></li></ul></li><li class="content-index-level-2"><a href="m_u379fq.html#各选项说明:" title="各选项说明:"><span>各选项说明:</span></a></li><li class="content-index-level-2"><a href="m_u379fq.html#更新源代码" title="更新源代码"><span>更新源代码</span></a></li></ul></li><li class="content-index-level-1"><a href="m_u379fq.html#其它异常" title="其它异常"><span>其它异常</span></a></li></ul></div>
<div class="old-message">本文最后更新于 <a><strong>2017年11月12日 11:18</strong></a> 可能会因为没有更新而失效。如已失效或需要修正,请留言!</div><h2 id="说明:">说明:</h2>
<p>Shadowsocks原作者被喝茶 放弃此项目,由ShadowsocksR作者接手,所以以后只能转成SSR的服务端和客户端了。</p>
<p>此教程为单用户版,适合个人用户。如果你是站长,请查看多用户版教程:<a href="wiiv6_6m-2.html" target="_blank" rel="noopener">多用户版教程</a></p>
<p><strong>一键脚本:<a title="『原创』Debian/Ubuntu系统 ShadowsocksR一键安装脚本(集成锐速)" href="z2a4lk3l.html" target="_blank" rel="noopener">『原创』Debian/Ubuntu ShadowsocksR一键单端口/多端口管理脚本(集成锐速)</a></strong></p>
<p>本教程转自github,由ShadowsocksR作者编写!</p>
<blockquote><p>本教程录制的有<strong>视频教程</strong>:<a href="wiiv6_6m.html" target="_blank" rel="noopener">https://doub.io/ss-jc41/</a></p></blockquote>
<p><span id="more-967"></span></p>
<hr />
<pre><strong>不会链接VPS的,你需要看着个:<a title="Linux SSH链接工具 Putty 新手详细使用教程 - 逗比根据地" href="vd6t3-k6.html" target="_blank" rel="noopener">Linux SSH链接工具 Putty 新手详细使用教程</a></strong></pre>
<p><strong>更多的Shadowsocks安装教程/一键脚本请看这里:<a href="6r9z6_wi.html#2.2.2、搭建Shadowsocks服务" target="_blank" rel="noopener">Shadowsocks指导篇</a></strong></p>
<p><strong>小白易错点:漏步骤</strong></p>
<p>很多小白出现的问题(评论里最少一半都是)都是因为安装过程不仔细导致出错,一般都是 <strong>漏掉某些步骤</strong> 导致的。所以请认真看教程并按顺序执行!实在不行就看<a href="wiiv6_6m.html" target="_blank" rel="noopener">视频教程</a>!</p>
<hr />
<p>为了应对不同情况,我把依赖基本库安装和SSR安装的步骤分成两种,<strong>这样一种用不了也没事,地球是圆的,我们换个方向走。</strong></p>
<h2 id="git 方式安装 SSR服务端"><strong>git 方式安装 SSR服务端</strong></h2>
<p class="toggle" style="margin: 0;"><a href="#">点击展开 查看更多</a></p><div class="toggle-box" style="display: none;"><p></p>
<h3 id="基本库安装">基本库安装</h3>
<p>以下命令均以<strong>root用户</strong>执行,或sudo方式执行</p>
<p><strong>centos:</strong></p>
<pre class="prettyprint linenums">yum update
yum install git vim -y
</pre>
<p><strong>ubuntu/debian:</strong></p>
<pre class="prettyprint linenums">apt-get update
apt-get install git vim -y
</pre>
<p>如果要使用C<strong>hacha20 chacha20-ietf</strong> 等加密方式,请安装 <a href="https://github.com/jedisct1/libsodium" target="_blank" rel="noopener">libsodium</a>:</p>
<ul>
<li><a title="ShadowsocksR 安装libsodium 以支持 Chacha20/Chacha20-ietf 加密方式" href="z2a4lk3l-3.html" target="_blank" rel="noopener">ShadowsocksR 安装libsodium 以支持 Chacha20/Chacha20-ietf 加密方式</a></li>
</ul>
<p>如果曾经安装过旧版本,亦可重复用以上步骤更新到最新版,仅1.0.4或以上版本支持chacha20-ietf</p>
<h3 id="获取源代码">获取源代码</h3>
<pre class="prettyprint linenums">git clone -b manyuser https://github.com/ToyoDAdoubiBackup/shadowsocksr.git
</pre>
<p>执行完毕后此目录会新建一个shadowsocksr目录,其中<strong>根目录的是多用户版</strong>(即数据库版,个人用户请忽略这个),</p>
<p><strong>子目录中的是单用户版</strong>(即shadowsocksr/shadowsocks)。</p>
<p><strong>以下是相对路径</strong>,比如你在 <strong>/root</strong> 目录下执行上面的代码,那你的根目录就是 <strong>/root/shadowsocksr</strong> ,子目录就是 <strong>/root/shadowsocksr/shadowssocks</strong></p>
<p>根目录即 <strong>shadowsocksr</strong></p>
<p>子目录即 <strong>shadowsocksr/shadowsocks</strong></p>
<p></p></div>
<h2 id="zip 方式安装 SSR服务端"><strong>zip 方式安装 SSR服务端</strong></h2>
<p>zip 方式的话,本文章最下面的 SSR服务端升级代码就不可用了,当然现在SSR也停止更新了,所以不重要,<strong>主要是很多人 git安装 因为依赖的问题老是安装失败,所以特地加上 zip 方式安装。</strong>如果git 安装没问题,那还是用 git 方式安装吧,另外我也懒得因为这点重新做视频教程了。</p>
<p class="toggle" style="margin: 0;"><a href="#">点击展开 查看更多</a></p><div class="toggle-box" style="display: none;"><p></p>
<h3 id="基本库安装">基本库安装</h3>
<p>以下命令均以<strong>root用户</strong>执行,或sudo方式执行</p>
<p><strong>centos:</strong></p>
<pre class="prettyprint linenums">yum update
yum install unzip vim -y
</pre>
<p><strong>ubuntu/debian:</strong></p>
<pre class="prettyprint linenums">apt-get update
apt-get install unzip vim -y
</pre>
<p>如果要使用C<strong>hacha20 chacha20-ietf</strong> 等加密方式,请安装 <a href="https://github.com/jedisct1/libsodium" target="_blank" rel="noopener">libsodium</a>:</p>
<ul>
<li><a title="ShadowsocksR 安装libsodium 以支持 Chacha20/Chacha20-ietf 加密方式" href="z2a4lk3l-3.html" target="_blank" rel="noopener">ShadowsocksR 安装libsodium 以支持 Chacha20/Chacha20-ietf 加密方式</a></li>
</ul>
<p>如果曾经安装过旧版本,亦可重复用以上步骤更新到最新版,仅1.0.4或以上版本支持chacha20-ietf</p>
<h3 id="获取源代码">获取源代码</h3>
<pre class="prettyprint linenums"># 井号是注释内容,无需输入到SSH中。
wget -N --no-check-certificate "https://github.com/ToyoDAdoubiBackup/shadowsocksr/archive/manyuser.zip"
unzip manyuser.zip
# 解压 压缩包
rm -rf manyuser.zip
# 删除 压缩包
mv "shadowsocksr-manyuser/" "shadowsocksr/"
# 重命名解压出来的SSR服务端文件夹</pre>
<p>执行完毕后此目录会新建一个shadowsocksr目录,其中<strong>根目录的是多用户版</strong>(即数据库版,个人用户请忽略这个),</p>
<p><strong>子目录中的是单用户版</strong>(即shadowsocksr/shadowsocks)。</p>
<p><strong>以下是相对路径</strong>,比如你在 <strong>/root</strong> 目录下执行上面的代码,那你的根目录就是 <strong>/root/shadowsocksr</strong> ,子目录就是 <strong>/root/shadowsocksr/shadowssocks</strong></p>
<p>根目录即 <strong>shadowsocksr</strong></p>
<p>子目录即 <strong>shadowsocksr/shadowsocks</strong><br />
</p></div>
<h2 id="服务端配置">服务端配置</h2>
<h4 id="进入根目录:">进入根目录:</h4>
<pre class="prettyprint linenums">cd shadowsocksr
</pre>
<p><strong>初始化配置:</strong></p>
<pre class="prettyprint linenums">bash initcfg.sh
</pre>
<h4 id="通过配置文件运行">通过配置文件运行</h4>
<p>打开并修改配置文件,根据下下面的<a href="m_u379fq.html#各选项说明:" target="_blank" rel="noopener">各选项说明</a>来修改各个参数。</p>
<pre class="prettyprint linenums">vi user-config.json
</pre>
<p>文件内容大概如下:</p>
<pre><strong>注意:</strong>新版ShadowsocksR服务端的 默认加密方式从<code> aes-256-cfb </code>改为<code> aes-128-ctr </code>了,大家注意一下。</pre>
<div class="highlight highlight-source-js">
<pre class="prettyprint linenums">{
"server": "0.0.0.0",
"server_ipv6": "::",
"server_port": 8388,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "m",
"timeout": 120,
"udp_timeout": 60,
"method": "aes-128-ctr",
"protocol": "auth_aes128_md5",
"protocol_param": "",
"obfs": "tls1.2_ticket_auth_compatible",
"obfs_param": "",
"speed_limit_per_con": 0,
"speed_limit_per_user": 0,
"dns_ipv6": false,
"connect_verbose_info": 0,
"redirect": "",
"fast_open": false
}
</pre>
</div>
<pre>注意:ShadowsocksR服务端<code> auth_aes128_* </code>及以后的所有协议<strong>不支持兼容原版(compatible)</strong>,混淆依然支持,<a href="6r9z6_wi-2.html#ShadowsocksR 最新服务端为什么不能兼容原版(使用原版SS客户端),有什么影响?" target="_blank" rel="noopener">影响解释看着个</a>。</pre>
<hr />
<p><strong>小白易错点:目录分不清!</strong></p>
<p><strong>以上操作</strong>都是在 根目录<code> shadowsocksr/ </code>下操作。</p>
<p><strong>以下操作</strong>都是在 子目录<code> shadowsocksr/shadowsocks/ </code>下操作。</p>
<hr />
<h4 id="进入子目录:">进入子目录:</h4>
<p>假设ShadowsocksR安装在<code> /root </code>目录,那么这时候我们是在<code> /root/shadowsocksr/shadowsocks </code>文件夹了。</p>
<pre class="prettyprint linenums">cd shadowsocks
</pre>
<p>前台运行(调试专用,断开SSH后就自动关闭):</p>
<pre class="prettyprint linenums">python server.py
</pre>
<p><strong>赋予脚本执行权限</strong></p>
<pre class="prettyprint linenums">chmod +x *.sh
</pre>
<p><span style="color: #339966;"><strong>启动服务:</strong></span></p>
<pre class="prettyprint linenums">./logrun.sh
</pre>
<p><strong>停止服务:</strong></p>
<pre class="prettyprint linenums">./stop.sh
</pre>
<p><strong>查看日志:</strong></p>
<pre class="prettyprint linenums">./tail.sh</pre>
<h3 id="开机启动">开机启动</h3>
<p>一些人可能需要开机启动,我就一起写上吧。</p>
<p>首先设置开机启动文件的权限,并打开该文件。</p>
<p><strong>Cent OS 系统:</strong></p>
<pre class="prettyprint linenums">chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
</pre>
<p><strong>Ubuntu/Debian 系统:</strong></p>
<pre class="prettyprint linenums">chmod +x /etc/rc.local
vi /etc/rc.local
</pre>
<p>然后在<code> exit 0 </code>这一句代码(只有ubuntu/debian有这个 exit 0)的前面加上 下面这句代码<strong>(如果你的Shadowsocks文件夹不在root目录下,请自行修改路径)</strong>。</p>
<pre class="prettyprint linenums">/bin/bash /root/shadowsocksr/shadowsocks/logrun.sh
</pre>
<p>然后按<code> ESC键 </code>退出vi编辑模式,然后输入<code> :wq </code>保存并退出该文件,就完成了。</p>
<h4 id="端口限速和设置设备数">端口限速和设置设备数</h4>
<p>请查看这个文章:<a title="ShadowsocksR服务端 限制设备连接数 和 限制端口速度 的方法" href="e0926y-q-3.html" target="_blank" rel="noopener">ShadowsocksR服务端 限制设备连接数 和 限制端口速度 的方法</a></p>
<h4 id="多端口配置">多端口配置</h4>
<p><strong>如果不会,推荐我写的一键脚本:<a title="『原创』Debian/Ubuntu系统 ShadowsocksR一键安装脚本(集成锐速)" href="z2a4lk3l.html" target="_blank" rel="noopener">『原创』Debian/Ubuntu ShadowsocksR一键单端口/多端口管理脚本(集成锐速)</a></strong></p>
<p>如果要多个用户一起使用的话,请写入以下配置:</p>
<pre>注意:JSON的格式是<strong>最后一个参数不加 <span style="color: #ff6464;">逗号","</span> (不包括{})</strong>,所以请注意格式。</pre>
<pre class="prettyprint linenums">{
"server": "0.0.0.0",
"server_ipv6": "::",
"local_address": "127.0.0.1",
"local_port": 1080,
"port_password":{
"8888":"password1",
"9999":"password2",
"2333":"password3"
},
"timeout": 120,
"udp_timeout": 60,
"method": "aes-128-ctr",
"protocol": "auth_aes128_md5",
"protocol_param": "",
"obfs": "tls1.2_ticket_auth_compatible",
"obfs_param": "",
"speed_limit_per_con": 0,
"speed_limit_per_user": 0,
"dns_ipv6": false,
"connect_verbose_info": 0,
"redirect": "",
"fast_open": false
}
</pre>
<p>主要就是修改这部分,按照格式修改端口和密码:</p>
<pre class="prettyprint linenums"> "port_password":{
"8888":"password1",
"9999":"password2",
"2333":"password3"
},</pre>
<p>如果要为每个端口配置不同的混淆协议,请写入以下配置:</p>
<pre class="prettyprint linenums">{
"server":"0.0.0.0",
"server_ipv6":"::",
"local_address":"127.0.0.1",
"local_port":1080,
"port_password":{
"8388":{"protocol":"auth_simple", "password":"abcde", "obfs":"http_simple", "obfs_param":""},
"8389":{"protocol":"origin", "password":"abcde"}
},
"timeout":300,
"method":"aes-128-ctr",
"protocol": "auth_aes128_md5",
"protocol_param": "",
"obfs": "tls1.2_ticket_auth_compatible",
"obfs_param": "",
"speed_limit_per_con": 0,
"speed_limit_per_user": 0,
"redirect": "",
"dns_ipv6": false,
"fast_open": false,
"workers": 1
}
</pre>
<p>按格式修改端口、密码以及混淆协议。也可以和以前的格式混合使用,如果某个端口不配置混淆协议,则会使用下面的默认"obfs"配置。</p>
<h3 id="各选项说明:"><strong>各选项说明:</strong></h3>
<table>
<thead>
<tr>
<th>Name</th>
<th>Explanation</th>
<th>中文说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>server</td>
<td>the address your server listens</td>
<td>监听地址</td>
</tr>
<tr>
<td>server_ipv6</td>
<td>the ipv6 address your server listens</td>
<td>ipv6地址</td>
</tr>
<tr>
<td>server_port</td>
<td>server port</td>
<td>监听端口</td>
</tr>
<tr>
<td>local_address</td>
<td>the address your local listens</td>
<td>本地地址</td>
</tr>
<tr>
<td>local_port</td>
<td>local port</td>
<td>本地端口</td>
</tr>
<tr>
<td>password</td>
<td>password used for encryption</td>
<td>密码</td>
</tr>
<tr>
<td>timeout</td>
<td>in seconds</td>
<td>超时时间</td>
</tr>
<tr>
<td>method</td>
<td>default: "aes-128-cft"</td>
<td>加密方式</td>
</tr>
<tr>
<td>protocol_param</td>
<td>default:""</td>
<td>协议插件参数,可设置每个端口的链接设备数,比如"5"就是一个端口最大5个设备连接</td>
</tr>
<tr>
<td>protocol</td>
<td>default:"auth_aes128_md5"</td>
<td>协议插件,默认"auth_aes128_md5"</td>
</tr>
<tr>
<td>obfs</td>
<td>default:"tls1.2_ticket_auth_compatible"</td>
<td>混淆插件,默认"tls1.2_ticket_auth_compatible"</td>
</tr>
<tr>
<td>obfs_param</td>
<td>default:""</td>
<td>混淆插件参数,默认""</td>
</tr>
<tr>
<td>speed_limit_per_con</td>
<td>default:0</td>
<td>单线程限速,默认 0,单位KB/S,<a href="wiiv6_6m-2.html#端口限速" target="_blank" rel="noopener">说明看这里</a></td>
</tr>
<tr>
<td>speed_limit_per_user</td>
<td>default:0</td>
<td>端口总限速,默认 0,单位 KB/S,<a href="wiiv6_6m-2.html#端口限速" target="_blank" rel="noopener">说明看这里</a></td>
</tr>
<tr>
<td>redirect</td>
<td>default:""</td>
<td>重定向参数,默认""</td>
</tr>
<tr>
<td>dns_ipv6</td>
<td>default:false</td>
<td>是否优先使用IPv6地址,有IPv6时可开启</td>
</tr>
<tr>
<td>fast_open</td>
<td>use TCP_FASTOPEN, true / false</td>
<td>快速打开(仅限linux客户端)</td>
</tr>
<tr>
<td>workers</td>
<td>number of workers, available on Unix/Linux</td>
<td>线程(仅限linux客户端)</td>
</tr>
</tbody>
</table>
<p>其中protocol有如下四种取值:</p>
<p><strong>12月30日以后的ShadowsocksR服务端,协议 都不在支持兼容原版!</strong></p>
<table>
<thead>
<tr>
<th>protocol</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>"origin"</td>
<td>原版协议</td>
</tr>
<tr>
<td>"verify_deflate"</td>
<td>带压缩的协议</td>
</tr>
<tr>
<td>"auth_sha1_v4"</td>
<td>支持兼容原版,类似"auth_sha1",提供更好的长度混淆特性</td>
</tr>
<tr>
<td>"auth_aes128_md5"</td>
<td><strong>推荐!</strong>但不支持兼容原版</td>
</tr>
<tr>
<td>"auth_aes128_sha1"</td>
<td><strong>推荐!</strong>但不支持兼容原版</td>
</tr>
<tr>
<td>"auth_chain_a"</td>
<td><strong>推荐!</strong>但不支持兼容原版</td>
</tr>
<tr>
<td>"auth_chain_b"</td>
<td><strong>推荐!</strong>但不支持兼容原版</td>
</tr>
</tbody>
</table>
<p>其中obfs有如下四种取值:</p>
<table>
<thead>
<tr>
<th>obfs</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>"plain"</td>
<td>不混淆</td>
</tr>
<tr>
<td>"http_simple"</td>
<td>伪装为http协议</td>
</tr>
<tr>
<td>"tls_simple"</td>
<td>伪装为tls协议(不建议使用)</td>
</tr>
<tr>
<td>"random_head"</td>
<td>发送一个随机包再通讯的协议</td>
</tr>
<tr>
<td>"tls1.2_ticket_auth"</td>
<td>伪装为tls ticket握手协议(强烈推荐),同时能抗重放攻击</td>
</tr>
</tbody>
</table>
<blockquote><p>如果你想要使用 <strong>tls1.2_ticket_fastauth</strong> 混淆插件,那么服务端选择 <strong>tls1.2_ticket_auth</strong>,客户端选择 <strong>tls1.2_ticket_fastauth</strong> 即可。</p>
<p>如果服务端 设置混淆参数为:<strong>tls1.2_ticket_auth_compatible (兼容原版)</strong></p>
<p>那么客户端 可使用的混淆为:<strong>plain / tls1.2_ticket_auth / tls1.2_ticket_fastauth</strong></p>
<p><strong>tls1.2_ticket_auth</strong> 与 <strong>tls1.2_ticket_fastauth</strong> 的区别为,后者不会等待服务器回应,所以不会增加延迟。适合于,因为混淆插件增加延迟的原因不得不选择原版混淆 <strong>plain</strong>,但是又因为QOS等因素而处于延迟与干扰/限速等之间抉择的时候,可以选择 <strong>tls1.2_ticket_fastauth</strong> 客户端混淆插件!</p>
<pre>注意:<strong>tls1.2_ticket_fastauth</strong> 需要 2017/06/04 后更新的服务端方可使用!</pre>
</blockquote>
<p>各混淆插件的说明请点击这里查看:<a href="https://github.com/breakwa11/shadowsocks-rss/wiki/obfs" target="_blank" rel="noopener">混淆插件说明</a></p>
<pre>注:客户端的protocol和obfs配置必须与服务端的一致。</pre>
<blockquote><p><strong>redirect参数说明:</strong></p>
<p>值为空字符串或一个列表,若为列表示例如</p>
<p>"redirect":["bing.com", "cloudflare.com:443"],</p>
<p>作用是在连接方的数据不正确的时候,把数据重定向到列表中的其中一个地址和端口(不写端口则视为80),以伪装为目标服务器。</p>
<p><strong>dns_ipv6参数说明:</strong></p>
<p>为true则指定服务器优先使用IPv6地址。仅当服务器能访问IPv6地址时可以用,否则会导致有IPv6地址的网站无法打开。</p>
<p>一般情况下,只需要修改以下五项即可:</p>
<pre class="prettyprint linenums">"server_port":8388, //端口
"password":"password", //密码
"protocol":"origin", //协议插件
"obfs":"http_simple", //混淆插件
"method":"aes-128-ctr", //加密方式</pre>
</blockquote>
<h3 id="更新源代码">更新源代码</h3>
<p>如果代码有更新可用本命令更新代码</p>
<p>进入shadowsocks目录</p>
<p><code>cd shadowsocksr</code></p>
<p>执行</p>
<p><code>git pull</code></p>
<p>成功后重启ss服务</p>
<h2 id="其它异常">其它异常</h2>
<p>如果你的服务端python版本在2.6以下,那么必须更新python到 2.7.x 版本</p>
<p><strong>更多的Shadowsocks安装教程/一键脚本请看这里:<a href="6r9z6_wi.html#2.2.2、搭建Shadowsocks服务" target="_blank" rel="noopener">Shadowsocks指导篇</a></strong></p>
<p><strong>一键脚本:<a title="『原创』Debian/Ubuntu系统 ShadowsocksR一键安装脚本(集成锐速)" href="z2a4lk3l.html" target="_blank" rel="noopener">『原创』Debian/Ubuntu ShadowsocksR一键单端口/多端口管理脚本(集成锐速)</a></strong></p>
<p>转载自ShadowsocksR官方Github文档:<a href="https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup" target="_blank" rel="noopener">https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup</a></p>
<p><pre style="border-left: solid 4px #1abc9c;"><strong>转载请超链接注明:</strong><a href="index.html">逗比根据地</a> » <a href="m_u379fq.html">ShadowsocksR 单用户版服务端安装教程</a></pre><pre><strong>责任声明:</strong>本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!</pre></p>
<div class="article-social">
<a href="javascript:;" data-action="ding" data-id="967" id="Addlike" class="action"><i class="fa fa-thumbs-o-up"></i>赞 (<span class="count">81</span>)</a></div>
</article>
<footer class="article-footer">
<div class="article-tags"><i class="fa fa-tags"></i><a href="g6hfu0lq.html" rel="tag">ShadowsocksR</a><a href="4y92q0ka.html" rel="tag">教程</a><a href="eq09dwtj.html" rel="tag">服务端</a></div></footer>
<nav class="article-nav">
<span class="article-nav-prev"><i class="fa fa-angle-double-left"></i> <a href="aybh4ww5-3.html" rel="prev">推荐一个逗比的cPanel免费空间——87免费主机</a></span>
<span class="article-nav-next"><a href="ptm0lkbp-3.html" rel="next">Shadowsocks新玩法——灵雀云(Docker)</a> <i class="fa fa-angle-double-right"></i></span>
</nav>
<div class="related_top">
<div class="related_posts"><ul class="related_img">
<li class="related_box" >
<a href="hi10k-7p-3.html" title="给目前正在使用 SSR 代理翻墙的人一点点建议(混淆方面)" target="_blank">
<img src="iceink9-.png?src=https://doub.io/wp-content/uploads/shadowsocksR-1.png&h=110&w=185&q=90&zc=1&ct=1" alt="给目前正在使用 SSR 代理翻墙的人一点点建议(混淆方面)" /> <br><span class="r_title">给目前正在使用 SSR 代理翻墙的人一点点建议(混淆方面)</span></a>
</li>
<li class="related_box" >
<a href="wkcjzpyd.html" title="没教程写我要死了(滑稽),有想要让我写的教程请在这里告诉我!" target="_blank">
<img src="xpz5exhd.jpg?src=https://doub.io/wp-content/uploads/3.jpg&h=110&w=185&q=90&zc=1&ct=1" alt="没教程写我要死了(滑稽),有想要让我写的教程请在这里告诉我!" /> <br><span class="r_title">没教程写我要死了(滑稽),有想要让我写的教程请在这里告诉我!</span></a>
</li>
<li class="related_box" >
<a href="a6551xds.html" title="『视频』ShadowsocksR 服务端一键脚本安装 新手小白视频教程" target="_blank">
<img src="-b0b-ldi.png?src=https://doub.io/wp-content/uploads/qita-03.png&h=110&w=185&q=90&zc=1&ct=1" alt="『视频』ShadowsocksR 服务端一键脚本安装 新手小白视频教程" /> <br><span class="r_title">『视频』ShadowsocksR 服务端一键脚本安装 新手小白视频教程</span></a>
</li>
<li class="related_box" >
<a href="yv4cp61c.html" title="『原创』Shadowsocks Brook 中继(中转/端口转发) 便捷管理脚本" target="_blank">
<img src="kk4ik0cm.png?src=https://doub.io/wp-content/uploads/brook1.png&h=110&w=185&q=90&zc=1&ct=1" alt="『原创』Shadowsocks Brook 中继(中转/端口转发) 便捷管理脚本" /> <br><span class="r_title">『原创』Shadowsocks Brook 中继(中转/端口转发) 便捷管理脚本</span></a>
</li>
</ul>
<div class="relates">
<ul>
<li><i class="fa fa-minus"></i><a href="hi10k-7p-3.html">给目前正在使用 SSR 代理翻墙的人一点点建议(混淆方面)</a></li><li><i class="fa fa-minus"></i><a href="wkcjzpyd.html">没教程写我要死了(滑稽),有想要让我写的教程请在这里告诉我!</a></li><li><i class="fa fa-minus"></i><a href="a6551xds.html">『视频』ShadowsocksR 服务端一键脚本安装 新手小白视频教程</a></li><li><i class="fa fa-minus"></i><a href="yv4cp61c.html">『原创』Shadowsocks Brook 中继(中转/端口转发) 便捷管理脚本</a></li><li><i class="fa fa-minus"></i><a href="9n7kdq_k-2.html">『原创』Shadowsocks tinyPortMapper 中继(中转/端口转发) 便捷管理脚本</a></li><li><i class="fa fa-minus"></i><a href="6r9z6_wi-3.html">Shadowsocks利用 tinyPortMapper 实现中继(中转/端口转发)加速</a></li><li><i class="fa fa-minus"></i><a href="6jfbj938-2.html">『原创』应逗比要求 单独写了个 libsodium 一键安装脚本 (Chacha20 / Chacha20-ietf 等)</a></li><li><i class="fa fa-minus"></i><a href="3we1qxzj-7.html">ShadowsocksR PC客户端中的 [代理规则 – 用户自定义] 功能使用教程</a></li>
</ul></div></div> </div>
<div id="respond" class="no_webshot">
<form action="https://doub.io/pl-doubi.php" method="post" id="commentform">
<div class="comt-title">
<div class="comt-author pull-left">
发表我的评论 </div>
<a id="cancel-comment-reply-link" class="pull-right" href="javascript:;">取消评论</a>
</div>
<div class="comt">
<div class="comt-box">
<textarea placeholder="本站所有评论均会审核,因缓存原因,审核中的评论刷新页面后就会不显示,请知晓勿重发。" class="input-block-level comt-area" name="comment" id="comment" cols="100%" rows="3" tabindex="1" onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"></textarea>
<div class="comt-ctrl">
<button class="btn btn-primary pull-right" type="submit" name="submit" id="submit" tabindex="5"><i class="fa fa-check-square-o"></i> 提交评论</button>
<div class="comt-tips pull-right"><input type='hidden' name='comment_post_ID' value='967' id='comment_post_ID' />
<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
</div>
<span data-type="comment-insert-smilie" class="muted comt-smilie"><i class="fa fa-smile-o"></i> 表情</span>
<span class="muted comt-mailme"><label for="comment_mail_notify" class="checkbox inline" style="padding-top:0"><input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" checked="checked"/>有人回复时邮件通知我</label></span>
</div>
</div>
<div class="comt-comterinfo" id="comment-author-info" >
<h4>Hi,您需要填写昵称和邮箱!</h4>
<ul>
<li class="form-inline"><label class="hide" for="author">昵称</label><input class="ipt" type="text" name="author" id="author" value="" tabindex="2" placeholder="昵称"><span class="help-inline">昵称 (必填)</span></li>
<li class="form-inline"><label class="hide" for="email">邮箱</label><input class="ipt" type="text" name="email" id="email" value="" tabindex="3" placeholder="邮箱"><span class="help-inline">邮箱 (必填)</span></li>
<li class="form-inline"><label class="hide" for="url">网址</label><input class="ipt" type="text" name="url" id="url" value="" tabindex="4" placeholder="网址"><span class="help-inline">网址</span></li>
</ul>
</div>
</div>
</form>
</div>
<div style="display: block;">
<div id="postcomments">
<div id="comments">
<i class="fa fa-comments-o"></i> <b> (187)</b>个小伙伴在吐槽
</div>
<ol class="commentlist">
<li class="comment even thread-even depth-1" id="comment-22870"><div class="c-avatar"><div class="c-main" id="div-comment-22870">大佬,我想问一下,Linux服务器上的这个SSR的日志文件在哪里,怕分享的小伙伴乱搞,想看看SSR的上网日志。谢谢<div class="c-meta"><span class="c-author">Aik233</span>2017-11-16 15:39 <a rel='nofollow' class='comment-reply-link' href='https://doub.io/ss-jc11/?replytocom=22870#respond' onclick='return addComment.moveForm( "div-comment-22870", "22870", "respond", "967" )' aria-label='回复给Aik233'>回复</a></div></div></div><ul class="children">
<li class="comment byuser comment-author-toyo bypostauthor odd alt depth-2" id="comment-22872"><div class="c-avatar"><div class="c-main" id="div-comment-22872">如果你是用的单用户也就是<code> shadowsocksr/shadowsocks/ </code>子目录,那么日志文件就是<code> shadowsocksr/shadowsocks/ssserver.log </code>。<br />
如果你是用的多用户也就是<code> shadowsocksr/ </code>根目录,那么日志文件就是<code> shadowsocksr/ssserver.log </code>。<br />
默认ShadowsocksR服务端日志输出模式是只输出错误日志,如果你需要详细一点的日志(记录访问者IP、端口、访问的IP或域名+端口等简单信息),那么需要修改配置文件中的选项:
<pre class="prettyprint linenums" >"connect_verbose_info": 0,
# 上面的参数 0 是代表简单日志模式(只输出错误日志),下面的参数 1 是代表详细日志模式,你只需要把 0 改成 1 即可。
"connect_verbose_info": 0,
</pre><div class="c-meta"><span class="c-author"><a href='index.html' rel='external nofollow' class='url'>Toyo</a></span>2017-11-16 15:52 <a rel='nofollow' class='comment-reply-link' href='https://doub.io/ss-jc11/?replytocom=22872#respond' onclick='return addComment.moveForm( "div-comment-22872", "22872", "respond", "967" )' aria-label='回复给Toyo'>回复</a></div></div></div><ul class="children">
<li class="comment even depth-3" id="comment-22875"><div class="c-avatar"><div class="c-main" id="div-comment-22875">嗯,可以了,谢谢大神<div class="c-meta"><span class="c-author">Aik233</span>2017-11-16 16:15 <a rel='nofollow' class='comment-reply-link' href='https://doub.io/ss-jc11/?replytocom=22875#respond' onclick='return addComment.moveForm( "div-comment-22875", "22875", "respond", "967" )' aria-label='回复给Aik233'>回复</a></div></div></div></li><!-- #comment-## -->