Skip to content

Commit c97e0fe

Browse files
authored
Merge pull request pterodactyl#86 from Pterodactyl/feature/better-terminal
Add a better console page
2 parents 120a6a5 + a787e99 commit c97e0fe

File tree

9 files changed

+1246
-86
lines changed

9 files changed

+1246
-86
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ Requires `Daemon@0.2.0`
1212
* Adds support for suspending servers
1313
* Adds support for viewing SFTP password within the panel ([#74](https://github.com/Pterodactyl/Panel/issues/74), thanks [@ET-Bent](https://github.com/ET-Bent))
1414
* Improved API with support for server suspension and build modification.
15-
* Improved service managment and setup on first install.
15+
* Improved service management and setup on first install.
16+
* New terminal that supports ANSI color codes as well as cleaner output. You can also simply type `start` or `boot` to start your server rather than having to use the start button.
1617

1718
### Bug Fixes
1819
* Fixes password auto-generation on 'Manage Server' page. ([#67](https://github.com/Pterodactyl/Panel/issues/67), thanks [@ET-Bent](https://github.com/ET-Bent))

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Pterodactyl is the free game server management panel designed by users, for users. Featuring support for Vanilla Minecraft, Spigot, Source Dedicated Servers, BungeeCord, and many more. Pterodactyl is built on the `Laravel PHP Framework (v5.2)`.
33

44
## Support & Documentation
5-
Support for using Pterodactyl can be found on our [community forums](https://community.pterodactyl.io) or on our [Discord chat](https://discord.gg/0gYt8oU8QOkDhKLS).
5+
Support for using Pterodactyl can be found on our [wiki](https://github.com/Pterodactyl/Panel/wiki) or on our [Discord chat](https://discord.gg/0gYt8oU8QOkDhKLS).
66

77
## License
88
```
@@ -46,6 +46,8 @@ FuelUX - [license](https://github.com/ExactTarget/fuelux/blob/master/LICENSE) -
4646

4747
jQuery - [license](https://github.com/jquery/jquery/blob/master/LICENSE.txt) - [homepage](http://jquery.com)
4848

49+
jQuery Terminal - [license](https://github.com/jcubic/jquery.terminal/blob/master/LICENSE) - [homepage](http://terminal.jcubic.pl)
50+
4951
MetricsGraphics.js - [license](https://github.com/mozilla/metrics-graphics/blob/master/LICENSE) - [homepage](http://metricsgraphicsjs.org/)
5052

5153
Socket.io - [license](https://github.com/socketio/socket.io/blob/master/LICENSE) - [homepage](http://socket.io)

public/css/jquery.terminal.css

Lines changed: 253 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,253 @@
1+
/*!
2+
* __ _____ ________ __
3+
* / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / /
4+
* __ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ /
5+
* / / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__
6+
* \___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/
7+
* \/ /____/ version 0.11.6
8+
* http://terminal.jcubic.pl
9+
*
10+
* This file is part of jQuery Terminal.
11+
*
12+
* Copyright (c) 2011-2016 Jakub Jankiewicz <http://jcubic.pl>
13+
* Released under the MIT license
14+
*
15+
* Date: Thu, 15 Sep 2016 20:19:20 +0000
16+
*/
17+
.terminal .terminal-output .format, .cmd .format,
18+
.cmd .prompt, .cmd .prompt div, .terminal .terminal-output div div{
19+
display: inline-block;
20+
}
21+
.terminal h1, .terminal h2, .terminal h3, .terminal h4, .terminal h5, .terminal h6, .terminal pre, .cmd {
22+
margin: 0;
23+
}
24+
.terminal h1, .terminal h2, .terminal h3, .terminal h4, .terminal h5, .terminal h6 {
25+
line-height: 1.2em;
26+
}
27+
/*
28+
.cmd .mask {
29+
width: 10px;
30+
height: 11px;
31+
background: black;
32+
z-index: 100;
33+
}
34+
*/
35+
.cmd .clipboard {
36+
position: absolute;
37+
left: -16px;
38+
top: 0;
39+
width: 10px;
40+
height: 16px;
41+
/* this seems to work after all on Android */
42+
/*left: -99999px;
43+
clip: rect(1px,1px,1px,1px);
44+
/* on desktop textarea appear when paste */
45+
/*
46+
opacity: 0.01;
47+
filter: alpha(opacity = 0.01);
48+
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0.01);
49+
*/
50+
background: transparent;
51+
border: none;
52+
color: transparent;
53+
outline: none;
54+
padding: 0;
55+
resize: none;
56+
z-index: 0;
57+
overflow: hidden;
58+
}
59+
.terminal .error {
60+
color: #f00;
61+
}
62+
.terminal {
63+
padding: 10px;
64+
position: relative;
65+
/*overflow: hidden;*/
66+
overflow: auto;
67+
}
68+
.cmd {
69+
padding: 0;
70+
height: 1.3em;
71+
position: relative;
72+
/*margin-top: 3px; */
73+
}
74+
.terminal .inverted, .cmd .inverted, .cmd .cursor.blink {
75+
background-color: #aaa;
76+
color: #000;
77+
}
78+
.cmd .cursor.blink {
79+
-webkit-animation: terminal-blink 1s infinite steps(1, start);
80+
-moz-animation: terminal-blink 1s infinite steps(1, start);
81+
-ms-animation: terminal-blink 1s infinite steps(1, start);
82+
animation: terminal-blink 1s infinite steps(1, start);
83+
}
84+
@-webkit-keyframes terminal-blink {
85+
0%, 100% {
86+
background-color: #000;
87+
color: #aaa;
88+
}
89+
50% {
90+
background-color: #bbb;
91+
color: #000;
92+
}
93+
}
94+
95+
@-ms-keyframes terminal-blink {
96+
0%, 100% {
97+
background-color: #000;
98+
color: #aaa;
99+
}
100+
50% {
101+
background-color: #bbb;
102+
color: #000;
103+
}
104+
}
105+
106+
@-moz-keyframes terminal-blink {
107+
0%, 100% {
108+
background-color: #000;
109+
color: #aaa;
110+
}
111+
50% {
112+
background-color: #bbb;
113+
color: #000;
114+
}
115+
}
116+
@keyframes terminal-blink {
117+
0%, 100% {
118+
background-color: #000;
119+
color: #aaa;
120+
}
121+
50% {
122+
background-color: #bbb; /* not #aaa because it's seems there is Google Chrome bug */
123+
color: #000;
124+
}
125+
}
126+
127+
.terminal .terminal-output div div, .cmd .prompt {
128+
display: block;
129+
line-height: 14px;
130+
height: auto;
131+
}
132+
.cmd .prompt {
133+
float: left;
134+
}
135+
.terminal, .cmd {
136+
font-family: monospace;
137+
/*font-family: FreeMono, monospace; this don't work on Android */
138+
color: #aaa;
139+
background-color: #000;
140+
font-size: 12px;
141+
line-height: 14px;
142+
}
143+
.terminal-output > div {
144+
/*padding-top: 3px;*/
145+
min-height: 14px;
146+
}
147+
.terminal-output > div > div * {
148+
word-wrap: break-word; /* when echo html */
149+
}
150+
.terminal .terminal-output div span {
151+
display: inline-block;
152+
}
153+
.cmd span {
154+
float: left;
155+
/*display: inline-block; */
156+
}
157+
/* fix double style of selecting text in terminal */
158+
.terminal-output span, .terminal-output a, .cmd div, .cmd span, .terminal td,
159+
.terminal pre, .terminal h1, .terminal h2, .terminal h3, .terminal h4,
160+
.terminal h5, .terminal h6 {
161+
-webkit-touch-callout: initial;
162+
-webkit-user-select: initial;
163+
-khtml-user-select: initial;
164+
-moz-user-select: initial;
165+
-ms-user-select: initial;
166+
user-select: initial;
167+
}
168+
.terminal, .terminal-output, .terminal-output div {
169+
-webkit-touch-callout: none;
170+
-webkit-user-select: none;
171+
-khtml-user-select: none;
172+
-moz-user-select: none;
173+
-ms-user-select: none;
174+
user-select: none;
175+
}
176+
/* firefox hack */
177+
@-moz-document url-prefix() {
178+
.terminal, .terminal-output, .terminal-output div {
179+
-webkit-touch-callout: initial;
180+
-webkit-user-select: initial;
181+
-khtml-user-select: initial;
182+
-moz-user-select: initial;
183+
-ms-user-select: initial;
184+
user-select: initial;
185+
}
186+
}
187+
.terminal table {
188+
border-collapse: collapse;
189+
}
190+
.terminal td {
191+
border: 1px solid #aaa;
192+
}
193+
.terminal h1::-moz-selection,
194+
.terminal h2::-moz-selection,
195+
.terminal h3::-moz-selection,
196+
.terminal h4::-moz-selection,
197+
.terminal h5::-moz-selection,
198+
.terminal h6::-moz-selection,
199+
.terminal pre::-moz-selection,
200+
.terminal td::-moz-selection,
201+
.terminal .terminal-output div div::-moz-selection,
202+
.terminal .terminal-output div span::-moz-selection,
203+
.terminal .terminal-output div div a::-moz-selection,
204+
.cmd div::-moz-selection,
205+
.cmd > span::-moz-selection,
206+
.cmd .prompt span::-moz-selection {
207+
background-color: #aaa;
208+
color: #000;
209+
}
210+
/* this don't work in Chrome
211+
.terminal tr td::-moz-selection {
212+
border-color: #000;
213+
}
214+
.terminal tr td::selection {
215+
border-color: #000;
216+
}
217+
*/
218+
.terminal h1::selection,
219+
.terminal h2::selection,
220+
.terminal h3::selection,
221+
.terminal h4::selection,
222+
.terminal h5::selection,
223+
.terminal h6::selection,
224+
.terminal pre::selection,
225+
.terminal td::selection,
226+
.terminal .terminal-output div div::selection,
227+
.terminal .terminal-output div div a::selection,
228+
.terminal .terminal-output div span::selection,
229+
.cmd div::selection,
230+
.cmd > span::selection,
231+
.cmd .prompt span::selection {
232+
background-color: #aaa;
233+
color: #000;
234+
}
235+
.terminal .terminal-output div.error, .terminal .terminal-output div.error div {
236+
color: red;
237+
}
238+
.tilda {
239+
position: fixed;
240+
top: 0;
241+
left: 0;
242+
width: 100%;
243+
z-index: 1100;
244+
}
245+
.clear {
246+
clear: both;
247+
}
248+
.terminal a {
249+
color: #0F60FF;
250+
}
251+
.terminal a:hover {
252+
color: red;
253+
}

public/js/jquery.mousewheel-min.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/js/jquery.terminal-0.11.6.min.js

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)