Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
L
Liman MYS - Çekirdek
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
liman
Liman MYS - Çekirdek
Commits
66548ae2
Kaydet (Commit)
66548ae2
authored
May 07, 2020
tarafından
mertcelen
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Module support improved
Last .env config files moved under liman configuration file.
üst
8429017a
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
47 additions
and
71 deletions
+47
-71
.env
.env
+2
-29
liman.yml
.github/workflows/liman.yml
+0
-1
SSHConnector.php
app/Classes/Connector/SSHConnector.php
+2
-2
SSHTunnelConnector.php
app/Classes/Connector/SSHTunnelConnector.php
+1
-1
WinRMConnector.php
app/Classes/Connector/WinRMConnector.php
+2
-2
PHPSandbox.php
app/Classes/Sandbox/PHPSandbox.php
+2
-2
PythonSandbox.php
app/Classes/Sandbox/PythonSandbox.php
+1
-8
MainController.php
app/Http/Controllers/Extension/MainController.php
+2
-2
OneController.php
app/Http/Controllers/Extension/OneController.php
+8
-1
Helpers.php
app/Http/Helpers.php
+2
-2
PermissionManager.php
app/Http/Middleware/PermissionManager.php
+1
-1
RestrictedMode.php
app/Http/Middleware/RestrictedMode.php
+7
-7
ExtensionJob.php
app/Jobs/ExtensionJob.php
+2
-2
broadcasting.php
config/broadcasting.php
+3
-3
liman.php
config/liman.php
+3
-0
logging.php
config/logging.php
+1
-1
websockets.php
config/websockets.php
+2
-2
2019_07_30_082636_update_extension_settings.php
...igrations/2019_07_30_082636_update_extension_settings.php
+1
-1
503.blade.php
resources/views/errors/503.blade.php
+2
-1
setup.blade.php
resources/views/extension_pages/setup.blade.php
+1
-1
navbar.blade.php
resources/views/layouts/navbar.blade.php
+1
-1
index.blade.php
resources/views/server/index.blade.php
+1
-1
No files found.
.env
Dosyayı görüntüle @
66548ae2
...
...
@@ -6,38 +6,11 @@ APP_URL=https://liman.dev
APP_NOTIFICATION_EMAIL=mert@liman.dev
APP_VERSION=Development
LOG_CHANNEL=single
LOG_LEVEL=debug
LOG_PATH=/liman/logs/liman.log
LOG_ERROR_PATH=/liman/logs/error.log
DB_CONNECTION=sqlite
DB_PATH=/liman/database/liman.sqlite
BROADCAST_DRIVER=pusher
CACHE_DRIVER=array
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=database
SERVER_CONNECTION_TIMEOUT=5000
USER_WIDGET_COUNT=10
EXTENSION_DEVELOPER_MODE=true
NAV_EXTENSION_HIDE_COUNT=10
WIDGET_REFRESH_TIME=30000
SERVER_PATH=/liman/server/
SANDBOX_PATH=/liman/sandbox/
EXTENSIONS_PATH=/liman/extensions/
KEYS_PATH=/liman/keys/
BRAND_NAME=Havelsan
LIMAN_CONNECTOR_SERVER=http://127.0.0.1:5000
PUSHER_APP_ID=liman
PUSHER_APP_KEY=liman-key
PUSHER_APP_SECRET=liman-secret
PUSHER_APP_CLUSTER=eu
LIMAN_RESTRICTED=false
LIMAN_RESTRICTED_SERVER=
LIMAN_RESTRICTED_EXTENSION=
\ No newline at end of file
QUEUE_DRIVER=database
\ No newline at end of file
.github/workflows/liman.yml
Dosyayı görüntüle @
66548ae2
...
...
@@ -56,7 +56,6 @@ jobs:
sed -i "s/APP_VERSION=Development/APP_VERSION=$GITHUB_RUN_ID/g" package/liman/server/.env
sed -i "s/APP_DEBUG=true/APP_DEBUG=false/g" package/liman/server/.env
sed -i "s/APP_ENV=local/APP_ENV=production/g" package/liman/server/.env
sed -i "s/EXTENSION_DEVELOPER_MODE=true/EXTENSION_DEVELOPER_MODE=false/g" package/liman/server/.env
mv package/liman/server/build_tools/DEBIAN package/
rm -rf package/liman/server/build_tools
cd package
...
...
app/Classes/Connector/SSHConnector.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -167,7 +167,7 @@ class SSHConnector implements Connector
)
->
first
()
->
token
;
$res
=
$client
->
request
(
'POST'
,
env
(
"LIMAN_CONNECTOR_SERVER"
)
.
'
/'
.
$url
,
'http://127.0.0.1:5000
/'
.
$url
,
[
"form_params"
=>
$params
]
);
}
catch
(
BadResponseException
$e
)
{
...
...
@@ -203,7 +203,7 @@ class SSHConnector implements Connector
try
{
$res
=
$client
->
request
(
'POST'
,
env
(
'LIMAN_CONNECTOR_SERVER'
)
.
'
/new'
,
'http://127.0.0.1:5000
/new'
,
[
'form_params'
=>
[
"username"
=>
$username
,
...
...
app/Classes/Connector/SSHTunnelConnector.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -58,7 +58,7 @@ class SSHTunnelConnector
try
{
$res
=
$client
->
request
(
'POST'
,
env
(
"LIMAN_CONNECTOR_SERVER"
)
.
'
/'
.
$url
,
'http://127.0.0.1:5000
/'
.
$url
,
[
"form_params"
=>
$params
]
);
}
catch
(
BadResponseException
$e
)
{
...
...
app/Classes/Connector/WinRMConnector.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -87,7 +87,7 @@ class WinRMConnector implements Connector
)
->
first
()
->
token
;
$res
=
$client
->
request
(
'POST'
,
env
(
"LIMAN_CONNECTOR_SERVER"
)
.
'
/'
.
$url
,
'http://127.0.0.1:5000
/'
.
$url
,
[
"form_params"
=>
$params
,
'timeout'
=>
5
,
...
...
@@ -174,7 +174,7 @@ class WinRMConnector implements Connector
try
{
$res
=
$client
->
request
(
'POST'
,
env
(
'LIMAN_CONNECTOR_SERVER'
)
.
'
/new'
,
'http://127.0.0.1:5000
/new'
,
[
'form_params'
=>
[
"username"
=>
$username
,
...
...
app/Classes/Sandbox/PHPSandbox.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -144,7 +144,7 @@ class PHPSandbox implements Sandbox
'aes-256-cfb8'
,
shell_exec
(
'cat '
.
env
(
'KEYS_PATH'
)
.
'/liman/keys'
.
DIRECTORY_SEPARATOR
.
extension
()
->
id
),
...
...
@@ -152,7 +152,7 @@ class PHPSandbox implements Sandbox
Str
::
random
()
);
$keyPath
=
env
(
'KEYS_PATH'
)
.
DIRECTORY_SEPARATOR
.
extension
()
->
id
;
$keyPath
=
'/liman/keys'
.
DIRECTORY_SEPARATOR
.
extension
()
->
id
;
return
"sudo runuser "
.
cleanDash
(
extension
()
->
id
)
.
...
...
app/Classes/Sandbox/PythonSandbox.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -130,14 +130,7 @@ class PythonSandbox implements Sandbox
$isAjax
,
];
// $encrypted = openssl_encrypt(
// Str::random() . base64_encode(json_encode($array)),
// 'aes-256-cfb8',
// shell_exec('cat ' . env('KEYS_PATH') . DIRECTORY_SEPARATOR . extension()->id),
// 0,
// Str::random()
// );
$keyPath
=
env
(
'KEYS_PATH'
)
.
DIRECTORY_SEPARATOR
.
extension
()
->
id
;
$keyPath
=
'/liman/keys'
.
DIRECTORY_SEPARATOR
.
extension
()
->
id
;
$combinerFile
=
"/liman/extensions/"
.
strtolower
(
extension
()
->
name
)
.
...
...
app/Http/Controllers/Extension/MainController.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -205,7 +205,7 @@ class MainController extends Controller
}
$extension_folder
=
"/liman/extensions/"
.
strtolower
(
$json
[
"name"
]);
$passPath
=
env
(
'KEYS_PATH'
)
.
DIRECTORY_SEPARATOR
.
$new
->
id
;
$passPath
=
'/liman/keys'
.
DIRECTORY_SEPARATOR
.
$new
->
id
;
file_put_contents
(
$passPath
,
Str
::
random
(
32
));
shell_exec
(
...
...
@@ -321,7 +321,7 @@ class MainController extends Controller
shell_exec
(
'sudo useradd -r -s /bin/sh '
.
cleanDash
(
$ext
->
id
));
}
$passPath
=
env
(
'KEYS_PATH'
)
.
DIRECTORY_SEPARATOR
.
$ext
->
id
;
$passPath
=
'/liman/keys'
.
DIRECTORY_SEPARATOR
.
$ext
->
id
;
file_put_contents
(
$passPath
,
Str
::
random
(
32
));
shell_exec
(
"
...
...
app/Http/Controllers/Extension/OneController.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -227,6 +227,13 @@ class OneController extends Controller
$similar
[
$item
[
"variable"
]]
=
base64_decode
(
$stringToDecode
);
}
}
if
(
config
(
'liman.liman_restricted'
)
==
true
&&
!
user
()
->
isAdmin
()){
return
response
()
->
view
(
'extension_pages.setup_restricted'
,
[
'extension'
=>
$extension
,
'similar'
=>
$similar
,
]);
}
return
response
()
->
view
(
'extension_pages.setup'
,
[
'extension'
=>
$extension
,
...
...
@@ -256,7 +263,7 @@ class OneController extends Controller
cleanDash
(
extension
()
->
id
)
.
";
rm "
.
env
(
'KEYS_PATH'
)
.
'/liman/keys/'
.
DIRECTORY_SEPARATOR
.
extension
()
->
id
.
";
...
...
app/Http/Helpers.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -105,7 +105,7 @@ if (!function_exists('settingsModuleButtons')) {
$foo
=
substr
(
$file
,
15
);
$name
=
substr
(
$foo
,
0
,
strpos
(
$foo
,
"/"
));
$str
.=
"<li class=
\"
nav-item
\"
>
<a class=
\"
nav-link
\"
data-toggle=
\"
tab
\"
href=
\"
#
$name
\"
>
$name
</a>
<a
id
\"
"
.
$name
.
"tab
\"
class=
\"
nav-link
\"
data-toggle=
\"
tab
\"
href=
\"
#
$name
\"
>
$name
</a>
</li>"
;
}
return
$str
;
...
...
@@ -141,7 +141,7 @@ if (!function_exists('serverModuleButtons')) {
$foo
=
substr
(
$file
,
15
);
$name
=
substr
(
$foo
,
0
,
strpos
(
$foo
,
"/"
));
$str
.=
"<li class=
\"
nav-item
\"
>
<a class=
\"
nav-link
\"
data-toggle=
\"
tab
\"
href=
\"
#
$name
\"
>
$name
</a>
<a
id=
\"
"
.
$name
.
"tab
\"
class=
\"
nav-link
\"
data-toggle=
\"
tab
\"
href=
\"
#
$name
\"
>
$name
</a>
</li>"
;
}
return
$str
;
...
...
app/Http/Middleware/PermissionManager.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -22,7 +22,7 @@ class PermissionManager
auth
()
->
user
()
->
isAdmin
()
||
env
(
'LIMAN_RESTRICTED
'
)
==
true
config
(
'liman.liman_restricted
'
)
==
true
)
{
$this
->
initializeObjects
();
return
$next
(
$request
);
...
...
app/Http/Middleware/RestrictedMode.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -25,19 +25,19 @@ class RestrictedMode
"password_change"
,
"password_change_save"
,
];
if
(
env
(
'LIMAN_RESTRICTED
'
)
==
true
&&
user
()
&&
!
user
()
->
isAdmin
())
{
if
(
config
(
'liman.liman_restricted
'
)
==
true
&&
user
()
&&
!
user
()
->
isAdmin
())
{
$request
->
request
->
add
([
'server_id'
=>
env
(
"LIMAN_RESTRICTED_SERVER"
),
'extension_id'
=>
env
(
"LIMAN_RESTRICTED_EXTENSION"
),
"server"
=>
\App\Server
::
find
(
env
(
"LIMAN_RESTRICTED_SERVER"
)),
'server_id'
=>
config
(
'liman.liman_restricted_server'
),
'extension_id'
=>
config
(
'liman.liman_restricted_extension'
),
"server"
=>
\App\Server
::
find
(
config
(
'liman.liman_restricted_server'
)),
"extension"
=>
\App\Extension
::
find
(
env
(
"LIMAN_RESTRICTED_EXTENSION"
)
config
(
'liman.liman_restricted_extension'
)
),
]);
if
(
!
in_array
(
\Request
::
route
()
->
getName
(),
$safeRoutes
))
{
return
redirect
()
->
route
(
"extension_server"
,
[
"extension_id"
=>
env
(
"LIMAN_RESTRICTED_EXTENSION"
),
"server_id"
=>
env
(
"LIMAN_RESTRICTED_SERVER"
),
"extension_id"
=>
config
(
'liman.liman_restricted_extension'
),
"server_id"
=>
config
(
'liman.liman_restricted_server'
),
"city"
=>
server
()
->
city
,
]);
}
...
...
app/Jobs/ExtensionJob.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -218,12 +218,12 @@ class ExtensionJob implements ShouldQueue
Str
::
random
()
.
base64_encode
(
json_encode
(
$array
)),
'aes-256-cfb8'
,
shell_exec
(
'cat '
.
env
(
'KEYS_PATH'
)
.
DIRECTORY_SEPARATOR
.
$extension_id
'cat '
.
'/liman/keys'
.
DIRECTORY_SEPARATOR
.
$extension_id
),
0
,
Str
::
random
()
);
$keyPath
=
env
(
'KEYS_PATH'
)
.
DIRECTORY_SEPARATOR
.
$extension_id
;
$keyPath
=
'/liman/keys'
.
DIRECTORY_SEPARATOR
.
$extension_id
;
$command
=
"sudo runuser "
.
...
...
config/broadcasting.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -30,11 +30,11 @@ return [
'connections'
=>
[
'pusher'
=>
[
'driver'
=>
'pusher'
,
'key'
=>
env
(
'PUSHER_APP_KEY'
)
,
'key'
=>
'liman-key'
,
'secret'
=>
env
(
'APP_KEY'
),
'app_id'
=>
env
(
'PUSHER_APP_ID'
)
,
'app_id'
=>
'liman'
,
'options'
=>
[
'cluster'
=>
env
(
'PUSHER_APP_CLUSTER'
)
,
'cluster'
=>
'eu'
,
'encrypted'
=>
true
,
'host'
=>
'127.0.0.1'
,
'port'
=>
6001
,
...
...
config/liman.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -8,4 +8,7 @@ return [
"nav_extension_hide_count"
=>
10
,
"widget_refresh_time"
=>
30000
,
//ms
"liman_restricted"
=>
false
,
"liman_restricted_server"
=>
null
,
"liman_restricted_extension"
=>
null
,
"brand"
=>
"Havelsan © 2020"
];
config/logging.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -15,7 +15,7 @@ return [
|
*/
'default'
=>
env
(
'LOG_CHANNEL'
,
's
tack
'
),
'default'
=>
env
(
'LOG_CHANNEL'
,
's
ingle
'
),
/*
|--------------------------------------------------------------------------
...
...
config/websockets.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -22,9 +22,9 @@ return [
*/
'apps'
=>
[
[
'id'
=>
env
(
'PUSHER_APP_ID'
)
,
'id'
=>
'liman'
,
'name'
=>
env
(
'APP_NAME'
),
'key'
=>
env
(
'PUSHER_APP_KEY'
)
,
'key'
=>
'liman'
,
'secret'
=>
env
(
'APP_KEY'
),
'path'
=>
env
(
'PUSHER_APP_PATH'
),
'capacity'
=>
null
,
...
...
database/migrations/2019_07_30_082636_update_extension_settings.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -17,7 +17,7 @@ class UpdateExtensionSettings extends Migration
// Create Encryption Keys for existing Extensions.
$extensions
=
Extension
::
all
();
foreach
(
$extensions
as
$extension
)
{
$passPath
=
env
(
'KEYS_PATH'
)
.
DIRECTORY_SEPARATOR
.
$extension
->
id
;
$passPath
=
'/liman/keys/'
.
DIRECTORY_SEPARATOR
.
$extension
->
id
;
file_put_contents
(
$passPath
,
Str
::
random
(
32
));
shell_exec
(
"sudo chown liman:"
.
...
...
resources/views/errors/503.blade.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -18,6 +18,6 @@
<h1>
{{__("Bakım Zamanı")}}
</h1>
<div>
<p>
{{__("Liman Merkezi Yönetim Sistemi şu an bakımda. Lütfen daha sonra tekrar deneyin.")}}
</p>
<p>
—
{{
env("BRAND_NAME"
)}}
</p>
<p>
—
{{
config('liman.brand'
)}}
</p>
</div>
</article>
\ No newline at end of file
resources/views/extension_pages/setup.blade.php
Dosyayı görüntüle @
66548ae2
@
if
(
env
(
'LIMAN_RESTRICTED
'
)
==
true
&&
!
user
()
->
isAdmin
())
@
if
(
config
(
'liman.liman_restricted
'
)
==
true
&&
!
user
()
->
isAdmin
())
@
include
(
'extension_pages.setup_restricted'
);
@
php
(
die
())
@
endif
...
...
resources/views/layouts/navbar.blade.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -4,7 +4,7 @@
<li
class=
"nav-item"
>
<a
class=
"nav-link"
data-widget=
"pushmenu"
href=
"#"
onclick=
"request('{{route('set_collapse')}}',new FormData(),null)"
><i
class=
"fas fa-bars"
></i></a>
</li>
@if(
env('LIMAN_RESTRICTED
') == true
&&
!user()->isAdmin())
@if(
config('liman.liman_restricted
') == true
&&
!user()->isAdmin())
<li
class=
"nav-item d-none d-sm-inline-block"
>
<a
href=
"/"
class=
"nav-link"
>
{{__("Ana Sayfa")}}
</a>
</li>
...
...
resources/views/server/index.blade.php
Dosyayı görüntüle @
66548ae2
...
...
@@ -55,7 +55,7 @@
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-label=
"Close"
>
<span
aria-hidden=
"true"
>
×
</span></button>
</div>
<ul
class=
"nav nav-tabs"
role=
"tablist"
>
<ul
class=
"nav nav-tabs"
role=
"tablist"
style=
"padding:20px;"
>
<li
class=
"nav-item"
>
<a
class=
"nav-link active"
data-toggle=
"pill"
id=
"networkTab"
href=
"#network"
role=
"tab"
aria-controls=
"network"
aria-selected=
"true"
>
{{__("Bağlantı Bilgileri")}}
</a>
</li>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment