{"id":16156841,"url":"https://github.com/saghul/tunnelit","last_synced_at":"2025-08-02T11:32:53.437Z","repository":{"id":66099569,"uuid":"1811666","full_name":"saghul/TunnelIt","owner":"saghul","description":"SSH reverse forwarder using Twisted","archived":false,"fork":false,"pushed_at":"2011-07-01T22:01:15.000Z","size":108,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T19:05:07.330Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://about.me/saghul","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saghul.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-05-27T20:17:44.000Z","updated_at":"2023-10-24T21:54:43.000Z","dependencies_parsed_at":"2023-02-19T22:30:37.146Z","dependency_job_id":null,"html_url":"https://github.com/saghul/TunnelIt","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/saghul/TunnelIt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2FTunnelIt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2FTunnelIt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2FTunnelIt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2FTunnelIt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saghul","download_url":"https://codeload.github.com/saghul/TunnelIt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2FTunnelIt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268378965,"owners_count":24240907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T01:46:44.944Z","updated_at":"2025-08-02T11:32:53.399Z","avatar_url":"https://github.com/saghul.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TunnelIt!\n\n## What is TunnelIt?\n\nTunnelIt is a *Proof of Concept* SSH reverse forward server. It was inspired by the popular service [Tunnlr](http://tunnlr.com)\nIt allows users to allocate ports on the server which will forward traffic tunneled over SSH to a port of their choice in their machines. This is\nparticularly useful when doing web development, since users don't need to open ports in their routers. Authentication is performed by using SSH\npublic keys.\n\n## Installation\n\nDependencies:\n- twisted\n- python-application\n- sqlobject\n\nDependencies can be installed with easy_install, pip, or whatever tool of your choice.\n\n## Configuration\n\nThe bundled `tunnelit.ini.sample` contains detailed explanations about what settings can be toggled.\n\n## Running\n\nBy default TunnelIt will fork and got to the background, but if you would like to prevent it from forking you may run it as follows:\n\n    tunnelit-server --no-fork\n\n## Connecting to TunnelIt\n\nAssuming that the server runs on example.com, a user which wants a random remote port to be forwarded to his local port 3000 would do the\nfollowing:\n\nssh -n -N -g -R :0:0.0.0.0:3000 username@example.com\n\n## Under the hoods\n\nIf you run more than one TunnelIt servers and do DNS based load balancing, there is no way for the user to know tho which of the TunnelIt server\nhe connected. TunnelIt will send information about the connection as SSH debug messages. They can be seen by using the `-v` modifier when running\nthe ssh command:\n\n    debug1: Remote: \u003e\u003e\u003e TunnelIt Remote Host: tun01.example.com/1.2.3.4\n    debug1: Remote: \u003e\u003e\u003e TunnelIt Remote Port: 34036\n\nThis means that the user would need to go to http://tun01.example.com:34036 or he could use the IP address (1.2.3.4) instead of the domain name.\n\n## ToDo\n\nSee the TODO file\n\n## Contributing\n\nPatches are always welcome! :-)\n\n## License\n\nGPL v3\n\n## Author\n\nSaúl Ibarra Corretgé, aka saghul || saghul (at) gmail (dot) com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaghul%2Ftunnelit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaghul%2Ftunnelit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaghul%2Ftunnelit/lists"}