河口起义
河口起义，又稱雲南河口起義、戊申雲南河口之役，是由中国同盟会于1908年4月29日在云南南部的河口（今红河哈尼族彝族自治州河口瑶族自治县）发动的武装起义。该起义领导人为云南三点会前领导人关仁甫、黄明堂、王和顺等人。起义爆发后，革命军很快占领了河口，并兵分两路向蒙自进军，但由于粮饷不足等原因进展缓慢。清军则于5月初展开反攻。黄兴曾于5月7日至11日在河口试图协调起义事宜，但并未获得指挥权，之后返回河内的途中被越南法国当局遣送至新加坡。5月26日，清军攻克河口，剩余革命军突围后被法军缴械，并集体遣送至新加坡，河口起义宣告失败。这次起义促使中国同盟会改变策略，此后的军事动员不再以会党为主要目标，改为以新军为主。
河口城位于中国与越南的边界附近，红河与南溪河的交汇处。1869年，刘永福的黑旗军在此屯垦并建设军营。黑旗军撤走后，此地变成了一处对外开放的商业城镇。1897年，清政府在河口设置了副督办，河口基本升级成为了一个县治级别的城市。此后滇越铁路跨越中越国境的位置选在了河口，铁路的相关建设直接推动了河口的经济发展。因为河口与越南之间的交通要比与云南其他地区的交通更加便利，加之此地发生了以反对修建铁路为口号的周云祥起义，使得河口逐渐进入了中国同盟会的视线之中。同盟会会员们在1906年前后开始加强了在越南北部的活动，并成功争取到了当地华侨的拥护，以及吸收了反清组织三点会的原首领王和顺、黄明堂、关仁甫等人加入同盟会。越南法国当局也并未对同盟会的活动加以干涉。
1907年，孙中山、黄兴等人抵达越南河内，在河内甘比达街61号设立革命军总机关部，并派人进入广西游说会党和清朝边防军，以争取更多起义力量。当年12月1日，黄明堂、关仁甫等人发动了镇南关起义，该起义最终因后勤不足、力量对比悬殊而失败。1908年2月，清政府因镇南关起义照会法国越南政府，后者决定将孙中山驱逐至新加坡。临走之前，孙中山嘱咐黄兴和黄明堂在钦州和河口等地进一步筹划起义，相关的起义筹划事宜由胡汉民负责。1908年3月27日，黄兴等人在钦州、廉州等地发动起义，虽然取得多次胜利，但终因力量对比悬殊、起义队伍内部矛盾而失败。原本同盟会准备在河口同时发动起义，但最终未能成行。
此后同盟会重新尝试在河口发动起义，并委派黄明堂、王和顺、关仁甫前往河口筹劃起义，此时的河口正在招募滇越铁路劳工，这些革命党人乔装成劳工模样，由监工带领进入河口，前后进入河口的革命党人多达200余人。此时的河口清军共有4个营，其中两个营由河口对汛副督办王镇邦统率，负责协助的有熊通和李美；一个营由黄体良统带；另有一个营由岑德贵统率。此外河口城外还有两个铁路警备营，城内还有一个警察局。这些部队由于军饷、兵源等问题，战斗力并不强。
准备起义期间，同盟会原本在老街设立机关，并向越南华侨发起了筹款，但该机关在设立不久就遭到了查封。在这种情况下，关仁甫带了11个随同人员，从河口半鹅村的骆姓管带家中抢走了3000两白银，作为起义经费。在抢走这笔钱后，关仁甫向驻防河口的清军暗中许诺，只要带着武器投向革命军，每人发一块银元，对此很多清军士兵表示愿意响应。这次抢劫引起了王镇邦的注意，王镇邦由此要求法国方面逮捕关仁甫。法国方面逮捕关仁甫后，以王镇邦提供的人名为关仁甫的曾用名关辅臣，和关仁甫不符而拒绝引渡。在越南华商的联名保释下，关仁甫于4月28日得以出狱。
此外王镇邦还得知自己部分属下，如黄体良、熊通等人和革命党人有关联，于是在提议这些属下调离之后，以年老体衰为由辞职。而黄体良和熊通，以及革命党人方面误认为自己被调离是起义已经泄露。加之关仁甫在与法国方面沟通释放事宜时将自己所说的起义时间当作了对法方的承诺，经过黄明堂、王和顺商议后，革命党人遂决定在4月29日发动起义。
1908年4月29日凌晨2点，革命党人正式发动起义。王和顺率部持手枪，在连接老街和河口的铁路桥头佯攻，黄明堂和关仁甫则率部持步枪，从老街绕到河口后方，切断电线和援军路线。起义发动后，河口城内的防御部队和警察大部参加起义部队，警察局局长蔡景元被杀。而未加入起义部队的清军巡防营则由管带岑德贵率领撤往半山炮台，在此处与王镇邦所部会合，防守兵力达500余人。凌晨4点，革命军完全占领河口城，并随即向半山炮台发动进攻。双方在半山炮台前哨爆发战斗，守军指挥官林胜安在指挥中被革命军内应杀死，革命军随即攻克前哨，并向主炮台和督办公署发起多次进攻。当日下午4点，王镇邦一面向革命军请求和谈，另一面派人向各处巡防营和法国方面求援。革命军派遣革命党人王槐廷带领2名亲兵，与法国商人进入炮台谈判，却被王镇邦以只与革命党人领袖谈判为由拒绝。王槐廷在离开炮台时被王镇邦偷袭，与一名亲兵一同被打死，法国商人则逃出了炮台。革命党人随即猛攻炮台，炮台内的守备熊通枪杀王镇邦后率部投降革命军，岑德贵、李美等人则逃出了炮台。
夺取河口之后，革命军在河口以南军都督黄明堂的名义发布布告，动员河口居民推翻清政府，同时在商人和百姓中“募捐”军费，所谓的募捐具有相当的强制性，对此感到不满的当地商人和百姓有不少都逃到了老街。此外，革命军还派兵保护法国领事和税务机关的洋人，并维持滇越铁路的正常运转；给参与起义的官兵们论功行赏，后期资金不够时仅提供伙食。但革命军同时还规定，如果有任何外国商人援助清政府，则将其财产全部没收。此外革命军将王镇邦在桥头枭首示众半日，之后允许其家人收尸。此后周边的清朝士兵和警察陆陆续续前来投靠革命军，其中驻守南溪的李兰亭在革命军的劝说下于5月1日率领整个巡防营前来投靠，并携带了大量枪支弹药和军粮。至此革命军已经收编了附近5个巡防营。
攻克河口的革命军开始谋划向蒙自和昆明发起进攻。但此时革命军指挥机关内部关系混乱，黄明堂和关仁甫均认为自己才是起义的领袖。起义部队的士兵也缺乏训练，很多士兵投靠革命军的原因并非愿意革命，而是原部队严重克扣粮饷，导致生活难以为继。大量的士兵是被关仁甫以一块银元为条件招募来的，他们本身并不听从黄明堂的指挥。为了动员这些士兵， 胡汉民从河内的华侨筹集了一批款项作为军饷发放，前后募集共计6000余元，并向孙中山建议进一步筹集粮饷以动员军队。孙中山则在新加坡筹款，但进展并不顺利。关仁甫则在向士兵传达下一步军事行动时，将“分兵北上”说成了因粮饷难以为继而采取的“分军就食”。
1908年5月2日，关仁甫自河口出发，带领一部分部队沿着红河前往蔓耗，沿途招募了大量原三点会的部众，包括坝洒管带何德兴、田房管带项显、安定哨官岑德明等。5月3日，关仁甫所部抵达新街，清军管带柯树勋所部200余人正面遭遇。当晚革命军对驻扎在山上的清军发起袭击，清军被击退，部分士兵投靠了革命军。关仁甫部遂攻克新街。
5月4日，王和顺率领1500人的部队沿着滇越铁路北上，进抵南溪。南溪守将、胡华甫和王玉珠投向革命军。王和顺随后将司令部驻扎于南溪的黄茂兰家中。南溪聚集了15000名滇越铁路的工人，但以革命军的粮饷无法动员如此多的人数。最终这些工人仅有一部分加入起义部队，其余均逃散或加入了清军。黄明堂则率领剩余部队驻守河口。
5月1日，清政府外务部从法国驻华公使和总税务司裴式楷等处获知了河口起义的消息，随即通过电报询问云贵总督锡良相关情况。但锡良直至5月2日才从临安开广道增厚获知河口起义的事情。锡良向清政府回电的同时，开始组织力量向革命军反攻。开化镇总兵白金柱受命参与防守，其所部6营1500人被扩编至5000人。同时，清政府要求正在返京的云南布政使刘春霖返回云南参与作战，并将刘春霖的官职升至三品京堂候补；在刘春霖返回云南之前，相关事宜先由锡良统筹。广西巡抚张鸣岐也收到了清政府调兵增援的要求，随即派遣知府龙裕光率部4营赶赴开化镇。军火方面，清政府要求两江总督端方、湖广总督陈夔龙和两广总督张人骏解决云南清军3000支枪和150万至200万发子弹的需求。另有55万两白银作为参与作战的清军官兵的赏银。此外，河口起义爆发之后，清朝先后两次向法国方面请求协助出兵，但均遭到了法国的拒绝。
征调来的清军共分三路向革命军反攻：东路由开化镇总兵白金柱率所部5000人从开化出发经古林箐向河口进发；中路为临安知府王正雅率领11个营的兵力从蒙自顺着滇越铁路南下，这11个营的士兵包括他自带的8营和糯姑的3个营的守军；西路为同知贺宗章则率领3个营的旧军与1个营的新式陆军进兵蔓耗，阻挡关仁甫所部革命军。此外，广西方面派来的龙济光的4个营的士兵负责支援东路；西路方面，增厚负责防守蒙自，署云南粮道方宏纶临时征兵共计4个营作为预备部队，同时锡良派遣1协包括炮兵和步兵的新军参与西路作战。
在胡汉民的再三要求下，指挥钦廉上思起义失败的黄兴于5月5日抵达河内。孙中山委任黄兴为云南国民军总司令一职，黄兴随即赶赴河口。5月6日，而经过与清政府反复沟通后，法国方面鉴于河口起义规模正在扩大，遂同意封锁了中越边境，这直接导致越南华侨无法向河口运送物资和信件。
按照革命军的原计划，关仁甫和王和顺率部前进后预计于蒙自会师。5月6日，王和顺部推进到了白河桥，此处距离河口78公里。黄茂兰之子率部前来于革命军交战，不久被革命军击退。在此处革命军正面遭遇了白金柱率领的清军。当日王和顺分兵600人攻克了古林箐，招降100余名清军。但此时王和顺由于粮饷不足，并没能乘胜进军、攻打蒙自。
关仁甫所部占领新街之后进攻蔓耗，蔓耗守将柯树勋投向革命军。当革命军准备接收蔓耗时，先前招降的清军突然发起袭击，关仁甫所部被击退。在攻城作战期间，关仁甫的左臂负伤。战斗期间，关仁甫与曾为三点会会员的右哨长刘某在阵地前对话，清军管带周国祥随即将该哨全体官兵共计51人以发粮饷为名骗走并杀害。5月7日，贺宗章率领清军与守军会合后对革命军发起反攻，关仁甫部被击败后退守新街。清军随后赶到并从水陆两路攻城，关仁甫被迫撤退回河口。
5月7日，黄兴抵达河口，发现黄明堂在河口保留了大量部队，随即要求黄明堂立刻派兵进攻昆明。这一要求被黄明堂以粮草不济为由拒绝。黄兴随后要求自行带队开赴前线，黄明堂仅给黄兴以100名革命军的指挥权。黄兴带队出发后，这些士兵拒绝听从号令，甚至自发脱队。之后黄兴将王和顺从前线约回河口商谈，但对方以士兵太少、兵粮不足为由拒绝进攻蒙自。完全没有指挥权的黄兴被迫返回越南募集资金和召集旧部，但于5月11日在老街边界被越南法国当局当成来越南搞破坏的日本人而逮捕，之后自西贡遣送出境至新加坡。
清军向河口进发的时候，除去军事手段，还通过发赏银的方式利诱革命军。原本因粮饷问题倒向革命军一方的士兵先后倒向清军，而革命军的其他士兵也开始逐渐溃散，先前配合革命军占领南口的熊通等人先后逃离。5月22日，在泥巴黑附近与清军相持20余天的王和顺返回河口，与黄明堂商讨下一步的进攻方案。王和顺认为，革命军应当攻打思茅，与事先联络好的思茅总兵谢有功所部会合后再攻打昆明。黄明堂同意了这个提议，并率部队开赴坝洒。二人原本商定各自所部会合后再出发，但黄明堂抵达坝洒后自行出发，并在下田房遭遇了向河口进军的清军。革命军被击败后返回河口。王和顺在得知消息后只得率部向河口方向撤退。5月24日，清军攻克南溪。5月26日，西路清军攻克河口，黄明堂率余部600余人向广西边境撤退，被龙济光所部阻截后突围至越南边境。法军要求起义军全部缴械，遭到起义军拒绝。此后起义军在中越边境一带与法军展开了持续数月的游击战。最终在当地土豪梁正利的调停下，革命军接受法军缴械，并被驱逐至新加坡。河口起义宣告失败。
孙中山和胡汉民经河口起义失败后认为，这次起义从一定程度上证明了会党势力虽然庞大，但思想涣散，没有革命觉悟，成分来源过于复杂，无法作为革命的主力，此后应将全部精力用于争取正式军队上，尤其是新军。这种革命思想此后间接影响到了武昌起义的发动。
被遣散至新加坡的600余名革命军一度被英方拒绝靠岸。在关仁甫和孙中山的争取下，革命军最终进入新加坡，但很长时间内生活都无法维系。1909年年末，大多数革命军在蔡厝港的中兴石山采石场谋到了采石的工作。黄花岗起义爆发后，王和顺前往香港从事革命活动。辛亥革命爆发后，除无法忍受采石工作和其他原因而离开的人之外，包括关仁甫在内的其他革命党人才得以回国。
这次起义严重影响了滇越铁路的修筑，工人大多逃散，工程方经过长期努力重新募集了大量工人，但原本预期1908年夏天完工的铁路直至1909年年初才竣工。
法国方面在1908年5月21日与清政府交涉的过程中要求清政府赔偿铁路停工损失、法国商人损失和法国士兵伤亡等多项损失，但被清政府方面以法方起初协助了革命党人为由拒绝。河口当地乡绅则向清政府请求，要法国方面为纵容革命党人起事作出赔偿。此后法国方面在交涉中对赔偿款项逐步缩减，至1909年1月时与清政府方面达成了相关协议。协议中清政府赔偿法国商人损失等共计20万两白银，同时连带收回被法国方面占领的天津军粮城兵房。法国方面承诺不再支持革命党人活动，清政府则拥有了在河内设立领事馆的权利。但1911年辛亥革命爆发，设立领事馆一事最终不了了之。
2001年10月，河口瑶族自治县同盟会河口起义纪念馆落成并开放。该纪念馆是由河口瑶族自治县人民路的河口海关旧址改造而成的，原建筑建成于清朝光绪二十三年（1897年）。纪念馆建成时共有3个展厅，16件起义时的实物，以及105幅照片。2011年7月至2012年3月，该纪念馆曾加以维修。