After joining our Discord server, you can use the /generate
command to instantly create a container that runs Ubuntu.
To choose an Operating System for your container, simply use the /genos
command and select your preferred OS using the drop-down menu.
If containers are not extended or inactive for 7 days, they will be deleted daily at 6 PM EST.
We will send you the root password and SSH connection details for your container via Direct Message. In case you created your container using the Web Control Panel, the default password will be DiscordLinux.
After creating your first container, a special SSH ID is generated and assigned to you as your user ID on our platform.
This ID is tied to your current account and can be used for upgrades. You can easily find your ID by running /my-id
.
You can bind your IDs from revolt and guilded using the /bind
command.
Simply select the platfrom you are adding and submit your ID.
Once done, your container is accessible within those platforms for your user.
Our containers are only available for seven days before they expire and are deleted automatically.
Upgraded containers don’t have an expiration date, as long as your key is still valid.
To keep your free container running for more than seven days, you can use the /extend
command to add another seven days from the date you use the command.
This is an example of how to check the remaining time on your container:
To extend the time on your container, you can follow this example:
Notifications about container removal will only be sent to users who are on the same server as the @dlinux-Notifs Discord bot and have their Direct Messages turned on.
If you want to add the @dlinux-Notifs bot to your server, simply run the/invite-notifs-bot
command.
To use our new control panel, go to https://ctl.ssh.surf.
You’ll receive the login credentials for the control panel through Direct Message after you create your first container.
Don’t forget to save your login credentials somewhere safe, since we’ll only send them to you once.
Should you lose access to your login information, please contact snxraven#8205 on Discord for assistance.
Our new control panel lets you manage your container, including starting, stopping, and restarting it, as well as accessing the terminal on-the-go without requiring an SSH connection.
Our control panel features easy-to-read graphs that display your container’s resource usage, and lets you view all running processes.
Once your container is generated, a password will be sent to you via Direct Message. You have the option to change this password as many times as you need to.
Running the following command will allow you to change your container’s password:
/x cmd: echo "root:newpasswordhere" | chpasswd
Additionally, you can log in through SSH and use default Linux commands like this:
passwd root
Make sure to turn on privacy mode with
/privacy
before submitting the command.
Before running the command, make sure the slash command has loaded correctly.
Our API also allows you to reset your container’s root password.
https://docs.ssh.surf/en/api#get-rootpass
If a command sent through Discord-Linux bots requires user input, the process will wait indefinitely since interactive commands are NOT supported.
The /x <command>
syntax can be used to submit commands to your container after it has been generated.
Each container is connected to a user through a User ID, so it’s impossible for other users to execute commands on your behalf, ensuring your container’s safety.
Here’s an example of how to use the /x <command>
syntax.
The command’s output will be shown when it’s finished running:
With the /x <command>
syntax, you can run Linux commands in any public Discord channel that the bot has been granted access to.
Each user has “root” access to their own container, but it’s not exactly the same as being the real “root” user, so there are some limitations in terms of kernel access and capabilities.
In the same way as in a typical Linux environment, you will need to explore directories and create files and directories.
Let’s change to the root directory of the container with this example.
When you run the command to change to the root directory of the container, the bot will confirm that it has changed its working directory.
Use the command /x cmd: ls
to view the contents of the directory.
Note: File Navigation commands: cd, pwd and ls are custom built by us when using the bot.
These commands, may not act 100% as their linux counterparts, please let us know if you notice issues.
When you use the container for the first time, you’ll find a script named start.sh in the root directory. It’s executed during boot time and allows you to set up commands or services you want to run during startup, including systemctl services.
This will explain what each line in the start.sh
file does.
#!/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!
After you have finished editing the start.sh file, it is important to run the chmod +x /start.sh command to make it executable. It is also crucial that you edit the file using SSH and not the bot to ensure that the changes are saved and applied correctly.
Our AutoInstallers now come with a built-in Notification Service that can send you alerts about the progress of your installation. This is a Linux program that can notify you when the installation is complete, so you can stay informed without constantly checking on it. Once the installation is done, you will receive a direct link so you can access it immediately and get back to your work.
To use, simply pass these commands:
$ notif discord|revolt “This is a test message”
It was also coded to form a message out of arguments like this:
$ notif discord|revolt This is a test message
Both commands will output the same message.
The bot’s recent update now supports modals, which let you write files to your container’s filesystem using the /write-file slash command. When you use this command, a form will pop up, which looks like this:
The output will be like so:
Then you can check the contents of your new file:
Use the /edit-file
command with the full path to a file to edit it from within your container. A form with the file’s contents will appear, allowing you to make changes easily. However, only use this command for small files and not large ones with hundreds of lines.
You can upload files to your container using any of these three simple methods.
You can upload files to your container by connecting to its SSH port using SFTP.
You can use our Command Line Uploader Tool to upload files directly from your computer’s command line.
To begin uploading files to your container, you can use the /upload-key
command to generate an upload key.
Once you have the upload key, run the following:
bash <(curl -s https://ssh.surf/uploadInstall)
This will start installing the tool, and during the process, it will prompt you for your SSHID and KEY.
The install script will set up and install a Linux binary called sshup at the location /usr/bin/sshup
. Additionally, it will set the correct file permissions for the binary using the chmod
command.
To upload a file, use the command sshup <filename>
. Once the upload is complete, you will see some output messages as shown here:
~ ❯ sshup woo.js
######################################################### 100.0%
📝 woo.js 💾 (418.00 Bytes) ➡ 🐳 / ➡ 🌐 SSH34457493201438
If you prefer not to use the client, you can manually upload a file using the curl command, like this:
curl -X POST -F myFile=@YOURFILE "https://up.ssh.surf/?cid=SSHIDHERE&key=KEYHERE"
You can upload files without any restrictions using the script, as long as you don’t exceed your file system’s 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.
If you want to check your ports, use the /ports
command.
Utilize our Web Proxy to host content within your container effortlessly. Follow these steps to bring your website online:
Step 1: Register an Account with Our Proxy Service
To begin, register an account with our proxy service by visiting:
/register-vhost-account
You will receive your login details via direct message. Please make sure to save these details for future reference.
Ensure that you have a webserver up and running.
Step 2: Generate a VHOST within Our Proxy System
Execute the following command:
/create-vhost
This will present the above form, you may provide your own domain or to claim a subdomain provided from us, you may register any-subdomain.ssh.surf OR *.ssh.surf
Lastly, tell the proxy what port within your container is listening for your service.
During registration an SSL Certificate will automatically be generated for your VHOST.
You may find the VHOST and the SSL Certificate within your provided web panel account.
Want to make a quick IP update or Port change to a VHOST?
Simply rerun the/create-vhost
command to update via the bot.
Please do not change your password within the proxy panel at this time.
A command will be provided to change your password soon.
To remove a VHOST from your account simply run the following command:
/delete-vhost domain:example.com
This will remove both the VHOST and the certificate for it.
You can view your container resource usage in Discord by using /stats
command:
You can obtain a download link for your container’s complete filesystem by using the /export
command, which is useful for creating backups or migrating to a different host.
Starting anew is simple with our system; just use /destroy
to delete your current container, and then create a new one with /generate
or /genos
. You’ll be up and running again in no time.
This command will delete all the data in your container. Please consider carefully before running the
/destroy
command.
You can upgrade your container at our upgrade store located at https://ssh.surf.
Check if you have a container and know your SSHID before purchasing an upgrade from our store.
Here is an example of how to upgrade a container from the “Free” plan to the “Pro” plan.
To upgrade your container, make sure you have a running container in any of our platforms and know your SSHID. Then go to the upgrade page, enter your SSHID, and complete the checkout using your credit/debit card.
The upgrade is done after you see the “Order Confirmation” screen, and you will get a license key.
After purchasing an upgrade, you’ll receive a license key. You can apply this upgrade to any container you generate using the /add-key
command. The command uses a modal form for privacy, so no one else can access your key.
After submitting the license key with the /add-key
command, your container will be upgraded automatically.
This shows how much more resources you’ll get with the upgrade.
After adding your license key to the Discord-Linux bot, you can check its status using the /key-status
command. This will provide you with information about the key, including its status, date ordered and expiration date.
Expired license keys are removed automatically, causing the container to revert to default limits, except for network ports and disk. You can purchase upgrades anytime.
You can support our mission of keeping our services online and providing more powerful machines by 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 support!