SYMBOL INDEX (186 symbols across 16 files) FILE: cmd/cmd.go type Cmd (line 313) | type Cmd struct function versionCommand (line 317) | func versionCommand(_ *cli.Context) error { function New (line 323) | func New() *Cmd { FILE: main.go function main (line 10) | func main() { FILE: server/clamav.go constant clamavScanStatusOK (line 41) | clamavScanStatusOK = "OK" method scanHandler (line 43) | func (s *Server) scanHandler(w http.ResponseWriter, r *http.Request) { method performScan (line 78) | func (s *Server) performScan(path string) (string, error) { FILE: server/handlers.go constant getPathPart (line 75) | getPathPart = "get" function stripPrefix (line 82) | func stripPrefix(path string) string { function initTextTemplates (line 86) | func initTextTemplates() *textTemplate.Template { function initHTMLTemplates (line 94) | func initHTMLTemplates() *htmlTemplate.Template { function attachEncryptionReader (line 103) | func attachEncryptionReader(reader io.ReadCloser, password string) (io.R... function attachDecryptionReader (line 111) | func attachDecryptionReader(reader io.ReadCloser, password string) (io.R... function decrypt (line 119) | func decrypt(ciphertext io.ReadCloser, password []byte) (plaintext io.Re... type encryptWrapperReader (line 152) | type encryptWrapperReader struct method Read (line 160) | func (e *encryptWrapperReader) Read(p []byte) (n int, err error) { method Close (line 185) | func (e *encryptWrapperReader) Close() error { function NewEncryptWrapperReader (line 189) | func NewEncryptWrapperReader(plaintext io.Reader, armored, encrypt io.Wr... function encrypt (line 198) | func encrypt(plaintext io.ReadCloser, password []byte) (ciphertext io.Re... function healthHandler (line 225) | func healthHandler(w http.ResponseWriter, _ *http.Request) { function canContainsXSS (line 229) | func canContainsXSS(contentType string) bool { method previewHandler (line 251) | func (s *Server) previewHandler(w http.ResponseWriter, r *http.Request) { method viewHandler (line 368) | func (s *Server) viewHandler(w http.ResponseWriter, r *http.Request) { method notFoundHandler (line 420) | func (s *Server) notFoundHandler(w http.ResponseWriter, _ *http.Request) { function sanitize (line 424) | func sanitize(fileName string) string { method postHandler (line 445) | func (s *Server) postHandler(w http.ResponseWriter, r *http.Request) { method cleanTmpFile (line 561) | func (s *Server) cleanTmpFile(f *os.File) { type metadata (line 575) | type metadata struct method remainingLimitHeaderValues (line 837) | func (metadata metadata) remainingLimitHeaderValues() (remainingDownlo... function metadataForRequest (line 594) | func metadataForRequest(contentType string, contentLength int64, randomT... method putHandler (line 627) | func (s *Server) putHandler(w http.ResponseWriter, r *http.Request) { function resolveURL (line 745) | func resolveURL(r *http.Request, u *url.URL, proxyPort string) string { function resolveKey (line 751) | func resolveKey(key, proxyPath string) string { function resolveWebAddress (line 761) | func resolveWebAddress(r *http.Request, proxyPath string, proxyPort stri... function cloneURL (line 782) | func cloneURL(u *url.URL) *url.URL { function getURL (line 794) | func getURL(r *http.Request, proxyPort string) *url.URL { method lock (line 854) | func (s *Server) lock(token, filename string) { method unlock (line 862) | func (s *Server) unlock(token, filename string) { method checkMetadata (line 870) | func (s *Server) checkMetadata(ctx context.Context, token, filename stri... method checkDeletionToken (line 906) | func (s *Server) checkDeletionToken(ctx context.Context, deletionToken, ... method purgeHandler (line 930) | func (s *Server) purgeHandler() { method deleteHandler (line 943) | func (s *Server) deleteHandler(w http.ResponseWriter, r *http.Request) { method zipHandler (line 967) | func (s *Server) zipHandler(w http.ResponseWriter, r *http.Request) { method tarGzHandler (line 1033) | func (s *Server) tarGzHandler(w http.ResponseWriter, r *http.Request) { method tarHandler (line 1094) | func (s *Server) tarHandler(w http.ResponseWriter, r *http.Request) { method headHandler (line 1152) | func (s *Server) headHandler(w http.ResponseWriter, r *http.Request) { method getHandler (line 1191) | func (s *Server) getHandler(w http.ResponseWriter, r *http.Request) { function commonHeader (line 1287) | func commonHeader(w http.ResponseWriter, filename string) { method RedirectHandler (line 1294) | func (s *Server) RedirectHandler(h http.Handler) http.HandlerFunc { function LoveHandler (line 1329) | func LoveHandler(h http.Handler) http.HandlerFunc { function ipFilterHandler (line 1338) | func ipFilterHandler(h http.Handler, ipFilterOptions *IPFilterOptions) h... method basicAuthHandler (line 1348) | func (s *Server) basicAuthHandler(h http.Handler) http.HandlerFunc { FILE: server/handlers_test.go function Test (line 13) | func Test(t *testing.T) { TestingT(t) } type suiteRedirectWithForceHTTPS (line 20) | type suiteRedirectWithForceHTTPS struct method SetUpTest (line 24) | func (s *suiteRedirectWithForceHTTPS) SetUpTest(c *C) { method TestHTTPs (line 35) | func (s *suiteRedirectWithForceHTTPS) TestHTTPs(c *C) { method TestOnion (line 45) | func (s *suiteRedirectWithForceHTTPS) TestOnion(c *C) { method TestXForwardedFor (line 55) | func (s *suiteRedirectWithForceHTTPS) TestXForwardedFor(c *C) { method TestHTTP (line 66) | func (s *suiteRedirectWithForceHTTPS) TestHTTP(c *C) { type suiteRedirectWithoutForceHTTPS (line 77) | type suiteRedirectWithoutForceHTTPS struct method SetUpTest (line 81) | func (s *suiteRedirectWithoutForceHTTPS) SetUpTest(c *C) { method TestHTTP (line 92) | func (s *suiteRedirectWithoutForceHTTPS) TestHTTP(c *C) { method TestHTTPs (line 102) | func (s *suiteRedirectWithoutForceHTTPS) TestHTTPs(c *C) { FILE: server/ip_filter.go type IPFilterOptions (line 31) | type IPFilterOptions struct type ipFilter (line 47) | type ipFilter struct method AllowIP (line 80) | func (f *ipFilter) AllowIP(ip string) bool { method BlockIP (line 84) | func (f *ipFilter) BlockIP(ip string) bool { method ToggleIP (line 88) | func (f *ipFilter) ToggleIP(str string, allowed bool) bool { method ToggleDefault (line 129) | func (f *ipFilter) ToggleDefault(allowed bool) { method Allowed (line 136) | func (f *ipFilter) Allowed(ipstr string) bool { method NetAllowed (line 141) | func (f *ipFilter) NetAllowed(ip net.IP) bool { method Blocked (line 174) | func (f *ipFilter) Blocked(ip string) bool { method NetBlocked (line 179) | func (f *ipFilter) NetBlocked(ip net.IP) bool { method Wrap (line 185) | func (f *ipFilter) Wrap(next http.Handler) http.Handler { type subnet (line 56) | type subnet struct function newIPFilter (line 62) | func newIPFilter(opts *IPFilterOptions) *ipFilter { function WrapIPFilter (line 190) | func WrapIPFilter(next http.Handler, opts *IPFilterOptions) http.Handler { type ipFilterMiddleware (line 194) | type ipFilterMiddleware struct method ServeHTTP (line 199) | func (m *ipFilterMiddleware) ServeHTTP(w http.ResponseWriter, r *http.... FILE: server/server.go constant _24K (line 61) | _24K = (1 << 3) * 24 constant _5M (line 64) | _5M = (1 << 20) * 5 type OptionFn (line 67) | type OptionFn function ClamavHost (line 70) | func ClamavHost(s string) OptionFn { function PerformClamavPrescan (line 77) | func PerformClamavPrescan(b bool) OptionFn { function VirustotalKey (line 84) | func VirustotalKey(s string) OptionFn { function Listener (line 91) | func Listener(s string) OptionFn { function CorsDomains (line 99) | func CorsDomains(s string) OptionFn { function EmailContact (line 107) | func EmailContact(emailContact string) OptionFn { function GoogleAnalytics (line 114) | func GoogleAnalytics(gaKey string) OptionFn { function UserVoice (line 121) | func UserVoice(userVoiceKey string) OptionFn { function TLSListener (line 128) | func TLSListener(s string, t bool) OptionFn { function ProfileListener (line 137) | func ProfileListener(s string) OptionFn { function WebPath (line 144) | func WebPath(s string) OptionFn { function ProxyPath (line 155) | func ProxyPath(s string) OptionFn { function ProxyPort (line 166) | func ProxyPort(s string) OptionFn { function TempPath (line 173) | func TempPath(s string) OptionFn { function LogFile (line 184) | func LogFile(logger *log.Logger, s string) OptionFn { function Logger (line 197) | func Logger(logger *log.Logger) OptionFn { function MaxUploadSize (line 204) | func MaxUploadSize(kbytes int64) OptionFn { function RateLimit (line 212) | func RateLimit(requests int) OptionFn { function RandomTokenLength (line 219) | func RandomTokenLength(length int) OptionFn { function Purge (line 226) | func Purge(days, interval int) OptionFn { function ForceHTTPS (line 234) | func ForceHTTPS() OptionFn { function EnableProfiler (line 241) | func EnableProfiler() OptionFn { function UseStorage (line 248) | func UseStorage(s storage.Storage) OptionFn { function UseLetsEncrypt (line 255) | func UseLetsEncrypt(hosts []string) OptionFn { function TLSConfig (line 283) | func TLSConfig(cert, pk string) OptionFn { function HTTPAuthCredentials (line 295) | func HTTPAuthCredentials(user string, pass string) OptionFn { function HTTPAuthHtpasswd (line 303) | func HTTPAuthHtpasswd(htpasswdPath string) OptionFn { function HTTPAUTHFilterOptions (line 310) | func HTTPAUTHFilterOptions(options IPFilterOptions) OptionFn { function FilterOptions (line 321) | func FilterOptions(options IPFilterOptions) OptionFn { type Server (line 336) | type Server struct method Run (line 417) | func (s *Server) Run() { function New (line 393) | func New(options ...OptionFn) (*Server, error) { function init (line 407) | func init() { FILE: server/storage/common.go type Range (line 12) | type Range struct method Range (line 19) | func (r *Range) Range() string { method AcceptLength (line 29) | func (r *Range) AcceptLength(contentLength uint64) (newContentLength u... method SetContentRange (line 45) | func (r *Range) SetContentRange(cr string) { method ContentRange (line 50) | func (r *Range) ContentRange() string { function ParseRange (line 58) | func ParseRange(rng string) *Range { type Storage (line 92) | type Storage interface function CloseCheck (line 111) | func CloseCheck(c io.Closer) { FILE: server/storage/gdrive.go type GDrive (line 23) | type GDrive struct method setupRoot (line 66) | func (s *GDrive) setupRoot() error { method hasChecksum (line 98) | func (s *GDrive) hasChecksum(f *drive.File) bool { method list (line 102) | func (s *GDrive) list(nextPageToken string, q string) (*drive.FileList... method findID (line 106) | func (s *GDrive) findID(filename string, token string) (string, error) { method Type (line 171) | func (s *GDrive) Type() string { method Head (line 176) | func (s *GDrive) Head(ctx context.Context, token string, filename stri... method Get (line 194) | func (s *GDrive) Get(ctx context.Context, token string, filename strin... method Delete (line 237) | func (s *GDrive) Delete(ctx context.Context, token string, filename st... method Purge (line 252) | func (s *GDrive) Purge(ctx context.Context, days time.Duration) (err e... method IsNotExist (line 284) | func (s *GDrive) IsNotExist(err error) bool { method Put (line 297) | func (s *GDrive) Put(ctx context.Context, token string, filename strin... method IsRangeSupported (line 334) | func (s *GDrive) IsRangeSupported() bool { return true } constant gDriveRootConfigFile (line 32) | gDriveRootConfigFile = "root_id.conf" constant gDriveTokenJSONFile (line 33) | gDriveTokenJSONFile = "token.json" constant gDriveDirectoryMimeType (line 34) | gDriveDirectoryMimeType = "application/vnd.google-apps.folder" function NewGDriveStorage (line 37) | func NewGDriveStorage(ctx context.Context, clientJSONFilepath string, lo... function getGDriveClient (line 337) | func getGDriveClient(ctx context.Context, config *oauth2.Config, localCo... function getGDriveTokenFromWeb (line 349) | func getGDriveTokenFromWeb(ctx context.Context, config *oauth2.Config, l... function gDriveTokenFromFile (line 367) | func gDriveTokenFromFile(file string) (*oauth2.Token, error) { function saveGDriveToken (line 379) | func saveGDriveToken(path string, token *oauth2.Token, logger *log.Logge... FILE: server/storage/local.go type LocalStorage (line 14) | type LocalStorage struct method Type (line 26) | func (s *LocalStorage) Type() string { method Head (line 31) | func (s *LocalStorage) Head(_ context.Context, token string, filename ... method Get (line 45) | func (s *LocalStorage) Get(_ context.Context, token string, filename s... method Delete (line 73) | func (s *LocalStorage) Delete(_ context.Context, token string, filenam... method Purge (line 83) | func (s *LocalStorage) Purge(_ context.Context, days time.Duration) (e... method IsNotExist (line 105) | func (s *LocalStorage) IsNotExist(err error) bool { method Put (line 114) | func (s *LocalStorage) Put(_ context.Context, token string, filename s... method IsRangeSupported (line 138) | func (s *LocalStorage) IsRangeSupported() bool { return true } function NewLocalStorage (line 21) | func NewLocalStorage(basedir string, logger *log.Logger) (*LocalStorage,... FILE: server/storage/s3.go type S3Storage (line 20) | type S3Storage struct method Type (line 54) | func (s *S3Storage) Type() string { method Head (line 59) | func (s *S3Storage) Head(ctx context.Context, token string, filename s... method Purge (line 79) | func (s *S3Storage) Purge(context.Context, time.Duration) (err error) { method IsNotExist (line 85) | func (s *S3Storage) IsNotExist(err error) bool { method Get (line 95) | func (s *S3Storage) Get(ctx context.Context, token string, filename st... method Delete (line 122) | func (s *S3Storage) Delete(ctx context.Context, token string, filename... method Put (line 146) | func (s *S3Storage) Put(ctx context.Context, token string, filename st... method IsRangeSupported (line 179) | func (s *S3Storage) IsRangeSupported() bool { return true } function NewS3Storage (line 30) | func NewS3Storage(ctx context.Context, accessKey, secretKey, bucketName ... function getAwsConfig (line 181) | func getAwsConfig(ctx context.Context, accessKey, secretKey string) (aws... FILE: server/storage/storj.go type StorjStorage (line 16) | type StorjStorage struct method Type (line 60) | func (s *StorjStorage) Type() string { method Head (line 65) | func (s *StorjStorage) Head(ctx context.Context, token string, filenam... method Get (line 79) | func (s *StorjStorage) Get(ctx context.Context, token string, filename... method Delete (line 110) | func (s *StorjStorage) Delete(ctx context.Context, token string, filen... method Purge (line 121) | func (s *StorjStorage) Purge(context.Context, time.Duration) (err erro... method Put (line 127) | func (s *StorjStorage) Put(ctx context.Context, token string, filename... method IsRangeSupported (line 159) | func (s *StorjStorage) IsRangeSupported() bool { return true } method IsNotExist (line 162) | func (s *StorjStorage) IsNotExist(err error) bool { function NewStorjStorage (line 25) | func NewStorjStorage(ctx context.Context, access, bucket string, purgeDa... FILE: server/token.go constant SYMBOLS (line 33) | SYMBOLS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" function token (line 37) | func token(length int) string { FILE: server/token_test.go function BenchmarkTokenConcat (line 5) | func BenchmarkTokenConcat(b *testing.B) { function BenchmarkTokenLonger (line 11) | func BenchmarkTokenLonger(b *testing.B) { FILE: server/utils.go function formatNumber (line 40) | func formatNumber(format string, s uint64) string { function renderFloat (line 70) | func renderFloat(format string, n float64) string { function ipAddrFromRemoteAddr (line 194) | func ipAddrFromRemoteAddr(s string) string { function acceptsHTML (line 202) | func acceptsHTML(hdr http.Header) bool { function formatSize (line 214) | func formatSize(size int64) string { function formatDurationDays (line 238) | func formatDurationDays(durationDays time.Duration) string { FILE: server/virustotal.go method virusTotalHandler (line 36) | func (s *Server) virusTotalHandler(w http.ResponseWriter, r *http.Reques...