tomato (firmware)
Original author(s) | Jonathan Zarate |
---|---|
Developer(s) | Tomato Project |
Initial release | December 2006 |
Final release | 1.28
/ June 28, 2010 |
Written in | ARM |
Type | Routing software |
License | Freeware Backend: GNU General Public License Frontend: proprietary[1] |
Website | www |
Stable release | 2024.1
/ February 12, 2024 |
---|---|
Repository | bitbucket |
Platform | ARM, MIPS |
Website | freshtomato |
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
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. 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.[5][6]
Currently, FreshTomato appears to be the only project that has seen active development and new releases.[7]
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
Tomato live bandwidth monitor
- 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:
- DHCPserver (with static allocation of IP addresses)
- Local DNS server (usually forwarding requests to the DNS provider of choice)
- Wireless modes:
- 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 dashboardthan stock firmware: displays signal strengths of wireless client devices, reveals UPnP mappings
- Configuration persistence during a firmware upgrade
Feature comparison
Mod name | Base version |
Mod version |
Latest release |
5 GHz (802.11 a/n/ac/ax) |
IPv6 | USB support |
Memory card support |
VPN protocols[a] |
SFTP | Virtual LANs
|
---|---|---|---|---|---|---|---|---|---|---|
TomatoVPN (SgtPepperKSU)[8] |
1.27[b] | 1.27vpn3.6 | Jan 2010 | No | No | No | No | OpenVPN | No | No |
Tomato | 1.28[c] | 1.28 | Jun 2010 | No | No | No | No | No | No | No |
Tomato ND | 1.28[d] | No | No | No | No | No | No | No | ||
SpeedMod (hardc0re) |
1.28[b] | 120 | Jul 2010 | No | No | No | No | No | No | No |
TomatoUSB (Teddy Bear)[9] |
1.28[d] | Build 54 | Nov 2010 | Yes | Yes | DLNA server
|
No | OpenVPN | Via Optware |
Yes |
slodki | 1.28[d] | 1.28.02 | Feb 2011 | No | No | Printer sharing, NAS (CIFS/FTP) |
SD, SDHC, MMC |
OpenVPN | Via Optware |
No |
DualWAN[10] | 1.28[b] | 1.28.0542 | Jan 2012 | No | Yes | DLNA server,
3G Modem |
No | OpenVPN, PPTP |
Via Optware |
Yes |
Teaman[11] | 1.28[d] | v0025 | Jun 2012 | Yes | Yes | Printer sharing, NAS (CIFS/FTP), 3G Modem |
SD, SDHC, MMC |
OpenVPN, PPTP (server) |
Via Optware |
With GUI |
EasyTomato[12] | 1.28[b] | 0.8 | Jun 2013 | Yes | Yes | DLNA server,
3G Modem |
SD, SDHC, MMC |
OpenVPN, PPTP |
Via Optware |
With GUI |
Victek RAF[13] | 1.28[b] | 1.28.9013 R1.3 | Jul 2014 | Yes | Yes | DLNA server,
3G Modem |
SD, SDHC, MMC |
OpenVPN, PPTP |
Via Optware |
With GUI |
Toastman[14] | 1.28[b] | RT: 1.28.7511.5 RT‑N: 1.28.0511.5 ARM: 1.28.9008.8 |
Jan 2017 | Yes | Yes | DLNA server,
3G Modem |
SD, SDHC, MMC |
OpenVPN, PPTP |
Via Entware-ng or Optware-ng |
With GUI |
Shibby | 1.28[b] | v140‑MultiWAN | May 2017 | Yes | Yes | UPS monitoring
|
SD, SDHC, SDXC, MMC |
OpenVPN, PPTP, L2TP (client), tinc (server) |
Via Entware or Optware-ng |
With GUI |
AdvancedTomato V2 | 1.28[b] | 3.5-140 | Nov 2017 | Yes | Yes | UPS monitoring
|
SD, SDHC, SDXC, MMC |
OpenVPN, PPTP, L2TP (client), tinc (server) |
Via Entware or Optware-ng |
With GUI |
FreshTomato‑ARM and FreshTomato‑MIPS |
1.28[b] | 2024.1[15] | Feb 2024 | Yes | Yes | UPS monitoring
|
SD, SDHC, SDXC, MMC |
OpenVPN, PPTP, L2TP (client), tinc (server) |
Via Entware or Optware-ng |
With GUI |
Mod name | Base version |
Mod version |
Latest release |
5 GHz (802.11 a/n/ac/ax) |
IPv6 | USB support |
Memory card support |
VPN protocols |
SFTP | Virtual LANs
|
Feature comparison (cont.)
Name | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | With GUI |
No | No | No | No | No | No | No | No | No | No | No | Yes | Yes | Yes |
EasyTomato | Yes | Yes | Version 3 | No | With GUI |
No | No | No | No | No | No | No | No | No | No | No | Yes | Yes | Yes |
Victek RAF | Yes | VLAN | Version 3 | No | With GUI |
No | With GUI |
With GUI |
No | No | No | With GUI |
With GUI |
by script | No | No | Yes | Yes | Yes |
Toastman | Yes | Yes | Version 3 | No | With GUI |
No | No | With GUI |
No | No | No | No | No | No | No | No | Yes | Yes | Yes |
Shibby | Yes | VLAN | Version 3 (with GUI) |
With GUI |
With GUI |
No | With GUI |
Yes | With GUI |
Yes | Yes | No | Yes | Yes | Yes | by script | Yes | Yes | Yes |
AdvancedTomato V2 | Yes | VLAN | Version 3 (with GUI) |
With GUI |
With GUI |
No | With GUI |
Yes | With GUI |
Yes | Yes | No | Yes | Yes | Yes | by script | Yes | Yes | Yes |
FreshTomato‑ARM and FreshTomato‑MIPS |
Yes | VLAN | Version 4 (with GUI) |
With GUI |
With GUI |
No | With GUI |
Yes | With GUI |
Yes | Yes | No | Yes | Yes | Yes | by script | Yes | Yes | Yes |
Name |
See also
- List of wireless router firmware projects
References
- ^ 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.
- ^ "Tomato Firmware | polarcloud.com". www.polarcloud.com. Retrieved 2016-10-05.
- ^ "Tomato by Shibby » About Tomato (ang.)". tomato.groov.pl. Retrieved 2016-10-05.
- ^ List of Tomato Mods on the TomatoUSB website
- ^ "Asus ASUSWRT". Retrieved 2018-01-03.
- ^ "Asuswrt-Merlin » About". Retrieved 2018-01-03.
- ^ "FreshTomato source code". Retrieved 2020-10-01.
- ^ TomatoVPN official website
- ^ TomatoUSB Mod (Teddy Bear) Home page.
- ^ DualWAN Mod Home page.
- ^ 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.
- ^ "EasyTomato Home Page". Retrieved 2019-03-11.
- ^ Victek RAF Mod Home page
- ^ 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).
- ^ "FreshTomato - Alternative open source firmware for Broadcom-based routers".
- ^ a b "About Tomato Theme Base". Retrieved 2019-05-09.
External links
- Official website
- FreshTomato MIPS/ARM
- FreshTomato Hardware (Router) Compatibility
- Virtual Tomato RAF (Victek mod)
- Tomato Phoenix (Mod supports MTK chips, such as mt7620 mt7621 mt7628 mt7688)
- Tomato by Shibby
- AdvancedTomato V2
- TomatoAnon (Up-to-date statistics of active Tomato devices by fork/version)