{"id":24761027,"url":"https://github.com/ziozzang/port-proxy","last_synced_at":"2025-10-13T10:12:16.575Z","repository":{"id":11831055,"uuid":"14386262","full_name":"ziozzang/port-proxy","owner":"ziozzang","description":"port-proxy with service install","archived":false,"fork":false,"pushed_at":"2018-12-12T12:59:59.000Z","size":172,"stargazers_count":4,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T11:47:05.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","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/ziozzang.png","metadata":{"files":{"readme":"README.html","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":"2013-11-14T05:39:51.000Z","updated_at":"2023-07-05T11:37:13.000Z","dependencies_parsed_at":"2022-09-14T12:00:56.541Z","dependency_job_id":null,"html_url":"https://github.com/ziozzang/port-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ziozzang/port-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziozzang%2Fport-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziozzang%2Fport-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziozzang%2Fport-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziozzang%2Fport-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ziozzang","download_url":"https://codeload.github.com/ziozzang/port-proxy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziozzang%2Fport-proxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006611,"owners_count":26084148,"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-10-11T02:00:06.511Z","response_time":55,"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":"2025-01-28T18:20:37.572Z","updated_at":"2025-10-11T08:30:35.232Z","avatar_url":"https://github.com/ziozzang.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\u003e\n\n\u003chtml\u003e\n\u003chead\u003e\n\t\u003ctitle\u003eAccordata Port-Proxy V0.95\u003c/title\u003e\n\u003c/head\u003e\n\n\u003cbody\u003e\n\u003ch2\u003eAccordata Port-Proxy V0.95\u003c/h2\u003e\n\u003cp\u003e\nPort-Proxy is Perl script to forward ports from the local system to another system.\u003cbr\u003e\nWhen using https-tunneling you are able to go through an firewall.\n \u003c/p\u003e\n\u003cp\u003e\n\t\u003cb\u003eFeatures:\u003c/b\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003ePort forwarding an the same system\u003c/li\u003e\n\t\t\u003cli\u003ePort forwarding to an remote system\u003c/li\u003e\n\t\t\u003cli\u003eTestet with Linux and Windows\u003c/li\u003e\n\t\t\u003cli\u003eForward over https-tunnel to port 443\u003c/li\u003e\n\t\t\u003cli\u003eForward over https-tunnel to any port\u003c/li\u003e\n\t\u003c/ul\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\t\n\t\u003cb\u003eInstall:\u003c/b\u003e\n\t\u003cul\u003e\n\t\t\u003cli\u003eInstall Perl\u003c/li\u003e\n\t\t\u003cli\u003eDownload the zip\u003c/li\u003e\n\t\t\u003cli\u003eUnzip to an any directory\u003c/li\u003e\n\t\t\u003cli\u003eEdit configuration file\u003c/li\u003e\n\t\t\u003cli\u003eStart programm\u003c/li\u003e\n\t\u003c/ul\u003e\n\t \u003ca href=\"port-proxy-0.95.tar.gz\"\u003eDownload Version 0.95\u003c/a\u003e\n\u003c/p\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cp\u003e\nAll the configuration is done in the file port-proxy.conf, which is readed from the current directory when starting port-proxy.pl.\u003cbr\u003e\nThere are the following parameters which can apear multiple times:\n\u003c/p\u003e\n\u003cp\u003e\n\u003cb\u003eforward=local addr,destination addr,[proxy 1],[proxy 2]\u003c/b\u003e\u003cbr\u003e\n\u003ctable border=\"0\" cellspacing=\"4\" cellpadding=\"0\"\u003e\n\u003ctr\u003e\u003ctd align=\"left\" valign=\"top\" width=\"100\"\u003elocal addr\u003c/td\u003e\u003ctd\u003e\n\tDefine where port-proxy listen for connections.\u003cbr\u003e\n\tIt can be either a port or an address with port (eg. 127.0.0.1:8080; localhost:8080)\u003cbr\u003e\n\tWithout an address your system listens on all interfaces, also an dialup line.\u003cbr\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\" valign=\"top\"\u003edestination addr\u003c/td\u003e\u003ctd\u003e\n\tDefines the destination as addr:port (eg. 192.168.0.1:80 or remotehost.com:80)\u003cbr\u003e\n\tPlease note: If you use an proxy, this address is from the view of the proxy. If you use localhost or 127.0.0.1 it addresses the proxy host.\u003cbr\u003e\n\tIf you enter the special address [PROXY], port-proxy.pl behave like an https proxy an reads the destination from the connecting client.\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\" valign=\"top\"\u003eproxy 1\u003c/td\u003e\u003ctd\u003e\n\tDefines an https proxy to use.  \n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\" valign=\"top\"\u003eproxy 2\u003c/td\u003e\u003ctd\u003e\n\tDefines an 2nd https proxy to use. This is usally port-proxy.pl listening an port 443 \n\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n\u003cb\u003eallow_proxy_to=addr\u003c/b\u003e\u003cbr\u003e\nDefines which destinations are allowed if you use [PROXY] as destination.\u003cbr\u003e\nAddr is executed with perl regex and my be something like this:\u003cbr\u003e\nallow_proxy_to=localhost:23\t# allow telnet\u003cbr\u003e\nallow_proxy_to=192.168..*:80\t# http to all 192.168.x.x\u003cbr\u003e\n\u003c/p\u003e\n\u003cp\u003e\n\u003cb\u003eExample 1: Port forwarding\u003c/b\u003e\u003cbr\u003e\nTask: Allow access to a service on a know host\u003cbr\u003e\n[client] --- [proxy] --- [remote]\u003cbr\u003e\nYour client has no access to [remote], but has access to [proxy]\u003cbr\u003e\nTo fetch mail from [remote], you may configure on [proxy]:\u003cbr\u003e\nforward=110,remote.com:110\u003cbr\u003e\nYour client connects to [proxy] an port 110 an fetches mail from remote.com.\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n\u003cb\u003eExample 2: Port forwarding with https tunnel\u003c/b\u003e\u003cbr\u003e\nTask: Your client want to telnet to a know host, but is behind an firewall with only access to an https proxy. \u003cbr\u003e\nConfiguration on Client (\u003ci\u003enot working\u003c/i\u003e): forward=localhost:9023,remote.com:23,https-proxy:8080\u003cbr\u003e\nSince most proxys allow only connection to port 443 you don't has access to remote.com:23.\u003cbr\u003e\nTo get it work, you need to setup telnet on port 443 at remote.com:\n\u003cul\u003e\n\u003cli\u003eInsert in inetd.conf of remote.com: 443 stream tcp nowait root /usr/sbin/tcpd in.telnetd\u003c/li\u003e\n\u003cli\u003eUse configuration: forward=localhost:9023,remote.com:443,https-proxy:8080\u003c/li\u003e\n\u003cli\u003eOn your client use: telnet localhost 9023\u003c/li\u003e\n\u003c/ul\u003e\nAnother disadvantage is that you only can configure one service on port 443.\n\u003c/p\u003e\n\n\u003cp\u003e\n\u003cb\u003eExample 3: Port forwarding with https tunnel and an special proxy to access individual remote addesses\u003c/b\u003e\u003cbr\u003e\n[client] --- [https-proxy] --- [remote host proxy:443] -- [remote service]\u003cbr\u003e\nTo cover the problems noted above, port-proxy.pl can behave like an proxy listening an port 443 and forward to your needed service.\u003cbr\u003e\nYou need to run port-proxy.pl on [client] and [remote]\u003cbr\u003e\n\u003c/p\u003e\n\u003cp\u003e\nport-proxy.conf on your client (telnet example):\u003cbr\u003e\nforward=localhost:9023,localhost:23,https-proxy:8080,remote.com:443\u003cbr\u003e\n(Note: 'localhost:23' is from the view of remote.com. Therefore it addresses telnet on remote.com)\n\u003c/p\u003e\n\u003cp\u003e\nport-proxy.conf on remote.com:\u003cbr\u003e\nforward=443,[PROXY]\t\t\t# Listen on port 443 and behave like an https proxy\u003cbr\u003e\nallow_proxy_to=localhost:23\t# telnet\u003cbr\u003e\n\u003c/p\u003e\n\u003cp\u003e\nConnection flow:\n\u003cul\u003e\n\u003cli\u003eOn client: telnet localhost:9023\u003c/li\u003e\n\u003cli\u003eport-proxy.pl connects to https-proxy:8080\u003c/li\u003e\n\u003cli\u003ehttps-proxy connects to remote.com:443\u003c/li\u003e\n\u003cli\u003eport-proxy.pl an remote.com connects localhost:23 (telnet)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/p\u003e\n\n\u003ch3\u003eRunning port-proxy.pl\u003c/h3\u003e\n\u003cp\u003e\n\u003cb\u003eperl port-proxy.pl [-d] [-D] [-c conffile]\u003c/b\u003e\n\u003ctable border=\"0\" cellspacing=\"4\" cellpadding=\"0\"\u003e\n\u003ctr\u003e\u003ctd align=\"left\" valign=\"top\"\u003e-d\u003c/td\u003e\u003ctd\u003e\nEnable debug output\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\" valign=\"top\"\u003e-D\u003c/td\u003e\u003ctd\u003e\nBecome a background process (detach don't work on windows)\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\" valign=\"top\"\u003e-c conffile\u003c/td\u003e\u003ctd\u003e\nSpecify an config file\n\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\nExample:\u003cbr\u003e\nperl port-proxy -D -c /etc/port-proxy.conf\n\u003c/p\u003e\n\u003cp\u003e\n\u003c/p\u003e\n\n\u003ch3\u003eLicense\u003c/h3\u003e\nThis script is published 'as is', without warrenty or support.\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003eYou are allowed to use and distribut without changes\u003c/li\u003e\n\u003cli\u003eIf you distribute modified version, you must not remove the copyright or author information.\u003cbr\u003e\nYou should document the changes and may add your copyright for that parts.\u003c/li\u003e\n\u003cli\u003eIf you use parts in your software, you should honor our work somewhere in your documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003chr\u003e\n(C) 2004 Ralf Amandi, Accordata GmbH \n\u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziozzang%2Fport-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fziozzang%2Fport-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziozzang%2Fport-proxy/lists"}