Compare commits

...

9 Commits

Author SHA1 Message Date
justuser
e754739219 Добавление кнопки выключения (она работает) 2024-06-19 23:28:34 +03:00
justuser
a52fb2679a Добавление кнопки выключения (она работает) 2024-06-19 23:18:13 +03:00
Justuser
e693d8450e
Delete status 2024-06-19 18:51:02 +00:00
Justuser
3a376e0582
Delete config.json 2024-06-19 18:50:50 +00:00
Justuser
96600c0787
Delete __pycache__ directory 2024-06-19 18:50:29 +00:00
Justuser
cc65833cfe
Update js.md 2024-06-19 14:00:56 +00:00
Justuser
4c639f2bd0
Update js.md 2024-06-19 13:57:27 +00:00
justuser
f2e903621e up 2024-06-19 16:27:21 +03:00
justuser
24737ed93e Ужесточение правил, чтобы мимикрирований не было 2024-06-19 15:56:05 +03:00
16 changed files with 120 additions and 17 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -7,13 +7,34 @@
.main {
display: grid;
grid-template-areas:
"our_port search"
"servers sites"
"servers sites";
"off_btn search"
"our_port sites"
"servers sites";
grid-template-columns: 1fr 2fr;
grid-template-rows: auto auto;
}
.off_btn {
grid-area: off_btn;
background: #ff5a5a;
align-content: center;
border-radius: 0.4rem;
padding-left: 1rem;
padding-right: 1rem;
border-style: hidden;
font-size: 1rem;
width: calc(100% - 0.5rem);
height: 100%;
}
.off_btn:active {
background-color: #c85000;
box-shadow: rgba(0, 0, 0, .06) 0 2px 4px;
transform: scale(.96);
}
.our_port {
grid-area: our_port;
background: #53f453;
@ -22,6 +43,7 @@
padding-left: 1rem;
padding-right: 1rem;
margin-right: 0.5rem;
margin-top: 0.4rem;
}
.servers {

View File

@ -1,5 +0,0 @@
{
"ports": [
25128
]
}

52
docs/js.md Normal file
View File

@ -0,0 +1,52 @@
## Содержание
1. Почему JS это плохо (для безопасности)
2. Как отключить JS на jetwork.del.pw
3. Как отключить JS на локальном клиенте
<br>
<br>
### 1. Почему JS это плохо
Через JS можно узнать ваш айпи и отслеживать вас между сайтами. <br>
Или например узнать примерную локацию, что иногда может помочь вас сдеанонимизировать. <br>
Если это вас не волнует - можете дальше не читать. <br>
### 2. Как отключить JS на jetwork.del.pw
Заходим на jetwork.del.pw <br>
![image](https://github.com/Justuser3310/jetwork/assets/53183489/6ade4b4d-93b7-4538-a262-44bd8aafeb95)
<br>
Заходим на js-check.jet и видим что у нас всё плохо <br>
![image](https://github.com/Justuser3310/jetwork/assets/53183489/47bf4491-9804-40a3-a02a-b9550daf90f7)
<br>
Устанавливаем расширение Ublock Origin. (Origin!!!) <br>
Делается это как и со всеми расширениями.
<br>
Заходим в доп.найстройки Ublock Origin <br>
![image](https://github.com/Justuser3310/jetwork/assets/53183489/3984c49e-3ade-4c5a-a691-fd9152902924)
<br>
Ставим галочку в вкладке `Settings` напротив `I am advanced user` <br>
![image](https://github.com/Justuser3310/jetwork/assets/53183489/896ba926-109f-42a0-ac14-3352146771d7)
<br>
Выключаем скрипты через расширение как показано, прямоугольник загорится красным <br>
![image](https://github.com/Justuser3310/jetwork/assets/53183489/378303d0-b0a5-4917-84ee-28eec5b52cbf)
<br>
Перезагружаем страницу и... <br>
![image](https://github.com/Justuser3310/jetwork/assets/53183489/878c3b22-5ca8-4ae4-87a3-dfb714e16c14)
### 3. Как отключить JS на локальном клиенте
Заходим на `127.0.0.1:5555` <br>
![image](https://github.com/Justuser3310/jetwork/assets/53183489/13f107f9-6753-4278-bc07-d7c8206cc981)
<br>
Дальше по аналогии как в пункте 2.
> Есть вопросы - в чат ( https://t.me/justuser31_chat )

View File

@ -7,7 +7,7 @@ def domain_ok(domain):
if domain.split(".")[1] in domains:
# ../some => some
# Защита от проверки папок выше, чем нужно и др.
regex = compile('[^a-zA-Zа-яА-ЯЁё.-]')
regex = compile('[^a-z.-]')
c_domain = regex.sub('', domain)
if domain == c_domain:
return domain

View File

@ -2,14 +2,20 @@ from dash import Dash, dcc, html, Input, Output, callback
app = Dash(__name__, title='Jetwork', update_title=None)
from db import *
from status import *
from os import walk
from os import system as sys
from platform import system
from threading import Thread
app.layout = html.Div([ html.Div([
dcc.ConfirmDialog(id='shut_mess', message='Клиент выключен!'),
html.Button("Выключить клиент", className='off_btn', n_clicks=0, id='off_btn'),
html.Div([], id='our_port', className='our_port'),
html.Div([], id='servers', className='servers'),
html.Div([], id='sites', className='sites'),
#dcc.Input(className='search', type='search', list=[1,2,3]),
dcc.Dropdown(options=[], id='search', placeholder='Поиск...'),
dcc.Interval(id='interval-component', interval=1*1000, n_intervals=0)
@ -17,6 +23,29 @@ dcc.Interval(id='interval-component', interval=1*1000, n_intervals=0)
], className='main')], className='content')
# Функция выключения
def shutdown():
# Задаём код остановки
status_set('stop')
# Определяем платформу
if system() == 'Linux':
# вырубаем прокси и скрипты
sys('killall bore')
sys('killall python')
elif system() == 'Windows':
sys('taskkill /f /im bore.exe')
sys('taskkill /f /im python.exe')
# Кнопка выключения
@callback(
Output('shut_mess', 'displayed'),
Input('off_btn', 'n_clicks'),
prevent_initial_call=True
)
def shut_btn(n_clicks):
th = Thread(target=shutdown)
th.start()
return True
# Обновление нашего порта (зачем?)
@callback(Output('our_port', 'children'),

View File

@ -63,7 +63,7 @@ if __name__ == '__main__':
p = Process(target=main)
p.start()
status_set(True) # Устанавливаем статус, что программа работает
status_set('work') # Устанавливаем статус, что программа работает
st = status_check()
while st:

View File

@ -2,6 +2,8 @@ from os import system, name
from threading import Thread
from time import sleep
from status import *
global http_out ; http_out = None
def proxy_http(port):
global http_out
@ -24,13 +26,15 @@ def watch_http(port):
run.start()
global http_out
while True:
st = status_check()
while st:
# Если команда вышла
if http_out or not run.is_alive():
run.join(1)
http_out = None
run = Thread(target=proxy_http, args=(port,))
run.start()
st = status_check()
sleep(1)
def watch_serv(port):
@ -38,10 +42,12 @@ def watch_serv(port):
run.start()
global serv_out
while True:
st = status_check()
while st:
if serv_out or not run.is_alive():
run.join(1)
serv_out = None
run = Thread(target=proxy_serv, args=(port,))
run.start()
st = status_check()
sleep(1)

1
status
View File

@ -1 +0,0 @@
work

View File

@ -19,8 +19,8 @@ def status_check():
def status_set(st):
f = open('status', 'w')
if st == True:
f.write('work')
if st == 'work' or st == 'stop':
f.write(st)
else:
f.write('stop')
return 404
f.close()