{"id":22088050,"url":"https://github.com/bw9ubwo/r","last_synced_at":"2025-03-23T22:41:01.184Z","repository":{"id":84255794,"uuid":"422837409","full_name":"bw9ubwo/r","owner":"bw9ubwo","description":"Simple wrapper to run local scripts, programs and commands with data over ssh on a remote machine.","archived":false,"fork":false,"pushed_at":"2021-10-30T09:39:29.000Z","size":2,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T05:46:02.570Z","etag":null,"topics":["cli","freebsd","helper","linux","remote","remote-execution","remote-shell","script","shell-script","ssh","tools"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/bw9ubwo.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-30T09:27:32.000Z","updated_at":"2021-10-31T12:06:08.000Z","dependencies_parsed_at":"2023-03-12T22:13:06.330Z","dependency_job_id":null,"html_url":"https://github.com/bw9ubwo/r","commit_stats":null,"previous_names":["bw9ubwo/r"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bw9ubwo%2Fr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bw9ubwo%2Fr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bw9ubwo%2Fr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bw9ubwo%2Fr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bw9ubwo","download_url":"https://codeload.github.com/bw9ubwo/r/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245181507,"owners_count":20573717,"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":["cli","freebsd","helper","linux","remote","remote-execution","remote-shell","script","shell-script","ssh","tools"],"created_at":"2024-12-01T02:07:26.572Z","updated_at":"2025-03-23T22:41:01.151Z","avatar_url":"https://github.com/bw9ubwo.png","language":"Shell","readme":"# \"R\"\n\n...is a simple wrapper to run local scripts, programs and commands on a remote machine.\n\n## How dos it works\n\n\"R\" will copy the current working directory to a remote system and execute a command there. \nThe execution is run inside a screen session, so you can detach (Press [CTRL]+A, D) and reattach at any time.\n\n\n## Example\n\nSet the `$R_SSH_REMOTE` Environment Variable and switch to your project folder.\n\n```\nexport R_SSH_REMOTE=\"me@my.remote.machine\"\n```\n\nRun code local and remote.\n\n```\ncd myproject\npython myproject.py # run local\nr \"python myproject.py\" # run remote\n```\n\nLet's try a long running task.\n\n```\nr \"python myproject.py\"\n```\n\nPress [CTRL]+A, D to detach the remote session.\n\n\n```\nr --attach\n```\n\nAttach current running remote session. Press [CTRL]+C to abort.\nIf your task is already done, you can easily grab the log file.\n\n\n```\nr --log\n```\n\n\n## Prerequisites\n\n- A Unix-like operating system on both sides: macOS, Linux, BSD.\n- The Client needs curl ( for Install ) and rsync installed.\n- On the Remote machine we need screen and key based SSH authentication.\n- Set the `$R_SSH_REMOTE` Environment Variable for your Shell.\n\n\n## Basic Installation\n\n```\nsudo curl -s https://codeberg.org/mono/r/raw/branch/main/r | sudo sh -s -- --install\n```\n\n\n## Using \"R\"\n\nCopy current local directory to remote and run the given command inside a screen session.\n\n```\n    r \"ls -la; sleep 60\"\n```\n\nOther options:\n\n```\n    r -r|--run \"ls -la\"       : Run command on remote but dont sync files.\n    r -p|--push               : Push local files to remote.\n    r -f|--fetch              : Pull remote files. !!! Can Overwrite local files !!!\n    r -l|--log                : Display the remote log.\n    r -a|--attach             : Attach the remote screen session if running.\n    r -d|--destroy            : Remove the files on the remote machine.\n    r -h|--help               : Display the command options.\n```\n\nTo exclude files or folders add them to a `.rignore` file.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbw9ubwo%2Fr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbw9ubwo%2Fr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbw9ubwo%2Fr/lists"}