+
+
+
+
+
diff --git a/main-site/CyberTermHack/CONSOLE/console.js b/main-site/CyberTermHack/CONSOLE/console.js
new file mode 100644
index 0000000..3a38bb7
--- /dev/null
+++ b/main-site/CyberTermHack/CONSOLE/console.js
@@ -0,0 +1,10 @@
+function consoleloop(){
+ let x= terminput('')
+ termshow('executing : '+x+' ...')
+ try{
+ let nfunc = new Function(x)
+ termshow(nfunc())
+ }catch(e){
+ termshow('error: '+e)
+ }
+}
diff --git a/main-site/CyberTermHack/Commented_Code/COMMENTED_CODE/CyberTermHackjsorganized.js b/main-site/CyberTermHack/Commented_Code/COMMENTED_CODE/CyberTermHackjsorganized.js
new file mode 100644
index 0000000..070b175
--- /dev/null
+++ b/main-site/CyberTermHack/Commented_Code/COMMENTED_CODE/CyberTermHackjsorganized.js
@@ -0,0 +1,479 @@
+// TERM API BY GZOD01 (FROM CYBERTERMHACK BY GZOD01)
+
+
+// the variable to check if the input is complete (if the user press enter)
+var inputcomplete = false
+
+// function to choose a random int (random.randint() in python)
+function randint(min, max){
+ return Math.floor(Math.random() * (max - min + 1) ) + min;
+}
+
+// START OF MATRIX CODE
+// function to stop the matrix (delete the canvas and recreate it)
+function stopmatrix(){
+ document.getElementById('matrixcanvas').remove()
+ let nc = document.createElement('canvas')
+ nc.setAttribute('id','matrixcanvas')
+ nc.style.width = '100%'
+ nc.style.height ='0%'
+ document.body.appendChild(nc)
+}
+//function to start the matrix (start the dropdown of letters etc.)
+function matrix(color){
+ let tcolor = ''
+ if(color==='cyan'){
+ tcolor ='#0ff'
+ }
+ else if(color==='blue'){
+ tcolor='#00f'
+ }
+ else if(color==='magenta'){
+ tcolor='#f0f'
+ }
+ else if(color==='red'){
+ tcolor='#f00'
+ }
+ else if(color==='green'){
+ tcolor='#0f0'
+ }
+ else if(color==='yellow'){
+ tcolor='#ff0'
+ }
+ else if(color==='white'){
+ tcolor='#fff'
+ }
+ else if(color==='purple'){
+ tcolor='#303'
+ }
+ else{
+ tcolor= '#0f0'
+ }
+ var canvas = document.getElementById('matrixcanvas'),
+ ctx = canvas.getContext('2d');
+
+ canvas.style.height = '100%'
+ canvas.width = window.innerWidth;
+ canvas.height = window.innerHeight;
+ var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890&éèçà@æ€ŧøþ@ßðđŋłĸħłµł»¢µ$£ù%^¨';
+ letters = letters.split('');
+
+
+ var fontSize = 10,
+ columns = canvas.width / fontSize;
+
+
+ var drops = [];
+ for (var i = 0; i < columns; i++) {
+ drops[i] = 1;
+ }
+
+
+ function draw() {
+ ctx.fillStyle = 'rgba(0, 0, 0, .1)';
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
+ for (var i = 0; i < drops.length; i++) {
+ var text = letters[Math.floor(Math.random() * letters.length)];
+ ctx.fillStyle = tcolor;
+ ctx.fillText(text, i * fontSize, drops[i] * fontSize);
+ drops[i]++;
+ if (drops[i] * fontSize > canvas.height && Math.random() > .95) {
+ drops[i] = 0;
+ }
+ }
+ }
+
+
+ setInterval(draw, 33);
+}
+// END OF MATRIX CODE
+
+// function like the time.sleep in python
+function sleep(s) {
+ let ms = s*1000
+ return new Promise(resolve => setTimeout(resolve, ms));
+}
+// function like random.choice() in python
+function randchoice(list){
+ console.log(list[randint(0,list.length-1)])
+ return list[randint(0,list.length-1)]
+}
+
+// TODO : var historic = []
+
+// lastx = the last input do (the input you get when you press up arrow) to replace with an historic
+var lastx = ""
+
+// the function to execute when up arrow pressed
+function historic(){
+ // TODO : terminpt.value=historic[historic.lengh-1-index]
+ document.getElementById('terminpt').value = lastx // to replace with an historic (line above) , set the input value (content) to the last input executed
+}
+// when a key is down
+onkeydown = function(e){
+ // if the key is the tab key (keyCode 9)
+ if(e.keyCode==9){
+ // execute the autocomplete function
+ autocomplete()
+ }
+}
+// when a key is up
+onkeyup = function(e){
+ // if the key is enter key (keyCode 13)
+ if(e.keyCode==13){
+ // set the inputcomplete variable to true to inform the terminput function that the user press enter
+ inputcomplete = true
+ }
+ // if the input is up arrow key (keyCode 38)
+ else if(e.keyCode == 38){
+ // execute the historic function
+ historic()
+ }
+}
+// function like the print() function in python, add the text to the #termcontent div
+function termshow(str){
+ let tc = document.getElementById('termcontent')
+ let nchild = document.createElement('div')
+ str = str.replace('<','<')
+ str= str.replace('>','>')
+ str= str.replace('&infg&','<')
+ str = str.replace('&supd&','>')
+ nchild.innerHTML = str.replace('\n',' ')
+ tc.appendChild(nchild)
+ document.getElementById('termcontent').scrollTo(0,document.getElementById('termcontent').scrollHeight)
+}
+// the input() function of python, check if the input is complete (see the inputcomplete variable and the onkeyup (e.keyCode == 13) execution
+function terminput(str){
+ let tiname = document.getElementById('inptname')
+ tiname.innerHTML = str
+ let inpt = document.getElementById('terminpt')
+ if(inputcomplete){
+ console.log(inpt.value)
+ inputcomplete=false
+ let resultat = inpt.value
+ inpt.value = ''
+ return resultat
+ }
+ else{
+ //return 'ERR' if the input isn't complete
+ return 'ERR'
+ }
+}
+// replace this list with the list of your commands
+var list_of_command = ['ls','ssh','pbk','exit','theme','matrix','hack','attack','save','import','help','exit']
+// autocomplete when tab press show all the command starting with the value in your input
+function autocomplete(){
+ let inptval = document.getElementById('terminpt').value
+ termshow('List of available commands starting with " '+inptval+' " :')
+ for(let i = 0; i1.CyberTermGame.1 0.....By GZod01.....0 10101010101010101 Infos on the game : Hello my name is GZod01 and i make this game in javascript (base game in python) "for fun", I know this game is not reflecting the reality of the command on linux or windows machines but... it is a game... Sorry if the english is not very good i speak french...')
+}
+stopmatrix()
+var passwordlist = ["my_password","helloworld","ultra_secure_password","my_birthday"]
+var filelist = ['picture.png','personnal_datas.csv', 'helloworld.py','i_hate_hackers.txt','speech_for_tomorrow.md', '.ha_ha_this_is_super_secret_file.txt','mydirectory/']
+var connected = false
+var datased = false
+var STOP = false
+infos()
+var user = ""
+var ip = ""
+var password = ""
+var destroyedip = []
+var codeline = ["fn destroy(oiaf){executeshellcomand('destroy oiaf')}","hack-server()","destroy()","fn hack-server(files){for(var i = 0, i the available colors are : default , yellow , red , blue , green . execute the command like this: theme default or theme yellow , etc.')
+ }
+ else{
+ let nx = x.substring('theme '.length)
+ if(nx==='yellow' || nx ==='blue' || nx==='default' || nx ==='red' || nx === 'green'){
+ gamedatas.colorscheme = nx
+ gettheme()
+ }
+ else{
+ termshow('Switch the theme with this command, the available colors are : default , yellow , red , blue , green . execute the command like this: theme default or theme yellow , etc.')
+ }
+ }
+ }
+ else if (lowx.startsWith('matrix')){
+ if(lowx==='matrix'||lowx==='matrix '){
+ matrix(gamedatas.colorscheme)
+ }
+ else{
+ let nx = x.substring('matrix '.length)
+ if(nx==='yellow' || nx ==='blue' || nx==='white' || nx ==='red' || nx === 'green'||nx=='purple'|| nx=='cyan' || nx=='magenta'){
+ matrix(nx)
+ }
+ else if(nx==='stop'){
+ stopmatrix()
+ }
+ else{
+ termshow('Switch the theme with this command, the available colors are : default , yellow , red , blue , green . execute the command like this: theme default or theme yellow , etc.')
+ }
+ }
+ }
+ else if(lowx==='save'){
+ localStorage.setItem('hackergamedatas',JSON.stringify(gamedatas))
+ termshow('Data saved')
+ termshow(localStorage.getItem('hackergamedatas'))
+ }
+ else if(lowx==='import'){
+ let tmpdatas = localStorage.getItem('hackergamedatas')
+ if (tmpdatas == undefined){
+ termshow('you don\'t have any data saved, please execute the save command before to import')
+ }
+ else{
+ gamedatas = JSON.parse(tmpdatas)
+ }
+ }
+ else if (lowx=='ls'){
+ if (connected){
+ if (ipdatas[ip]['files'] == undefined){
+ termshow('This is the file on the distant machine')
+ let fileiplist = []
+ for(let i=0; i < parseInt(randint(1,10)); i++){
+ let currentchoicefile = randchoice(filelist)
+ termshow('-'+currentchoicefile)
+ fileiplist.push(currentchoicefile)
+ }
+ ipdatas[ip]['files'] = fileiplist
+ }
+ else{
+ termshow('This is the file on the distant machine')
+ for(let i = 0; i- my_datas.zip - servers_data.zip')
+ }
+ else{
+ termshow('This is the file on your computer: - my_datas.zip')
+ }
+ }
+ }
+ else if (lowx=='attack'){
+ if( connected){
+ termshow('the attack start... copying all the data in this server to your servers_data.zip file in your computer (it include all the file, folder etc.)... breaking the server... Disconnected: The server is destroy')
+ connected = false
+ datased = true
+ ipdatas[ip]['destroyed'] = true
+ }
+ else{
+ termshow('error you are not connected, please connect to a distant server before executing this command')
+ }
+ }
+ else if( x==='help'){
+ termshow('The available commands: - help : print this message - ls : list the files and folders - pbk (only in your computer) : Get the password of an user from an ip address - ssh (only in your computer) : conect to a distant server with an user and an ip address (you have to use pbk to get the password) - attack (only in ssh servers) : start an attack that will add all the datas on the server in your servers_data.zip file and will destroy the server (warning this will no destroy only the server from the user it will destroy ALL the server (the address)) - theme : switch the theme of the game\n- save : save the game in your localStorage (alternative to cookies)\n- import : import the game from your localStorage\n- matrix : start or stop a matrix rain animation (just for fun...)\n- exit : if you are connected to distant server (ssh) it deconnect you, if you are not connected it exit this game - infos : display infos on this game')
+ }
+ else if (lowx==='exit'){
+ if (connected){
+ termshow('disconnecting...')
+ connected=false
+ }
+ else{
+ termshow('Exiting the session...')
+ termshow('Exiting the game, thank to play to this game, don\'t hesitate to help me or to give me your feedback')
+ STOP = true
+ location = '/'
+ }
+ }
+ else if (lowx==='hack'){
+ if (connected){
+ termshow('--Start-of-the-hacking-program--')
+ for(let i = 0; i canvas.height && Math.random() > .95) {
+ drops[i] = 0;
+ }
+ }
+ }
+
+
+ setInterval(draw, 33);
+}
+// END OF MATRIX CODE
+
+// function like the time.sleep in python
+function sleep(s) {
+ let ms = s*1000
+ return new Promise(resolve => setTimeout(resolve, ms));
+}
+// function like random.choice() in python
+function randchoice(list){
+ console.log(list[randint(0,list.length-1)])
+ return list[randint(0,list.length-1)]
+}
+
+// TODO : var historic = []
+
+// lastx = the last input do (the input you get when you press up arrow) to replace with an historic
+var lastx = ""
+
+// the function to execute when up arrow pressed
+function historic(){
+ // TODO : terminpt.value=historic[historic.lengh-1-index]
+ document.getElementById('terminpt').value = lastx // to replace with an historic (line above) , set the input value (content) to the last input executed
+}
+// when a key is down
+onkeydown = function(e){
+ // if the key is the tab key (keyCode 9)
+ if(e.keyCode==9){
+ // execute the autocomplete function
+ autocomplete()
+ }
+}
+// when a key is up
+onkeyup = function(e){
+ // if the key is enter key (keyCode 13)
+ if(e.keyCode==13){
+ // set the inputcomplete variable to true to inform the terminput function that the user press enter
+ inputcomplete = true
+ }
+ // if the input is up arrow key (keyCode 38)
+ else if(e.keyCode == 38){
+ // execute the historic function
+ historic()
+ }
+}
+// function like the print() function in python, add the text to the #termcontent div
+function termshow(str){
+ let tc = document.getElementById('termcontent')
+ let nchild = document.createElement('div')
+ str = str.replace('<','<')
+ str= str.replace('>','>')
+ str= str.replace('&infg&','<')
+ str = str.replace('&supd&','>')
+ nchild.innerHTML = str.replace('\n',' ')
+ tc.appendChild(nchild)
+ document.getElementById('termcontent').scrollTo(0,document.getElementById('termcontent').scrollHeight)
+}
+// the input() function of python, check if the input is complete (see the inputcomplete variable and the onkeyup (e.keyCode == 13) execution
+function terminput(str){
+ let tiname = document.getElementById('inptname')
+ tiname.innerHTML = str
+ let inpt = document.getElementById('terminpt')
+ if(inputcomplete){
+ console.log(inpt.value)
+ inputcomplete=false
+ let resultat = inpt.value
+ inpt.value = ''
+ return resultat
+ }
+ else{
+ //return 'ERR' if the input isn't complete
+ return 'ERR'
+ }
+}
+// replace this list with the list of your commands
+var list_of_command = ['ls','ssh','pbk','exit','theme','matrix','hack','attack','save','import','help','exit']
+// autocomplete when tab press show all the command starting with the value in your input
+function autocomplete(){
+ let inptval = document.getElementById('terminpt').value
+ termshow('List of available commands starting with " '+inptval+' " :')
+ for(let i = 0; i the available colors are : default , yellow , red , blue , green . execute the command like this: theme default or theme yellow , etc.')
+ }
+ else{
+ let nx = x.substring('theme '.length)
+ if(nx==='yellow' || nx ==='blue' || nx==='default' || nx ==='red' || nx === 'green'){
+ gamedatas.colorscheme = nx
+ gettheme()
+ }
+ else{
+ termshow('Switch the theme with this command, the available colors are : default , yellow , red , blue , green . execute the command like this: theme default or theme yellow , etc.')
+ }
+ }
+ }
+ else if (lowx.startsWith('matrix')){
+ if(lowx==='matrix'||lowx==='matrix '){
+ matrix(gamedatas.colorscheme)
+ }
+ else{
+ let nx = x.substring('matrix '.length)
+ if(nx==='yellow' || nx ==='blue' || nx==='white' || nx ==='red' || nx === 'green'||nx=='purple'|| nx=='cyan' || nx=='magenta'){
+ matrix(nx)
+ }
+ else if(nx==='stop'){
+ stopmatrix()
+ }
+ else{
+ termshow('Switch the theme with this command, the available colors are : default , yellow , red , blue , green . execute the command like this: theme default or theme yellow , etc.')
+ }
+ }
+ }
+ else if(lowx==='save'){
+ localStorage.setItem('hackergamedatas',JSON.stringify(gamedatas))
+ termshow('Data saved')
+ termshow(localStorage.getItem('hackergamedatas'))
+ }
+ else if(lowx==='import'){
+ let tmpdatas = localStorage.getItem('hackergamedatas')
+ if (tmpdatas == undefined){
+ termshow('you don\'t have any data saved, please execute the save command before to import')
+ }
+ else{
+ gamedatas = JSON.parse(tmpdatas)
+ }
+ }
+ else if (lowx=='ls'){
+ if (connected){
+ if (ipdatas[ip]['files'] == undefined){
+ termshow('This is the file on the distant machine')
+ let fileiplist = []
+ for(let i=0; i < parseInt(randint(1,10)); i++){
+ let currentchoicefile = randchoice(filelist)
+ termshow('-'+currentchoicefile)
+ fileiplist.push(currentchoicefile)
+ }
+ ipdatas[ip]['files'] = fileiplist
+ }
+ else{
+ termshow('This is the file on the distant machine')
+ for(let i = 0; i- my_datas.zip - servers_data.zip')
+ }
+ else{
+ termshow('This is the file on your computer: - my_datas.zip')
+ }
+ }
+ }
+ else if (lowx=='attack'){
+ if( connected){
+ termshow('the attack start... copying all the data in this server to your servers_data.zip file in your computer (it include all the file, folder etc.)... breaking the server... Disconnected: The server is destroy')
+ connected = false
+ datased = true
+ ipdatas[ip]['destroyed'] = true
+ }
+ else{
+ termshow('error you are not connected, please connect to a distant server before executing this command')
+ }
+ }
+ else if( x==='help'){
+ termshow('The available commands: - help : print this message - ls : list the files and folders - pbk (only in your computer) : Get the password of an user from an ip address - ssh (only in your computer) : conect to a distant server with an user and an ip address (you have to use pbk to get the password) - attack (only in ssh servers) : start an attack that will add all the datas on the server in your servers_data.zip file and will destroy the server (warning this will no destroy only the server from the user it will destroy ALL the server (the address)) - theme : switch the theme of the game\n- save : save the game in your localStorage (alternative to cookies)\n- import : import the game from your localStorage\n- matrix : start or stop a matrix rain animation (just for fun...)\n- exit : if you are connected to distant server (ssh) it deconnect you, if you are not connected it exit this game - infos : display infos on this game')
+ }
+ else if (lowx==='exit'){
+ if (connected){
+ termshow('disconnecting...')
+ connected=false
+ }
+ else{
+ termshow('Exiting the session...')
+ termshow('Exiting the game, thank to play to this game, don\'t hesitate to help me or to give me your feedback')
+ STOP = true
+ location = '/'
+ }
+ }
+ else if (lowx==='hack'){
+ if (connected){
+ termshow('--Start-of-the-hacking-program--')
+ for(let i = 0; i
+
+
+ CyberTermHack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/main-site/CyberTermHack/V0.1.2:OPTIMIZED/maincode.js b/main-site/CyberTermHack/V0.1.2:OPTIMIZED/maincode.js
new file mode 100644
index 0000000..5dc77d1
--- /dev/null
+++ b/main-site/CyberTermHack/V0.1.2:OPTIMIZED/maincode.js
@@ -0,0 +1,302 @@
+var x = ""
+function splitaddr(complete, cmd){
+ try{
+ let c = complete.substring(cmd.length)
+ let u = c.split('@')[0]
+ let a = c.split('@')[1]
+ if (a==undefined){
+ termshow('Please complete the command like this: '+cmd+' user@address')
+ return 'ERROR'
+ }
+ else{
+ return [u, a]
+ }
+ }
+ catch(e){
+ console.error(e)
+ termshow('Please complete the command like this: '+cmd+' user@address')
+ return 'ERROR'
+ }
+}
+function infos(){
+ termshow('01010101010101010\n1.CyberTermGame.1\n0.....By GZod01.....0\n10101010101010101\nInfos on the game : Hello my name is GZod01 and i make this game in javascript (base game in python) "for fun", I know this game is not reflecting the reality of the command on linux or windows machines but... it is a game...\nSorry if the english is not very good i speak french...')
+}
+stopmatrix()
+var passwordlist = ["my_password","helloworld","ultra_secure_password","my_birthday"]
+var filelist = ['picture.png','personnal_datas.csv', 'helloworld.py','i_hate_hackers.txt','speech_for_tomorrow.md', '.ha_ha_this_is_super_secret_file.txt','mydirectory/']
+var connected = false
+var datased = false
+var STOP = false
+infos()
+var user = ""
+var ip = ""
+var password = ""
+var destroyedip = []
+var codeline = ["fn destroy(oiaf){executeshellcomand('destroy oiaf')}","hack-server()","destroy()","fn hack-server(files){for(var i = 0, i
+
+
+ CyberTermHack
+
+
+
+
+
+
+
+
+
+
+
diff --git a/main-site/CyberTermHack/V0.1/jsversion.js b/main-site/CyberTermHack/V0.1/jsversion.js
new file mode 100644
index 0000000..f0d7588
--- /dev/null
+++ b/main-site/CyberTermHack/V0.1/jsversion.js
@@ -0,0 +1,440 @@
+// CYBERTERMHACK BY GZOD01
+//START OF CYBERTERMHACK CODE
+var inputcomplete = false
+function randint(min, max){
+ return Math.floor(Math.random() * (max - min + 1) ) + min;
+}
+function stopmatrix(){
+ document.getElementById('matrixcanvas').remove()
+ let nc = document.createElement('canvas')
+ nc.setAttribute('id','matrixcanvas')
+ nc.style.width = '100%'
+ nc.style.height ='0%'
+ document.body.appendChild(nc)
+}
+function matrix(color){
+ let tcolor = ''
+ if(color==='cyan'){
+ tcolor ='#0ff'
+ }
+ else if(color==='blue'){
+ tcolor='#00f'
+ }
+ else if(color==='magenta'){
+ tcolor='#f0f'
+ }
+ else if(color==='red'){
+ tcolor='#f00'
+ }
+ else if(color==='green'){
+ tcolor='#0f0'
+ }
+ else if(color==='yellow'){
+ tcolor='#ff0'
+ }
+ else if(color==='white'){
+ tcolor='#fff'
+ }
+ else if(color==='purple'){
+ tcolor='#303'
+ }
+ var canvas = document.getElementById('matrixcanvas'),
+ ctx = canvas.getContext('2d');
+
+ canvas.style.height = '100%'
+ canvas.width = window.innerWidth;
+ canvas.height = window.innerHeight;
+ var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890&éèçà@æ€ŧøþ@ßðđŋłĸħłµł»¢µ$£ù%^¨';
+ letters = letters.split('');
+
+
+ var fontSize = 10,
+ columns = canvas.width / fontSize;
+
+
+ var drops = [];
+ for (var i = 0; i < columns; i++) {
+ drops[i] = 1;
+ }
+
+
+ function draw() {
+ ctx.fillStyle = 'rgba(0, 0, 0, .1)';
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
+ for (var i = 0; i < drops.length; i++) {
+ var text = letters[Math.floor(Math.random() * letters.length)];
+ ctx.fillStyle = tcolor;
+ ctx.fillText(text, i * fontSize, drops[i] * fontSize);
+ drops[i]++;
+ if (drops[i] * fontSize > canvas.height && Math.random() > .95) {
+ drops[i] = 0;
+ }
+ }
+ }
+
+
+ setInterval(draw, 33);
+}
+function sleep(s) {
+ let ms = s*1000
+ return new Promise(resolve => setTimeout(resolve, ms));
+}
+function randchoice(list){
+ console.log(list[randint(0,list.length-1)])
+ return list[randint(0,list.length-1)]
+}
+//var historic = []
+var lastx = ""
+function historic(){
+ // terminpt.value=historic[historic.lengh-1-index]
+ document.getElementById('terminpt').value = lastx
+}
+onkeydown = function(e){
+ if(e.keyCode==9){
+ autocomplete()
+ }
+}
+onkeyup = function(e){
+ if(e.keyCode==13){
+ inputcomplete = true
+ }
+ else if(e.keyCode == 38){
+ historic()
+ }
+}
+function termshow(str){
+ let tc = document.getElementById('termcontent')
+ let nchild = document.createElement('div')
+ nchild.innerHTML = str.replace('\n',' ')
+ tc.appendChild(nchild)
+ document.getElementById('termcontent').scrollTo(0,document.getElementById('termcontent').scrollHeight)
+}
+function terminput(str){
+ let tiname = document.getElementById('inptname')
+ tiname.innerHTML = str
+ let inpt = document.getElementById('terminpt')
+ if(inputcomplete){
+ console.log(inpt.value)
+ inputcomplete=false
+ let resultat = inpt.value
+ inpt.value = ''
+ return resultat
+ }
+ else{
+ return 'ERR'
+ }
+}
+var x = ""
+function splitaddr(complete, cmd){
+ try{
+ let c = complete.substring(cmd.length)
+ let u = c.split('@')[0]
+ let a = c.split('@')[1]
+ if (a==undefined){
+ termshow('Please complete the command like this: '+cmd+' user@address')
+ return 'ERROR'
+ }
+ else{
+ return [u, a]
+ }
+ }
+ catch(e){
+ console.error(e)
+ termshow('Please complete the command like this: '+cmd+' user@address')
+ return 'ERROR'
+ }
+}
+function infos(){
+ termshow('01010101010101010 1.CyberTermGame.1 0.....By GZod01.....0 10101010101010101 Infos on the game : Hello my name is GZod01 and i make this game in javascript (base game in python) "for fun", I know this game is not reflecting the reality of the command on linux or windows machines but... it is a game... Sorry if the english is not very good i speak french...')
+}
+stopmatrix()
+var passwordlist = ["my_password","helloworld","ultra_secure_password","my_birthday"]
+var filelist = ['picture.png','personnal_datas.csv', 'helloworld.py','i_hate_hackers.txt','speech_for_tomorrow.md', '.ha_ha_this_is_super_secret_file.txt','mydirectory/']
+var connected = false
+var datased = false
+var STOP = false
+infos()
+var user = ""
+var ip = ""
+var password = ""
+var destroyedip = []
+var codeline = ["fn destroy(oiaf){executeshellcomand('destroy oiaf')}","hack-server()","destroy()","fn hack-server(files){for(var i = 0, i the available colors are : default , yellow , red , blue , green . execute the command like this: theme default or theme yellow , etc.')
+ }
+ else{
+ let nx = x.substring('theme '.length)
+ if(nx==='yellow' || nx ==='blue' || nx==='default' || nx ==='red' || nx === 'green'){
+ gamedatas.colorscheme = nx
+ gettheme()
+ }
+ else{
+ termshow('Switch the theme with this command, the available colors are : default , yellow , red , blue , green . execute the command like this: theme default or theme yellow , etc.')
+ }
+ }
+ }
+ else if (lowx.startsWith('matrix')){
+ if(lowx==='matrix'||lowx==='matrix '){
+ matrix(gamedatas.colorscheme)
+ }
+ else{
+ let nx = x.substring('matrix '.length)
+ if(nx==='yellow' || nx ==='blue' || nx==='white' || nx ==='red' || nx === 'green'||nx=='purple'|| nx=='cyan' || nx=='magenta'){
+ matrix(nx)
+ }
+ else if(nx==='stop'){
+ stopmatrix()
+ }
+ else{
+ termshow('Switch the theme with this command, the available colors are : default , yellow , red , blue , green . execute the command like this: theme default or theme yellow , etc.')
+ }
+ }
+ }
+ else if(lowx==='save'){
+ localStorage.setItem('hackergamedatas',JSON.stringify(gamedatas))
+ termshow('Data saved')
+ termshow(localStorage.getItem('hackergamedatas'))
+ }
+ else if(lowx==='import'){
+ let tmpdatas = localStorage.getItem('hackergamedatas')
+ if (tmpdatas == undefined){
+ termshow('you don\'t have any data saved, please execute the save command before to import')
+ }
+ else{
+ gamedatas = JSON.parse(tmpdatas)
+ }
+ }
+ else if (lowx=='ls'){
+ if (connected){
+ if (ipdatas[ip]['files'] == undefined){
+ termshow('This is the file on the distant machine')
+ let fileiplist = []
+ for(let i=0; i < parseInt(randint(1,10)); i++){
+ let currentchoicefile = randchoice(filelist)
+ termshow('-'+currentchoicefile)
+ fileiplist.push(currentchoicefile)
+ }
+ ipdatas[ip]['files'] = fileiplist
+ }
+ else{
+ termshow('This is the file on the distant machine')
+ for(let i = 0; i- my_datas.zip - servers_data.zip')
+ }
+ else{
+ termshow('This is the file on your computer: - my_datas.zip')
+ }
+ }
+ }
+ else if (lowx=='attack'){
+ if( connected){
+ termshow('the attack start... copying all the data in this server to your servers_data.zip file in your computer (it include all the file, folder etc.)... breaking the server... Disconnected: The server is destroy')
+ connected = false
+ datased = true
+ ipdatas[ip]['destroyed'] = true
+ }
+ else{
+ termshow('error you are not connected, please connect to a distant server before executing this command')
+ }
+ }
+ else if( x==='help'){
+ termshow('The available commands: - help : print this message - ls : list the files and folders - pbk (only in your computer) : Get the password of an user from an ip address - ssh (only in your computer) : conect to a distant server with an user and an ip address (you have to use pbk to get the password) - attack (only in ssh servers) : start an attack that will add all the datas on the server in your servers_data.zip file and will destroy the server (warning this will no destroy only the server from the user it will destroy ALL the server (the address)) - theme : switch the theme of the game\n- save : save the game in your localStorage (alternative to cookies)\n- import : import the game from your localStorage\n- matrix : start or stop a matrix rain animation (just for fun...)\n- exit : if you are connected to distant server (ssh) it deconnect you, if you are not connected it exit this game - infos : display infos on this game')
+ }
+ else if (lowx==='exit'){
+ if (connected){
+ termshow('disconnecting...')
+ connected=false
+ }
+ else{
+ termshow('Exiting the session...')
+ termshow('Exiting the game, thank to play to this game, don\'t hesitate to help me or to give me your feedback')
+ STOP = true
+ location = '/'
+ }
+ }
+ else if (lowx==='hack'){
+ if (connected){
+ termshow('--Start-of-the-hacking-program--')
+ for(let i = 0; i
+
+
+ CyberTermHack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/main-site/CyberTermHack/V0.2/maincode.js b/main-site/CyberTermHack/V0.2/maincode.js
new file mode 100644
index 0000000..2f1ab78
--- /dev/null
+++ b/main-site/CyberTermHack/V0.2/maincode.js
@@ -0,0 +1,426 @@
+var x = ""
+function splitaddr(complete, cmd){
+ try{
+ let c = complete.substring(cmd.length)
+ let u = c.split('@')[0]
+ let a = c.split('@')[1]
+ if (a==undefined){
+ termshow('Please complete the command like this: '+cmd+' user@address')
+ return 'ERROR'
+ }
+ else{
+ return [u, a]
+ }
+ }
+ catch(e){
+ console.error(e)
+ termshow('Please complete the command like this: '+cmd+' user@address')
+ return 'ERROR'
+ }
+}
+function infos(){
+ termshow('01010101010101010\n1.CyberTermGame.1\n0.....By GZod01.....0\n10101010101010101\nInfos on the game : Hello my name is GZod01 and i make this game in javascript (base game in python) "for fun", I know this game is not reflecting the reality of the command on linux or windows machines but... it is a game...\nSorry if the english is not very good i speak french...')
+}
+stopmatrix()
+var passwordlist = ["my_password","helloworld","ultra_secure_password","my_birthday"]
+var filelist = ['picture.png','personnal_datas.csv', 'helloworld.py','i_hate_hackers.txt','speech_for_tomorrow.md', '.ha_ha_this_is_super_secret_file.txt','mydirectory/']
+var connected = false
+var datased = false
+var STOP = false
+infos()
+var user = ""
+var ip = ""
+var password = ""
+var destroyedip = []
+var codeline = ["fn destroy(oiaf){executeshellcomand('destroy oiaf')}","hack-server()","destroy()","fn hack-server(files){for(var i = 0, i
+
diff --git a/main-site/CyberTermHack/index.html b/main-site/CyberTermHack/index.html
new file mode 100644
index 0000000..f7b73be
--- /dev/null
+++ b/main-site/CyberTermHack/index.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+ index.html
+
+
+
+
+
Liste des versions
Version 0.1Version O.1.2 OPTIMISEEVersion 0.2 NEWEST
Ceci est le site de GZod01 sur ce site vous pouvez trouver les Jeux que j'ai créé (sauf exceptions), les Services que je propose, mes Projets et autres.
+
Si vous voulez me contacter pour me demander des infos, me suggèrer quelque chose, me rejoindre, me proposer un projet ou autres, vous pouvez vous rendre sur la page de Contact.
+
Le Plan du Site regroupe des liens vers toutes les pages disponibles sur mon site (en tout cas les pages principales).
blog.gzod01.fr : Mon Blog principal sur lequel je poste des articles sur la programmation (et moins souvent sur les jeux vidéos).
+
blog2.gzod01.fr : Mon Blog secondaire sur lequel je poste des articles sur des sujets plus globaux (un peu sur tout et n'importe quoi).
+
host.gzod01.fr : Mon service d'hébérgement de page (explications sur le site).
+
api.gzod01.fr : Les apis que j'ai créé pour mon site ou pour d'autres projets sont sur ce domaine (StyleSheet CSS, Script JS, Headers et Footers HTML, etc.)
+ A propos de moi: Developpeur Français, j'ai des compétences en Python, HTML, JS, un peu de CSS, un peu de GDScript(le language de Godot). J'essaye d'apprendre des languages de programmation comme: PHP, C, C++, C#, Rust. J'utilise le pseudonyme de GZod01 car je préfère garder mon identité secrète pour le moment.
+
Au fait, petit easter egg, appuyez sur ce bouton pour activer le thème matrix sur ce site
+ Dans la liste suivante de jeu, seule ceux pour lesquels je le précise n'ont pas été créé par moi (ex: USCPM) tous les autres ont été créé par moi...
+ USCPM: USCPM est une version améliorée du jeu SuperChronoPortalMaker (fait par Maxime Euzière et Anders Kaare pour les JS13K (deux personnes que je ne connais absolument pas mais leur jeu est sympa et, avec des compétences en JS, facile à modifier)), USCPM a quelques fonctionnalités qui le rendent différent du jeu original. (Par conséquent ce n'est pas moi qui ai créé l'original du jeu)
+
+ CyberTermHack : CyberTermHack est un jeu que j'ai créé (contrairement à USCPM), l'interface
+ de ce jeu et de type terminal (meme la version WEB), vous jouez un hacker et... amusez vous a hacker (bien evidemment, ce jeu ne met pas en scène des vrais techniques de piratage... ce serait bien trop dangereux...)
+
+ SubAquAlien Explorer (Article du Blog expliquant comment le télécharger): SubAquAlien Explorer est un jeu que j'ai créé dans lequel vous incarnez un alien explorant le monde subaquatique
+ d'une planète alien, faites attention aux ennemis...
+
+ NoEnd Space Runner A new endless runner in the space
+
+ Dans la liste suivante de jeu, seule ceux pour lesquels je le précise n'ont pas été créé par moi (ex: USCPM) tous les autres ont été créé par moi...
+ USCPM: USCPM est une version améliorée du jeu SuperChronoPortalMaker (fait par Maxime Euzière et Anders Kaare pour les JS13K (deux personnes que je ne connais absolument pas mais leur jeu est sympa et, avec des compétences en JS, facile à modifier)), USCPM a quelques fonctionnalités qui le rendent différent du jeu original. (Par conséquent ce n'est pas moi qui ai créé l'original du jeu)
+
+ CyberTermHack : CyberTermHack est un jeu que j'ai créé (contrairement à USCPM), l'interface
+ de ce jeu et de type terminal (meme la version WEB), vous jouez un hacker et... amusez vous a hacker (bien evidemment, ce jeu ne met pas en scène des vrais techniques de piratage... ce serait bien trop dangereux...)
+
+ SubAquAlien Explorer (Article du Blog expliquant comment le télécharger): SubAquAlien Explorer est un jeu que j'ai créé dans lequel vous incarnez un alien explorant le monde subaquatique
+ d'une planète alien, faites attention aux ennemis...
+
+ NoEnd Space Runner A new endless runner in the space
+
Ce site appartient à GZod01, il est géré, créé, codé et hébérgé par GZod01
+
+
Politique de Confidentialité
+
Utilisation des Cookies
+
Les seuls cookies utilisés par ce site sont pour le bon fonctionnement de celui-ci (theme de couleur, données des jeux pour les sauvegardes)
+ (attention dangereux si vous avez fait des sauvegardes dans un des jeux sur ce site vous risquez de les perdre pour toujours (ça fait beaucoup de temps))
+
Tous les cookies présent sur ce site restent sur votre ordinateur, aucun cookies n'est envoyé a des services tiers.
+
Les cookies ne sont donc a aucun moment récoltés par un quelconque serveur
+ GZod01
+ - Retour à l'Accueil
+ - À PROPOS
+ -
+ -
+ -
+
+
+ - using localStorage
+
diff --git a/main-site/uscpm/play.bat b/main-site/uscpm/play.bat
new file mode 100644
index 0000000..d419a21
--- /dev/null
+++ b/main-site/uscpm/play.bat
@@ -0,0 +1,21 @@
+echo checking internet connection
+Ping www.google.fr -n 1 -w 1000
+cls
+if errorlevel 1 (set internet="Not connected to internet") else (set internet="Connected to internet")
+
+echo %internet%
+if %internet% == "Connected to internet" (
+ echo "" > ".\uscpm.html"
+ echo "do"
+ start "" ".\uscpm.html"
+)
+else (
+ if exist ".\uscpm.html" (
+ start "" ".\uscpm.html"
+ ) else (
+ msg "%USERNAME%" "Sorry, your computer can't access to internet and the USCPM file doesn't exist, if the error persist create an issue in the github: https://github.com/gzod01/uscpm"
+ rem echo "x=msgbox("Sorry, your computer can't access to internet and the USCPM file doesn't exist, if the error persist create an issue in the github: https://github.com/gzod01/uscpm", Button+Icon, "ERROR USCPM")" > .\message.vbs
+ rem .\message.vbs
+ rem del .\message.vbs
+ )
+)
\ No newline at end of file
diff --git a/main-site/uscpm/texttoshare.html b/main-site/uscpm/texttoshare.html
new file mode 100644
index 0000000..e0abbfe
--- /dev/null
+++ b/main-site/uscpm/texttoshare.html
@@ -0,0 +1,19 @@
+