{"id":17084811,"url":"https://github.com/karasiq/proxychain","last_synced_at":"2025-04-12T21:28:13.617Z","repository":{"id":30778986,"uuid":"34335796","full_name":"Karasiq/proxychain","owner":"Karasiq","description":"Proxy-chaining SOCKS/HTTP proxy server","archived":false,"fork":false,"pushed_at":"2018-09-11T05:27:16.000Z","size":146,"stargazers_count":19,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-26T15:43:01.733Z","etag":null,"topics":["akka-streams","http-proxy","proxy","proxychains","scala","scripted","socks"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Karasiq.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-21T15:31:09.000Z","updated_at":"2025-01-25T14:15:52.000Z","dependencies_parsed_at":"2022-09-26T21:41:06.283Z","dependency_job_id":null,"html_url":"https://github.com/Karasiq/proxychain","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Karasiq%2Fproxychain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Karasiq%2Fproxychain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Karasiq%2Fproxychain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Karasiq%2Fproxychain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Karasiq","download_url":"https://codeload.github.com/Karasiq/proxychain/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248633908,"owners_count":21136937,"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","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":["akka-streams","http-proxy","proxy","proxychains","scala","scripted","socks"],"created_at":"2024-10-14T13:09:44.029Z","updated_at":"2025-04-12T21:28:13.585Z","avatar_url":"https://github.com/Karasiq.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Proxychain [![Version](http://img.shields.io/badge/version-2.0.6-blue.svg?style=flat)](https://github.com/Karasiq/proxychain/releases) [![Dependencies](https://app.updateimpact.com/badge/692686982173822976/proxychain.svg?config=compile)](https://app.updateimpact.com/latest/692686982173822976/proxychain)\nProxy-chaining SOCKS/HTTP server (see also [proxyutils library](https://github.com/Karasiq/proxyutils))\n\n# Configuration\nConfiguration through `proxychain.coffee` script:\n```coffeescript\nentry = [\n  \"socks://localhost:9050\" # TOR\n]\n\nloadMiddle = () -\u003e\n  socks = ProxySource.fromURL(\"http://localhost:36800/proxylist.txt?list=public\u0026protocol=socks\u0026alive=true\u0026latency=1500\").map((ip) -\u003e \"socks://\" + ip)\n  https = ProxySource.fromURL(\"http://localhost:36800/proxylist.txt?list=public\u0026protocol=https\u0026alive=true\u0026latency=1500\")\n  proxies = socks.concat(http)\n  Logger.info(\"Loaded {} proxies\", proxies.length)\n  proxies\n\nmiddle = loadMiddle()\nexit = [\n  \"http://exit-proxy.com:8080\"\n]\n\nisHttp = (address) -\u003e\n  address.getPort() in [80, 443]\n\nisLocalhost = (client) -\u003e\n  client.getHostString() in [\"localhost\", \"127.0.0.1\", \"::1\"]\n\nreturn {\n  connectionIsAllowed: (client, address) -\u003e isLocalhost(client) \u0026\u0026 isHttp(address) \u0026\u0026 DefaultFirewall.connectionIsAllowed(client, address)\n  proxyChainsFor: (address) -\u003e ChainBuilder.chainsFrom(2, entry, ChainBuilder.hops(middle, 3), exit)\n}\n```\n\nConfiguration through `proxychain.conf`:\n```scala\nproxyChain {\n  host = \"0.0.0.0\" // Listen IP\n  port = 1080 // Listen port\n  \n  tls { // Transport layer security settings\n    port = 0 // TLS listen port (0 to disable)\n    client-auth = true // Is client auth mandatory\n    key-store = \"proxychain.jks\" // Key store path\n    key-store-pass = \"proxychain\" // Key store password\n    trust-store = \"proxychain-trust.jks\" // Trust store path\n  }\n  \n  // Firewall settings:\n  allowedRanges = [\n    // IP ranges whitelist\n  ]\n  blockedRanges = [\n    // IP ranges blacklist\n  ]\n  \n  allowedPorts = [\n    // Ports whitelist\n  ]\n  blockedPorts = [\n    // Ports blacklist\n  ]\n  \n  allowedHosts = [\n    // Hosts whitelist\n  ]\n  blockedHosts = [\n    // Hosts blacklist\n  ]\n  \n  allowedClients = [\n    // Clients whitelist\n  ]\n  \n  blockedClients = [\n    // Clients blacklist\n  ]\n  \n  // Proxy servers here:\n  entry {\n    // Default hop settings\n    hops = 0\n    randomize = false\n    \n    proxies = [\n      \"http://user:password@proxy1.com:8080\"  // First server in chain\n    ]\n  }\n  middle {\n    // Custom hop settings\n    hops = 3\n    randomize = true\n    \n    proxies = [\n      // Intermediate proxies here\n    ]\n  }\n  exit {\n    // Hop settings omitted - using default\n  \n    proxies = [\n      \"socks://proxy2.com:1080\"  // Last server in chain \n    ]\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarasiq%2Fproxychain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarasiq%2Fproxychain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarasiq%2Fproxychain/lists"}