FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
shadowsocksr/server.py at dev · programmejava/shadowsocksr · GitHub
programmejava
shadowsocksr
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
shadowsocksr
/
server.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
66 lines (57 loc) · 1.68 KB
Breadcrumbs
shadowsocksr
/
server.py
Copy path
File metadata and controls
66 lines (57 loc) · 1.68 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright 2015 breakwall
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import
time
import
sys
import
threading
import
os
if
__name__
==
'__main__'
:
import
inspect
os
.
chdir
(
os
.
path
.
dirname
(
os
.
path
.
realpath
(
inspect
.
getfile
(
inspect
.
currentframe
()))))
import
server_pool
import
db_transfer
from
shadowsocks
import
shell
from
configloader
import
load_config
,
get_config
class
MainThread
(
threading
.
Thread
):
def
__init__
(
self
,
obj
):
super
(
MainThread
,
self
).
__init__
()
self
.
daemon
=
True
self
.
obj
=
obj
def
run
(
self
):
self
.
obj
.
thread_db
(
self
.
obj
)
def
stop
(
self
):
self
.
obj
.
thread_db_stop
()
def
main
():
shell
.
check_python
()
if
False
:
db_transfer
.
DbTransfer
.
thread_db
()
else
:
if
get_config
().
API_INTERFACE
==
'mudbjson'
:
thread
=
MainThread
(
db_transfer
.
MuJsonTransfer
)
elif
get_config
().
API_INTERFACE
==
'sspanelv2'
:
thread
=
MainThread
(
db_transfer
.
DbTransfer
)
else
:
thread
=
MainThread
(
db_transfer
.
Dbv3Transfer
)
thread
.
start
()
try
:
while
thread
.
is_alive
():
thread
.
join
(
10.0
)
except
(
KeyboardInterrupt
,
IOError
,
OSError
)
as
e
:
import
traceback
traceback
.
print_exc
()
thread
.
stop
()
if
__name__
==
'__main__'
:
main
()
Back
|
FazBrowse Home
|
New Git URL