├── .editorconfig ├── .github ├── CODEOWNERS ├── dependabot.yml ├── labels.yml └── workflows │ ├── build.yml │ ├── labels.yml │ └── released.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── build.properties ├── build.xml ├── go.mod ├── go.sum ├── main.go ├── res ├── app.ico ├── papp.ico ├── papp.manifest ├── papp.png ├── run.iss └── setup-mini.bmp └── tools └── tools.go /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs. 2 | # More information at http://editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | indent_size = 2 9 | indent_style = space 10 | end_of_line = lf 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [*.md] 15 | trim_trailing_whitespace = false 16 | 17 | [*.go] 18 | indent_style = tab 19 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @crazy-max 2 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "gomod" 4 | directory: "/" 5 | schedule: 6 | interval: "daily" 7 | time: "08:00" 8 | timezone: "Europe/Paris" 9 | labels: 10 | - ":game_die: dependencies" 11 | - ":robot: bot" 12 | - package-ecosystem: "github-actions" 13 | directory: "/" 14 | schedule: 15 | interval: "daily" 16 | time: "08:00" 17 | timezone: "Europe/Paris" 18 | labels: 19 | - ":game_die: dependencies" 20 | - ":robot: bot" 21 | -------------------------------------------------------------------------------- /.github/labels.yml: -------------------------------------------------------------------------------- 1 | ## more info https://github.com/crazy-max/ghaction-github-labeler 2 | - # bot 3 | name: ":robot: bot" 4 | color: "69cde9" 5 | description: "" 6 | - # broken 7 | name: ":zap: broken" 8 | color: "a3090e" 9 | description: "" 10 | - # bug 11 | name: ":bug: bug" 12 | color: "b60205" 13 | description: "" 14 | - # dependencies 15 | name: ":game_die: dependencies" 16 | color: "0366d6" 17 | description: "" 18 | - # documentation 19 | name: ":memo: documentation" 20 | color: "c5def5" 21 | description: "" 22 | - # duplicate 23 | name: ":busts_in_silhouette: duplicate" 24 | color: "cccccc" 25 | description: "" 26 | - # enhancement 27 | name: ":sparkles: enhancement" 28 | color: "0054ca" 29 | description: "" 30 | - # feature request 31 | name: ":bulb: feature request" 32 | color: "0e8a16" 33 | description: "" 34 | - # feedback 35 | name: ":mega: feedback" 36 | color: "03a9f4" 37 | description: "" 38 | - # future maybe 39 | name: ":rocket: future maybe" 40 | color: "fef2c0" 41 | description: "" 42 | - # good first issue 43 | name: ":hatching_chick: good first issue" 44 | color: "7057ff" 45 | description: "" 46 | - # help wanted 47 | name: ":pray: help wanted" 48 | color: "4caf50" 49 | description: "" 50 | - # hold 51 | name: ":hand: hold" 52 | color: "24292f" 53 | description: "" 54 | - # invalid 55 | name: ":no_entry_sign: invalid" 56 | color: "e6e6e6" 57 | description: "" 58 | - # maybe bug 59 | name: ":interrobang: maybe bug" 60 | color: "ff5722" 61 | description: "" 62 | - # needs more info 63 | name: ":thinking: needs more info" 64 | color: "795548" 65 | description: "" 66 | - # question 67 | name: ":question: question" 68 | color: "3f51b5" 69 | description: "" 70 | - # trademark violation 71 | name: ":construction: trademark violation" 72 | color: "cfe524" 73 | description: "" 74 | - # upstream 75 | name: ":eyes: upstream" 76 | color: "fbca04" 77 | description: "" 78 | - # wontfix 79 | name: ":coffin: wontfix" 80 | color: "ffffff" 81 | description: "" 82 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: 4 | workflow_dispatch: 5 | push: 6 | tags: 7 | - '*' 8 | pull_request: 9 | 10 | jobs: 11 | build: 12 | uses: portapps/.github/.github/workflows/app-build.yml@master 13 | -------------------------------------------------------------------------------- /.github/workflows/labels.yml: -------------------------------------------------------------------------------- 1 | name: labels 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'master' 7 | paths: 8 | - '.github/labels.yml' 9 | - '.github/workflows/labels.yml' 10 | 11 | jobs: 12 | labeler: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - 16 | name: Checkout 17 | uses: actions/checkout@v4 18 | - 19 | name: Run Labeler 20 | uses: crazy-max/ghaction-github-labeler@v5 21 | -------------------------------------------------------------------------------- /.github/workflows/released.yml: -------------------------------------------------------------------------------- 1 | name: released 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | virustotal: 9 | uses: portapps/.github/.github/workflows/app-virustotal.yml@master 10 | secrets: 11 | vt_api_key: ${{ secrets.VT_API_KEY }} 12 | vt_monitor_api_key: ${{ secrets.VT_MONITOR_API_KEY }} 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Intellij 2 | /.idea 3 | /*.iml 4 | 5 | # App 6 | /.dev 7 | /bin 8 | /vendor 9 | /*.syso 10 | /*.exe 11 | /versioninfo.json 12 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 1.76.20-9 (2019/04/12) 4 | 5 | * mRemoteNG 1.76.20 6 | 7 | ## 1.76.19-7 (2019/04/05) 8 | 9 | * mRemoteNG 1.76.19 10 | * Portapps 1.21.0 11 | 12 | ## 1.76.18-6 (2019/03/21) 13 | 14 | * mRemoteNG 1.76.18 15 | * Portapps 1.20.3 16 | 17 | ## 1.76.16-5 (2019/03/15) 18 | 19 | * mRemoteNG 1.76.16 20 | 21 | ## 1.76.15-3 (2019/03/09) 22 | 23 | * mRemoteNG 1.76.15 24 | * Portapps 1.20.2 25 | 26 | ## 1.76.14-2 (2019/02/09) 27 | 28 | * mRemoteNG 1.76.14 29 | * Switch to TravisCI 30 | 31 | ## 1.76.11-1 (2018/10/23) 32 | 33 | * Initial version based on mRemoteNG 1.76.11 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018-2025 CrazyMax 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | GitHub release 5 | Total downloads 6 | Build Status 7 | Go Report 8 |
Become a sponsor 9 | Donate Paypal 10 |

11 | 12 | ## Notice of Non-Affiliation and Disclaimer 13 | 14 | Portapps is not affiliated, associated, authorized, endorsed by, or in any way officially connected with mRemoteNG™, or any of its subsidiaries or its affiliates. 15 | 16 | The official mRemoteNG™ website can be found at https://mremoteng.org. 17 | 18 | The name mRemoteNG™ as well as related names, marks, emblems and images are registered trademarks of their respective owners. 19 | 20 | ## About 21 | 22 | mRemoteNG™ portable app made with 🚀 [Portapps](https://portapps.io).
23 | Documentation and downloads can be found on https://portapps.io/app/mremoteng-portable/ 24 | 25 | ## Contributing 26 | 27 | Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. If 28 | you want to open a pull request, please read the [contributing guidelines](https://portapps.io/doc/contribute/). 29 | 30 | You can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max) or by 31 | making a [Paypal donation](https://www.paypal.me/crazyws) to ensure this journey continues indefinitely! 32 | 33 | Thanks again for your support, it is much appreciated! :pray: 34 | 35 | ## License 36 | 37 | MIT. See `LICENSE` for more details.
38 | Rocket icon credit to [Squid Ink](http://thesquid.ink). 39 | -------------------------------------------------------------------------------- /build.properties: -------------------------------------------------------------------------------- 1 | # Portapps 2 | core.dir = ../portapps 3 | 4 | # App 5 | app = mremoteng 6 | app.name = mRemoteNG 7 | app.type = archive 8 | app.version = 1.76.20 9 | app.release = 9 10 | app.homepage = https://mremoteng.org 11 | 12 | # Portable app 13 | papp.id = ${app}-portable 14 | papp.guid = {A83A0136-0016-4EEE-93D5-C2ED45E71303} 15 | papp.name = ${app.name} Portable 16 | papp.desc = ${app.name} portable on Windows by Portapps 17 | papp.url = https://github.com/portapps/${papp.id} 18 | papp.folder = app 19 | 20 | # Official artifacts 21 | atf.id = ${app.name} 22 | atf.win32.filename = ${atf.id}-${app.version} 23 | atf.win32.ext = .zip 24 | atf.win32.url = https://github.com/mRemoteNG/mRemoteNG/releases/download/v${app.version}/mRemoteNG-Portable-${app.version}.24669.zip 25 | atf.win32.assertextract = ${app.name}.exe 26 | -------------------------------------------------------------------------------- /build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/portapps/mremoteng-portable 2 | 3 | go 1.24.0 4 | 5 | require github.com/portapps/portapps/v3 v3.16.0 6 | 7 | require ( 8 | github.com/akavel/rsrc v0.10.2 // indirect 9 | github.com/go-viper/mapstructure/v2 v2.2.1 // indirect 10 | github.com/ilya1st/rotatewriter v0.0.0-20171126183947-3df0c1a3ed6d // indirect 11 | github.com/josephspurrier/goversioninfo v1.5.0 // indirect 12 | github.com/mattn/go-colorable v0.1.13 // indirect 13 | github.com/mattn/go-isatty v0.0.19 // indirect 14 | github.com/pkg/errors v0.9.1 // indirect 15 | github.com/rs/zerolog v1.34.0 // indirect 16 | golang.org/x/sys v0.32.0 // indirect 17 | gopkg.in/yaml.v3 v3.0.1 // indirect 18 | ) 19 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= 2 | github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= 3 | github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= 4 | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= 5 | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 6 | github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= 7 | github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= 8 | github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= 9 | github.com/ilya1st/rotatewriter v0.0.0-20171126183947-3df0c1a3ed6d h1:OGuVAVny/97zsQ5BWg0mOjzTBBD9zR+Lug1co144+rU= 10 | github.com/ilya1st/rotatewriter v0.0.0-20171126183947-3df0c1a3ed6d/go.mod h1:S1q6q+21PRGd0WRX+fHjQ+TOe3CgpSv7zgCWnZcbxCs= 11 | github.com/josephspurrier/goversioninfo v1.5.0 h1:9TJtORoyf4YMoWSOo/cXFN9A/lB3PniJ91OxIH6e7Zg= 12 | github.com/josephspurrier/goversioninfo v1.5.0/go.mod h1:6MoTvFZ6GKJkzcdLnU5T/RGYUbHQbKpYeNP0AgQLd2o= 13 | github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= 14 | github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= 15 | github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= 16 | github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= 17 | github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= 18 | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= 19 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 20 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 21 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 22 | github.com/portapps/portapps/v3 v3.16.0 h1:wQyDDoYAh7YTTaIwo48K8lbegODZuasSq4S7XIppe6s= 23 | github.com/portapps/portapps/v3 v3.16.0/go.mod h1:4ue65AQ4rAe0iiOr3tTvmmNyDYIB9R6JywBBEPrJKZU= 24 | github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= 25 | github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY= 26 | github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ= 27 | github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= 28 | github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= 29 | golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 30 | golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 31 | golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 32 | golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= 33 | golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= 34 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= 35 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 36 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= 37 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 38 | -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- 1 | //go:generate go install -v github.com/josephspurrier/goversioninfo/cmd/goversioninfo 2 | //go:generate goversioninfo -icon=res/papp.ico -manifest=res/papp.manifest 3 | package main 4 | 5 | import ( 6 | "fmt" 7 | "os" 8 | "path/filepath" 9 | 10 | "github.com/portapps/portapps/v3" 11 | "github.com/portapps/portapps/v3/pkg/log" 12 | "github.com/portapps/portapps/v3/pkg/utl" 13 | ) 14 | 15 | var ( 16 | app *portapps.App 17 | ) 18 | 19 | func init() { 20 | var err error 21 | 22 | // Init app 23 | if app, err = portapps.New("mremoteng-portable", "mRemoteNG"); err != nil { 24 | log.Fatal().Err(err).Msg("Cannot initialize application. See log file for more info.") 25 | } 26 | } 27 | 28 | func main() { 29 | utl.CreateFolder(app.DataPath) 30 | app.Process = utl.PathJoin(app.AppPath, "mRemoteNG.exe") 31 | app.Args = []string{ 32 | fmt.Sprintf("/cons:%s", utl.FormatWindowsPath(utl.PathJoin(app.DataPath, "confCons.xml"))), 33 | } 34 | 35 | // mRemoteNG.settings check 36 | dSettings := utl.PathJoin(app.DataPath, "mRemoteNG.settings") 37 | aSettings := utl.PathJoin(app.AppPath, "mRemoteNG.settings") 38 | if !utl.Exists(dSettings) { 39 | if err := utl.WriteToFile(dSettings, ``); err != nil { 40 | log.Fatal().Err(err).Msg("Cannot write to mRemoteNG.settings") 41 | } 42 | } 43 | _ = os.Remove(aSettings) 44 | if err := os.Symlink(dSettings, aSettings); err != nil { 45 | log.Fatal().Err(err).Msg("Cannot create symlink to mRemoteNG.settings") 46 | } 47 | 48 | // extApps.xml exists in data ? Create symlink and remove old one 49 | dExtApps := utl.PathJoin(app.DataPath, "extApps.xml") 50 | aExtApps := utl.PathJoin(app.AppPath, "extApps.xml") 51 | if utl.Exists(dExtApps) { 52 | _ = os.Remove(aExtApps) 53 | if err := os.Symlink(dExtApps, aExtApps); err != nil { 54 | log.Fatal().Err(err).Msg("Cannot create symlink to extApps.xml") 55 | } 56 | } 57 | 58 | // pnlLayout.xml exists in data ? Create symlink and remove old one 59 | dPnlLayout := utl.PathJoin(app.DataPath, "pnlLayout.xml") 60 | aPnlLayout := utl.PathJoin(app.AppPath, "pnlLayout.xml") 61 | if utl.Exists(dPnlLayout) { 62 | _ = os.Remove(aPnlLayout) 63 | if err := os.Symlink(dPnlLayout, aPnlLayout); err != nil { 64 | log.Fatal().Err(err).Msg("Cannot create symlink to pnlLayout.xml") 65 | } 66 | } 67 | 68 | // On exit 69 | defer func() { 70 | // confCons.xml copy back on close if not exists in data 71 | dConfCons := utl.PathJoin(app.DataPath, "confCons.xml") 72 | aConfCons := utl.PathJoin(app.AppPath, "confCons.xml") 73 | if !utl.Exists(dConfCons) && utl.Exists(aConfCons) { 74 | if err := utl.CopyFile(aConfCons, dConfCons); err != nil { 75 | log.Error().Err(err).Msg("Cannot copy confCons.xml") 76 | } 77 | _ = os.Remove(aConfCons) 78 | if err := os.Symlink(dConfCons, aConfCons); err != nil { 79 | log.Error().Err(err).Msg("Cannot create symlink to confCons.xml") 80 | } 81 | } 82 | oldConfConsFiles, _ := filepath.Glob(utl.PathJoin(app.AppPath, "confCons*")) 83 | for _, oldConfConsFile := range oldConfConsFiles { 84 | if err := os.Remove(oldConfConsFile); err != nil { 85 | log.Error().Err(err).Msg("Cannot remove old confCons file") 86 | } 87 | } 88 | 89 | // extApps.xml handling on close 90 | if !utl.Exists(dExtApps) && utl.Exists(aExtApps) { 91 | if err := utl.CopyFile(aExtApps, dExtApps); err != nil { 92 | log.Error().Err(err).Msg("Cannot copy extApps.xml") 93 | } 94 | _ = os.Remove(aExtApps) 95 | if err := os.Symlink(dExtApps, aExtApps); err != nil { 96 | log.Error().Err(err).Msg("Cannot create symlink to extApps.xml") 97 | } 98 | } 99 | 100 | // pnlLayout.xml handling on close 101 | if !utl.Exists(dPnlLayout) && utl.Exists(aPnlLayout) { 102 | if err := utl.CopyFile(aPnlLayout, dPnlLayout); err != nil { 103 | log.Error().Err(err).Msg("Cannot copy pnlLayout.xml") 104 | } 105 | _ = os.Remove(aPnlLayout) 106 | if err := os.Symlink(dPnlLayout, aPnlLayout); err != nil { 107 | log.Error().Err(err).Msg("Cannot create symlink to pnlLayout.xml") 108 | } 109 | } 110 | }() 111 | 112 | defer app.Close() 113 | app.Launch(os.Args[1:]) 114 | } 115 | -------------------------------------------------------------------------------- /res/app.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/portapps/mremoteng-portable/54f206fe0fdc80a90f22a859ed8f8d7f108dc466/res/app.ico -------------------------------------------------------------------------------- /res/papp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/portapps/mremoteng-portable/54f206fe0fdc80a90f22a859ed8f8d7f108dc466/res/papp.ico -------------------------------------------------------------------------------- /res/papp.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /res/papp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/portapps/mremoteng-portable/54f206fe0fdc80a90f22a859ed8f8d7f108dc466/res/papp.png -------------------------------------------------------------------------------- /res/run.iss: -------------------------------------------------------------------------------- 1 | [Run] 2 | Filename: {app}\{#pappId}.exe; Description: Run {#pappName}; Flags: nowait postinstall skipifsilent unchecked 3 | -------------------------------------------------------------------------------- /res/setup-mini.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/portapps/mremoteng-portable/54f206fe0fdc80a90f22a859ed8f8d7f108dc466/res/setup-mini.bmp -------------------------------------------------------------------------------- /tools/tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | // +build tools 3 | 4 | // Package tools tracks dependencies on binaries not referenced in this codebase. 5 | // https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module 6 | package tools 7 | 8 | import ( 9 | _ "github.com/portapps/portapps/v3/tools" 10 | ) 11 | --------------------------------------------------------------------------------