<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: kokodev</title>
    <description>The latest articles on DEV Community by kokodev (@kokofixcomputers).</description>
    <link>https://dev.to/kokofixcomputers</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2117051%2Fbc3c9bf4-2126-4aa1-8407-801feeeef9c4.png</url>
      <title>DEV Community: kokodev</title>
      <link>https://dev.to/kokofixcomputers</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kokofixcomputers"/>
    <language>en</language>
    <item>
      <title>How to install pterodactyl on oracle instance</title>
      <dc:creator>kokodev</dc:creator>
      <pubDate>Tue, 01 Oct 2024 18:32:19 +0000</pubDate>
      <link>https://dev.to/kokofixcomputers/how-to-install-pterodactyl-on-oracle-instance-4mf3</link>
      <guid>https://dev.to/kokofixcomputers/how-to-install-pterodactyl-on-oracle-instance-4mf3</guid>
      <description>&lt;p&gt;Hi there! You might be wondering why am i doing this? Well, it's because that i tried multiple tutorials and they don't seem to work. So that's why i'm making my own!&lt;/p&gt;

&lt;p&gt;I'm not going to cover over creating the instance. &lt;/p&gt;

&lt;h2&gt;
  
  
  Link your domain to the oracle instance (if you want. otherwise you can use ip)
&lt;/h2&gt;

&lt;p&gt;I use cloudflare.&lt;/p&gt;

&lt;p&gt;Go to dns records:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxipfun32du8e93421he.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxipfun32du8e93421he.png" alt="DNS Records"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a new record:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vyzyqdeih5elwvk5vpl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vyzyqdeih5elwvk5vpl.png" alt="add a record"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Turn off proxy (if your using cloudflare)&lt;/p&gt;

&lt;p&gt;Set the record type to &lt;code&gt;A&lt;/code&gt; then set the name to the subdomain you want pterodactyl to run on. (node/panel/both) You will choose later.&lt;/p&gt;

&lt;p&gt;Then set the ip address to your oracle instance's public ip&lt;/p&gt;

&lt;p&gt;Lastly, Click save.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1a: Firewall
&lt;/h2&gt;

&lt;p&gt;After ssh-ing into your instance, you first need to configure the firewall to open all ports. Because then you can access the ports of your pterodactyl servers. Aswell as the pterodactyl panel itself.&lt;/p&gt;

&lt;p&gt;First you have to figure out what is blocking the things. So run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo iptables -L -n --line-numbers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I got something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ubuntu@instance-20241001-1002-nocost-wing:~$ sudo iptables -L -n --line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:123
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
6    REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
7    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    InstanceServices  all  --  0.0.0.0/0            169.254.0.0/16      

Chain InstanceServices (1 references)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  0.0.0.0/0            169.254.0.2          owner UID match 0 tcp dpt:3260 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
2    ACCEPT     tcp  --  0.0.0.0/0            169.254.2.0/24       owner UID match 0 tcp dpt:3260 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
3    ACCEPT     tcp  --  0.0.0.0/0            169.254.4.0/24       owner UID match 0 tcp dpt:3260 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
4    ACCEPT     tcp  --  0.0.0.0/0            169.254.5.0/24       owner UID match 0 tcp dpt:3260 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
5    ACCEPT     tcp  --  0.0.0.0/0            169.254.0.2          tcp dpt:80 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
6    ACCEPT     udp  --  0.0.0.0/0            169.254.169.254      udp dpt:53 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
7    ACCEPT     tcp  --  0.0.0.0/0            169.254.169.254      tcp dpt:53 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
8    ACCEPT     tcp  --  0.0.0.0/0            169.254.0.3          owner UID match 0 tcp dpt:80 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
9    ACCEPT     tcp  --  0.0.0.0/0            169.254.0.4          tcp dpt:80 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
10   ACCEPT     tcp  --  0.0.0.0/0            169.254.169.254      tcp dpt:80 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
11   ACCEPT     udp  --  0.0.0.0/0            169.254.169.254      udp dpt:67 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
12   ACCEPT     udp  --  0.0.0.0/0            169.254.169.254      udp dpt:69 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
13   ACCEPT     udp  --  0.0.0.0/0            169.254.169.254      udp dpt:123 /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
14   REJECT     tcp  --  0.0.0.0/0            169.254.0.0/16       tcp /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */ reject-with tcp-reset
15   REJECT     udp  --  0.0.0.0/0            169.254.0.0/16       udp /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */ reject-with icmp-port-unreachable

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you don't see any &lt;code&gt;REJECT&lt;/code&gt; rules, you're good to go!&lt;br&gt;
But in my case, I do.&lt;br&gt;
So, if you do, figure out the numbers that have &lt;code&gt;REJECT&lt;/code&gt; Only in chains  input, output, forward. &lt;/p&gt;

&lt;p&gt;Then, remove these. for example, I have a REJECT in line number 6 in INPUT&lt;br&gt;
So, I would run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo iptables -D INPUT 6
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then repeat for all &lt;code&gt;REJECT&lt;/code&gt; in &lt;code&gt;INPUT, OUTPUT, FORWARD&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1b: Add allow to firewall.
&lt;/h2&gt;

&lt;p&gt;This step is easy! Just run the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo iptables -A INPUT -j ACCEPT
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will make an firewall rule to ACCEPT all incoming traffic.&lt;br&gt;
Then, save your changes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo iptables-save | sudo tee /etc/iptables/rules.v4
sudo netfilter-persistent save
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 2a: Use &lt;code&gt;wget&lt;/code&gt; to get the pterodactyl install script.
&lt;/h2&gt;

&lt;p&gt;I use this script because it is so easy to install! Just answer a few questions and then it installs everything for you!&lt;br&gt;
Run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget pterodactyl-installer.se
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;for some reason, it saves as &lt;code&gt;index.html&lt;/code&gt; so run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mv index.html pterodactyl-installer.sh
chmod +x pterodactyl-installer.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The last line &lt;code&gt;chmod +x pterodactyl-installer.sh&lt;/code&gt; makes the file executable so that you can run it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Run the script and install!
&lt;/h2&gt;

&lt;p&gt;This step will install pterodactyl! Whether you want to install wings or the panel or both on the same machine, this script will do it!&lt;/p&gt;

&lt;p&gt;Run the script with sudo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ./pterodactyl-installer.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And answer the questions!&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2b: Answer the questions:
&lt;/h2&gt;

&lt;p&gt;At first when you run the script, you will see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ubuntu@instance-20240930-2144-wing-highperf:~$ sudo ./pterodactyl-installer.sh
* Retrieving release information...
######################################################################
* Pterodactyl panel installation script @ v1.1.0
* 
* Copyright (C) 2018 - 2024, Vilhelm Prytz, &amp;lt;vilhelm@prytznet.se&amp;gt;
* https://github.com/pterodactyl-installer/pterodactyl-installer
* 
* This script is not associated with the official Pterodactyl Project.
* 
* Running ubuntu version 22.04.
######################################################################
* What would you like to do?
* [0] Install the panel
* [1] Install Wings
* [2] Install both [0] and [1] on the same machine (wings script runs after panel)
* [3] Install panel with canary version of the script (the versions that lives in master, may be broken!)
* [4] Install Wings with canary version of the script (the versions that lives in master, may be broken!)
* [5] Install both [3] and [4] on the same machine (wings script runs after panel)
* [6] Uninstall panel or wings with canary version of the script (the versions that lives in master, may be broken!)
* Input 0-6: 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Which option depends on what you want to install. If you want to install the panel then run 0. If you want to install the wings (node) then run 1. If you want to install both on the same machine, run 2. I would recommend 2 if you haven't got a panel running yet.&lt;/p&gt;

&lt;p&gt;I chose 1 Because i already have a panel on another machine.&lt;/p&gt;

&lt;p&gt;After you choose your option, it will start installing some dependencies. &lt;br&gt;
Then, it will ask some more questions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* Do you want to automatically configure UFW (firewall)? (y/N): 
* Do you want to automatically configure a user for database hosts? (y/N): 
* Do you want to configure MySQL to be accessed externally? (y/N): 
* Enter the panel address (blank for any address): 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I would leave the first question to &lt;code&gt;N&lt;/code&gt; as we already configured the firewall. Then put &lt;code&gt;y&lt;/code&gt; for the second quesion as it will not work without it. For some reason, without setting the &lt;code&gt;Do you want to configure MySQL to be accessed externally?&lt;/code&gt; to &lt;code&gt;y&lt;/code&gt; it doesn't work for me. So... set it to y. Then leave the last question blank.&lt;/p&gt;

&lt;p&gt;More questions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* WARNING: Allow incoming traffic to port 3306 (MySQL) can potentially be a security risk, unless you know what you are doing!

* Would you like to allow incoming traffic to port 3306? (y/N): y
* Database host username (pterodactyluser): 
* Database host password: **********************************

* WARNING: You cannot use Let's Encrypt with your hostname as an IP address! It must be a FQDN (e.g. node.example.org).

* Do you want to automatically configure HTTPS using Let's Encrypt? (y/N): y
* Set the FQDN to use for Let's Encrypt (node.example.com): 

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I put &lt;code&gt;y&lt;/code&gt; as the first question.&lt;br&gt;
and left the 2th question blank.&lt;br&gt;
Then i typed in a password that i would remember in the 3th question.&lt;/p&gt;

&lt;p&gt;If you want to use a domain, I recommand you put the &lt;code&gt;y&lt;/code&gt; in the 4th question to request a certificate from let's encrypt. If you don't use a domain, put &lt;code&gt;n&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;If you chose y, to request a domain, Put in the domain you want the pterodactyl service to run on (panel/node/both)&lt;/p&gt;

&lt;p&gt;Then it will start installing!&lt;br&gt;
If you chose to use ssl, then you will later need to accept Let's Encrypt's TOS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.4-April-3-2024.pdf. You must agree in
order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Just put y and it will continue.&lt;/p&gt;

&lt;p&gt;Then,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;######################################################################
* Wings installation completed
*
* To continue, you need to configure Wings to run with your panel
* Please refer to the official guide, https://pterodactyl.io/wings/1.0/installing.html#configure
* 
* You can either copy the configuration file from the panel manually to /etc/pterodactyl/config.yml
* or, you can use the "auto deploy" button from the panel and simply paste the command in this terminal
* 
* You can then start Wings manually to verify that it's working
*
* sudo wings
*
* Once you have verified that it is working, use CTRL+C and then start Wings as a service (runs in the background)
*
* systemctl start wings
*
* Note: It is recommended to enable swap (for Docker, read more about it in official documentation).
######################################################################
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Great job! Wings/Panel is successfully installed! For the panel, it's already running! You can already access it at your domain (if you set it up) or instance's public ip. If your installing wings: there are just a few more things before you can run it!&lt;/p&gt;

&lt;h2&gt;
  
  
  Wings setup (if you installed wings or chose install both wings and panel on same machine)
&lt;/h2&gt;

&lt;p&gt;Go into your panel, login, you will see something like that:&lt;br&gt;
Actually you won't. I already installed a custom theme.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnb7ll4rnq4vqyqocovc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnb7ll4rnq4vqyqocovc.png" alt="Panel"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go into the admin panel and on the side bar click Locations:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7z3wgu5hrc19xkix4u6p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7z3wgu5hrc19xkix4u6p.png" alt="admin sidebar"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;then click create new:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65ih5sohdbb04dlb9vjb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65ih5sohdbb04dlb9vjb.png" alt="create location"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then put in a random short code. In this case, i put in &lt;code&gt;Oracle&lt;/code&gt; and left the description blank. Then click create.&lt;/p&gt;

&lt;p&gt;Then click nodes in the sidebar and click &lt;code&gt;Create New&lt;/code&gt; fill in the details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FQDN: The domain or ip the node is on. If the panel has SSL, your node must use domain and also have SSL. If you selected install both on same machine then it is the url the panel is on. &lt;/li&gt;
&lt;li&gt;Total Memory: The total memory in MIB the node has.&lt;/li&gt;
&lt;li&gt;Total disk: Default for oracle is 50000 MIB I belive.&lt;/li&gt;
&lt;li&gt;Memory Over Allocation: set to 0&lt;/li&gt;
&lt;li&gt;Disk Over Allocation: also set to 0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then go into configuration. Click generate token and paste into the instance running the node.&lt;/p&gt;

&lt;p&gt;Lastly go into the Allocation tab, Put the ip to the private ip from the oracle console instance details, and put alias as the public ip. the ports I set as 10000-10999 And you should be done!&lt;/p&gt;

&lt;p&gt;Then, boot up your wings!&lt;br&gt;
First test if it works:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo wings
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If it does, Enable and run it!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl enable wings
sudo systemctl start wings
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Great job! You've successfully configured and installed pterodactyl!&lt;/p&gt;

&lt;p&gt;If you have any questions, feel free to leave them in the comments!&lt;/p&gt;

</description>
      <category>pterodactyl</category>
      <category>oracle</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
