Tomato (firmware)
{{Short description|Custom consumer network appliance firmware}}
{{Primary sources|date=June 2011}}
{{Infobox software
| name = Tomato Firmware
| logo = Tuxt.png
| screenshot =
| caption =
| author = Jonathan Zarate
| developer = Tomato Project
| released = {{Start date and age|2006|12}}
| latest release version = {{wikidata|property|P348}}
| latest release date = {{wikidata|qualifier|P348|P577}}
| latest preview version =
| latest preview date =
| programming language = {{wikidata|property|P277}}
| operating system = {{wikidata|property|P306}}
| genre = Routing software
| license = Freeware
Backend: GNU General Public License
Frontend: proprietary{{cite web|first=Jonathan|last=Zarate|title=Tomato Firmware, tomato/release/src/router/www/tomato.js source file|url=http://sourceforge.net/projects/tomatofirmware/files/tomato/1_28/|website=Sourceforge.net|accessdate=23 September 2014|quote=Copyright 2006-2010 Jonathan Zarate For use with Tomato Firmware only. No part of this file may be used without permission.}}
| website = {{wikidata|property|edit|P856}}
| discontinued = yes
}}
{{lowercase title|title=FreshTomato}}
{{Infobox software
| name = FreshTomato
| platform = ARM, MIPS
| latest release version = {{wikidata|property|edit|Q130356339|P348}}
| latest release date = {{wikidata|qualifier|edit|Q130356339|P348|P577}}
| website = {{wikidata|property|edit||Q130356339|P856}}
| repo = {{wikidata|property|edit|Q130356339|P1324}}
}}
Tomato is a family of community-developed, custom firmware for consumer-grade computer networking routers and gateways powered by Broadcom chipsets. The firmware has been continually forked and modded by multiple individuals and organizations, with the most up-to-date fork provided by the FreshTomato project.
History
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.{{Cite web|url=http://www.polarcloud.com/tomato|title=Tomato Firmware {{!}} polarcloud.com|website=www.polarcloud.com|access-date=2016-10-05}} 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.{{Cite web|url=http://tomato.groov.pl/?page_id=81|title=Tomato by Shibby » About Tomato (ang.)|website=tomato.groov.pl|access-date=2016-10-05}} It was then forked by other developers[http://tomatousb.org/mods List of Tomato Mods on the TomatoUSB website] and remains the nearest common ancestor to all of the forks with any recent activity. The project saw a boost in recognition when Tomato was chosen by Asus as the base used to build the firmware currently preinstalled on their entire line of home routers, ASUSWRT.{{Cite web|url=https://www.asus.com/content/asuswrt/|title=Asus ASUSWRT|access-date=2018-01-03}}{{Cite web|url=https://www.asuswrt-merlin.net/about|title=Asuswrt-Merlin » About|access-date=2018-01-03}}
Currently, FreshTomato appears to be the only project that has seen active development and new releases.{{Cite web|url=https://bitbucket.org/pedro311|title=FreshTomato source code|access-date=2020-10-01}}
Features
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 File:Tomato bandbreite real.png
- 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)
- 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=
class="wikitable sortable" |
Mod name
! Base ! Mod ! Latest ! 5 GHz ! IPv6 ! USB ! Memory card ! VPN ! SFTP ! Virtual LANs |
---|
TomatoVPN (SgtPepperKSU){{URL|http://tomatovpn.keithmoyer.com/|TomatoVPN official website}} | 1.27{{Efn|name=SAndND|Tomato standard and ND}} | 1.27vpn3.6 | {{dts|2010|01|31|format=my|abbr=on}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes|OpenVPN}} | {{no}} | {{no}} |
Tomato
| 1.28{{Efn|name=SOnly|Tomato standard only}} | rowspan="2" | 1.28 | rowspan="2" | {{dts|2010|6|28|format=my|abbr=on}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
Tomato ND
| 1.28{{Efn|name=NDOnly|Tomato ND (New Driver) only}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
SpeedMod (hardc0re) | 1.28{{Efn|name=SAndND}} | 120 | {{dts|2010|7|30|format=my|abbr=on}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
TomatoUSB (Teddy Bear)[http://tomatousb.org/ TomatoUSB Mod (Teddy Bear)] Home page. | 1.28{{Efn|name=NDOnly}} | Build 54 | {{dts|2010|11|30|format=my|abbr=on}} | {{yes}} | {{yes}} | {{yes|Printer sharing, | {{no}} | {{yes|OpenVPN}} | {{yes|Via | {{yes}} |
slodki
| 1.28{{Efn|name=NDOnly}} | 1.28.02 | {{dts|2011|02|18|format=my|abbr=on}} | {{no}} | {{no}} | {{yes|Printer sharing, | {{yes|SD, | {{yes|OpenVPN}} | {{yes|Via | {{no}} |
DualWAN[http://www.dualwan.cn/index.php/download/category/72-1.28 DualWAN Mod] Home page.
| 1.28{{Efn|name=SAndND}} | 1.28.0542 | {{dts|2012|01|17|format=my|abbr=on}} | {{no}} | {{yes}} | {{yes|Printer sharing, | {{no}} | {{yes|Via | {{yes}} |
Teaman[http://code.google.com/p/tomato-sdhc-vlan/ 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.
| 1.28{{Efn|name=NDOnly}} | v0025 | {{dts|2012|06|15|format=my|abbr=on}} | {{yes}} | {{yes}} | {{yes|Printer sharing, | {{yes|SD, | {{yes|OpenVPN, | {{yes|Via | {{yes|With GUI}} |
EasyTomato{{Cite web|url=http://www.easytomato.org/|title=EasyTomato Home Page|language=en-US|access-date=2019-03-11}}
| 1.28{{Efn|name=SAndND}} | 0.8 | {{dts|2013|06|10|format=my|abbr=on}} | {{yes}} | {{yes}} | {{yes|Printer sharing, | {{yes|SD, | {{yes|Via | {{yes|With GUI}} |
Victek RAF[http://victek.is-a-geek.com/ Victek RAF Mod] Home page
| 1.28{{Efn|name=SAndND}} | 1.28.9013 R1.3 | {{dts|2014|07|18|format=my|abbr=on}} | {{yes}} | {{yes}} | {{yes|Printer sharing, | {{yes|SD, | {{yes|Via | {{yes|With GUI}} |
Toastman[http://www.toastmanfirmware.yolasite.com/ 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).
| 1.28{{Efn|name=SAndND}} | RT: 1.28.7511.5 | {{dts|2017|1|20|format=my|abbr=on}} | {{yes}} | {{yes}} | {{yes|Printer sharing, | {{yes|SD, | {{yes|Via Entware-ng | {{yes|With GUI}} |
Shibby
| 1.28{{Efn|name=SAndND}} | v140‑MultiWAN | {{dts|2017|05|08|format=my|abbr=on}} | {{yes}} | {{yes}} | {{yes|Printer sharing, | {{yes|OpenVPN, PPTP, | {{yes|Via Entware | {{yes|With GUI}} |
AdvancedTomato V2
| 1.28{{Efn|name=SAndND}} | 3.5-140 | {{dts|2017|11|17|format=my|abbr=on}} | {{yes}} | {{yes}} | {{yes|Printer sharing, | {{yes|OpenVPN, PPTP, | {{yes|Via Entware | {{yes|With GUI}} |
FreshTomato‑ARM and FreshTomato‑MIPS | 1.28{{Efn|name=SAndND}} | {{wikidata|property|edit|Q130356339|P348}}{{cite web|last=|first=|date=|title=FreshTomato - Alternative open source firmware for Broadcom-based routers|url=https://freshtomato.org|archive-url=|archive-date=|access-date=|website=}} | {{#time: M Y|{{wikidata|qualifier|Q130356339|P348|P577}}}} | {{yes}} | {{yes}} | {{yes|Printer sharing, | {{yes|OpenVPN, PPTP, | {{yes|Via Entware | {{yes|With GUI}} |
Mod name
! Base ! Mod ! Latest ! 5 GHz ! IPv6 ! USB ! Memory card ! VPN ! SFTP ! Virtual LANs |
== Feature comparison (cont.) ==
class="wikitable sortable"
! Name ! {{Vertical header|stp=1|Static ARP}} ! {{Vertical header|stp=1|Bandwidth limiter}} ! {{Vertical header|stp=1|NFS server}} ! {{Vertical header|stp=1|BitTorrent client}} ! {{Vertical header|stp=1|Guest WiFi}} ! {{Vertical header|stp=1|PPPoE server}} ! {{Vertical header|stp=1|DNSCrypt}} ! {{Vertical header|stp=1|CPU overclocking}} ! {{Vertical header|stp=1|Tor client}} ! {{Vertical header|stp=1|IPsec}} ! {{Vertical header|stp=1|Multi-WAN}} ! {{Vertical header|stp=1|Siproxd VoIP}} ! {{Vertical header|stp=1|Web server}} ! {{Vertical header|stp=1|LED control}} ! {{Vertical header|stp=1|Theming {{Cite web|url=http://tomatothemebase.eu/?page_id=2|title=About Tomato Theme Base|language=en-US|access-date=2019-05-09}}}} ! {{Vertical header|stp=1|P2Partisan}} ! {{Vertical header|stp=1|SNMP}} ! {{Vertical header|stp=1|Captive portal}} ! {{Vertical header|stp=1|Per-IP traffic stats}} |
TomatoVPN (SgtPepperKSU) | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
---|
Tomato
| {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
Tomato ND
| {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
SpeedMod (hardc0re) | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
TomatoUSB (Teddy Bear) | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes}} | {{no}} |
slodki
| {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
DualWAN
| {{yes}} | {{yes}} | {{no}} | {{yes}} | {{no}} | {{yes}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} |
Teaman
| {{yes}} | {{yes}} | {{no}} | {{no}} | {{yes|With | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} |
EasyTomato
| {{yes}} | {{yes}} | {{yes|Version 3}} | {{no}} | {{yes|With | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} |
Victek RAF
| {{yes}} | {{yes|VLAN}} | {{yes|Version 3}} | {{no}} | {{yes|With | {{no}} | {{yes|With | {{yes|With | {{no}} | {{no}} | {{no}} | {{yes|With | {{yes|With | {{yes|by script}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} |
Toastman
| {{yes}} | {{yes}} | {{yes|Version 3}} | {{no}} | {{yes|With | {{no}} | {{no}} | {{yes|With | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} |
Shibby
| {{yes}} | {{yes|VLAN}} | {{yes|Version 3 | {{yes|With | {{yes|With | {{no}} | {{yes|With | {{yes}} | {{yes|With | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes|by script}} | {{yes}} | {{yes}} | {{yes}} |
AdvancedTomato V2
| {{yes}} | {{yes|VLAN}} | {{yes|Version 3 | {{yes|With | {{yes|With | {{no}} | {{yes|With | {{yes}} | {{yes|With | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes|by script}} | {{yes}} | {{yes}} | {{yes}} |
FreshTomato‑ARM and FreshTomato‑MIPS | {{yes}} | {{yes|VLAN}} | {{yes|Version 4 | {{yes|With | {{yes|With | {{no}} | {{yes|With | {{yes}} | {{yes|With | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes|by script}} | {{yes}} | {{yes}} | {{yes}} |
Name
! {{Vertical header|va=top|Static ARP}} ! {{Vertical header|va=top|Bandwidth limiter}} ! {{Vertical header|va=top|NFS server}} ! {{Vertical header|va=top|BitTorrent client}} ! {{Vertical header|va=top|Guest WiFi}} ! {{Vertical header|va=top|PPPoE server}} ! {{Vertical header|va=top|DNSCrypt}} ! {{Vertical header|va=top|CPU overclocking}} ! {{Vertical header|va=top|Tor client}} ! {{Vertical header|va=top|IPsec}} ! {{Vertical header|va=top|Multi-WAN}} ! {{Vertical header|va=top|Siproxd VoIP}} ! {{Vertical header|va=top|Web server}} ! {{Vertical header|va=top|LED control}} ! {{Vertical header|va=top|Theming }} ! {{Vertical header|va=top|P2Partisan}} ! {{Vertical header|va=top|SNMP}} ! {{Vertical header|va=top|Captive portal}} ! {{Vertical header|va=top|Per-IP traffic stats}} |
{{Notelist}}
See also
{{Portal|Free and open-source software}}
References
{{Reflist|30em}}
External links
{{Wikibooks|Tomato Firmware}}
{{Commons category|Tomato (firmware)}}
- [https://freshtomato.org FreshTomato MIPS/ARM]
- [https://wiki.freshtomato.org/doku.php/hardware_compatibility FreshTomato Hardware (Router) Compatibility]
- [http://victek.is-a-geek.com/virtual/tomatok26/ Virtual Tomato RAF (Victek mod)]
- [http://tomato.org.cn/ Tomato Phoenix (Mod supports MTK chips, such as mt7620 mt7621 mt7628 mt7688)]
- [https://tomato.groov.pl/ Tomato by Shibby]
- [https://advancedtomato.com/ AdvancedTomato V2]
- [https://anon.groov.pl/ TomatoAnon] (Up-to-date statistics of active Tomato devices by fork/version)
{{Routing software}}