Wrap tofu in a towel, place a cutting board and a few cans or other weights on top, and weight 10 minutes to squeeze out excess water. Cut tofu into thick strips.
Heat oil in a large nonstick frying pan over medium-high heat. Add tofu and sprinkle with brown sugar. Cook, stirring occasionally, until tofu begins to brown, 3 minutes. Add shallot and cook until tofu and shallot are browned, about 3 minutes more. Transfer to a bowl.
Reserve 1/4 cup coconut milk; add the rest to pan, along with curry paste, lime leaves, bell pepper, and squash. Stir to combine. Cover and bring to a boil, then reduce heat to a simmer. Cook until squash is tender, about 10 minutes.
Add bok choy, cover loosely, and cook until bok choy is crisp-tender, 3 minutes. In a small bowl, whisk together reserved 1/4 cup coconut milk, the fish sauce, lime juice, and tapioca flour. Stir into pan, then add tofu-shallot mixture; simmer until thickened, about 2 minutes. Sprinkle with cilantro and serve over rice.
*Find curry paste, fish sauce, and tapioca powder in the Asian-food aisle of well-stocked grocery stores; find lime leaves in the produce section.
Note: Nutritional analysis is per serving without rice.