Tomato (firmware)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Tomato Firmware
Tuxt.png
Developer(s)Jonathan Zarate
Initial releaseDecember 2006; 12 years ago (2006-12)
Stable release
1.28 / June 28, 2010;
8 years ago
 (2010-06-28)
Operating systemLinux
TypeRouting software
LicenseFreeware
Backend: GNU General Public License
Frontend: proprietary[1]
Websitewww.polarcloud.com/tomato

Tomato is a family of community-developed, custom firmwares for consumer-grade computer networking routers and gateways powered by Broadcom chipsets. The goal of the project is to provide users with an alternative to the firmware pre-installed on their equipment by the manufacturer, providing:

  • Additional features, making fuller use of the device's hardware
  • Enhanced security
  • More frequent updates
  • Ultimately, greater control over its configuration and behavior

With over a decade of (mostly) free open-source development invested by hundreds of contributors since its inception, there have often been multiple forks actively supported at any given time, the unique goals and implementations of each further empowering users to have options and provide feedback on how the device operates.

History[edit]

Tomato was originally released by Jonathan Zarate in 2006, using the Linux kernel and drawing extensively on the code of HyperWRT. It was targeted at many popular routers of the time, most notably the older Linksys WRT54G series, Buffalo AirStation, Asus routers and Netgear WNR3500L.[2] His final release of the original Tomato firmware came in June 2010, by which point its popularity had grown large enough that development and support continued through the user community, resulting in a series of releases (dubbed "mods") by individual users or teams of them that continues to the present day.

Fedor Kozhevnikov created a notable early mod he called TomatoUSB, which ceased development in November 2010.[3] It was then forked by other developers[4] and remains the nearest common ancestor to all of the forks with any recent activity. Arguably the project's largest recognition to date came when Tomato was chosen by Asus as the base used to build the firmware currently preinstalled on their entire line of home routers, ASUSWRT.[5][6]

Tomato firmware is currently being maintained and updated on the FreshTomato (http://freshtomato.org) fork, which is a continuation of the Shibby build. Shibby is no longer working on the project and has passed the torch on to Pedro and Kille72.

Features[edit]

Several notable features have been part of Tomato long enough to be common to all forks, among them are:

  • The graphical user interface (accessed via web browser), including:
    • Access to almost the entirety of the features provided by the hardware (manufacturers typically omit many of these from their firmware to prevent misuse and reduce support costs)
    • Extensive use of Ajax to display only the settings that are germane to the device's current setup, reducing confusion and keeping related options near each other using fewer pages/tabs
    • A CSS-based custom interface theming
    • SVG-based graphical bandwidth monitoring, showing total network inbound/outbound activity and that of each connected device through pie charts and line graphs that update in real-time
  • A personal web server (Nginx) that uses the device's "always on, always connected" design to allow users to host their own websites from home for free
  • Access and bandwidth restriction configurable for each device or the network as a whole, providing control over the speed and amount of traffic available at any time to any device
  • Unrestricted access to the internal system logs and the ability to store them for easier troubleshooting and security audits
  • CLI access (BusyBox) via the web-based interface, as well as via Telnet or SSH (using Dropbear)
  • Netfilter/iptables with customizable settings, IPP2P and l7-filter
  • Wake-on-LAN
  • Advanced QoS: 10 unique QoS classes defined, real-time graphs display prioritized traffic with traffic class details
  • Client bandwidth control via QoS classes
  • The Dnsmasq software built-in, which provides:
    • DHCP server (with static allocation of IP addresses)
    • Local DNS server (usually forwarding requests to the DNS provider of choice)
  • Wireless modes:
    • Access point (AP)
    • Wireless client station (STA)
    • Wireless Ethernet (WET) bridge
    • Wireless distribution system (WDS also known as wireless bridging)
    • Simultaneous AP and WDS (also known as wireless repeating)
  • Dynamic DNS service with ezUpdate and services extended for more providers
  • SES button control
  • JFFS2
  • SMB client
  • Wireless LAN Adjustment of radio transmit power, antenna selection, and 14 wireless channels
  • 'Boot wait' protection (increase the time slot for uploading firmware via the boot loader)
  • Advanced port forwarding, redirection, and triggering with UPnP and NAT-PMP
  • Init, shutdown, firewall, and WAN Up scripts
  • Uptime, load average, and free memory status
  • Minimal reboots - Very few configuration changes require a reboot
  • Wireless survey page to view other networks in your neighborhood
  • More comprehensive dashboard than stock firmware: displays signal strengths of wireless client devices, reveals UPnP mappings
  • Configuration persistence during a firmware upgrade

Feature comparison[edit]

Mod name Base
version
Mod
version
Latest
release
date
SFTP VPN
client
VPN
server
SNMP SD-card
support
USB
support
VLANs IPv6 Captive
portal
5
GHz
Per-IP
traffic
stats
Static
ARP
BW
limiter
NFS
server
BT
client
Guest
SSID
PPPoE
server
DNSCrypt Overclocking Tor
project
IPsec Multi
WAN
Siproxd
VoIP
Web
server
Stealth-mode
LED control
TTB[7] P2Partisan
TomatoVPN Mod (SgtPepperKSU) 1.27[a] 1.27vpn3.6 January 27, 2010 No OpenVPN OpenVPN No No No No No No No No No No No No No No No No No No No No No No No No
Tomato 1.28[b] 1.28 June 28, 2010 No No No No No No No No No No No No No No No No No No No No No No No No No No No
Tomato ND 1.28[c] 1.28 June 28, 2010 No No No No No No No No No No No No No No No No No No No No No No No No No No No
SpeedMod Mod (hardc0re) 1.28[a] 120 July 30, 2010 No No No No No No No No No No No No No No No No No No No No No No No No No No No
TomatoUSB Mod (Teddy Bear)[8] 1.28[c] Build 54 November 30, 2010 Via
Optware
OpenVPN OpenVPN No No Print, NAS,
Media, FTP
Yes Yes Yes Yes No No No No No No No No No No No No No No No No No
slodki Mod 1.28[c] 1.28.02 February 18, 2011 Via
Optware
OpenVPN OpenVPN No SD,
SDHC,
MMC
Print, NAS No No No No No No No No No No No No No No No No No No No No No
DualWAN Mod[9] 1.28[a] 1.28.0542 January 17, 2012 Via
Optware
OpenVPN
PPTP
OpenVPN
PPTP
Yes No Print, NAS,
Media, FTP
3G USB Modem
Yes Yes Yes No Yes Yes Yes No Yes No Yes No No No No Yes No No No No No
Teaman Mod[10] 1.28[c] v0025 June 15, 2012 Via
Optware
OpenVPN OpenVPN,
PPTP
Yes SD,
SDHC,
MMC
Print, NAS, FTP,
3G USB Modem
With
GUI
Yes Yes Yes Yes Yes Yes No No With
GUI
No No No No No No No No No No No
EasyTomato Mod[11] 1.28[a] 0.8 June 10, 2013 Via
Optware
OpenVPN,
PPTP
OpenVPN,
PPTP
Yes SD,
SDHC,
MMC
Printer sharing,
NAS (CIFS/NFS3/FTP),
DLNA server,
3G Modem
With
GUI
Yes Yes Yes Yes Yes Yes No No With
GUI
No No No No No No No No No No No
Victek RAF Mod[12] 1.28[a] 1.28.9013 R1.3 July 18, 2014 Via
Optware
OpenVPN,
PPTP
OpenVPN,
PPTP
Yes SD,
SDHC,
MMC
Printer sharing,
NAS (CIFS/NFS3/FTP),
DLNA server,
3G Modem
With
GUI
Yes Yes Yes Yes Yes VLAN No No With
GUI
No With
GUI
With
GUI
No No No With
GUI
With
GUI
by script No No
Toastman Mod[13] 1.28[a] RT: 1.28.7511.5
RT-N: 1.28.0511.5
ARM: 1.28.9008.8
January 20, 2017 Via
Entware‑ng
or
Optware‑ng
OpenVPN,
PPTP
OpenVPN,
PPTP
Yes SD,
SDHC,
MMC
Printer sharing,
NAS (CIFS/NFS3/FTP),
DLNA server,
3G Modem
With
GUI
Yes Yes Yes Yes Yes Yes No No With
GUI
No No With
GUI
No No No No No No No No
Shibby Mod[14] 1.28[a] v140‑MultiWAN May 8, 2017 Via
Entware
or
Optware‑ng
OpenVPN,
PPTP,
L2TP
OpenVPN,
PPTP,
tinc
Yes SD,
SDHC,
MMC
Printer sharing,
NAS (CIFS/NFS3/FTP),
DLNA server,
3G/LTE Modem,
UPS monitoring
With
GUI
Yes Yes Yes Yes Yes VLAN With
GUI
With
GUI
With
GUI
No With
GUI
Yes With
GUI
Yes Yes No Yes Yes Yes by script
AdvancedTomato V2[15] 1.28[a] 3.5-140 November 17, 2017 Via
Entware
or
Optware‑ng
OpenVPN,
PPTP,
L2TP
OpenVPN,
PPTP,
tinc
Yes SD,
SDHC,
MMC
Printer sharing,
NAS (CIFS/NFS3/FTP),
DLNA server,
3G/LTE Modem,
UPS monitoring
With
GUI
Yes Yes Yes Yes Yes VLAN With
GUI
With
GUI
With
GUI
No With
GUI
Yes With
GUI
Yes Yes No Yes Yes Yes by script
FreshTomato‑ARM
and
FreshTomato‑MIPS[16]
1.28[a] 2019.1 February 27, 2019 Via
Entware
or
Optware‑ng
OpenVPN,
PPTP,
L2TP
OpenVPN,
PPTP,
tinc
Yes SD,
SDHC,
MMC
Printer sharing,
NAS (SMB2/NFS4/FTP),
DLNA server,
3G/LTE Modem,
UPS monitoring
With
GUI
Yes Yes Yes Yes Yes VLAN With
GUI
With
GUI
With
GUI
No With
GUI
Yes With
GUI
Yes Yes No Yes Yes Yes by script
Mod name Base
version
Mod
version
Latest
release
date
SFTP VPN
client
VPN
server
SNMP SD-card
support
USB
support
VLANs IPv6 Captive
portal
5
GHz
Per-IP
traffic
stats
Static
ARP
BW
limiter
NFS
server
BT
client
Guest
SSID
PPPoE
server
DNSCrypt CPU
overclock
TOR
project
IPSec Multi
WAN
Siproxd
VoIP
Web
server
Stealth-mode
LED control
TTB P2Partisan
  1. ^ a b c d e f g h i Tomato standard and ND
  2. ^ Tomato standard only
  3. ^ a b c d Tomato ND (New Driver) only

Supported routers[edit]

The Tomato by Shibby project contains a list of supported routers.[17]
AdvancedTomato's project website also contains a list of supported routers[18]
Asuswrt-Merlin's project website also contains a list of supported routers[19]

See also[edit]

References[edit]

  1. ^ Zarate, Jonathan. "Tomato Firmware, tomato/release/src/router/www/tomato.js source file". Sourceforge.net. Retrieved 23 September 2014. Copyright 2006-2010 Jonathan Zarate For use with Tomato Firmware only. No part of this file may be used without permission.
  2. ^ "Tomato Firmware | polarcloud.com". www.polarcloud.com. Retrieved 2016-10-05.
  3. ^ "Tomato by Shibby » About Tomato (ang.)". tomato.groov.pl. Retrieved 2016-10-05.
  4. ^ List of Tomato Mods on the TomatoUSB website
  5. ^ "Asus ASUSWRT". Retrieved 2018-01-03.
  6. ^ "Asuswrt-Merlin » About". Retrieved 2018-01-03.
  7. ^ (Tomato Theme Base)
  8. ^ TomatoUSB Mod (Teddy Bear) Home page.
  9. ^ DualWAN Mod Home page.
  10. ^ Teaman Mod Home page. Augusto Bott is the author of the VLANs GUI, Per-IP Traffic Stats (author of cstats, which keeps per-IP data/track/history), Client Monitor Graphs (author of IPTraffic) and author of the Guest SSID GUI.
  11. ^ "EasyTomato Home Page". Retrieved 2019-03-11.
  12. ^ Victek RAF Mod Home page
  13. ^ Toastman Mod Home page. Tomato builds with many useful added features. Lean, stable, and fast with minimal bells and whistles, with a focus on QoS and Administration. Based on TomatoUSB and RT (selected features included from other firmware, plus new mods).
  14. ^ Shibby Mod Home page.
  15. ^ AdvancedTomato Home page. Latest Shibby Mod codebase with Web UI redesign
  16. ^ FreshTomato Mod FreshTomato project web site
  17. ^ "Tomato by Shibby » Router List". tomato.groov.pl. Retrieved 2016-12-10.
  18. ^ "AdvancedTomato » Downloads". advancedtomato.com. Retrieved 2016-12-10.
  19. ^ "Asuswrt-Merlin » Supported Devices". asuswrt.lostrealm.ca. Retrieved 2017-12-19.

External links[edit]