Skip to content

Commit

Permalink
v0.9 + WiFi (AP) support and indicator
Browse files Browse the repository at this point in the history
  • Loading branch information
AKotov-dev committed Oct 16, 2023
1 parent d7b4c45 commit 8a76556
Show file tree
Hide file tree
Showing 29 changed files with 475 additions and 295 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ SocksGW - это инструмент, позволяющий превратит
![](https://github.com/AKotov-dev/SocksGW/blob/main/ScreenShots/SocksGW.png)

Готовая сборка (флешка-шлюз) для установки на будущий роутер [находится здесь](https://drive.google.com/drive/folders/1DVoUumM_CQ10da0Vqtu98uvrMbBk9DmM?usp=sharing) (RU/EN).
+ `v0.8.1` + XRayGUI: простой генератор конфигураций `XTLS-Reality` Клиент-Сервер
+ `v0.9` + драйверы rtl8188eu и контроль WiFi (AP)
+ `v0.8.3` + XRayGUI: байпас доменных зон (cn, ru, by, ir, ...)
+ `v0.8.1` + XRayGUI: простой генератор конфигураций `XTLS-Reality` Клиент-Сервер

После загрузки с флешки запустите ярлык на Рабочем Столе `Установить на жесткий диск`. После установки/перезагрузки пароль по умолчанию `ghbdtn` (слово `привет` в английской раскладке).

Expand Down Expand Up @@ -40,6 +41,7 @@ SocksGW - это инструмент, позволяющий превратит
**UPD-v0.6:** Исправлено Network Manager + sshd; Версия для финального тестирования.
**UPD-v0.7:** Релиз в реальной эксплуатации. Полёт нормальный.
**UPD-v0.8:** Уточнение английского перевода.
**UPD-v0.9** Контроль WiFi (AP), улучшение конфигурации NetworkManager и запуска x11vnc

### Структурная схема:
LAN->DNS->DNSMASQ->DNSCrypt-Proxy->WAN
Expand Down
6 changes: 5 additions & 1 deletion socksgw/backup/socksgw.lpi
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,11 @@
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="portscan_trd.pas"/>
<Filename Value="tun2socks_scan_trd.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="wifi_scan_trd.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
</Units>
Expand Down
10 changes: 5 additions & 5 deletions socksgw/backup/socksgw.lpr
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,21 @@
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF} {$IFDEF HASAMIGA}
{$ENDIF} {$IFDEF HASAMIGA}
athreads,
{$ENDIF}
{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms,
Unit1,
update_trd,
portscan_trd;
wifi_scan_trd, unit2;

{$R *.res}

begin
RequireDerivedFormResource := True;
Application.Title:='SocksGW v0.9';
Application.Scaled:=True;
Application.Title := 'SocksGW v0.9';
Application.Scaled := True;
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
Expand Down
152 changes: 18 additions & 134 deletions socksgw/backup/socksgw.lps
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,9 @@
<Unit>
<Filename Value="socksgw.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="3"/>
<CursorPos X="18"/>
<UsageCount Value="33"/>
<Loaded Value="True"/>
<EditorIndex Value="-1"/>
<CursorPos X="16" Y="15"/>
<UsageCount Value="34"/>
</Unit>
<Unit>
<Filename Value="unit1.pas"/>
Expand All @@ -51,26 +49,33 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<CursorPos X="13"/>
<UsageCount Value="33"/>
<UsageCount Value="34"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit>
<Unit>
<Filename Value="update_trd.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="1"/>
<EditorIndex Value="-1"/>
<CursorPos X="20"/>
<UsageCount Value="33"/>
</Unit>
<Unit>
<Filename Value="tun2socks_scan_trd.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<TopLine Value="50"/>
<CursorPos X="36" Y="68"/>
<UsageCount Value="32"/>
<Loaded Value="True"/>
</Unit>
<Unit>
<Filename Value="portscan_trd.pas"/>
<Filename Value="wifi_scan_trd.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="2"/>
<EditorIndex Value="-1"/>
<CursorPos X="21"/>
<UsageCount Value="31"/>
<Loaded Value="True"/>
<UsageCount Value="20"/>
</Unit>
<Unit>
<Filename Value="start_trd.pas"/>
Expand All @@ -80,128 +85,7 @@
<UsageCount Value="23"/>
</Unit>
</Units>
<JumpHistory HistoryIndex="29">
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="387" Column="47" TopLine="369"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="392" Column="35" TopLine="369"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="256" Column="49" TopLine="243"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="317" Column="40" TopLine="313"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="373" Column="57" TopLine="372"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Column="14"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="50" Column="31" TopLine="31"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="340" Column="62" TopLine="332"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="99" Column="62" TopLine="91"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Column="13"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="260" Column="79" TopLine="235"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="239" Column="82" TopLine="223"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="330" Column="16" TopLine="325"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="396" Column="13" TopLine="378"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="94" Column="3" TopLine="70"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="62" Column="29" TopLine="62"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="101" Column="58" TopLine="71"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="92" Column="13" TopLine="71"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="346" TopLine="340"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="354" Column="14" TopLine="340"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="94" TopLine="92"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="72" Column="20" TopLine="61"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="192" Column="77" TopLine="173"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="191" Column="25" TopLine="167"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="201" Column="5" TopLine="184"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="202" Column="5" TopLine="185"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="339" Column="12" TopLine="326"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="196" Column="17" TopLine="183"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="347" TopLine="332"/>
</Position>
<Position>
<Filename Value="unit1.pas"/>
<Caret Line="346" TopLine="331"/>
</Position>
</JumpHistory>
<JumpHistory HistoryIndex="-1"/>
<RunParams>
<FormatVersion Value="2"/>
<Modes ActiveMode=""/>
Expand Down
81 changes: 81 additions & 0 deletions socksgw/backup/tun2socks_scan_trd.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
unit tun2socks_scan_trd;

{$mode objfpc}{$H+}

interface

uses
Classes, Forms, Controls, SysUtils, Process, Graphics;

type
Tun2SocksScan = class(TThread)
private

{ Private declarations }
protected
var
ResultStr: TStringList;

procedure Execute; override;
procedure ShowStatus;

end;

implementation

uses unit1;

{ TRD }

procedure Tun2SocksScan.Execute;
var
ScanProcess: TProcess;
begin
FreeOnTerminate := True; //Уничтожать по завершении

while not Terminated do
try
ResultStr := TStringList.Create;

ScanProcess := TProcess.Create(nil);

ScanProcess.Executable := 'bash';
ScanProcess.Parameters.Add('-c');
ScanProcess.Options := [poUsePipes, poWaitOnExit];

ScanProcess.Parameters.Add(
'if [[ $(ip -br a | grep tun2socks) ]]; then echo "yes"; else echo "no"; fi');

ScanProcess.Execute;

ResultStr.LoadFromStream(ScanProcess.Output);
Synchronize(@ShowStatus);

Sleep(1000);
finally
ResultStr.Free;
ScanProcess.Free;
end;
end;

//Отображение статуса
procedure PortScan.ShowStatus;
begin
with MainForm do
begin
if ResultStr[0] = 'yes' then
begin
Shape1.Brush.Color := clLime;
ApplyBtn.Enabled := False;
end
else
begin
Shape1.Brush.Color := clYellow;
ApplyBtn.Enabled := True;
end;

Shape1.Repaint;
end;
end;

end.
35 changes: 28 additions & 7 deletions socksgw/backup/unit1.lfm
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,10 @@ object MainForm: TMainForm
Left = 7
Height = 17
Top = 338
Width = 403
Width = 365
BorderSpacing.Top = 20
BorderSpacing.Bottom = 2
Caption = 'DHCP (Local IP range. For example: 192.168.1.50,192.168.1.250,72h):'
Caption = 'DHCP (Local IP range. For example: 10.10.25.50,10.10.25.200):'
ParentColor = False
end
object IP_RANGE: TEdit
Expand All @@ -117,7 +117,7 @@ object MainForm: TMainForm
AnchorSideTop.Side = asrBottom
Left = 486
Height = 32
Top = 133
Top = 134
Width = 114
Caption = 'IPv6 (On/Off)'
Enabled = False
Expand All @@ -138,11 +138,16 @@ object MainForm: TMainForm
object Shape1: TShape
AnchorSideLeft.Control = ApplyBtn
AnchorSideLeft.Side = asrCenter
Left = 550
Height = 10
AnchorSideRight.Control = ApplyBtn
AnchorSideRight.Side = asrCenter
Left = 556
Height = 12
Top = 8
Width = 25
Width = 12
Anchors = [akTop, akRight]
BorderSpacing.Right = 8
Brush.Color = clYellow
Shape = stCircle
end
object WAN: TComboBox
AnchorSideLeft.Control = Label1
Expand Down Expand Up @@ -217,9 +222,25 @@ object MainForm: TMainForm
ShowHint = True
TabOrder = 1
end
object Shape2: TShape
AnchorSideLeft.Control = ApplyBtn
AnchorSideTop.Control = Shape1
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = ApplyBtn
AnchorSideRight.Side = asrCenter
Left = 488
Height = 8
Hint = 'WiFi (AP)'
Top = 10
Width = 20
BorderSpacing.Left = 2
ParentShowHint = False
Pen.Color = clGray
ShowHint = True
end
object IniPropStorage1: TIniPropStorage
StoredValues = <>
Left = 416
Top = 128
Top = 120
end
end

0 comments on commit 8a76556

Please sign in to comment.