├── LICENSE
├── README.md
├── _config.yml
├── resource
├── icon.ai
├── icon.ico
└── icon.png
├── source
├── RcloneBrowser Portable.sln
└── RcloneBrowser Portable
│ ├── App.config
│ ├── My Project
│ ├── Application.Designer.vb
│ ├── Application.myapp
│ ├── AssemblyInfo.vb
│ ├── Resources.Designer.vb
│ ├── Resources.resx
│ ├── Settings.Designer.vb
│ ├── Settings.settings
│ └── app.manifest
│ ├── RcloneBrowser Portable.vbproj
│ ├── Startup.vb
│ └── icon.ico
└── update
├── Release.zip
└── version
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 MinorMole
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 | [](https://gitHub.com/MinorMole/RcloneBrowser-Portable/releases)
2 | [](https://github.com/MinorMole/RcloneBrowser-Portable/blob/master/LICENSE)
3 |
4 | ## Introduction
5 |
6 | A portable launcher of [**Rclone Browser**](https://github.com/DinCahill/RcloneBrowser) for Windows that design with the end-user experience in mind.
7 |
8 | ## Features
9 |
10 | - Ready to use everywhere you go, unlike pure Rclone Browser every time you move it to somewhere else you have to re-config the rclone.exe location.
11 | - Auto-update from the developer, will bring you the latest rclone and Rclone Browser for the most exceptional experience.
12 | - Open user guide for you if you use it for the first time.
13 | - Optimized setting for Rclone Browser.
14 | - Detect multi-instance. (a common user-error of Rclone Browser)
15 | - Detect if your rclone.conf not encrypt and remind you to encrypt it.
16 | - Auto-install WinFsp for drive mounting feature of Rclone Browser.
17 | - Came with mpv for stream feature of Rclone Browser.
18 |
19 | ## Requirement
20 |
21 | - [**.NET Framework Runtime 4.8 or Higher**](https://dotnet.microsoft.com/download/dotnet-framework/net48)
22 |
23 | ## [Download & Changelog](https://gitHub.com/MinorMole/RcloneBrowser-Portable/releases)
24 |
25 | ⚠ **Some antivirus might detect this as a virus but it not a virus. In that case, you can add it to the exception. I too lazy to fix this, if you don't trust please don't download it.**
26 |
27 | ## [Usage](https://github.com/MinorMole/RcloneBrowser-Portable/wiki/RcloneBrowser-Guide)
28 |
29 | ## [Licence](https://github.com/MinorMole/RcloneLab/blob/master/LICENSE)
30 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-slate
--------------------------------------------------------------------------------
/resource/icon.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MinorMole/RcloneBrowser-Portable/9cca4eb34262920c188976bb7903d50b88eff0e4/resource/icon.ai
--------------------------------------------------------------------------------
/resource/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MinorMole/RcloneBrowser-Portable/9cca4eb34262920c188976bb7903d50b88eff0e4/resource/icon.ico
--------------------------------------------------------------------------------
/resource/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MinorMole/RcloneBrowser-Portable/9cca4eb34262920c188976bb7903d50b88eff0e4/resource/icon.png
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.29102.190
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "RcloneBrowser Portable", "RcloneBrowser Portable\RcloneBrowser Portable.vbproj", "{5211D9A6-5270-4828-8FC8-1D7B60BED50F}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {5211D9A6-5270-4828-8FC8-1D7B60BED50F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {5211D9A6-5270-4828-8FC8-1D7B60BED50F}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {5211D9A6-5270-4828-8FC8-1D7B60BED50F}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {5211D9A6-5270-4828-8FC8-1D7B60BED50F}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {5D193E07-8852-4395-A762-BF9F15525564}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/My Project/Application.Designer.vb:
--------------------------------------------------------------------------------
1 | '------------------------------------------------------------------------------
2 | '
3 | ' This code was generated by a tool.
4 | ' Runtime Version:4.0.30319.42000
5 | '
6 | ' Changes to this file may cause incorrect behavior and will be lost if
7 | ' the code is regenerated.
8 | '
9 | '------------------------------------------------------------------------------
10 |
11 | Option Strict On
12 | Option Explicit On
13 |
14 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/My Project/Application.myapp:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 | 0
6 | true
7 | 0
8 | 2
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/My Project/AssemblyInfo.vb:
--------------------------------------------------------------------------------
1 | Imports System
2 | Imports System.Reflection
3 | Imports System.Runtime.InteropServices
4 |
5 | ' General Information about an assembly is controlled through the following
6 | ' set of attributes. Change these attribute values to modify the information
7 | ' associated with an assembly.
8 |
9 | ' Review the values of the assembly attributes
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | 'The following GUID is for the ID of the typelib if this project is exposed to COM
21 |
22 |
23 | ' Version information for an assembly consists of the following four values:
24 | '
25 | ' Major Version
26 | ' Minor Version
27 | ' Build Number
28 | ' Revision
29 | '
30 | ' You can specify all the values or you can default the Build and Revision Numbers
31 | ' by using the '*' as shown below:
32 | '
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/My Project/Resources.Designer.vb:
--------------------------------------------------------------------------------
1 | '------------------------------------------------------------------------------
2 | '
3 | ' This code was generated by a tool.
4 | ' Runtime Version:4.0.30319.42000
5 | '
6 | ' Changes to this file may cause incorrect behavior and will be lost if
7 | ' the code is regenerated.
8 | '
9 | '------------------------------------------------------------------------------
10 |
11 | Option Strict On
12 | Option Explicit On
13 |
14 | Imports System
15 |
16 | Namespace My.Resources
17 |
18 | 'This class was auto-generated by the StronglyTypedResourceBuilder
19 | 'class via a tool like ResGen or Visual Studio.
20 | 'To add or remove a member, edit your .ResX file then rerun ResGen
21 | 'with the /str option, or rebuild your VS project.
22 | '''
23 | ''' A strongly-typed resource class, for looking up localized strings, etc.
24 | '''
25 | _
29 | Friend Module Resources
30 |
31 | Private resourceMan As Global.System.Resources.ResourceManager
32 |
33 | Private resourceCulture As Global.System.Globalization.CultureInfo
34 |
35 | '''
36 | ''' Returns the cached ResourceManager instance used by this class.
37 | '''
38 | _
39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
40 | Get
41 | If Object.ReferenceEquals(resourceMan, Nothing) Then
42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("RcloneBrowser_Portable.Resources", GetType(Resources).Assembly)
43 | resourceMan = temp
44 | End If
45 | Return resourceMan
46 | End Get
47 | End Property
48 |
49 | '''
50 | ''' Overrides the current thread's CurrentUICulture property for all
51 | ''' resource lookups using this strongly typed resource class.
52 | '''
53 | _
54 | Friend Property Culture() As Global.System.Globalization.CultureInfo
55 | Get
56 | Return resourceCulture
57 | End Get
58 | Set
59 | resourceCulture = value
60 | End Set
61 | End Property
62 | End Module
63 | End Namespace
64 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/My Project/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/My Project/Settings.Designer.vb:
--------------------------------------------------------------------------------
1 | '------------------------------------------------------------------------------
2 | '
3 | ' This code was generated by a tool.
4 | ' Runtime Version:4.0.30319.42000
5 | '
6 | ' Changes to this file may cause incorrect behavior and will be lost if
7 | ' the code is regenerated.
8 | '
9 | '------------------------------------------------------------------------------
10 |
11 | Option Strict On
12 | Option Explicit On
13 |
14 |
15 | Namespace My
16 |
17 | _
20 | Partial Friend NotInheritable Class MySettings
21 | Inherits Global.System.Configuration.ApplicationSettingsBase
22 |
23 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
24 |
25 | #Region "My.Settings Auto-Save Functionality"
26 | #If _MyType = "WindowsForms" Then
27 | Private Shared addedHandler As Boolean
28 |
29 | Private Shared addedHandlerLockObject As New Object
30 |
31 | _
32 | Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
33 | If My.Application.SaveMySettingsOnExit Then
34 | My.Settings.Save()
35 | End If
36 | End Sub
37 | #End If
38 | #End Region
39 |
40 | Public Shared ReadOnly Property [Default]() As MySettings
41 | Get
42 |
43 | #If _MyType = "WindowsForms" Then
44 | If Not addedHandler Then
45 | SyncLock addedHandlerLockObject
46 | If Not addedHandler Then
47 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
48 | addedHandler = True
49 | End If
50 | End SyncLock
51 | End If
52 | #End If
53 | Return defaultInstance
54 | End Get
55 | End Property
56 | End Class
57 | End Namespace
58 |
59 | Namespace My
60 |
61 | _
64 | Friend Module MySettingsProperty
65 |
66 | _
67 | Friend ReadOnly Property Settings() As Global.RcloneBrowser_Portable.My.MySettings
68 | Get
69 | Return Global.RcloneBrowser_Portable.My.MySettings.Default
70 | End Get
71 | End Property
72 | End Module
73 | End Namespace
74 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/My Project/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/My Project/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
52 |
59 |
60 |
61 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/RcloneBrowser Portable.vbproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {5211D9A6-5270-4828-8FC8-1D7B60BED50F}
8 | WinExe
9 | RcloneBrowser_Portable.Startup
10 | RcloneBrowser_Portable
11 | RcloneBrowser Portable
12 | 512
13 | WindowsFormsWithCustomSubMain
14 | v4.8
15 | true
16 | true
17 |
18 |
19 |
20 | x64
21 | true
22 | full
23 | true
24 | true
25 | bin\Debug\
26 |
27 |
28 | 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
29 | 0
30 |
31 |
32 | x64
33 | pdbonly
34 | false
35 | true
36 | true
37 | bin\Release\
38 |
39 |
40 | 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
41 | 0
42 |
43 |
44 | On
45 |
46 |
47 | Binary
48 |
49 |
50 | Off
51 |
52 |
53 | On
54 |
55 |
56 | icon.ico
57 |
58 |
59 | My Project\app.manifest
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 | True
90 | Application.myapp
91 |
92 |
93 | True
94 | True
95 | Resources.resx
96 |
97 |
98 | True
99 | Settings.settings
100 | True
101 |
102 |
103 |
104 |
105 | VbMyResourcesResXFileCodeGenerator
106 | Resources.Designer.vb
107 | My.Resources
108 | Designer
109 |
110 |
111 |
112 |
113 |
114 | MyApplicationCodeGenerator
115 | Application.Designer.vb
116 |
117 |
118 | SettingsSingleFileGenerator
119 | My
120 | Settings.Designer.vb
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/Startup.vb:
--------------------------------------------------------------------------------
1 | Imports System.IO
2 | Imports System.IO.Compression
3 | Imports System.Windows.Forms
4 | Imports Microsoft.Win32
5 |
6 | Module Startup
7 |
8 | Dim Client As New Net.WebClient
9 | Dim UpdateStatus As Boolean = False
10 | Dim RcloneUpdater = CreateObject("wscript.shell")
11 | Dim DeleteOldCount As Integer = 0
12 | Dim Retry_Count As Integer = 0
13 |
14 | Sub Main()
15 |
16 | '' Delete old version
17 | While My.Computer.FileSystem.FileExists(".\RcloneBrowser Portable.old") And DeleteOldCount < 10
18 | Try
19 | My.Computer.FileSystem.DeleteFile(".\RcloneBrowser Portable.old")
20 | Catch ex As Exception
21 | DeleteOldCount += 1
22 | Threading.Thread.Sleep(1000)
23 | End Try
24 | End While
25 |
26 | '' Check update
27 | Try
28 | Client.CachePolicy = New Net.Cache.RequestCachePolicy(Net.Cache.RequestCacheLevel.NoCacheNoStore)
29 | Dim CheckVersion As String = Client.DownloadString("https://download.konayuki.moe/RcloneBrowser-Portable/Version")
30 | If CheckVersion.Contains(".") And Application.ProductVersion.Trim <> CheckVersion Then Update(True)
31 | Catch ex As Exception
32 | End Try
33 |
34 | '' Check if RcloneBrowser and rclone exists
35 | If Not My.Computer.FileSystem.FileExists(".\RcloneBrowser\RcloneBrowser.exe") Or Not My.Computer.FileSystem.FileExists(".\RcloneBrowser\rclone.exe") Then Update(False)
36 |
37 | If UpdateStatus = True Then GoTo Quit
38 |
39 | '' Install WinFsp for RcloneBrowser Mounting Feature
40 | If Not My.Computer.FileSystem.DirectoryExists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + "\WinFsp") And Not My.Computer.FileSystem.DirectoryExists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\WinFsp") Then
41 | Dim WinFsp As New ProcessStartInfo()
42 | WinFsp.WorkingDirectory = Application.StartupPath
43 | WinFsp.CreateNoWindow = True
44 | WinFsp.WindowStyle = ProcessWindowStyle.Hidden
45 | WinFsp.Verb = "runas"
46 | WinFsp.FileName = "cmd.exe"
47 | WinFsp.Arguments = "/c msiexec /i " + Chr(34) + Application.StartupPath + "\RcloneBrowser\redists\WinFsp.msi" + Chr(34) + " INSTALLLEVEL=1000 /quiet /qn /norestart"
48 | Try
49 | Process.Start(WinFsp)
50 | Catch ex As Exception
51 | End Try
52 | End If
53 |
54 | '' Check if rclone.conf exists
55 | If Not My.Computer.FileSystem.FileExists(".\RcloneBrowser\rclone.conf") Then
56 | File.Create(".\RcloneBrowser\rclone.conf").Dispose()
57 | MsgBox("Seem like you're using RcloneBrowser for the first time." + vbNewLine + vbNewLine + "Just let you know, rclone.conf is located at..." + vbNewLine + vbNewLine + Application.StartupPath + "\RcloneBrowser\rclone.conf")
58 | Process.Start("https://github.com/MinorMole/RcloneBrowser-Portable/wiki/RcloneBrowser-Guide")
59 | 'Else
60 | '' Check if rclone.conf encrypt or not
61 | 'Dim RcloneConf As String = My.Computer.FileSystem.ReadAllText(".\RcloneBrowser\rclone.conf")
62 | 'If RcloneConf.Length.ToString <> 0 And Not RcloneConf.Contains("Encrypted rclone configuration File") And Not RcloneConf.Contains("RCLONE_ENCRYPT") Then MsgBox("Seem like you haven't created a password for RcloneBrowser!" + vbNewLine + vbNewLine + "To set a new password goto Config > Set configuration password")
63 | End If
64 |
65 | '' Check if the registry are correct
66 | Dim StartupPath As String = Application.StartupPath.Replace("\", "/")
67 | If (Registry.CurrentUser.OpenSubKey("Software\rclone-browser") Is Nothing) _
68 | Or (Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "rclone", "") <> StartupPath + "/RcloneBrowser/rclone.exe") _
69 | Or (Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "rcloneConf", "") <> StartupPath + "/RcloneBrowser/rclone.conf") Then
70 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "rclone", StartupPath + "/RcloneBrowser/rclone.exe")
71 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "rcloneConf", StartupPath + "/RcloneBrowser/rclone.conf")
72 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "alwaysShowInTray", "true")
73 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "closeToTray", "true")
74 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "notifyFinishedTransfers", "true")
75 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "rowColors", "true")
76 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "showFileIcons", "true")
77 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "showFolderIcons", "true")
78 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "showHidden", "true")
79 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Transfer", "checkVerbose", "true")
80 | End If
81 |
82 | '' Set Default Stream Command
83 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "stream", ".\RcloneBrowser\redists\mpv.exe - --title=" + Chr(34) + "$file_name" + Chr(34))
84 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "streamConfirmed", "true")
85 |
86 | '' Set Default Stream Command (Reverse)
87 | Dim ReadMountValue = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "mount", Nothing)
88 | If ReadMountValue = "--vfs-cache-mode writes --fast-list" Then
89 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "mount", "--vfs-cache-mode writes")
90 | End If
91 |
92 | '' Set Default Rclone Options
93 | Dim ReadRcloneOptions = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "defaultRcloneOptions", Nothing)
94 | If ReadRcloneOptions = Nothing Or ReadRcloneOptions = "--fast-list" Then
95 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "defaultRcloneOptions", "")
96 | End If
97 |
98 | '' Disable Auto Update of Rclone Browser
99 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "checkRcloneBrowserUpdates", "false")
100 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "checkRcloneUpdates", "false")
101 |
102 | '' Set Default Style
103 | Dim ReadiconsLayoutValue = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "iconsLayout", Nothing)
104 | If ReadiconsLayoutValue = Nothing Then
105 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "iconsLayout", "longlist")
106 | End If
107 | Dim ReadiconSizeValue = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "iconSize", Nothing)
108 | If ReadiconsLayoutValue = Nothing Then
109 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "iconSize", "S")
110 | End If
111 | Dim ReadbuttonSizeValue = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "buttonSize", Nothing)
112 | If ReadbuttonSizeValue = Nothing Then
113 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "buttonSize", "0")
114 | End If
115 | Dim ReadfontSizeValue = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "fontSize", Nothing)
116 | If ReadfontSizeValue = Nothing Then
117 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "fontSize", "0")
118 | End If
119 | Dim ReadiconsColour = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "iconsColour", Nothing)
120 | If ReadiconsColour = Nothing Then
121 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "iconsColour", "black")
122 | End If
123 | Dim ReaddarkMode = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "darkMode", Nothing)
124 | If ReaddarkMode = Nothing Then
125 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "darkMode", "false")
126 | End If
127 | Dim ReaddarkModeIni = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "darkModeIni", Nothing)
128 | If ReaddarkModeIni = Nothing Then
129 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "darkModeIni", "false")
130 | End If
131 | Dim ReadbuttonSize = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "buttonSize", Nothing)
132 | If ReadbuttonSize = Nothing Then
133 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "buttonSize", "0")
134 | End If
135 | Dim ReadbuttonStyle = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "buttonStyle", Nothing)
136 | If ReadbuttonStyle = Nothing Then
137 | Registry.SetValue("HKEY_CURRENT_USER\Software\rclone-browser\rclone-browser\Settings", "buttonStyle", "textandicon")
138 | End If
139 |
140 | '' Update Rclone
141 | RcloneUpdater.run("""" + Application.StartupPath + "\RcloneBrowser\rclone.exe"" --config """ + Application.StartupPath + "\RcloneBrowser\blank.conf"" selfupdate --stable", 0, True)
142 |
143 | '' Start RcloneBrowser
144 | If Process.GetProcessesByName("RcloneBrowser").Count = 0 Then
145 | Process.Start(".\RcloneBrowser\RcloneBrowser.exe")
146 | Try
147 | AppActivate("Rclone Browser")
148 | Catch ex As Exception
149 | End Try
150 | Else
151 | Try
152 | AppActivate("Rclone Browser")
153 | Catch ex As Exception
154 | End Try
155 | Process.Start(".\RcloneBrowser\RcloneBrowser.exe")
156 | End If
157 |
158 | Quit:
159 |
160 | End Sub
161 |
162 | Function Update(ByRef ShowMsg As Boolean)
163 |
164 | UpdateStatus = True
165 |
166 | If ShowMsg Then MsgBox("A new version of RcloneBrowser Portable is avaliable!" + vbNewLine + vbNewLine + "We have to close RcloneBrowser and rclone to update" + vbNewLine + vbNewLine + "Click OK to update")
167 |
168 | RTY_DL: Try
169 | My.Computer.Network.DownloadFile("https://download.konayuki.moe/RcloneBrowser-Portable/Release.zip", ".\Release.zip", vbNullString, vbNullString, True, 100000, True)
170 | Catch ex As Exception
171 | Retry_Count = Retry_Count + 1
172 | If Retry_Count > 10 Then
173 | MsgBox("Can't access to the update server, please try again later.")
174 | GoTo Quit
175 | Else
176 | Threading.Thread.Sleep(1000)
177 | GoTo RTY_DL
178 | End If
179 | End Try
180 |
181 | If My.Computer.FileSystem.DirectoryExists(".\tmp\") Then My.Computer.FileSystem.DeleteDirectory(".\tmp\", FileIO.DeleteDirectoryOption.DeleteAllContents)
182 |
183 | ZipFile.ExtractToDirectory(".\Release.zip", ".\tmp\")
184 |
185 | My.Computer.FileSystem.DeleteFile(".\Release.zip")
186 |
187 | My.Computer.FileSystem.MoveFile(Application.ExecutablePath, ".\RcloneBrowser Portable.old")
188 |
189 | Dim RcloneBrowserProcess = Process.GetProcessesByName("RcloneBrowser")
190 | For i As Integer = 0 To RcloneBrowserProcess.Count - 1
191 | RcloneBrowserProcess(i).Kill()
192 | Next i
193 |
194 | Dim rcloneProcess = Process.GetProcessesByName("rclone")
195 | For i As Integer = 0 To rcloneProcess.Count - 1
196 | rcloneProcess(i).Kill()
197 | Next i
198 |
199 | My.Computer.FileSystem.MoveDirectory(".\tmp\", ".\", overwrite:=True)
200 |
201 | Process.Start(".\RcloneBrowser Portable.exe")
202 |
203 | Quit: Application.Exit()
204 |
205 | Return Nothing
206 |
207 | End Function
208 |
209 | End Module
--------------------------------------------------------------------------------
/source/RcloneBrowser Portable/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MinorMole/RcloneBrowser-Portable/9cca4eb34262920c188976bb7903d50b88eff0e4/source/RcloneBrowser Portable/icon.ico
--------------------------------------------------------------------------------
/update/Release.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MinorMole/RcloneBrowser-Portable/9cca4eb34262920c188976bb7903d50b88eff0e4/update/Release.zip
--------------------------------------------------------------------------------
/update/version:
--------------------------------------------------------------------------------
1 | 1.7.0.0
--------------------------------------------------------------------------------