commit
ca758ddd28
|
@ -6,16 +6,19 @@
|
|||
"angular.ng-template",
|
||||
"davidanson.vscode-markdownlint",
|
||||
"editorconfig.editorconfig",
|
||||
"gitlab.gitlab-workflow",
|
||||
"hookyqr.beautify",
|
||||
"johnpapa.angular2",
|
||||
"ms-vscode.typescript-javascript-grammar",
|
||||
"ms-vscode.vscode-typescript-next",
|
||||
"ms-vscode.vscode-typescript-tslint-plugin",
|
||||
"msjsdiag.debugger-for-chrome",
|
||||
"visualstudioexptteam.vscodeintellicode",
|
||||
"visualstudioexptteam.vscodeintellicode"
|
||||
],
|
||||
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
|
||||
"unwantedRecommendations": [
|
||||
"eg2.tslint",
|
||||
"ms-azuretools.vscode-docker",
|
||||
"ms-edgedevtools.vscode-edge-devtools",
|
||||
"ms-vscode-remote.remote-wsl"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
{
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll": true,
|
||||
"source.organizeImports": true
|
||||
},
|
||||
"editor.formatOnSave": true,
|
||||
"editor.rulers": [
|
||||
140
|
||||
],
|
||||
"files.associations": {
|
||||
".ipfs-npmrc": "json"
|
||||
},
|
||||
"html.format.indentHandlebars": true,
|
||||
"html.format.maxPreserveNewLines": 1,
|
||||
"html.format.wrapAttributes": "auto",
|
||||
|
@ -13,5 +17,6 @@
|
|||
"npm.packageManager": "yarn",
|
||||
"tslint.packageManager": "yarn",
|
||||
"typescript.preferences.importModuleSpecifier": "relative",
|
||||
"typescript.updateImportsOnFileMove.enabled": "always",
|
||||
"typescript.tsdk": "node_modules\\typescript\\lib",
|
||||
"typescript.updateImportsOnFileMove.enabled": "always"
|
||||
}
|
||||
|
|
16
CHANGELOG.md
16
CHANGELOG.md
|
@ -18,6 +18,22 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
|
|||
|
||||
### Security
|
||||
|
||||
## [2.1.1] - 2021-03-20
|
||||
|
||||
### Added
|
||||
|
||||
- Added some accessibility tags
|
||||
- Added some VSCode settings
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated to Angular 11
|
||||
- Updated gateways
|
||||
|
||||
### Fixed
|
||||
|
||||
- Corrected the title from "Public IPFS Cacher" to "Public Gateway Cacher".
|
||||
|
||||
## [2.1.0] - 2020-07-10
|
||||
|
||||
### Added
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
Cache a specific hash on a bunch of public gateways.
|
||||
|
||||
You can view this website on [GitLab Pages](https://natoboram.gitlab.io/public-gateway-cacher) and [IPFS](https://bafybeiagzg6lcrzuwb7pdxhs4bc7iiexriaxy2kx5fogdaemnqg4oiydl4.ipfs.dweb.link).
|
||||
You can view this website on [GitLab Pages](https://natoboram.gitlab.io/public-gateway-cacher) and [IPFS](https://bafybeib43z6e5yuywjclls72rvipygoteyi3yeyxwewxi7yd5txypxprpa.ipfs.dweb.link).
|
||||
|
||||
![Screenshot](https://bafybeie7txrbzw6ipb62lplnpzsjpz7s4o5q7uufb5rjfelol2cuxeyzye.ipfs.dweb.link/Screenshot_2020-07-09%20Public%20Gateway%20Cacher.png)
|
||||
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
"optimization": true,
|
||||
"outputHashing": "all",
|
||||
"sourceMap": true,
|
||||
"extractCss": true,
|
||||
"namedChunks": true,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
|
@ -79,7 +78,6 @@
|
|||
"optimization": true,
|
||||
"outputHashing": "all",
|
||||
"sourceMap": true,
|
||||
"extractCss": true,
|
||||
"namedChunks": true,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
|
@ -108,7 +106,6 @@
|
|||
"optimization": true,
|
||||
"outputHashing": "all",
|
||||
"sourceMap": true,
|
||||
"extractCss": true,
|
||||
"namedChunks": true,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
||||
{
|
||||
"extends": "../tsconfig.base.json",
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../out-tsc/e2e",
|
||||
"module": "commonjs",
|
||||
|
|
42
package.json
42
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "public-gateway-cacher",
|
||||
"version": "2.1.0",
|
||||
"version": "2.1.1",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve --ssl",
|
||||
|
@ -16,17 +16,17 @@
|
|||
},
|
||||
"private": false,
|
||||
"dependencies": {
|
||||
"@angular/animations": "~10.0.3",
|
||||
"@angular/cdk": "~10.0.1",
|
||||
"@angular/common": "~10.0.3",
|
||||
"@angular/compiler": "~10.0.3",
|
||||
"@angular/core": "~10.0.3",
|
||||
"@angular/flex-layout": "^10.0.0-beta.32",
|
||||
"@angular/forms": "~10.0.3",
|
||||
"@angular/material": "^10.0.1",
|
||||
"@angular/platform-browser": "~10.0.3",
|
||||
"@angular/platform-browser-dynamic": "~10.0.3",
|
||||
"@angular/router": "~10.0.3",
|
||||
"@angular/animations": "~11.2.6",
|
||||
"@angular/cdk": "~11.2.5",
|
||||
"@angular/common": "~11.2.6",
|
||||
"@angular/compiler": "~11.2.6",
|
||||
"@angular/core": "~11.2.6",
|
||||
"@angular/flex-layout": "^11.0.0-beta.33",
|
||||
"@angular/forms": "~11.2.6",
|
||||
"@angular/material": "^11.2.5",
|
||||
"@angular/platform-browser": "~11.2.6",
|
||||
"@angular/platform-browser-dynamic": "~11.2.6",
|
||||
"@angular/router": "~11.2.6",
|
||||
"bootstrap": "^4.5.0",
|
||||
"ipfs-css": "^1.2.0",
|
||||
"rxjs": "~6.6.0",
|
||||
|
@ -34,20 +34,20 @@
|
|||
"zone.js": "~0.10.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "~0.1000.2",
|
||||
"@angular/cli": "~10.0.2",
|
||||
"@angular/compiler-cli": "~10.0.3",
|
||||
"@angular/language-service": "~10.0.3",
|
||||
"@types/jasmine": "~3.5.0",
|
||||
"@angular-devkit/build-angular": "~0.1102.5",
|
||||
"@angular/cli": "~11.2.5",
|
||||
"@angular/compiler-cli": "~11.2.6",
|
||||
"@angular/language-service": "~11.2.6",
|
||||
"@types/jasmine": "~3.6.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.11.1",
|
||||
"codelyzer": "^6.0.0",
|
||||
"jasmine-core": "~3.5.0",
|
||||
"jasmine-core": "~3.6.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
"karma": "~5.0.0",
|
||||
"karma": "~6.2.0",
|
||||
"karma-chrome-launcher": "~3.1.0",
|
||||
"karma-coverage-istanbul-reporter": "~3.0.2",
|
||||
"karma-jasmine": "~3.3.0",
|
||||
"karma-jasmine": "~4.0.0",
|
||||
"karma-jasmine-html-reporter": "^1.5.0",
|
||||
"protractor": "~7.0.0",
|
||||
"rxjs-tslint-rules": "^4.33.3",
|
||||
|
@ -56,6 +56,6 @@
|
|||
"tslint-consistent-codestyle": "^1.16.0",
|
||||
"tslint-origin-ordered-imports-rule": "^1.3.0-0",
|
||||
"tslint-rxjs-subject-restrictions-rule": "^1.0.4",
|
||||
"typescript": "~3.9.6"
|
||||
"typescript": "~4.1.5"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ const routes: Routes = [{
|
|||
}];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forRoot(routes, { useHash: environment.useHash })],
|
||||
imports: [RouterModule.forRoot(routes, { useHash: environment.useHash, relativeLinkResolution: 'legacy' })],
|
||||
exports: [RouterModule]
|
||||
})
|
||||
export class AppRoutingModule { }
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mat-toolbar color="primary" fxLayout="row" fxLayoutAlign="space-between center" fxLayoutGap="1em">
|
||||
<h1>Public IPFS Cacher</h1>
|
||||
<h1>Public Gateway Cacher</h1>
|
||||
|
||||
<!-- Theme Switcher -->
|
||||
<button mat-icon-button="">
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { async, TestBed } from '@angular/core/testing';
|
||||
import { TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { AppComponent } from './app.component';
|
||||
|
||||
describe('AppComponent', (): void => {
|
||||
beforeEach(async((): void => {
|
||||
beforeEach(waitForAsync((): void => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
RouterTestingModule
|
||||
|
|
|
@ -32,11 +32,11 @@
|
|||
color="primary">
|
||||
</mat-progress-bar>
|
||||
|
||||
<table class="mat-elevation-z8" [dataSource]="dataSource" mat-table>
|
||||
<table class="mat-elevation-z8" [dataSource]="dataSource" mat-table aria-label="List of IPFS gateways and their statuses.">
|
||||
|
||||
<!-- Result Column -->
|
||||
<ng-container matColumnDef="icon">
|
||||
<th mat-header-cell *matHeaderCellDef> Status </th>
|
||||
<th mat-header-cell *matHeaderCellDef scope="col"> Status </th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
<span [matTooltip]="element.message"> {{ element.icon }} </span>
|
||||
</td>
|
||||
|
@ -44,7 +44,7 @@
|
|||
|
||||
<!-- Gateway Column -->
|
||||
<ng-container matColumnDef="gateway">
|
||||
<th mat-header-cell *matHeaderCellDef> Gateway </th>
|
||||
<th mat-header-cell *matHeaderCellDef scope="col"> Gateway </th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
<div [ngSwitch]="element.ok">
|
||||
<div *ngSwitchCase="true">
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { PagesComponent } from './pages.component';
|
||||
|
||||
describe('PagesComponent', (): void => {
|
||||
let component: PagesComponent;
|
||||
let fixture: ComponentFixture<PagesComponent>;
|
||||
|
||||
beforeEach(async((): void => {
|
||||
beforeEach(waitForAsync((): void => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [PagesComponent]
|
||||
})
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[
|
||||
"https://ipfs.io/:type/:hash",
|
||||
"https://:hash.:type.dweb.link",
|
||||
"https://dweb.link/:type/:hash",
|
||||
"https://gateway.ipfs.io/:type/:hash",
|
||||
"https://ipfs.infura.io/:type/:hash",
|
||||
"https://ninetailed.ninja/:type/:hash",
|
||||
|
@ -10,8 +10,9 @@
|
|||
"https://hardbin.com/:type/:hash",
|
||||
"https://gateway.blocksec.com/:type/:hash",
|
||||
"https://cloudflare-ipfs.com/:type/:hash",
|
||||
"https://:hash.:type.cf-ipfs.com",
|
||||
"https://ipns.co/:hash",
|
||||
"https://astyanax.io/:type/:hash",
|
||||
"https://cf-ipfs.com/:type/:hash",
|
||||
"https://ipns.co/:type/:hash",
|
||||
"https://ipfs.mrh.io/:type/:hash",
|
||||
"https://gateway.originprotocol.com/:type/:hash",
|
||||
"https://gateway.pinata.cloud/:type/:hash",
|
||||
|
@ -21,26 +22,24 @@
|
|||
"https://ipfs.greyh.at/:type/:hash",
|
||||
"https://gateway.serph.network/:type/:hash",
|
||||
"https://jorropo.ovh/:type/:hash",
|
||||
"https://jorropo.net/:type/:hash",
|
||||
"https://gateway.temporal.cloud/:type/:hash",
|
||||
"https://ipfs.fooock.com/:type/:hash",
|
||||
"https://cdn.cwinfo.net/:type/:hash",
|
||||
"https://ipfs.privacytools.io/:type/:hash",
|
||||
"https://ipfs.jeroendeneef.com/:type/:hash",
|
||||
"https://permaweb.io/:type/:hash",
|
||||
"https://ipfs.stibarc.com/:type/:hash",
|
||||
"https://ipfs.best-practice.se/:type/:hash",
|
||||
"https://:hash.:type.2read.net",
|
||||
"https://2read.net/:type/:hash",
|
||||
"https://ipfs.2read.net/:type/:hash",
|
||||
"https://storjipfs-gateway.com/:type/:hash",
|
||||
"https://ipfs.runfission.com/:type/:hash",
|
||||
"https://trusti.id/:type/:hash",
|
||||
"https://:hash.:type.cosmos-ink.net",
|
||||
"https://apac.trusti.id/:type/:hash",
|
||||
"https://ipfs.overpi.com/:type/:hash",
|
||||
"https://ipfs.lc/:type/:hash",
|
||||
"https://gateway.ipfs.lc/:type/:hash",
|
||||
"https://ipfs.leiyun.org/:type/:hash",
|
||||
"https://ipfs.ink/:type/:hash",
|
||||
"https://filecoin.io/:type/:hash",
|
||||
"https://ipfs.jes.xxx/:type/:hash",
|
||||
"https://ipfs.oceanprotocol.com/:type/:hash",
|
||||
"https://d26g9c7mfuzstv.cloudfront.net/:type/:hash",
|
||||
"https://ipfsgateway.makersplace.com/:type/:hash",
|
||||
|
@ -52,5 +51,32 @@
|
|||
"https://ipfs.mttk.net/:type/:hash",
|
||||
"https://ipfs.fleek.co/:type/:hash",
|
||||
"https://ipfs.jbb.one/:type/:hash",
|
||||
"https://ipfs.yt/:type/:hash"
|
||||
"https://ipfs.yt/:type/:hash",
|
||||
"https://jacl.tech/:type/:hash",
|
||||
"https://hashnews.k1ic.com/:type/:hash",
|
||||
"https://ipfs.vip/:type/:hash",
|
||||
"https://ipfs.k1ic.com/:type/:hash",
|
||||
"https://ipfs.drink.cafe/:type/:hash",
|
||||
"https://ipfs.azurewebsites.net/:type/:hash",
|
||||
"https://gw.ipfspin.com/:type/:hash",
|
||||
"https://ipfs.kavin.rocks/:type/:hash",
|
||||
"https://ipfs.denarius.io/:type/:hash",
|
||||
"https://ipfs.mihir.ch/:type/:hash",
|
||||
"https://bluelight.link/:type/:hash",
|
||||
"https://crustwebsites.net/:type/:hash",
|
||||
"https://trusted-setup.filecoin.io/:type/:hash",
|
||||
"http://3.211.196.68:8080/:type/:hash",
|
||||
"https://ipfs0.sjc.cloudsigma.com/:type/:hash",
|
||||
"https://ipfs-tezos.giganode.io/:type/:hash",
|
||||
"http://183.252.17.149:82/:type/:hash",
|
||||
"http://ipfs.genenetwork.org/:type/:hash",
|
||||
"https://ipfs.eth.aragon.network/:type/:hash",
|
||||
"https://ipfs.smartholdem.io/:type/:hash",
|
||||
"https://bin.d0x.to/:type/:hash",
|
||||
"https://ipfs.xoqq.ch/:type/:hash",
|
||||
"https://birds-are-nice.me/:type/:hash",
|
||||
"http://natoboram.mynetgear.com:8080/:type/:hash",
|
||||
"https://ipfs.foxgirl.dev/:type/:hash",
|
||||
"https://video.oneloveipfs.com/:type/:hash",
|
||||
"http://ipfs.anonymize.com/:type/:hash"
|
||||
]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
||||
{
|
||||
"extends": "./tsconfig.base.json",
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "./out-tsc/app",
|
||||
"types": []
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
||||
{
|
||||
"compileOnSave": false,
|
||||
"compilerOptions": {
|
||||
"baseUrl": "./",
|
||||
"outDir": "./dist/out-tsc",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"sourceMap": true,
|
||||
"declaration": false,
|
||||
"downlevelIteration": true,
|
||||
"experimentalDecorators": true,
|
||||
"moduleResolution": "node",
|
||||
"importHelpers": true,
|
||||
"target": "es2015",
|
||||
"module": "es2020",
|
||||
"lib": [
|
||||
"es2018",
|
||||
"dom"
|
||||
]
|
||||
},
|
||||
"angularCompilerOptions": {
|
||||
"fullTemplateTypeCheck": true,
|
||||
"strictInjectionParameters": true,
|
||||
"strictTemplates": true
|
||||
}
|
||||
}
|
|
@ -1,20 +1,29 @@
|
|||
/*
|
||||
This is a "Solution Style" tsconfig.json file, and is used by editors and TypeScript’s language server to improve development experience.
|
||||
It is not intended to be used to perform a compilation.
|
||||
|
||||
To learn more about this file see: https://angular.io/config/solution-tsconfig.
|
||||
*/
|
||||
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
||||
{
|
||||
"files": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.app.json"
|
||||
},
|
||||
{
|
||||
"path": "./tsconfig.spec.json"
|
||||
},
|
||||
{
|
||||
"path": "./e2e/tsconfig.json"
|
||||
}
|
||||
"compileOnSave": false,
|
||||
"compilerOptions": {
|
||||
"baseUrl": "./",
|
||||
"outDir": "./dist/out-tsc",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"sourceMap": true,
|
||||
"declaration": false,
|
||||
"downlevelIteration": true,
|
||||
"experimentalDecorators": true,
|
||||
"moduleResolution": "node",
|
||||
"importHelpers": true,
|
||||
"target": "es2015",
|
||||
"module": "es2020",
|
||||
"lib": [
|
||||
"es2018",
|
||||
"dom"
|
||||
]
|
||||
},
|
||||
"angularCompilerOptions": {
|
||||
"fullTemplateTypeCheck": true,
|
||||
"strictInjectionParameters": true,
|
||||
"strictTemplates": true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
||||
{
|
||||
"extends": "./tsconfig.base.json",
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "./out-tsc/spec",
|
||||
"types": [
|
||||
|
|
Loading…
Reference in New Issue