{"id":13539462,"url":"https://github.com/rofl0r/microsocks","last_synced_at":"2025-05-14T05:10:35.806Z","repository":{"id":39420696,"uuid":"83582809","full_name":"rofl0r/microsocks","owner":"rofl0r","description":"tiny, portable SOCKS5 server with very moderate resource usage","archived":false,"fork":false,"pushed_at":"2025-02-12T16:26:17.000Z","size":32,"stargazers_count":1681,"open_issues_count":23,"forks_count":286,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-04-12T14:53:17.699Z","etag":null,"topics":["lightweight","proxy","pthreads","socks5","socks5-proxy","socks5-server"],"latest_commit_sha":null,"homepage":null,"language":"C","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/rofl0r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-01T17:38:36.000Z","updated_at":"2025-04-10T16:19:06.000Z","dependencies_parsed_at":"2022-07-14T04:30:28.795Z","dependency_job_id":"b5226ddc-46e8-449f-9240-720a8a79fb71","html_url":"https://github.com/rofl0r/microsocks","commit_stats":{"total_commits":55,"total_committers":7,"mean_commits":7.857142857142857,"dds":"0.32727272727272727","last_synced_commit":"655c53d27df0bd69e0ecfa8309ce2940797f3362"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fmicrosocks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fmicrosocks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fmicrosocks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fmicrosocks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rofl0r","download_url":"https://codeload.github.com/rofl0r/microsocks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076849,"owners_count":22010611,"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":["lightweight","proxy","pthreads","socks5","socks5-proxy","socks5-server"],"created_at":"2024-08-01T09:01:26.195Z","updated_at":"2025-05-14T05:10:35.781Z","avatar_url":"https://github.com/rofl0r.png","language":"C","readme":"MicroSocks - multithreaded, small, efficient SOCKS5 server.\n===========================================================\n\na SOCKS5 service that you can run on your remote boxes to tunnel connections\nthrough them, if for some reason SSH doesn't cut it for you.\n\nIt's very lightweight, and very light on resources too:\n\nfor every client, a thread with a low stack size is spawned.\nthe main process basically doesn't consume any resources at all.\n\nthe only limits are the amount of file descriptors and the RAM.\n\nIt's also designed to be robust: it handles resource exhaustion\ngracefully by simply denying new connections, instead of calling abort()\nas most other programs do these days.\n\nanother plus is ease-of-use: no config file necessary, everything can be\ndone from the command line and doesn't even need any parameters for quick\nsetup.\n\nHistory\n-------\n\nThis is the successor of \"rocksocks5\", and it was written with\ndifferent goals in mind:\n\n- prefer usage of standard libc functions over homegrown ones\n- no artificial limits\n- do not aim for minimal binary size, but for minimal source code size,\n  and maximal readability, reusability, and extensibility.\n\nas a result of that, ipv4, dns, and ipv6 is supported out of the box\nand can use the same code, while rocksocks5 has several compile time\ndefines to bring down the size of the resulting binary to extreme values\nlike 10 KB static linked when only ipv4 support is enabled.\n\nstill, if optimized for size, *this* program when static linked against musl\nlibc is not even 50 KB. that's easily usable even on the cheapest routers.\n\ncommand line options\n--------------------\n\n    microsocks -1 -q -i listenip -p port -u user -P passw -b bindaddr -w wl\n\nall arguments are optional.\nby default listenip is 0.0.0.0 and port 1080.\n\n- option -q disables logging.\n- option -b specifies which ip outgoing connections are bound to\n- option -w allows to specify a comma-separated whitelist of ip addresses,\nthat may use the proxy without user/pass authentication.\ne.g. -w 127.0.0.1,192.168.1.1.1,::1 or just -w 10.0.0.1\nto allow access ONLY to those ips, choose an impossible to guess user/pw combo.\n- option -1 activates auth_once mode: once a specific ip address\nauthed successfully with user/pass, it is added to a whitelist\nand may use the proxy without auth.\nthis is handy for programs like firefox that don't support\nuser/pass auth. for it to work you'd basically make one connection\nwith another program that supports it, and then you can use firefox too.\nfor example, authenticate once using curl:\n\n    curl --socks5 user:password@listenip:port anyurl\n\n\nSupported SOCKS5 Features\n-------------------------\n- authentication: none, password, one-time\n- IPv4, IPv6, DNS\n- TCP (no UDP at this time)\n\nTroubleshooting\n---------------\n\nif you experience segfaults, try raising the `THREAD_STACK_SIZE` in sockssrv.c\nfor your platform in steps of 4KB.\n\nif this fixes your issue please file a pull request.\n\nmicrosocks uses the smallest safe thread stack size to minimize overall memory\nusage.\n","funding_links":[],"categories":["网络信息服务","\u003ca id=\"1a9934198e37d6d06b881705b863afc8\"\u003e\u003c/a\u003e通信\u0026\u0026代理\u0026\u0026反向代理\u0026\u0026隧道","C","\u003ca id=\"d03d494700077f6a65092985c06bf8e8\"\u003e\u003c/a\u003e工具","SOCKS Proxy"],"sub_categories":["网络代理","\u003ca id=\"56acb7c49c828d4715dce57410d490d1\"\u003e\u003c/a\u003e未分类-Proxy","\u003ca id=\"57b8e953d394bbed52df2a6976d98dfa\"\u003e\u003c/a\u003eSocks","Popular Implementations of SOCKS server"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Fmicrosocks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frofl0r%2Fmicrosocks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Fmicrosocks/lists"}