Once you join our Discord server, you can use the /generate
command to quickly and easily create a container running Ubuntu.
You can select an Operating System for your container by using the /genos
command.
Simply use the drop down to select the OS you would like to use.
Inactive containers that are not extended within 7 days will be removed at 6 PM EST daily.
The containers root password and SSH connection information will be sent through Direct Message to you. However, if you created your container through the Web Control Panel, the default password for it will be
DiscordLinux
.
When your first container is created, a unique SSH ID is generated and assigned to you as your user ID within our platform. This ID is then linked to the current platform you are using. You can use this ID when ordering upgrades, and view it at any time by entering /my-id
.
Each generated container has an expiration date which is seven (7) days after the container generated, and will be removed automatically after that.
Only containers that are upgraded has no expiration date until your key expires.
If you want your free container to run longer than seven (7) days, you need to extend the container by running the extend command /extend
to add seven (7) days from the date the command was ran.
Here is an example of checking your containers time:
Here is an example of a time extension:
The notifications of removal will only be sent if you are in the same server as
@dlinux-Notifs
bot and have your Direct Message enabled.
By running the command/invite-notifs-bot
, you’ll be able to invite the bot into your server
We have a brand new control panel, accessible at https://ctl.ssh.surf .
Login credentials to access this panel will be sent to you through Direct Message when you first create a container.
Note: Login credentials will only be sent once. So, make sure you saved your login credentials somewhere safe.
If you somehow lose access to it, please contactsnxraven#8205
This control panel has the ability to manage your container, such as:
And many other great features!
You can also view the containers resource usage with easy to understand graphs, as well as the ability to view all the currently running processes.
You are provided with a randomly generated password through Direct Message once container generation has completed. However you have the capability to change the password as many times as you want.
Secure your container by running the following command:
/x echo "root:newpasswordhere" | chpasswd
You can also login via SSH and use default Linux like this:
passwd root
Note: Please enable privacy mode using
/privacy
before submitting the command.
And make sure the slash command loaded first before running it.
You could also reset your container’s root password using our API:
https://docs.discord-linux.com/en/api#get-rootpass
Commands sent via Discord-Linux bots are non-interactive which means if a command requires user input, the process will wait indefinitely.
Once your container has been generated, you can submit commands to it, this can be done using the /x command
syntax.
Each container is linked to users through User ID, so it’s not possible for other users to submit command as you which guarantees the safety of your container.
Here is an example of the /x command
syntax
This is showing the command as it finishes running:
As you can see in the above, the /x command
syntax will allow the user to submit any linux command in any public discord channel that allows the bot access.
All users interact under the “root” user.
Just like any Linux Environment, you will need to browse the filesystem directories and create files and directories.
In this example, we are going to change to the root directory of the container:
Once submitted, the bot will confirm its working directory:
Now, you can ls the directory to view its contents using /x cmd ls
Upon your first few uses of the containers, you will see start.sh
in the root directory of the container
This script is called when the container boots up, this is where you define your systemctl service starts or any commands you would like to run during boot time.
Here I will break down each line in the stock file:
#!/bin/sh
< – Tells the system to use SH
export CID=$(basename $(cat /proc/1/cpuset))
< — Container ID as a system VAR
service ssh start
< — This starts the SSH Server on boot
sh /var/tools/getsystemctl.sh
< — Replacement for systemctl which is required
tail -f /dev/null
<— To keep the container running! DO NOT REMOVE!
Make sure you edit this file via SSH and not the bot!
And make sure to runchmod +x /start.sh
when you are done editing the file.
We now offer a built-in Notification Service that comes with our AutoInstallers. This Linux binary allows your container to send you notifications about anything you desire, such as when an installation is complete. With this, you can run the installer and then go about your day without having to constantly check on its progress. You’ll receive a direct link to your installation once it’s finished, so you can get back to work quickly.
To use, simply pass text:
$ notif discord|revolt “This is a test message”
I also coded it to form a message out of args like so:
$ notif discord|revolt This is a test message
Both commands will output the same message.
The recent update to the bot now supports modals, allowing you to write files to the filesystem of your container using the new /write-file
slash command. This command will open a form that looks like this:
The output will be like so:
Then you can check the contents of your new file:
To edit a file from within your container, run the /edit-file
command and provide the full path to the desired file. A discord form will then appear with the file’s contents, allowing you to make changes quickly and easily.
Be sure to only use this command to edit small files, and not a large file with hundreds of lines.
There are three easy ways to upload files to your container.
Using SFTP to connect to the SSH Port of your container to directly upload.
You can use our Command Line Uploader Tool which will allow you to upload a file right on the commandline of your PC.
To get started doing so, generate an upload key using the /upload-key
command.
Once you have a key run the following:
bash <(curl -s https://ssh.surf/uploadInstall)
This will begin the installation, it will ask for your SSHID and KEY.
The script will then configure and install sshup at /usr/bin/sshup, will will also chmod it for you
Uploading a file is as easy as this:
~ ❯ sshup woo.js
######################################################### 100.0%
📝 woo.js 💾 (418.00 Bytes) ➡ 🐳 / ➡ 🌐 SSH34457493201438
If you do not want to use the client, you can make a manual call using curl like so:
curl -X POST -F myFile=@YOURFILE "https://up.ssh.surf/?cid=SSHIDHERE&key=KEYHERE"
Using the upload script does not contain any upload limits besides your filesystems quota.
You can now upload files within Discord-Linux using the /upload
command, this command is limited to your accounts upload limits.
An attachment is required.
WARNING: All files uploaded using
/upload
will also enter Discord’s CDN
DO NOT UPLOAD SENSITIVE FILES OR DATA TO THIS SERVICE.
Each container gets a set of 4 ports open, one is dedicated to SSH and is binded to port 22 on your container, the other is dedicated to HTTP Server and that is binded to port 80 on your container.
Here is how to check your ports with the /ports
command:
If you would like to register a subdomain to be used as a hostname for your container, you can use our custom Hostname Generator
There are only two steps involved:
Step 1) Register the subdomain:
/register-subdomains
This will show a discord form where you can selectthe subdomain you want to register:
Once submitted, your subdomain will be ready for the next step.
Step 2) Generate a VHOST within Apache.
To do so run the following command:
/vhost-subdomains
This will show a discord form where you can the sudomain and port number you are using for the subdomain:
When assigning a port, you will use the local port within your own container, running a webserver on port 80? Use port 80.
As of March 7th 2023 our DNS Node has been in a state of decommission
Below are the new instructions on how to use your own domain with our services.
If you currently have a domain within our Panel, We suggest moving to https://cloudflare.com
You may also use any other free DNS Service out there including your registrar.
Our IP Address is:
132.145.188.157Please set your A Record for your domain accordingly.
You may instead set a CNAME to ssh.surf. to ensure that the IP updates
automatically if it ever changes.
Here is an example DNS Configuration at CloudFlare which will work perfectly:
To add a domain under your account, please use the following command:
/register-custom
(Only add primary domains, no subdomains)
This will ask you for the domain you wish to add:
Next, you would need to generate a certificate for the domain:
/domain-certificate
This will show a form asking which domain or subdomain your generating a certificate for:
DNS MUST BE PROPAGATED BEFORE ISSUING A CERTIFICATE.
Use the below URL to check for the correct NS Records and A Records before requesting a certificate!
https://dnschecker.org/#A/yourdomain.com
https://dnschecker.org/#NS/yourdomain.com
Lastly, add a VHOST for a PORT:
/vhost-custom
This will show a discord form where you can provide your domain or subdomain and then your port.
When assigning a port, you will use the local port within your own container, running a webserver on port 80? Use port 80.
You can check your container resource usage within Discord using /stats
like so:
If you need a backup or to download an export of your container to start up at another host, you can use the /export
command. You will then receive a DirectMessage with a download link containing the entire filesystem of your container.
If you’d like to start from scratch, it’s easy to do with our system. Just use the /destroy
command to delete your existing container, then use /generate
to create a new one. You’ll be ready to go in no time!
Note: Running this command will remove all of your existing data in the container, please think twice if you really want to run this command.
We offer container upgrades at our upgrade store: https://ssh.surf
Before purchasing an upgrade at our store, please ensure you have a container running within any of our platform and that you know your SSHID.
Within this example, I will show us upgrading our test users container to the “Pro” plan.
At the upgrades page, add your SSHID as shown below
Submit your order and complete your checkout using using your credit/debit card:
Once you see the “Order Confirmation” screen, the upgrade has already completed and you will notice a license key:
You can add your key to the Discord-Linux bot using the /add-key command, this will allow the upgrade to be applied to any containers you generate, this uses a modal form for your privacy:
Once submitted, the key is added:
Here is showing the upgraded resources:
Then, you can now check the details about this license key using /key-status like so:
Any key that expires gets automatically removed from the system and the container will be reset to default limits (besides network ports and disk) Upgrades can be purchased at any time.
If you’d like to support our mission of keeping our services online and providing more powerful machines, please consider purchasing a container upgrade or donating through the link below. Your contribution will help us continue to provide the best possible service. Thank you for your generosity!