{"id":17237287,"url":"https://github.com/adsr/rw.rs","last_synced_at":"2025-05-16T10:08:31.937Z","repository":{"id":37016563,"uuid":"181228884","full_name":"adsr/rw.rs","owner":"adsr","description":"free shell account and web 1.0 hosting @ http://rw.rs/~you","archived":false,"fork":false,"pushed_at":"2025-05-07T03:45:51.000Z","size":1254,"stargazers_count":100,"open_issues_count":0,"forks_count":147,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-07T04:32:01.922Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"http://rw.rs","language":"Shell","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/adsr.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-04-13T21:07:58.000Z","updated_at":"2025-05-07T03:45:55.000Z","dependencies_parsed_at":"2023-02-18T14:01:47.234Z","dependency_job_id":"f33bb2c7-2fc1-498f-873c-1affb8e0656e","html_url":"https://github.com/adsr/rw.rs","commit_stats":{"total_commits":362,"total_committers":168,"mean_commits":"2.1547619047619047","dds":0.569060773480663,"last_synced_commit":"3a75789b380671beb081cbc6a36b05f853661b8a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adsr%2Frw.rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adsr%2Frw.rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adsr%2Frw.rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adsr%2Frw.rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adsr","download_url":"https://codeload.github.com/adsr/rw.rs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254509477,"owners_count":22082892,"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":["hacktoberfest"],"created_at":"2024-10-15T05:42:28.235Z","updated_at":"2025-05-16T10:08:26.926Z","avatar_url":"https://github.com/adsr.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rw.rs\n\nAn experimental software community with a 199X aesthetic.\n\nTo join, submit a pull request with your public key at `users/\u003cyou\u003e/authorized_keys`[^1].\n\n### Quickstart\n\n    $ # Fork rw.rs repo on GitHub\n    $ git clone https://github.com/\u003cyou\u003e/rw.rs.git\n    $ cd rw.rs\n    $\n    $ # Generate key pair (or use an existing key)\n    $ ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_rwrs\n    $\n    $ # Add pub key to repo\n    $ mkdir users/\u003cyou\u003e     # Note: \u003cyou\u003e should be \u003c= 10 chars\n    $ cp ~/.ssh/id_ed25519_rwrs.pub users/\u003cyou\u003e/authorized_keys\n    $ git add users/\u003cyou\u003e/authorized_keys\n    $ git commit -m 'add user \u003cyou\u003e'\n    $ git push\n    $\n    $ # Visit https://github.com/\u003cyou\u003e/rw.rs.git\n    $ # Create pull request and wait until merged\n    $ # ...\n    $\n    $ # After ~10 minutes, account is auto-created\n    $ # Login!\n    $ ssh -i ~/.ssh/id_ed25519_rwrs \u003cyou\u003e@rw.rs\n    $\n    $ # Set your motd\n    $ echo hello users \u003e~/motd\n    $\n    $ # Make your web page at http://rw.rs/~\u003cyou\u003e\n    $ mkdir ~/public_html\n    $ echo hello internet \u003e~/public_html/index.html\n    $\n    $ # Idle in tilde.chat IRC\n    $ # Want a new feature? Feel free to submit PRs\n    $ # Enjoy\n\n### CGI-like setup\n\nIn quasi-nostalgic fashion, rw.rs also supports CGI-like web apps if you want\nto go beyond static HTML. Below is an example of a CGI-like PHP app, but you\ncan use whatever language you wish.\n\n    adsr@rwrs:~$ cat ~/.config/systemd/user/proxy.service\n    [Service]\n    ExecStart=/bin/bash -c 'socat UNIX-LISTEN:$HOME/public_html/proxy.sock,fork,perm-early=0666 \"SYSTEM:timeout 2 $HOME/proxy\"'\n\n    [Install]\n    WantedBy=default.target\n    adsr@rwrs:~$ ls -l ~/proxy\n    -rwxr-xr-x 1 adsr adsr 229 Dec 23 22:51 /home/adsr/proxy\n    adsr@rwrs:~$ cat proxy\n    #!/usr/bin/env php\n    \u003c?php\n\n    require '/usr/share/lib/php/http.php';\n\n    http_handle(function($request, $set_code_fn, $set_header_fn) {\n        $set_code_fn(200);\n        $set_header_fn('Content-Type', 'text/plain');\n        print_r($request);\n    });\n    adsr@rwrs:~$ systemctl --user daemon-reload\n    adsr@rwrs:~$ systemctl --user start proxy\n    adsr@rwrs:~$ systemctl --user status proxy\n    ● proxy.service\n       Loaded: loaded (/home/adsr/.config/systemd/user/proxy.service; enabled; vendor preset: enabled)\n       Active: active (running) since Wed 2020-12-23 22:56:46 UTC; 2s ago\n     Main PID: 29686 (socat)\n       CGroup: /user.slice/user-1000.slice/user@1000.service/proxy.service\n               └─29686 socat UNIX-LISTEN:/home/adsr/public_html/proxy.sock,fork,perm-early=0666 SYSTEM:timeout 2 /home/adsr/proxy\n    adsr@rwrs:~$ curl -s 'localhost/~adsr/proxy/test'\n    Array\n    (\n        [headers] =\u003e Array\n            (\n                [host] =\u003e adsr\n                [user-agent] =\u003e curl/7.68.0\n                [accept] =\u003e */*\n                [x-forwarded-for] =\u003e ::1\n                [x-forwarded-host] =\u003e localhost\n                [x-forwarded-server] =\u003e default\n                [connection] =\u003e Keep-Alive\n            )\n\n        [content] =\u003e\n        [verb] =\u003e GET\n        [uri] =\u003e /~adsr/proxy/test\n        [protocol] =\u003e HTTP/1.1\n        [uri_parts] =\u003e Array\n            (\n                [path] =\u003e /~adsr/proxy/test\n            )\n\n        [params] =\u003e Array\n            (\n            )\n\n    )\n    adsr@rwrs:~$ curl -s -X POST -d 'param=1' 'localhost/~adsr/proxy/test'\n    Array\n    (\n        [headers] =\u003e Array\n            (\n                [host] =\u003e adsr\n                [user-agent] =\u003e curl/7.68.0\n                [accept] =\u003e */*\n                [content-type] =\u003e application/x-www-form-urlencoded\n                [x-forwarded-for] =\u003e ::1\n                [x-forwarded-host] =\u003e localhost\n                [x-forwarded-server] =\u003e default\n                [content-length] =\u003e 7\n                [connection] =\u003e Keep-Alive\n            )\n\n        [content] =\u003e param=1\n        [verb] =\u003e POST\n        [uri] =\u003e /~adsr/proxy/test\n        [protocol] =\u003e HTTP/1.1\n        [uri_parts] =\u003e Array\n            (\n                [path] =\u003e /~adsr/proxy/test\n            )\n\n        [params] =\u003e Array\n            (\n                [param] =\u003e 1\n            )\n\n    )\n\n[^1]: Due to abuse, only GitHub accounts with some sort of legit activity will\n      be accepted. If you don't have any GitHub activity, please link _to_ your\n      GitHub account _from_ some other established identity (e.g., another\n      tilde host, GitLab, a personal web site, etc.) and make a note of such in\n      your PR. For genuine beginners with no established identity, or people\n      wishing to preserve anonymity, I apologize. Unfortunately scammers have\n      used this service for spam and other crap, which has almost resulted in\n      the hosting provider terminating us.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadsr%2Frw.rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadsr%2Frw.rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadsr%2Frw.rs/lists"}